@wordpress/patterns 2.36.0 → 2.36.1-next.738bb1424.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/build/api/{index.js → index.cjs} +2 -2
- package/build/components/{allow-overrides-modal.js → allow-overrides-modal.cjs} +1 -2
- package/build/components/allow-overrides-modal.cjs.map +7 -0
- package/build/components/{category-selector.js → category-selector.cjs} +2 -3
- package/build/components/{category-selector.js.map → category-selector.cjs.map} +2 -2
- package/build/components/{create-pattern-modal.js → create-pattern-modal.cjs} +6 -8
- package/build/components/{create-pattern-modal.js.map → create-pattern-modal.cjs.map} +2 -2
- package/build/components/{duplicate-pattern-modal.js → duplicate-pattern-modal.cjs} +3 -3
- package/build/components/{index.js → index.cjs} +3 -3
- package/build/components/{overrides-panel.js → overrides-panel.cjs} +3 -3
- package/build/components/{pattern-convert-button.js → pattern-convert-button.cjs} +5 -5
- package/build/components/{pattern-overrides-controls.js → pattern-overrides-controls.cjs} +3 -4
- package/build/components/{pattern-overrides-controls.js.map → pattern-overrides-controls.cjs.map} +2 -2
- package/build/components/{patterns-manage-button.js → patterns-manage-button.cjs} +3 -3
- package/build/components/{rename-pattern-category-modal.js → rename-pattern-category-modal.cjs} +2 -3
- package/build/components/{rename-pattern-category-modal.js.map → rename-pattern-category-modal.cjs.map} +2 -2
- package/build/components/{rename-pattern-modal.js → rename-pattern-modal.cjs} +1 -2
- package/build/components/{rename-pattern-modal.js.map → rename-pattern-modal.cjs.map} +2 -2
- package/build/components/{reset-overrides-control.js → reset-overrides-control.cjs} +1 -1
- package/build/{constants.js → constants.cjs} +1 -1
- package/build/{index.js → index.cjs} +4 -4
- package/build/{index.js.map → index.cjs.map} +1 -1
- package/build/{lock-unlock.js → lock-unlock.cjs} +1 -1
- package/build/{private-apis.js → private-apis.cjs} +13 -13
- package/build/{private-hooks.js → private-hooks.cjs} +2 -2
- package/build/store/{actions.js → actions.cjs} +2 -2
- package/build/store/{constants.js → constants.cjs} +1 -1
- package/build/store/{index.js → index.cjs} +6 -6
- package/build/store/{reducer.js → reducer.cjs} +1 -1
- package/build/store/{selectors.js → selectors.cjs} +1 -1
- package/build-module/api/index.js +1 -1
- package/build-module/components/allow-overrides-modal.js +0 -1
- package/build-module/components/allow-overrides-modal.js.map +2 -2
- package/build-module/components/category-selector.js +1 -2
- package/build-module/components/category-selector.js.map +2 -2
- package/build-module/components/create-pattern-modal.js +5 -7
- package/build-module/components/create-pattern-modal.js.map +2 -2
- package/build-module/components/duplicate-pattern-modal.js +2 -2
- package/build-module/components/index.js +2 -2
- package/build-module/components/overrides-panel.js +2 -2
- package/build-module/components/pattern-convert-button.js +4 -4
- package/build-module/components/pattern-overrides-controls.js +2 -3
- package/build-module/components/pattern-overrides-controls.js.map +2 -2
- package/build-module/components/patterns-manage-button.js +2 -2
- package/build-module/components/rename-pattern-category-modal.js +1 -2
- package/build-module/components/rename-pattern-category-modal.js.map +2 -2
- package/build-module/components/rename-pattern-modal.js +0 -1
- package/build-module/components/rename-pattern-modal.js.map +2 -2
- package/build-module/index.js +2 -2
- package/build-module/private-apis.js +12 -12
- package/build-module/private-hooks.js +1 -1
- package/build-module/store/actions.js +1 -1
- package/build-module/store/index.js +5 -5
- package/package.json +34 -20
- package/src/components/allow-overrides-modal.js +0 -1
- package/src/components/category-selector.js +0 -1
- package/src/components/create-pattern-modal.js +0 -2
- package/src/components/pattern-overrides-controls.js +0 -1
- package/src/components/rename-pattern-category-modal.js +0 -1
- package/src/components/rename-pattern-modal.js +0 -1
- package/build/components/allow-overrides-modal.js.map +0 -7
- /package/build/api/{index.js.map → index.cjs.map} +0 -0
- /package/build/components/{duplicate-pattern-modal.js.map → duplicate-pattern-modal.cjs.map} +0 -0
- /package/build/components/{index.js.map → index.cjs.map} +0 -0
- /package/build/components/{overrides-panel.js.map → overrides-panel.cjs.map} +0 -0
- /package/build/components/{pattern-convert-button.js.map → pattern-convert-button.cjs.map} +0 -0
- /package/build/components/{patterns-manage-button.js.map → patterns-manage-button.cjs.map} +0 -0
- /package/build/components/{reset-overrides-control.js.map → reset-overrides-control.cjs.map} +0 -0
- /package/build/{constants.js.map → constants.cjs.map} +0 -0
- /package/build/{lock-unlock.js.map → lock-unlock.cjs.map} +0 -0
- /package/build/{private-apis.js.map → private-apis.cjs.map} +0 -0
- /package/build/{private-hooks.js.map → private-hooks.cjs.map} +0 -0
- /package/build/store/{actions.js.map → actions.cjs.map} +0 -0
- /package/build/store/{constants.js.map → constants.cjs.map} +0 -0
- /package/build/store/{index.js.map → index.cjs.map} +0 -0
- /package/build/store/{reducer.js.map → reducer.cjs.map} +0 -0
- /package/build/store/{selectors.js.map → selectors.cjs.map} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// packages/patterns/src/api/index.js
|
|
2
|
-
import { PARTIAL_SYNCING_SUPPORTED_BLOCKS } from "../constants";
|
|
2
|
+
import { PARTIAL_SYNCING_SUPPORTED_BLOCKS } from "../constants.js";
|
|
3
3
|
function isOverridableBlock(block) {
|
|
4
4
|
return Object.keys(PARTIAL_SYNCING_SUPPORTED_BLOCKS).includes(
|
|
5
5
|
block.name
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/allow-overrides-modal.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\t__experimentalText as Text,\n\tTextControl,\n\tModal,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState, useId } from '@wordpress/element';\nimport { speak } from '@wordpress/a11y';\n\nexport function AllowOverridesModal( {\n\tplaceholder,\n\tinitialName = '',\n\tonClose,\n\tonSave,\n} ) {\n\tconst [ editedBlockName, setEditedBlockName ] = useState( initialName );\n\tconst descriptionId = useId();\n\n\tconst isNameValid = !! editedBlockName.trim();\n\n\tconst handleSubmit = () => {\n\t\tif ( editedBlockName !== initialName ) {\n\t\t\tconst message = sprintf(\n\t\t\t\t/* translators: %s: new name/label for the block */\n\t\t\t\t__( 'Block name changed to: \"%s\".' ),\n\t\t\t\teditedBlockName\n\t\t\t);\n\n\t\t\t// Must be assertive to immediately announce change.\n\t\t\tspeak( message, 'assertive' );\n\t\t}\n\t\tonSave( editedBlockName );\n\n\t\t// Immediate close avoids ability to hit save multiple times.\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Enable overrides' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\taria={ { describedby: descriptionId } }\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\tif ( ! isNameValid ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\thandleSubmit();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"6\">\n\t\t\t\t\t<Text id={ descriptionId }>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Overrides are changes you make to a block within a synced pattern instance. Use overrides to customize a synced pattern instance to suit its new context. Name this block to specify an override.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\
|
|
5
|
-
"mappings": ";AAGA;AAAA,EACC,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB;AAAA,EACA,sBAAsB;AAAA,EACtB;AAAA,EACA;AAAA,OACM;AACP,SAAS,IAAI,eAAe;AAC5B,SAAS,UAAU,aAAa;AAChC,SAAS,aAAa;AAkDjB,
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\t__experimentalText as Text,\n\tTextControl,\n\tModal,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState, useId } from '@wordpress/element';\nimport { speak } from '@wordpress/a11y';\n\nexport function AllowOverridesModal( {\n\tplaceholder,\n\tinitialName = '',\n\tonClose,\n\tonSave,\n} ) {\n\tconst [ editedBlockName, setEditedBlockName ] = useState( initialName );\n\tconst descriptionId = useId();\n\n\tconst isNameValid = !! editedBlockName.trim();\n\n\tconst handleSubmit = () => {\n\t\tif ( editedBlockName !== initialName ) {\n\t\t\tconst message = sprintf(\n\t\t\t\t/* translators: %s: new name/label for the block */\n\t\t\t\t__( 'Block name changed to: \"%s\".' ),\n\t\t\t\teditedBlockName\n\t\t\t);\n\n\t\t\t// Must be assertive to immediately announce change.\n\t\t\tspeak( message, 'assertive' );\n\t\t}\n\t\tonSave( editedBlockName );\n\n\t\t// Immediate close avoids ability to hit save multiple times.\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Enable overrides' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\taria={ { describedby: descriptionId } }\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\tif ( ! isNameValid ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\thandleSubmit();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"6\">\n\t\t\t\t\t<Text id={ descriptionId }>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Overrides are changes you make to a block within a synced pattern instance. Use overrides to customize a synced pattern instance to suit its new context. Name this block to specify an override.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvalue={ editedBlockName }\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'For example, if you are creating a recipe pattern, you use \"Recipe Title\", \"Recipe Description\", etc.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\t\tonChange={ setEditedBlockName }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\taria-disabled={ ! isNameValid }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Enable' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n\nexport function DisallowOverridesModal( { onClose, onSave } ) {\n\tconst descriptionId = useId();\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Disable overrides' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\taria={ { describedby: descriptionId } }\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tonSave();\n\t\t\t\t\tonClose();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"6\">\n\t\t\t\t\t<Text id={ descriptionId }>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Are you sure you want to disable overrides? Disabling overrides will revert all applied overrides for this block throughout instances of this pattern.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Disable' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/category-selector.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { FormTokenField } from '@wordpress/components';\nimport { useDebounce } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\n\nconst unescapeString = ( arg ) => {\n\treturn decodeEntities( arg );\n};\n\nexport const CATEGORY_SLUG = 'wp_pattern_category';\n\nexport default function CategorySelector( {\n\tcategoryTerms,\n\tonChange,\n\tcategoryMap,\n} ) {\n\tconst [ search, setSearch ] = useState( '' );\n\tconst debouncedSearch = useDebounce( setSearch, 500 );\n\n\tconst suggestions = useMemo( () => {\n\t\treturn Array.from( categoryMap.values() )\n\t\t\t.map( ( category ) => unescapeString( category.label ) )\n\t\t\t.filter( ( category ) => {\n\t\t\t\tif ( search !== '' ) {\n\t\t\t\t\treturn category\n\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t.includes( search.toLowerCase() );\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t} )\n\t\t\t.sort( ( a, b ) => a.localeCompare( b ) );\n\t}, [ search, categoryMap ] );\n\n\tfunction handleChange( termNames ) {\n\t\tconst uniqueTerms = termNames.reduce( ( terms, newTerm ) => {\n\t\t\tif (\n\t\t\t\t! terms.some(\n\t\t\t\t\t( term ) => term.toLowerCase() === newTerm.toLowerCase()\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tterms.push( newTerm );\n\t\t\t}\n\t\t\treturn terms;\n\t\t}, [] );\n\n\t\tonChange( uniqueTerms );\n\t}\n\n\treturn (\n\t\t<FormTokenField\n\t\t\tclassName=\"patterns-menu-items__convert-modal-categories\"\n\t\t\tvalue={ categoryTerms }\n\t\t\tsuggestions={ suggestions }\n\t\t\tonChange={ handleChange }\n\t\t\tonInputChange={ debouncedSearch }\n\t\t\tlabel={ __( 'Categories' ) }\n\t\t\ttokenizeOnBlur\n\t\t\t__experimentalExpandOnFocus\n\t\t\t__next40pxDefaultSize\n\t\t
|
|
5
|
-
"mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,SAAS,gBAAgB;AAClC,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AA8C7B;AA5CF,IAAM,iBAAiB,CAAE,QAAS;AACjC,SAAO,eAAgB,GAAI;AAC5B;AAEO,IAAM,gBAAgB;AAEd,SAAR,iBAAmC;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,CAAE,QAAQ,SAAU,IAAI,SAAU,EAAG;AAC3C,QAAM,kBAAkB,YAAa,WAAW,GAAI;AAEpD,QAAM,cAAc,QAAS,MAAM;AAClC,WAAO,MAAM,KAAM,YAAY,OAAO,CAAE,EACtC,IAAK,CAAE,aAAc,eAAgB,SAAS,KAAM,CAAE,EACtD,OAAQ,CAAE,aAAc;AACxB,UAAK,WAAW,IAAK;AACpB,eAAO,SACL,YAAY,EACZ,SAAU,OAAO,YAAY,CAAE;AAAA,MAClC;AACA,aAAO;AAAA,IACR,CAAE,EACD,KAAM,CAAE,GAAG,MAAO,EAAE,cAAe,CAAE,CAAE;AAAA,EAC1C,GAAG,CAAE,QAAQ,WAAY,CAAE;AAE3B,WAAS,aAAc,WAAY;AAClC,UAAM,cAAc,UAAU,OAAQ,CAAE,OAAO,YAAa;AAC3D,UACC,CAAE,MAAM;AAAA,QACP,CAAE,SAAU,KAAK,YAAY,MAAM,QAAQ,YAAY;AAAA,MACxD,GACC;AACD,cAAM,KAAM,OAAQ;AAAA,MACrB;AACA,aAAO;AAAA,IACR,GAAG,CAAC,CAAE;AAEN,aAAU,WAAY;AAAA,EACvB;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAQ;AAAA,MACR;AAAA,MACA,UAAW;AAAA,MACX,eAAgB;AAAA,MAChB,OAAQ,GAAI,YAAa;AAAA,MACzB,gBAAc;AAAA,MACd,6BAA2B;AAAA,MAC3B,uBAAqB;AAAA
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { FormTokenField } from '@wordpress/components';\nimport { useDebounce } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\n\nconst unescapeString = ( arg ) => {\n\treturn decodeEntities( arg );\n};\n\nexport const CATEGORY_SLUG = 'wp_pattern_category';\n\nexport default function CategorySelector( {\n\tcategoryTerms,\n\tonChange,\n\tcategoryMap,\n} ) {\n\tconst [ search, setSearch ] = useState( '' );\n\tconst debouncedSearch = useDebounce( setSearch, 500 );\n\n\tconst suggestions = useMemo( () => {\n\t\treturn Array.from( categoryMap.values() )\n\t\t\t.map( ( category ) => unescapeString( category.label ) )\n\t\t\t.filter( ( category ) => {\n\t\t\t\tif ( search !== '' ) {\n\t\t\t\t\treturn category\n\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t.includes( search.toLowerCase() );\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t} )\n\t\t\t.sort( ( a, b ) => a.localeCompare( b ) );\n\t}, [ search, categoryMap ] );\n\n\tfunction handleChange( termNames ) {\n\t\tconst uniqueTerms = termNames.reduce( ( terms, newTerm ) => {\n\t\t\tif (\n\t\t\t\t! terms.some(\n\t\t\t\t\t( term ) => term.toLowerCase() === newTerm.toLowerCase()\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tterms.push( newTerm );\n\t\t\t}\n\t\t\treturn terms;\n\t\t}, [] );\n\n\t\tonChange( uniqueTerms );\n\t}\n\n\treturn (\n\t\t<FormTokenField\n\t\t\tclassName=\"patterns-menu-items__convert-modal-categories\"\n\t\t\tvalue={ categoryTerms }\n\t\t\tsuggestions={ suggestions }\n\t\t\tonChange={ handleChange }\n\t\t\tonInputChange={ debouncedSearch }\n\t\t\tlabel={ __( 'Categories' ) }\n\t\t\ttokenizeOnBlur\n\t\t\t__experimentalExpandOnFocus\n\t\t\t__next40pxDefaultSize\n\t\t/>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,SAAS,gBAAgB;AAClC,SAAS,sBAAsB;AAC/B,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AA8C7B;AA5CF,IAAM,iBAAiB,CAAE,QAAS;AACjC,SAAO,eAAgB,GAAI;AAC5B;AAEO,IAAM,gBAAgB;AAEd,SAAR,iBAAmC;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,CAAE,QAAQ,SAAU,IAAI,SAAU,EAAG;AAC3C,QAAM,kBAAkB,YAAa,WAAW,GAAI;AAEpD,QAAM,cAAc,QAAS,MAAM;AAClC,WAAO,MAAM,KAAM,YAAY,OAAO,CAAE,EACtC,IAAK,CAAE,aAAc,eAAgB,SAAS,KAAM,CAAE,EACtD,OAAQ,CAAE,aAAc;AACxB,UAAK,WAAW,IAAK;AACpB,eAAO,SACL,YAAY,EACZ,SAAU,OAAO,YAAY,CAAE;AAAA,MAClC;AACA,aAAO;AAAA,IACR,CAAE,EACD,KAAM,CAAE,GAAG,MAAO,EAAE,cAAe,CAAE,CAAE;AAAA,EAC1C,GAAG,CAAE,QAAQ,WAAY,CAAE;AAE3B,WAAS,aAAc,WAAY;AAClC,UAAM,cAAc,UAAU,OAAQ,CAAE,OAAO,YAAa;AAC3D,UACC,CAAE,MAAM;AAAA,QACP,CAAE,SAAU,KAAK,YAAY,MAAM,QAAQ,YAAY;AAAA,MACxD,GACC;AACD,cAAM,KAAM,OAAQ;AAAA,MACrB;AACA,aAAO;AAAA,IACR,GAAG,CAAC,CAAE;AAEN,aAAU,WAAY;AAAA,EACvB;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAQ;AAAA,MACR;AAAA,MACA,UAAW;AAAA,MACX,eAAgB;AAAA,MAChB,OAAQ,GAAI,YAAa;AAAA,MACzB,gBAAc;AAAA,MACd,6BAA2B;AAAA,MAC3B,uBAAqB;AAAA;AAAA,EACtB;AAEF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -16,11 +16,11 @@ import {
|
|
|
16
16
|
PATTERN_DEFAULT_CATEGORY,
|
|
17
17
|
PATTERN_SYNC_TYPES,
|
|
18
18
|
PATTERN_TYPES
|
|
19
|
-
} from "../constants";
|
|
20
|
-
import { store as patternsStore } from "../store";
|
|
21
|
-
import CategorySelector from "./category-selector";
|
|
22
|
-
import { useAddPatternCategory } from "../private-hooks";
|
|
23
|
-
import { unlock } from "../lock-unlock";
|
|
19
|
+
} from "../constants.js";
|
|
20
|
+
import { store as patternsStore } from "../store/index.js";
|
|
21
|
+
import CategorySelector from "./category-selector.js";
|
|
22
|
+
import { useAddPatternCategory } from "../private-hooks.js";
|
|
23
|
+
import { unlock } from "../lock-unlock.js";
|
|
24
24
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
25
25
|
function CreatePatternModal({
|
|
26
26
|
className = "patterns-menu-items__convert-modal",
|
|
@@ -109,7 +109,6 @@ function CreatePatternModalContents({
|
|
|
109
109
|
onChange: setTitle,
|
|
110
110
|
placeholder: __("My pattern"),
|
|
111
111
|
className: "patterns-create-modal__name-input",
|
|
112
|
-
__nextHasNoMarginBottom: true,
|
|
113
112
|
__next40pxDefaultSize: true
|
|
114
113
|
}
|
|
115
114
|
),
|
|
@@ -124,7 +123,6 @@ function CreatePatternModalContents({
|
|
|
124
123
|
/* @__PURE__ */ jsx(
|
|
125
124
|
ToggleControl,
|
|
126
125
|
{
|
|
127
|
-
__nextHasNoMarginBottom: true,
|
|
128
126
|
label: _x("Synced", "pattern (singular)"),
|
|
129
127
|
help: __(
|
|
130
128
|
"Sync this pattern across multiple locations."
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/create-pattern-modal.js"],
|
|
4
|
-
"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\
|
|
5
|
-
"mappings": ";AAGA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB;AAAA,OACM;AACP,SAAS,IAAI,UAAU;AACvB,SAAS,gBAAgB;AACzB,SAAS,aAAa,iBAAiB;AACvC,SAAS,SAAS,oBAAoB;AACtC,SAAS,SAAS,iBAAiB;AAKnC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,SAAS,qBAAqB;AACvC,OAAO,sBAAsB;AAC7B,SAAS,6BAA6B;AACtC,SAAS,cAAc;AAqBpB,
|
|
4
|
+
"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__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"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -3,8 +3,8 @@ import { store as coreStore } from "@wordpress/core-data";
|
|
|
3
3
|
import { useDispatch, useSelect } from "@wordpress/data";
|
|
4
4
|
import { __, _x, sprintf } from "@wordpress/i18n";
|
|
5
5
|
import { store as noticesStore } from "@wordpress/notices";
|
|
6
|
-
import CreatePatternModal from "./create-pattern-modal";
|
|
7
|
-
import { PATTERN_SYNC_TYPES, PATTERN_TYPES } from "../constants";
|
|
6
|
+
import CreatePatternModal from "./create-pattern-modal.js";
|
|
7
|
+
import { PATTERN_SYNC_TYPES, PATTERN_TYPES } from "../constants.js";
|
|
8
8
|
import { jsx } from "react/jsx-runtime";
|
|
9
9
|
function getTermLabels(pattern, categories) {
|
|
10
10
|
if (pattern.type !== PATTERN_TYPES.user) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// packages/patterns/src/components/index.js
|
|
2
2
|
import { BlockSettingsMenuControls } from "@wordpress/block-editor";
|
|
3
|
-
import PatternConvertButton from "./pattern-convert-button";
|
|
4
|
-
import PatternsManageButton from "./patterns-manage-button";
|
|
3
|
+
import PatternConvertButton from "./pattern-convert-button.js";
|
|
4
|
+
import PatternsManageButton from "./patterns-manage-button.js";
|
|
5
5
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
function PatternsMenuItems({ rootClientId }) {
|
|
7
7
|
return /* @__PURE__ */ jsx(BlockSettingsMenuControls, { children: ({ selectedClientIds, onClose }) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
@@ -7,8 +7,8 @@ import { PanelBody } from "@wordpress/components";
|
|
|
7
7
|
import { useSelect } from "@wordpress/data";
|
|
8
8
|
import { useMemo } from "@wordpress/element";
|
|
9
9
|
import { __ } from "@wordpress/i18n";
|
|
10
|
-
import { isOverridableBlock } from "../api";
|
|
11
|
-
import { unlock } from "../lock-unlock";
|
|
10
|
+
import { isOverridableBlock } from "../api/index.js";
|
|
11
|
+
import { unlock } from "../lock-unlock.js";
|
|
12
12
|
import { jsx } from "react/jsx-runtime";
|
|
13
13
|
var { BlockQuickNavigation } = unlock(blockEditorPrivateApis);
|
|
14
14
|
function OverridesPanel() {
|
|
@@ -14,10 +14,10 @@ import { useSelect, useDispatch } from "@wordpress/data";
|
|
|
14
14
|
import { store as coreStore } from "@wordpress/core-data";
|
|
15
15
|
import { __, sprintf } from "@wordpress/i18n";
|
|
16
16
|
import { store as noticesStore } from "@wordpress/notices";
|
|
17
|
-
import { store as patternsStore } from "../store";
|
|
18
|
-
import CreatePatternModal from "./create-pattern-modal";
|
|
19
|
-
import { unlock } from "../lock-unlock";
|
|
20
|
-
import { PATTERN_SYNC_TYPES } from "../constants";
|
|
17
|
+
import { store as patternsStore } from "../store/index.js";
|
|
18
|
+
import CreatePatternModal from "./create-pattern-modal.js";
|
|
19
|
+
import { unlock } from "../lock-unlock.js";
|
|
20
|
+
import { PATTERN_SYNC_TYPES } from "../constants.js";
|
|
21
21
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
22
22
|
function PatternConvertButton({
|
|
23
23
|
clientIds,
|
|
@@ -6,11 +6,11 @@ import {
|
|
|
6
6
|
} from "@wordpress/block-editor";
|
|
7
7
|
import { BaseControl, Button } from "@wordpress/components";
|
|
8
8
|
import { __ } from "@wordpress/i18n";
|
|
9
|
-
import { PATTERN_OVERRIDES_BINDING_SOURCE } from "../constants";
|
|
9
|
+
import { PATTERN_OVERRIDES_BINDING_SOURCE } from "../constants.js";
|
|
10
10
|
import {
|
|
11
11
|
AllowOverridesModal,
|
|
12
12
|
DisallowOverridesModal
|
|
13
|
-
} from "./allow-overrides-modal";
|
|
13
|
+
} from "./allow-overrides-modal.js";
|
|
14
14
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
15
15
|
function PatternOverridesControls({
|
|
16
16
|
attributes,
|
|
@@ -51,7 +51,6 @@ function PatternOverridesControls({
|
|
|
51
51
|
/* @__PURE__ */ jsx(InspectorControls, { group: "advanced", children: /* @__PURE__ */ jsx(
|
|
52
52
|
BaseControl,
|
|
53
53
|
{
|
|
54
|
-
__nextHasNoMarginBottom: true,
|
|
55
54
|
id: controlId,
|
|
56
55
|
label: __("Overrides"),
|
|
57
56
|
help: helpText,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/pattern-overrides-controls.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useState, useId } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockBindingsUtils,\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';\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' && !! 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 links. Remove the 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\
|
|
5
|
-
"mappings": ";AAGA,SAAS,UAAU,aAAa;AAChC;AAAA,EACC;AAAA,EACA;AAAA,OACM;AACP,SAAS,aAAa,cAAc;AACpC,SAAS,UAAU;AAKnB,SAAS,wCAAwC;AACjD;AAAA,EACC;AAAA,EACA;AAAA,OACM;AAyDL,
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useState, useId } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockBindingsUtils,\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';\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' && !! 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 links. Remove the 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\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"],
|
|
5
|
+
"mappings": ";AAGA,SAAS,UAAU,aAAa;AAChC;AAAA,EACC;AAAA,EACA;AAAA,OACM;AACP,SAAS,aAAa,cAAc;AACpC,SAAS,UAAU;AAKnB,SAAS,wCAAwC;AACjD;AAAA,EACC;AAAA,EACA;AAAA,OACM;AAyDL,mBAOG,KAPH;AAvDF,SAAS,yBAA0B;AAAA,EAClC;AAAA,EACA;AAAA,EACA,MAAM;AACP,GAAI;AACH,QAAM,YAAY,MAAM;AACxB,QAAM,CAAE,yBAAyB,0BAA2B,IAC3D,SAAU,KAAM;AACjB,QAAM,CAAE,4BAA4B,6BAA8B,IACjE,SAAU,KAAM;AAEjB,QAAM,UAAU,CAAC,CAAE,WAAW,UAAU;AACxC,QAAM,kBAAkB,WAAW,UAAU,UAAU;AACvD,QAAM,eACL,WAAW,iBAAiB,WAAW;AACxC,QAAM,4BACL,iBAAiB,UACjB,gBAAgB,WAAW;AAC5B,QAAM,EAAE,oBAAoB,IAAI,sBAAsB;AAEtD,WAAS,eAAgB,WAAW,YAAa;AAChD,QAAK,YAAa;AACjB,oBAAe;AAAA,QACd,UAAU;AAAA,UACT,GAAG,WAAW;AAAA,UACd,MAAM;AAAA,QACP;AAAA,MACD,CAAE;AAAA,IACH;AAEA,wBAAqB;AAAA,MACpB,WAAW,YACR,EAAE,QAAQ,iCAAiC,IAC3C;AAAA,IACJ,CAAE;AAAA,EACH;AAGA,MAAK,2BAA4B;AAChC,WAAO;AAAA,EACR;AAEA,QAAM,gCACL,cAAc,gBAAgB,CAAC,CAAE,WAAW,MAAM;AAEnD,QAAM,WACL,CAAE,gBAAgB,gCACf;AAAA,IACA;AAAA,EACA,IACA;AAAA,IACA;AAAA,EACA;AAEJ,SACC,iCACC;AAAA,wBAAC,qBAAkB,OAAM,YACxB;AAAA,MAAC;AAAA;AAAA,QACA,IAAK;AAAA,QACL,OAAQ,GAAI,WAAY;AAAA,QACxB,MAAO;AAAA,QAEP;AAAA,UAAC;AAAA;AAAA,YACA,uBAAqB;AAAA,YACrB,WAAU;AAAA,YACV,SAAQ;AAAA,YACR,iBAAc;AAAA,YACd,SAAU,MAAM;AACf,kBAAK,cAAe;AACnB,8CAA+B,IAAK;AAAA,cACrC,OAAO;AACN,2CAA4B,IAAK;AAAA,cAClC;AAAA,YACD;AAAA,YACA,UACC,CAAE,gBAAgB;AAAA,YAEnB,wBAAsB;AAAA,YAEpB,yBACC,GAAI,mBAAoB,IACxB,GAAI,kBAAmB;AAAA;AAAA,QAC3B;AAAA;AAAA,IACD,GACD;AAAA,IAEE,2BACD;AAAA,MAAC;AAAA;AAAA,QACA,aAAc,WAAW,UAAU;AAAA,QACnC,SAAU,MAAM,2BAA4B,KAAM;AAAA,QAClD,QAAS,CAAE,YAAa;AACvB,yBAAgB,MAAM,OAAQ;AAAA,QAC/B;AAAA;AAAA,IACD;AAAA,IAEC,8BACD;AAAA,MAAC;AAAA;AAAA,QACA,SAAU,MAAM,8BAA+B,KAAM;AAAA,QACrD,QAAS,MAAM,eAAgB,KAAM;AAAA;AAAA,IACtC;AAAA,KAEF;AAEF;AAEA,IAAO,qCAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -6,8 +6,8 @@ import { useSelect, useDispatch } from "@wordpress/data";
|
|
|
6
6
|
import { store as blockEditorStore } from "@wordpress/block-editor";
|
|
7
7
|
import { addQueryArgs } from "@wordpress/url";
|
|
8
8
|
import { store as coreStore } from "@wordpress/core-data";
|
|
9
|
-
import { store as patternsStore } from "../store";
|
|
10
|
-
import { unlock } from "../lock-unlock";
|
|
9
|
+
import { store as patternsStore } from "../store/index.js";
|
|
10
|
+
import { unlock } from "../lock-unlock.js";
|
|
11
11
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
12
12
|
function PatternsManageButton({ clientId }) {
|
|
13
13
|
const {
|
|
@@ -13,7 +13,7 @@ import { decodeEntities } from "@wordpress/html-entities";
|
|
|
13
13
|
import { __ } from "@wordpress/i18n";
|
|
14
14
|
import { store as noticesStore } from "@wordpress/notices";
|
|
15
15
|
import { speak } from "@wordpress/a11y";
|
|
16
|
-
import { CATEGORY_SLUG } from "./category-selector";
|
|
16
|
+
import { CATEGORY_SLUG } from "./category-selector.js";
|
|
17
17
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
18
18
|
function RenamePatternCategoryModal({
|
|
19
19
|
category,
|
|
@@ -105,7 +105,6 @@ function RenamePatternCategoryModal({
|
|
|
105
105
|
TextControl,
|
|
106
106
|
{
|
|
107
107
|
ref: textControlRef,
|
|
108
|
-
__nextHasNoMarginBottom: true,
|
|
109
108
|
__next40pxDefaultSize: true,
|
|
110
109
|
label: __("Name"),
|
|
111
110
|
value: name,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/rename-pattern-category-modal.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tModal,\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { useId, useRef, useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __ } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport { CATEGORY_SLUG } from './category-selector';\n\nexport default function RenamePatternCategoryModal( {\n\tcategory,\n\texistingCategories,\n\tonClose,\n\tonError,\n\tonSuccess,\n\t...props\n} ) {\n\tconst id = useId();\n\tconst textControlRef = useRef();\n\tconst [ name, setName ] = useState( decodeEntities( category.name ) );\n\tconst [ isSaving, setIsSaving ] = useState( false );\n\tconst [ validationMessage, setValidationMessage ] = useState( false );\n\tconst validationMessageId = validationMessage\n\t\t? `patterns-rename-pattern-category-modal__validation-message-${ id }`\n\t\t: undefined;\n\n\tconst { saveEntityRecord, invalidateResolution } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst onChange = ( newName ) => {\n\t\tif ( validationMessage ) {\n\t\t\tsetValidationMessage( undefined );\n\t\t}\n\t\tsetName( newName );\n\t};\n\n\tconst onSave = async ( event ) => {\n\t\tevent.preventDefault();\n\n\t\tif ( isSaving ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! name || name === category.name ) {\n\t\t\tconst message = __( 'Please enter a new name for this category.' );\n\t\t\tspeak( message, 'assertive' );\n\t\t\tsetValidationMessage( message );\n\t\t\ttextControlRef.current?.focus();\n\t\t\treturn;\n\t\t}\n\n\t\t// Check existing categories to avoid creating duplicates.\n\t\tif (\n\t\t\texistingCategories.patternCategories.find( ( existingCategory ) => {\n\t\t\t\t// Compare the id so that the we don't disallow the user changing the case of their current category\n\t\t\t\t// (i.e. renaming 'test' to 'Test').\n\t\t\t\treturn (\n\t\t\t\t\texistingCategory.id !== category.id &&\n\t\t\t\t\texistingCategory.label.toLowerCase() === name.toLowerCase()\n\t\t\t\t);\n\t\t\t} )\n\t\t) {\n\t\t\tconst message = __(\n\t\t\t\t'This category already exists. Please use a different name.'\n\t\t\t);\n\t\t\tspeak( message, 'assertive' );\n\t\t\tsetValidationMessage( message );\n\t\t\ttextControlRef.current?.focus();\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tsetIsSaving( true );\n\n\t\t\t// User pattern category properties may differ as they can be\n\t\t\t// normalized for use alongside template part areas, core pattern\n\t\t\t// categories etc. As a result we won't just destructure the passed\n\t\t\t// category object.\n\t\t\tconst savedRecord = await saveEntityRecord(\n\t\t\t\t'taxonomy',\n\t\t\t\tCATEGORY_SLUG,\n\t\t\t\t{\n\t\t\t\t\tid: category.id,\n\t\t\t\t\tslug: category.slug,\n\t\t\t\t\tname,\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tinvalidateResolution( 'getUserPatternCategories' );\n\t\t\tonSuccess?.( savedRecord );\n\t\t\tonClose();\n\n\t\t\tcreateSuccessNotice( __( 'Pattern category renamed.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'pattern-category-update',\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tonError?.();\n\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'pattern-category-update',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsSaving( false );\n\t\t\tsetName( '' );\n\t\t}\n\t};\n\n\tconst onRequestClose = () => {\n\t\tonClose();\n\t\tsetName( '' );\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Rename' ) }\n\t\t\tonRequestClose={ onRequestClose }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t<form onSubmit={ onSave }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<VStack spacing=\"2\">\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\tref={ textControlRef }\n\t\t\t\t\t\t\
|
|
5
|
-
"mappings": ";AAGA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,OAClB;AACP,SAAS,SAAS,iBAAiB;AACnC,SAAS,mBAAmB;AAC5B,SAAS,OAAO,QAAQ,gBAAgB;AACxC,SAAS,sBAAsB;AAC/B,SAAS,UAAU;AACnB,SAAS,SAAS,oBAAoB;AACtC,SAAS,aAAa;AAKtB,SAAS,qBAAqB;AAmHzB,SACC,KADD;AAjHU,SAAR,2BAA6C;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACJ,GAAI;AACH,QAAM,KAAK,MAAM;AACjB,QAAM,iBAAiB,OAAO;AAC9B,QAAM,CAAE,MAAM,OAAQ,IAAI,SAAU,eAAgB,SAAS,IAAK,CAAE;AACpE,QAAM,CAAE,UAAU,WAAY,IAAI,SAAU,KAAM;AAClD,QAAM,CAAE,mBAAmB,oBAAqB,IAAI,SAAU,KAAM;AACpE,QAAM,sBAAsB,oBACzB,8DAA+D,EAAG,KAClE;AAEH,QAAM,EAAE,kBAAkB,qBAAqB,IAAI,YAAa,SAAU;AAC1E,QAAM,EAAE,mBAAmB,oBAAoB,IAC9C,YAAa,YAAa;AAE3B,QAAM,WAAW,CAAE,YAAa;AAC/B,QAAK,mBAAoB;AACxB,2BAAsB,MAAU;AAAA,IACjC;AACA,YAAS,OAAQ;AAAA,EAClB;AAEA,QAAM,SAAS,OAAQ,UAAW;AACjC,UAAM,eAAe;AAErB,QAAK,UAAW;AACf;AAAA,IACD;AAEA,QAAK,CAAE,QAAQ,SAAS,SAAS,MAAO;AACvC,YAAM,UAAU,GAAI,4CAA6C;AACjE,YAAO,SAAS,WAAY;AAC5B,2BAAsB,OAAQ;AAC9B,qBAAe,SAAS,MAAM;AAC9B;AAAA,IACD;AAGA,QACC,mBAAmB,kBAAkB,KAAM,CAAE,qBAAsB;AAGlE,aACC,iBAAiB,OAAO,SAAS,MACjC,iBAAiB,MAAM,YAAY,MAAM,KAAK,YAAY;AAAA,IAE5D,CAAE,GACD;AACD,YAAM,UAAU;AAAA,QACf;AAAA,MACD;AACA,YAAO,SAAS,WAAY;AAC5B,2BAAsB,OAAQ;AAC9B,qBAAe,SAAS,MAAM;AAC9B;AAAA,IACD;AAEA,QAAI;AACH,kBAAa,IAAK;AAMlB,YAAM,cAAc,MAAM;AAAA,QACzB;AAAA,QACA;AAAA,QACA;AAAA,UACC,IAAI,SAAS;AAAA,UACb,MAAM,SAAS;AAAA,UACf;AAAA,QACD;AAAA,MACD;AAEA,2BAAsB,0BAA2B;AACjD,kBAAa,WAAY;AACzB,cAAQ;AAER,0BAAqB,GAAI,2BAA4B,GAAG;AAAA,QACvD,MAAM;AAAA,QACN,IAAI;AAAA,MACL,CAAE;AAAA,IACH,SAAU,OAAQ;AACjB,gBAAU;AACV,wBAAmB,MAAM,SAAS;AAAA,QACjC,MAAM;AAAA,QACN,IAAI;AAAA,MACL,CAAE;AAAA,IACH,UAAE;AACD,kBAAa,KAAM;AACnB,cAAS,EAAG;AAAA,IACb;AAAA,EACD;AAEA,QAAM,iBAAiB,MAAM;AAC5B,YAAQ;AACR,YAAS,EAAG;AAAA,EACb;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAQ,GAAI,QAAS;AAAA,MACrB;AAAA,MACE,GAAG;AAAA,MAEL,8BAAC,UAAK,UAAW,QAChB,+BAAC,UAAO,SAAQ,KACf;AAAA,6BAAC,UAAO,SAAQ,KACf;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,KAAM;AAAA,cACN,
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tModal,\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { useId, useRef, useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __ } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport { CATEGORY_SLUG } from './category-selector';\n\nexport default function RenamePatternCategoryModal( {\n\tcategory,\n\texistingCategories,\n\tonClose,\n\tonError,\n\tonSuccess,\n\t...props\n} ) {\n\tconst id = useId();\n\tconst textControlRef = useRef();\n\tconst [ name, setName ] = useState( decodeEntities( category.name ) );\n\tconst [ isSaving, setIsSaving ] = useState( false );\n\tconst [ validationMessage, setValidationMessage ] = useState( false );\n\tconst validationMessageId = validationMessage\n\t\t? `patterns-rename-pattern-category-modal__validation-message-${ id }`\n\t\t: undefined;\n\n\tconst { saveEntityRecord, invalidateResolution } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst onChange = ( newName ) => {\n\t\tif ( validationMessage ) {\n\t\t\tsetValidationMessage( undefined );\n\t\t}\n\t\tsetName( newName );\n\t};\n\n\tconst onSave = async ( event ) => {\n\t\tevent.preventDefault();\n\n\t\tif ( isSaving ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! name || name === category.name ) {\n\t\t\tconst message = __( 'Please enter a new name for this category.' );\n\t\t\tspeak( message, 'assertive' );\n\t\t\tsetValidationMessage( message );\n\t\t\ttextControlRef.current?.focus();\n\t\t\treturn;\n\t\t}\n\n\t\t// Check existing categories to avoid creating duplicates.\n\t\tif (\n\t\t\texistingCategories.patternCategories.find( ( existingCategory ) => {\n\t\t\t\t// Compare the id so that the we don't disallow the user changing the case of their current category\n\t\t\t\t// (i.e. renaming 'test' to 'Test').\n\t\t\t\treturn (\n\t\t\t\t\texistingCategory.id !== category.id &&\n\t\t\t\t\texistingCategory.label.toLowerCase() === name.toLowerCase()\n\t\t\t\t);\n\t\t\t} )\n\t\t) {\n\t\t\tconst message = __(\n\t\t\t\t'This category already exists. Please use a different name.'\n\t\t\t);\n\t\t\tspeak( message, 'assertive' );\n\t\t\tsetValidationMessage( message );\n\t\t\ttextControlRef.current?.focus();\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tsetIsSaving( true );\n\n\t\t\t// User pattern category properties may differ as they can be\n\t\t\t// normalized for use alongside template part areas, core pattern\n\t\t\t// categories etc. As a result we won't just destructure the passed\n\t\t\t// category object.\n\t\t\tconst savedRecord = await saveEntityRecord(\n\t\t\t\t'taxonomy',\n\t\t\t\tCATEGORY_SLUG,\n\t\t\t\t{\n\t\t\t\t\tid: category.id,\n\t\t\t\t\tslug: category.slug,\n\t\t\t\t\tname,\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tinvalidateResolution( 'getUserPatternCategories' );\n\t\t\tonSuccess?.( savedRecord );\n\t\t\tonClose();\n\n\t\t\tcreateSuccessNotice( __( 'Pattern category renamed.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'pattern-category-update',\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tonError?.();\n\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'pattern-category-update',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsSaving( false );\n\t\t\tsetName( '' );\n\t\t}\n\t};\n\n\tconst onRequestClose = () => {\n\t\tonClose();\n\t\tsetName( '' );\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Rename' ) }\n\t\t\tonRequestClose={ onRequestClose }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t<form onSubmit={ onSave }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<VStack spacing=\"2\">\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\tref={ textControlRef }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\tvalue={ name }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\taria-describedby={ validationMessageId }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ validationMessage && (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"patterns-rename-pattern-category-modal__validation-message\"\n\t\t\t\t\t\t\t\tid={ validationMessageId }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ validationMessage }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</VStack>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ onRequestClose }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\taria-disabled={\n\t\t\t\t\t\t\t\t! name || name === category.name || isSaving\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/components/rename-pattern-modal.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __ } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\n\nexport default function RenamePatternModal( {\n\tonClose,\n\tonError,\n\tonSuccess,\n\tpattern,\n\t...props\n} ) {\n\tconst originalName = decodeEntities( pattern.title );\n\tconst [ name, setName ] = useState( originalName );\n\tconst [ isSaving, setIsSaving ] = useState( false );\n\n\tconst {\n\t\teditEntityRecord,\n\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t} = useDispatch( coreStore );\n\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst onRename = async ( event ) => {\n\t\tevent.preventDefault();\n\n\t\tif ( ! name || name === pattern.title || isSaving ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tawait editEntityRecord( 'postType', pattern.type, pattern.id, {\n\t\t\t\ttitle: name,\n\t\t\t} );\n\n\t\t\tsetIsSaving( true );\n\t\t\tsetName( '' );\n\t\t\tonClose?.();\n\n\t\t\tconst savedRecord = await saveSpecifiedEntityEdits(\n\t\t\t\t'postType',\n\t\t\t\tpattern.type,\n\t\t\t\tpattern.id,\n\t\t\t\t[ 'title' ],\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tonSuccess?.( savedRecord );\n\n\t\t\tcreateSuccessNotice( __( 'Pattern renamed' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'pattern-update',\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tonError?.();\n\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while renaming the pattern.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'pattern-update',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsSaving( false );\n\t\t\tsetName( '' );\n\t\t}\n\t};\n\n\tconst onRequestClose = () => {\n\t\tonClose?.();\n\t\tsetName( '' );\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Rename' ) }\n\t\t\t{ ...props }\n\t\t\tonRequestClose={ onClose }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<form onSubmit={ onRename }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\
|
|
5
|
-
"mappings": ";AAGA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,OAClB;AACP,SAAS,SAAS,iBAAiB;AACnC,SAAS,mBAAmB;AAC5B,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAC/B,SAAS,UAAU;AACnB,SAAS,SAAS,oBAAoB;AAoFjC,
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __ } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\n\nexport default function RenamePatternModal( {\n\tonClose,\n\tonError,\n\tonSuccess,\n\tpattern,\n\t...props\n} ) {\n\tconst originalName = decodeEntities( pattern.title );\n\tconst [ name, setName ] = useState( originalName );\n\tconst [ isSaving, setIsSaving ] = useState( false );\n\n\tconst {\n\t\teditEntityRecord,\n\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t} = useDispatch( coreStore );\n\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst onRename = async ( event ) => {\n\t\tevent.preventDefault();\n\n\t\tif ( ! name || name === pattern.title || isSaving ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tawait editEntityRecord( 'postType', pattern.type, pattern.id, {\n\t\t\t\ttitle: name,\n\t\t\t} );\n\n\t\t\tsetIsSaving( true );\n\t\t\tsetName( '' );\n\t\t\tonClose?.();\n\n\t\t\tconst savedRecord = await saveSpecifiedEntityEdits(\n\t\t\t\t'postType',\n\t\t\t\tpattern.type,\n\t\t\t\tpattern.id,\n\t\t\t\t[ 'title' ],\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tonSuccess?.( savedRecord );\n\n\t\t\tcreateSuccessNotice( __( 'Pattern renamed' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'pattern-update',\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tonError?.();\n\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while renaming the pattern.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'pattern-update',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsSaving( false );\n\t\t\tsetName( '' );\n\t\t}\n\t};\n\n\tconst onRequestClose = () => {\n\t\tonClose?.();\n\t\tsetName( '' );\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Rename' ) }\n\t\t\t{ ...props }\n\t\t\tonRequestClose={ onClose }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<form onSubmit={ onRename }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ name }\n\t\t\t\t\t\tonChange={ setName }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ onRequestClose }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAGA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,OAClB;AACP,SAAS,SAAS,iBAAiB;AACnC,SAAS,mBAAmB;AAC5B,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAC/B,SAAS,UAAU;AACnB,SAAS,SAAS,oBAAoB;AAoFjC,cAQA,YARA;AAlFU,SAAR,mBAAqC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACJ,GAAI;AACH,QAAM,eAAe,eAAgB,QAAQ,KAAM;AACnD,QAAM,CAAE,MAAM,OAAQ,IAAI,SAAU,YAAa;AACjD,QAAM,CAAE,UAAU,WAAY,IAAI,SAAU,KAAM;AAElD,QAAM;AAAA,IACL;AAAA,IACA,wCAAwC;AAAA,EACzC,IAAI,YAAa,SAAU;AAE3B,QAAM,EAAE,qBAAqB,kBAAkB,IAC9C,YAAa,YAAa;AAE3B,QAAM,WAAW,OAAQ,UAAW;AACnC,UAAM,eAAe;AAErB,QAAK,CAAE,QAAQ,SAAS,QAAQ,SAAS,UAAW;AACnD;AAAA,IACD;AAEA,QAAI;AACH,YAAM,iBAAkB,YAAY,QAAQ,MAAM,QAAQ,IAAI;AAAA,QAC7D,OAAO;AAAA,MACR,CAAE;AAEF,kBAAa,IAAK;AAClB,cAAS,EAAG;AACZ,gBAAU;AAEV,YAAM,cAAc,MAAM;AAAA,QACzB;AAAA,QACA,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,CAAE,OAAQ;AAAA,QACV,EAAE,cAAc,KAAK;AAAA,MACtB;AAEA,kBAAa,WAAY;AAEzB,0BAAqB,GAAI,iBAAkB,GAAG;AAAA,QAC7C,MAAM;AAAA,QACN,IAAI;AAAA,MACL,CAAE;AAAA,IACH,SAAU,OAAQ;AACjB,gBAAU;AAEV,YAAM,eACL,MAAM,WAAW,MAAM,SAAS,kBAC7B,MAAM,UACN,GAAI,+CAAgD;AAExD,wBAAmB,cAAc;AAAA,QAChC,MAAM;AAAA,QACN,IAAI;AAAA,MACL,CAAE;AAAA,IACH,UAAE;AACD,kBAAa,KAAM;AACnB,cAAS,EAAG;AAAA,IACb;AAAA,EACD;AAEA,QAAM,iBAAiB,MAAM;AAC5B,cAAU;AACV,YAAS,EAAG;AAAA,EACb;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAQ,GAAI,QAAS;AAAA,MACnB,GAAG;AAAA,MACL,gBAAiB;AAAA,MACjB,cAAa;AAAA,MACb,MAAK;AAAA,MAEL,8BAAC,UAAK,UAAW,UAChB,+BAAC,UAAO,SAAQ,KACf;AAAA;AAAA,UAAC;AAAA;AAAA,YACA,uBAAqB;AAAA,YACrB,OAAQ,GAAI,MAAO;AAAA,YACnB,OAAQ;AAAA,YACR,UAAW;AAAA,YACX,UAAQ;AAAA;AAAA,QACT;AAAA,QAEA,qBAAC,UAAO,SAAQ,SACf;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAQ;AAAA,cACR,SAAU;AAAA,cAER,aAAI,QAAS;AAAA;AAAA,UAChB;AAAA,UAEA;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAQ;AAAA,cACR,MAAK;AAAA,cAEH,aAAI,MAAO;AAAA;AAAA,UACd;AAAA,WACD;AAAA,SACD,GACD;AAAA;AAAA,EACD;AAEF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/build-module/index.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
// packages/patterns/src/private-apis.js
|
|
2
|
-
import { lock } from "./lock-unlock";
|
|
3
|
-
import OverridesPanel from "./components/overrides-panel";
|
|
2
|
+
import { lock } from "./lock-unlock.js";
|
|
3
|
+
import OverridesPanel from "./components/overrides-panel.js";
|
|
4
4
|
import {
|
|
5
5
|
default as CreatePatternModal,
|
|
6
6
|
CreatePatternModalContents
|
|
7
|
-
} from "./components/create-pattern-modal";
|
|
7
|
+
} from "./components/create-pattern-modal.js";
|
|
8
8
|
import {
|
|
9
9
|
default as DuplicatePatternModal,
|
|
10
10
|
useDuplicatePatternProps
|
|
11
|
-
} from "./components/duplicate-pattern-modal";
|
|
12
|
-
import { isOverridableBlock, hasOverridableBlocks } from "./api";
|
|
13
|
-
import RenamePatternModal from "./components/rename-pattern-modal";
|
|
14
|
-
import PatternsMenuItems from "./components";
|
|
15
|
-
import RenamePatternCategoryModal from "./components/rename-pattern-category-modal";
|
|
16
|
-
import PatternOverridesControls from "./components/pattern-overrides-controls";
|
|
17
|
-
import ResetOverridesControl from "./components/reset-overrides-control";
|
|
18
|
-
import { useAddPatternCategory } from "./private-hooks";
|
|
11
|
+
} from "./components/duplicate-pattern-modal.js";
|
|
12
|
+
import { isOverridableBlock, hasOverridableBlocks } from "./api/index.js";
|
|
13
|
+
import RenamePatternModal from "./components/rename-pattern-modal.js";
|
|
14
|
+
import PatternsMenuItems from "./components/index.js";
|
|
15
|
+
import RenamePatternCategoryModal from "./components/rename-pattern-category-modal.js";
|
|
16
|
+
import PatternOverridesControls from "./components/pattern-overrides-controls.js";
|
|
17
|
+
import ResetOverridesControl from "./components/reset-overrides-control.js";
|
|
18
|
+
import { useAddPatternCategory } from "./private-hooks.js";
|
|
19
19
|
import {
|
|
20
20
|
PATTERN_TYPES,
|
|
21
21
|
PATTERN_DEFAULT_CATEGORY,
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
EXCLUDED_PATTERN_SOURCES,
|
|
24
24
|
PATTERN_SYNC_TYPES,
|
|
25
25
|
PARTIAL_SYNCING_SUPPORTED_BLOCKS
|
|
26
|
-
} from "./constants";
|
|
26
|
+
} from "./constants.js";
|
|
27
27
|
var privateApis = {};
|
|
28
28
|
lock(privateApis, {
|
|
29
29
|
OverridesPanel,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { useSelect, useDispatch } from "@wordpress/data";
|
|
3
3
|
import { store as coreStore } from "@wordpress/core-data";
|
|
4
4
|
import { useMemo } from "@wordpress/element";
|
|
5
|
-
import { CATEGORY_SLUG } from "./components/category-selector";
|
|
5
|
+
import { CATEGORY_SLUG } from "./components/category-selector.js";
|
|
6
6
|
function useAddPatternCategory() {
|
|
7
7
|
const { saveEntityRecord, invalidateResolution } = useDispatch(coreStore);
|
|
8
8
|
const { corePatternCategories, userPatternCategories } = useSelect(
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { getBlockType, cloneBlock } from "@wordpress/blocks";
|
|
3
3
|
import { store as coreStore } from "@wordpress/core-data";
|
|
4
4
|
import { store as blockEditorStore } from "@wordpress/block-editor";
|
|
5
|
-
import { PATTERN_SYNC_TYPES } from "../constants";
|
|
5
|
+
import { PATTERN_SYNC_TYPES } from "../constants.js";
|
|
6
6
|
var createPattern = (title, syncType, content, categories) => async ({ registry }) => {
|
|
7
7
|
const meta = syncType === PATTERN_SYNC_TYPES.unsynced ? {
|
|
8
8
|
wp_pattern_sync_status: syncType
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// packages/patterns/src/store/index.js
|
|
2
2
|
import { createReduxStore, register } from "@wordpress/data";
|
|
3
|
-
import reducer from "./reducer";
|
|
4
|
-
import * as actions from "./actions";
|
|
5
|
-
import { STORE_NAME } from "./constants";
|
|
6
|
-
import * as selectors from "./selectors";
|
|
7
|
-
import { unlock } from "../lock-unlock";
|
|
3
|
+
import reducer from "./reducer.js";
|
|
4
|
+
import * as actions from "./actions.js";
|
|
5
|
+
import { STORE_NAME } from "./constants.js";
|
|
6
|
+
import * as selectors from "./selectors.js";
|
|
7
|
+
import { unlock } from "../lock-unlock.js";
|
|
8
8
|
var storeConfig = {
|
|
9
9
|
reducer
|
|
10
10
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/patterns",
|
|
3
|
-
"version": "2.36.0",
|
|
3
|
+
"version": "2.36.1-next.738bb1424.0",
|
|
4
4
|
"description": "Management of user pattern editing.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -22,12 +22,21 @@
|
|
|
22
22
|
"node": ">=18.12.0",
|
|
23
23
|
"npm": ">=8.19.2"
|
|
24
24
|
},
|
|
25
|
-
"
|
|
25
|
+
"files": [
|
|
26
|
+
"src",
|
|
27
|
+
"build",
|
|
28
|
+
"build-module",
|
|
29
|
+
"build-style",
|
|
30
|
+
"build-types",
|
|
31
|
+
"*.md"
|
|
32
|
+
],
|
|
33
|
+
"type": "module",
|
|
34
|
+
"main": "build/index.cjs",
|
|
26
35
|
"module": "build-module/index.js",
|
|
27
36
|
"exports": {
|
|
28
37
|
".": {
|
|
29
38
|
"import": "./build-module/index.js",
|
|
30
|
-
"require": "./build/index.
|
|
39
|
+
"require": "./build/index.cjs"
|
|
31
40
|
},
|
|
32
41
|
"./package.json": "./package.json"
|
|
33
42
|
},
|
|
@@ -36,24 +45,29 @@
|
|
|
36
45
|
"sideEffects": [
|
|
37
46
|
"build-style/**",
|
|
38
47
|
"src/**/*.scss",
|
|
39
|
-
"
|
|
48
|
+
"src/index.js",
|
|
49
|
+
"src/store/index.js",
|
|
50
|
+
"build/index.cjs",
|
|
51
|
+
"build/store/index.cjs",
|
|
52
|
+
"build-module/index.js",
|
|
53
|
+
"build-module/store/index.js"
|
|
40
54
|
],
|
|
41
55
|
"dependencies": {
|
|
42
|
-
"@wordpress/a11y": "^4.36.0",
|
|
43
|
-
"@wordpress/base-styles": "^6.12.0",
|
|
44
|
-
"@wordpress/block-editor": "^15.9.0",
|
|
45
|
-
"@wordpress/blocks": "^15.9.0",
|
|
46
|
-
"@wordpress/components": "^
|
|
47
|
-
"@wordpress/compose": "^7.36.0",
|
|
48
|
-
"@wordpress/core-data": "^7.36.0",
|
|
49
|
-
"@wordpress/data": "^10.36.0",
|
|
50
|
-
"@wordpress/element": "^6.36.0",
|
|
51
|
-
"@wordpress/html-entities": "^4.36.0",
|
|
52
|
-
"@wordpress/i18n": "^6.9.0",
|
|
53
|
-
"@wordpress/icons": "^11.3.0",
|
|
54
|
-
"@wordpress/notices": "^5.36.0",
|
|
55
|
-
"@wordpress/private-apis": "^1.36.0",
|
|
56
|
-
"@wordpress/url": "^4.36.0"
|
|
56
|
+
"@wordpress/a11y": "^4.36.1-next.738bb1424.0",
|
|
57
|
+
"@wordpress/base-styles": "^6.12.1-next.738bb1424.0",
|
|
58
|
+
"@wordpress/block-editor": "^15.9.1-next.738bb1424.0",
|
|
59
|
+
"@wordpress/blocks": "^15.9.1-next.738bb1424.0",
|
|
60
|
+
"@wordpress/components": "^31.0.1-next.738bb1424.0",
|
|
61
|
+
"@wordpress/compose": "^7.36.1-next.738bb1424.0",
|
|
62
|
+
"@wordpress/core-data": "^7.36.1-next.738bb1424.0",
|
|
63
|
+
"@wordpress/data": "^10.36.1-next.738bb1424.0",
|
|
64
|
+
"@wordpress/element": "^6.36.1-next.738bb1424.0",
|
|
65
|
+
"@wordpress/html-entities": "^4.36.1-next.738bb1424.0",
|
|
66
|
+
"@wordpress/i18n": "^6.9.1-next.738bb1424.0",
|
|
67
|
+
"@wordpress/icons": "^11.3.1-next.738bb1424.0",
|
|
68
|
+
"@wordpress/notices": "^5.36.1-next.738bb1424.0",
|
|
69
|
+
"@wordpress/private-apis": "^1.36.1-next.738bb1424.0",
|
|
70
|
+
"@wordpress/url": "^4.36.1-next.738bb1424.0"
|
|
57
71
|
},
|
|
58
72
|
"peerDependencies": {
|
|
59
73
|
"react": "^18.0.0",
|
|
@@ -62,5 +76,5 @@
|
|
|
62
76
|
"publishConfig": {
|
|
63
77
|
"access": "public"
|
|
64
78
|
},
|
|
65
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "ab1b004c0d61c295aa34bc86ea07f979343983ce"
|
|
66
80
|
}
|