@wordpress/patterns 1.2.0 → 1.3.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.
Files changed (55) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/category-selector.js +105 -0
  3. package/build/components/category-selector.js.map +1 -0
  4. package/build/components/create-pattern-modal.js +26 -19
  5. package/build/components/create-pattern-modal.js.map +1 -1
  6. package/build/components/pattern-convert-button.js +20 -1
  7. package/build/components/pattern-convert-button.js.map +1 -1
  8. package/build/components/patterns-manage-button.js +7 -3
  9. package/build/components/patterns-manage-button.js.map +1 -1
  10. package/build/constants.js +21 -0
  11. package/build/constants.js.map +1 -0
  12. package/build/index.js +11 -1
  13. package/build/index.js.map +1 -1
  14. package/build/private-apis.js +6 -1
  15. package/build/private-apis.js.map +1 -1
  16. package/build/store/actions.js +45 -23
  17. package/build/store/actions.js.map +1 -1
  18. package/build/store/index.js +4 -3
  19. package/build/store/index.js.map +1 -1
  20. package/build/store/selectors.js +2 -2
  21. package/build/store/selectors.js.map +1 -1
  22. package/build-module/components/category-selector.js +99 -0
  23. package/build-module/components/category-selector.js.map +1 -0
  24. package/build-module/components/create-pattern-modal.js +27 -18
  25. package/build-module/components/create-pattern-modal.js.map +1 -1
  26. package/build-module/components/pattern-convert-button.js +22 -3
  27. package/build-module/components/pattern-convert-button.js.map +1 -1
  28. package/build-module/components/patterns-manage-button.js +8 -4
  29. package/build-module/components/patterns-manage-button.js.map +1 -1
  30. package/build-module/constants.js +11 -0
  31. package/build-module/constants.js.map +1 -0
  32. package/build-module/index.js +1 -1
  33. package/build-module/index.js.map +1 -1
  34. package/build-module/private-apis.js +6 -1
  35. package/build-module/private-apis.js.map +1 -1
  36. package/build-module/store/actions.js +41 -20
  37. package/build-module/store/actions.js.map +1 -1
  38. package/build-module/store/index.js +4 -3
  39. package/build-module/store/index.js.map +1 -1
  40. package/build-module/store/selectors.js +1 -1
  41. package/build-module/store/selectors.js.map +1 -1
  42. package/build-style/style-rtl.css +7 -0
  43. package/build-style/style.css +7 -0
  44. package/package.json +16 -14
  45. package/src/components/category-selector.js +118 -0
  46. package/src/components/create-pattern-modal.js +45 -38
  47. package/src/components/pattern-convert-button.js +26 -3
  48. package/src/components/patterns-manage-button.js +10 -4
  49. package/src/components/style.scss +7 -0
  50. package/src/constants.js +16 -0
  51. package/src/index.js +1 -2
  52. package/src/private-apis.js +10 -0
  53. package/src/store/actions.js +55 -27
  54. package/src/store/index.js +3 -2
  55. package/src/store/selectors.js +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 1.3.0 (2023-09-20)
6
+
5
7
  ## 1.2.0 (2023-08-31)
6
8
 
7
9
  ## 1.1.0 (2023-08-16)
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = CategorySelector;
7
+ var _element = require("@wordpress/element");
8
+ var _i18n = require("@wordpress/i18n");
9
+ var _components = require("@wordpress/components");
10
+ var _data = require("@wordpress/data");
11
+ var _coreData = require("@wordpress/core-data");
12
+ var _compose = require("@wordpress/compose");
13
+ var _htmlEntities = require("@wordpress/html-entities");
14
+ /**
15
+ * WordPress dependencies
16
+ */
17
+
18
+ const unescapeString = arg => {
19
+ return (0, _htmlEntities.decodeEntities)(arg);
20
+ };
21
+ const unescapeTerm = term => {
22
+ return {
23
+ ...term,
24
+ name: unescapeString(term.name)
25
+ };
26
+ };
27
+ const EMPTY_ARRAY = [];
28
+ const MAX_TERMS_SUGGESTIONS = 20;
29
+ const DEFAULT_QUERY = {
30
+ per_page: MAX_TERMS_SUGGESTIONS,
31
+ _fields: 'id,name',
32
+ context: 'view'
33
+ };
34
+ const slug = 'wp_pattern_category';
35
+ function CategorySelector({
36
+ onCategorySelection
37
+ }) {
38
+ const [values, setValues] = (0, _element.useState)([]);
39
+ const [search, setSearch] = (0, _element.useState)('');
40
+ const debouncedSearch = (0, _compose.useDebounce)(setSearch, 500);
41
+ const {
42
+ invalidateResolution
43
+ } = (0, _data.useDispatch)(_coreData.store);
44
+ const {
45
+ searchResults
46
+ } = (0, _data.useSelect)(select => {
47
+ const {
48
+ getEntityRecords
49
+ } = select(_coreData.store);
50
+ return {
51
+ searchResults: !!search ? getEntityRecords('taxonomy', slug, {
52
+ ...DEFAULT_QUERY,
53
+ search
54
+ }) : EMPTY_ARRAY
55
+ };
56
+ }, [search]);
57
+ const suggestions = (0, _element.useMemo)(() => {
58
+ return (searchResults !== null && searchResults !== void 0 ? searchResults : []).map(term => unescapeString(term.name));
59
+ }, [searchResults]);
60
+ const {
61
+ saveEntityRecord
62
+ } = (0, _data.useDispatch)(_coreData.store);
63
+ async function findOrCreateTerm(term) {
64
+ try {
65
+ const newTerm = await saveEntityRecord('taxonomy', slug, term, {
66
+ throwOnError: true
67
+ });
68
+ invalidateResolution('getUserPatternCategories');
69
+ return unescapeTerm(newTerm);
70
+ } catch (error) {
71
+ if (error.code !== 'term_exists') {
72
+ throw error;
73
+ }
74
+ return {
75
+ id: error.data.term_id,
76
+ name: term.name
77
+ };
78
+ }
79
+ }
80
+ function onChange(termNames) {
81
+ const uniqueTerms = termNames.reduce((terms, newTerm) => {
82
+ if (!terms.some(term => term.toLowerCase() === newTerm.toLowerCase())) {
83
+ terms.push(newTerm);
84
+ }
85
+ return terms;
86
+ }, []);
87
+ setValues(uniqueTerms);
88
+ Promise.all(uniqueTerms.map(termName => findOrCreateTerm({
89
+ name: termName
90
+ }))).then(newTerms => {
91
+ onCategorySelection(newTerms);
92
+ });
93
+ }
94
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.FormTokenField, {
95
+ className: "patterns-menu-items__convert-modal-categories",
96
+ value: values,
97
+ suggestions: suggestions,
98
+ onChange: onChange,
99
+ onInputChange: debouncedSearch,
100
+ maxSuggestions: MAX_TERMS_SUGGESTIONS,
101
+ label: (0, _i18n.__)('Categories'),
102
+ tokenizeOnBlur: true
103
+ }));
104
+ }
105
+ //# sourceMappingURL=category-selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_element","require","_i18n","_components","_data","_coreData","_compose","_htmlEntities","unescapeString","arg","decodeEntities","unescapeTerm","term","name","EMPTY_ARRAY","MAX_TERMS_SUGGESTIONS","DEFAULT_QUERY","per_page","_fields","context","slug","CategorySelector","onCategorySelection","values","setValues","useState","search","setSearch","debouncedSearch","useDebounce","invalidateResolution","useDispatch","coreStore","searchResults","useSelect","select","getEntityRecords","suggestions","useMemo","map","saveEntityRecord","findOrCreateTerm","newTerm","throwOnError","error","code","id","data","term_id","onChange","termNames","uniqueTerms","reduce","terms","some","toLowerCase","push","Promise","all","termName","then","newTerms","createElement","Fragment","FormTokenField","className","value","onInputChange","maxSuggestions","label","__","tokenizeOnBlur"],"sources":["@wordpress/patterns/src/components/category-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { FormTokenField } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDebounce } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\n\nconst unescapeString = ( arg ) => {\n\treturn decodeEntities( arg );\n};\n\nconst unescapeTerm = ( term ) => {\n\treturn {\n\t\t...term,\n\t\tname: unescapeString( term.name ),\n\t};\n};\n\nconst EMPTY_ARRAY = [];\nconst MAX_TERMS_SUGGESTIONS = 20;\nconst DEFAULT_QUERY = {\n\tper_page: MAX_TERMS_SUGGESTIONS,\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\nconst slug = 'wp_pattern_category';\n\nexport default function CategorySelector( { onCategorySelection } ) {\n\tconst [ values, setValues ] = useState( [] );\n\tconst [ search, setSearch ] = useState( '' );\n\tconst debouncedSearch = useDebounce( setSearch, 500 );\n\tconst { invalidateResolution } = useDispatch( coreStore );\n\n\tconst { searchResults } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\n\t\t\treturn {\n\t\t\t\tsearchResults: !! search\n\t\t\t\t\t? getEntityRecords( 'taxonomy', slug, {\n\t\t\t\t\t\t\t...DEFAULT_QUERY,\n\t\t\t\t\t\t\tsearch,\n\t\t\t\t\t } )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t};\n\t\t},\n\t\t[ search ]\n\t);\n\n\tconst suggestions = useMemo( () => {\n\t\treturn ( searchResults ?? [] ).map( ( term ) =>\n\t\t\tunescapeString( term.name )\n\t\t);\n\t}, [ searchResults ] );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\tasync function findOrCreateTerm( term ) {\n\t\ttry {\n\t\t\tconst newTerm = await saveEntityRecord( 'taxonomy', slug, term, {\n\t\t\t\tthrowOnError: true,\n\t\t\t} );\n\t\t\tinvalidateResolution( 'getUserPatternCategories' );\n\t\t\treturn unescapeTerm( newTerm );\n\t\t} catch ( error ) {\n\t\t\tif ( error.code !== 'term_exists' ) {\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tid: error.data.term_id,\n\t\t\t\tname: term.name,\n\t\t\t};\n\t\t}\n\t}\n\n\tfunction onChange( 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\tsetValues( uniqueTerms );\n\n\t\tPromise.all(\n\t\t\tuniqueTerms.map( ( termName ) =>\n\t\t\t\tfindOrCreateTerm( { name: termName } )\n\t\t\t)\n\t\t).then( ( newTerms ) => {\n\t\t\tonCategorySelection( newTerms );\n\t\t} );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<FormTokenField\n\t\t\t\tclassName=\"patterns-menu-items__convert-modal-categories\"\n\t\t\t\tvalue={ values }\n\t\t\t\tsuggestions={ suggestions }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tonInputChange={ debouncedSearch }\n\t\t\t\tmaxSuggestions={ MAX_TERMS_SUGGESTIONS }\n\t\t\t\tlabel={ __( 'Categories' ) }\n\t\t\t\ttokenizeOnBlur={ true }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -1,52 +1,53 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.USER_PATTERN_CATEGORY = exports.SYNC_TYPES = void 0;
7
7
  exports.default = CreatePatternModal;
8
8
  var _element = require("@wordpress/element");
9
9
  var _components = require("@wordpress/components");
10
10
  var _i18n = require("@wordpress/i18n");
11
11
  var _data = require("@wordpress/data");
12
12
  var _notices = require("@wordpress/notices");
13
+ var _constants = require("../constants");
13
14
  var _store = require("../store");
15
+ var _categorySelector = _interopRequireDefault(require("./category-selector"));
16
+ var _lockUnlock = require("../lock-unlock");
14
17
  /**
15
18
  * WordPress dependencies
16
19
  */
17
20
 
18
- const USER_PATTERN_CATEGORY = 'my-patterns';
19
- exports.USER_PATTERN_CATEGORY = USER_PATTERN_CATEGORY;
20
- const SYNC_TYPES = {
21
- full: undefined,
22
- unsynced: 'unsynced'
23
- };
21
+ /**
22
+ * Internal dependencies
23
+ */
24
24
 
25
25
  /**
26
26
  * Internal dependencies
27
27
  */
28
- exports.SYNC_TYPES = SYNC_TYPES;
28
+
29
29
  function CreatePatternModal({
30
30
  onSuccess,
31
31
  onError,
32
- clientIds,
32
+ content,
33
33
  onClose,
34
34
  className = 'patterns-menu-items__convert-modal'
35
35
  }) {
36
- const [syncType, setSyncType] = (0, _element.useState)(SYNC_TYPES.full);
36
+ const [syncType, setSyncType] = (0, _element.useState)(_constants.PATTERN_SYNC_TYPES.full);
37
+ const [categories, setCategories] = (0, _element.useState)([]);
37
38
  const [title, setTitle] = (0, _element.useState)('');
38
39
  const {
39
- __experimentalCreatePattern: createPattern
40
- } = (0, _data.useDispatch)(_store.store);
40
+ createPattern
41
+ } = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_store.store));
41
42
  const {
42
43
  createErrorNotice
43
44
  } = (0, _data.useDispatch)(_notices.store);
44
- const onCreate = (0, _element.useCallback)(async function (patternTitle, sync) {
45
+ async function onCreate(patternTitle, sync) {
45
46
  try {
46
- const newPattern = await createPattern(patternTitle, sync, clientIds);
47
+ const newPattern = await createPattern(patternTitle, sync, typeof content === 'function' ? content() : content, categories);
47
48
  onSuccess({
48
49
  pattern: newPattern,
49
- categoryId: USER_PATTERN_CATEGORY
50
+ categoryId: _constants.PATTERN_DEFAULT_CATEGORY
50
51
  });
51
52
  } catch (error) {
52
53
  createErrorNotice(error.message, {
@@ -55,7 +56,10 @@ function CreatePatternModal({
55
56
  });
56
57
  onError();
57
58
  }
58
- }, [createPattern, clientIds, onSuccess, createErrorNotice, onError]);
59
+ }
60
+ const handleCategorySelection = selectedCategories => {
61
+ setCategories(selectedCategories.map(cat => cat.id));
62
+ };
59
63
  return (0, _element.createElement)(_components.Modal, {
60
64
  title: (0, _i18n.__)('Create pattern'),
61
65
  onRequestClose: () => {
@@ -76,13 +80,16 @@ function CreatePatternModal({
76
80
  label: (0, _i18n.__)('Name'),
77
81
  value: title,
78
82
  onChange: setTitle,
79
- placeholder: (0, _i18n.__)('My pattern')
83
+ placeholder: (0, _i18n.__)('My pattern'),
84
+ className: "patterns-create-modal__name-input"
85
+ }), (0, _element.createElement)(_categorySelector.default, {
86
+ onCategorySelection: handleCategorySelection
80
87
  }), (0, _element.createElement)(_components.ToggleControl, {
81
88
  label: (0, _i18n.__)('Synced'),
82
89
  help: (0, _i18n.__)('Editing the pattern will update it anywhere it is used.'),
83
- checked: !syncType,
90
+ checked: syncType === _constants.PATTERN_SYNC_TYPES.full,
84
91
  onChange: () => {
85
- setSyncType(syncType === SYNC_TYPES.full ? SYNC_TYPES.unsynced : SYNC_TYPES.full);
92
+ setSyncType(syncType === _constants.PATTERN_SYNC_TYPES.full ? _constants.PATTERN_SYNC_TYPES.unsynced : _constants.PATTERN_SYNC_TYPES.full);
86
93
  }
87
94
  }), (0, _element.createElement)(_components.__experimentalHStack, {
88
95
  justify: "right"
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_components","_i18n","_data","_notices","_store","USER_PATTERN_CATEGORY","exports","SYNC_TYPES","full","undefined","unsynced","CreatePatternModal","onSuccess","onError","clientIds","onClose","className","syncType","setSyncType","useState","title","setTitle","__experimentalCreatePattern","createPattern","useDispatch","store","createErrorNotice","noticesStore","onCreate","useCallback","patternTitle","sync","newPattern","pattern","categoryId","error","message","type","id","createElement","Modal","__","onRequestClose","overlayClassName","onSubmit","event","preventDefault","__experimentalVStack","spacing","TextControl","__nextHasNoMarginBottom","label","value","onChange","placeholder","ToggleControl","help","checked","__experimentalHStack","justify","Button","variant","onClick"],"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 { __ } from '@wordpress/i18n';\nimport { useState, useCallback } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\nexport const USER_PATTERN_CATEGORY = 'my-patterns';\n\nexport const SYNC_TYPES = {\n\tfull: undefined,\n\tunsynced: 'unsynced',\n};\n\n/**\n * Internal dependencies\n */\nimport { store } from '../store';\n\nexport default function CreatePatternModal( {\n\tonSuccess,\n\tonError,\n\tclientIds,\n\tonClose,\n\tclassName = 'patterns-menu-items__convert-modal',\n} ) {\n\tconst [ syncType, setSyncType ] = useState( SYNC_TYPES.full );\n\tconst [ title, setTitle ] = useState( '' );\n\tconst { __experimentalCreatePattern: createPattern } = useDispatch( store );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onCreate = useCallback(\n\t\tasync function ( patternTitle, sync ) {\n\t\t\ttry {\n\t\t\t\tconst newPattern = await createPattern(\n\t\t\t\t\tpatternTitle,\n\t\t\t\t\tsync,\n\t\t\t\t\tclientIds\n\t\t\t\t);\n\t\t\t\tonSuccess( {\n\t\t\t\t\tpattern: newPattern,\n\t\t\t\t\tcategoryId: USER_PATTERN_CATEGORY,\n\t\t\t\t} );\n\t\t\t} catch ( error ) {\n\t\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'convert-to-pattern-error',\n\t\t\t\t} );\n\t\t\t\tonError();\n\t\t\t}\n\t\t},\n\t\t[ createPattern, clientIds, onSuccess, createErrorNotice, onError ]\n\t);\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Create pattern' ) }\n\t\t\tonRequestClose={ () => {\n\t\t\t\tonClose();\n\t\t\t\tsetTitle( '' );\n\t\t\t} }\n\t\t\toverlayClassName={ className }\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\tonCreate( title, syncType );\n\t\t\t\t\tsetTitle( '' );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\tplaceholder={ __( 'My pattern' ) }\n\t\t\t\t\t/>\n\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Synced' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Editing the pattern will update it anywhere it is used.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ ! syncType }\n\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\tsetSyncType(\n\t\t\t\t\t\t\t\tsyncType === SYNC_TYPES.full\n\t\t\t\t\t\t\t\t\t? SYNC_TYPES.unsynced\n\t\t\t\t\t\t\t\t\t: SYNC_TYPES.full\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t\t} }\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 variant=\"primary\" type=\"submit\">\n\t\t\t\t\t\t\t{ __( 'Create' ) }\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"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_components","_i18n","_data","_notices","_constants","_store","_categorySelector","_interopRequireDefault","_lockUnlock","CreatePatternModal","onSuccess","onError","content","onClose","className","syncType","setSyncType","useState","PATTERN_SYNC_TYPES","full","categories","setCategories","title","setTitle","createPattern","unlock","useDispatch","patternsStore","createErrorNotice","noticesStore","onCreate","patternTitle","sync","newPattern","pattern","categoryId","PATTERN_DEFAULT_CATEGORY","error","message","type","id","handleCategorySelection","selectedCategories","map","cat","createElement","Modal","__","onRequestClose","overlayClassName","onSubmit","event","preventDefault","__experimentalVStack","spacing","TextControl","__nextHasNoMarginBottom","label","value","onChange","placeholder","default","onCategorySelection","ToggleControl","help","checked","unsynced","__experimentalHStack","justify","Button","variant","onClick"],"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 { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { PATTERN_DEFAULT_CATEGORY, PATTERN_SYNC_TYPES } from '../constants';\n\n/**\n * Internal dependencies\n */\nimport { store as patternsStore } from '../store';\nimport CategorySelector from './category-selector';\nimport { unlock } from '../lock-unlock';\n\nexport default function CreatePatternModal( {\n\tonSuccess,\n\tonError,\n\tcontent,\n\tonClose,\n\tclassName = 'patterns-menu-items__convert-modal',\n} ) {\n\tconst [ syncType, setSyncType ] = useState( PATTERN_SYNC_TYPES.full );\n\tconst [ categories, setCategories ] = useState( [] );\n\tconst [ title, setTitle ] = useState( '' );\n\tconst { createPattern } = unlock( useDispatch( patternsStore ) );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tasync function onCreate( patternTitle, sync ) {\n\t\ttry {\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: 'convert-to-pattern-error',\n\t\t\t} );\n\t\t\tonError();\n\t\t}\n\t}\n\n\tconst handleCategorySelection = ( selectedCategories ) => {\n\t\tsetCategories( selectedCategories.map( ( cat ) => cat.id ) );\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Create pattern' ) }\n\t\t\tonRequestClose={ () => {\n\t\t\t\tonClose();\n\t\t\t\tsetTitle( '' );\n\t\t\t} }\n\t\t\toverlayClassName={ className }\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\tonCreate( title, syncType );\n\t\t\t\t\tsetTitle( '' );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\tplaceholder={ __( 'My pattern' ) }\n\t\t\t\t\t\tclassName=\"patterns-create-modal__name-input\"\n\t\t\t\t\t/>\n\t\t\t\t\t<CategorySelector\n\t\t\t\t\t\tonCategorySelection={ handleCategorySelection }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Synced' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Editing the pattern will update it anywhere it is used.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ syncType === PATTERN_SYNC_TYPES.full }\n\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\tsetSyncType(\n\t\t\t\t\t\t\t\tsyncType === PATTERN_SYNC_TYPES.full\n\t\t\t\t\t\t\t\t\t? PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t\t\t\t\t\t: PATTERN_SYNC_TYPES.full\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t\t} }\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 variant=\"primary\" type=\"submit\">\n\t\t\t\t\t\t\t{ __( 'Create' ) }\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"],"mappings":"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"}
@@ -14,7 +14,9 @@ var _data = require("@wordpress/data");
14
14
  var _coreData = require("@wordpress/core-data");
15
15
  var _i18n = require("@wordpress/i18n");
16
16
  var _notices = require("@wordpress/notices");
17
+ var _store = require("../store");
17
18
  var _createPatternModal = _interopRequireDefault(require("./create-pattern-modal"));
19
+ var _lockUnlock = require("../lock-unlock");
18
20
  /**
19
21
  * WordPress dependencies
20
22
  */
@@ -38,6 +40,14 @@ function PatternConvertButton({
38
40
  const {
39
41
  createSuccessNotice
40
42
  } = (0, _data.useDispatch)(_notices.store);
43
+ const {
44
+ replaceBlocks
45
+ } = (0, _data.useDispatch)(_blockEditor.store);
46
+ // Ignore reason: false positive of the lint rule.
47
+ // eslint-disable-next-line @wordpress/no-unused-vars-before-return
48
+ const {
49
+ setEditingPattern
50
+ } = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_store.store));
41
51
  const [isModalOpen, setIsModalOpen] = (0, _element.useState)(false);
42
52
  const canConvert = (0, _data.useSelect)(select => {
43
53
  var _getBlocksByClientId;
@@ -67,12 +77,21 @@ function PatternConvertButton({
67
77
  !!canUser('create', 'blocks');
68
78
  return _canConvert;
69
79
  }, [clientIds, rootClientId]);
80
+ const {
81
+ getBlocksByClientId
82
+ } = (0, _data.useSelect)(_blockEditor.store);
83
+ const getContent = (0, _element.useCallback)(() => (0, _blocks.serialize)(getBlocksByClientId(clientIds)), [getBlocksByClientId, clientIds]);
70
84
  if (!canConvert) {
71
85
  return null;
72
86
  }
73
87
  const handleSuccess = ({
74
88
  pattern
75
89
  }) => {
90
+ const newBlock = (0, _blocks.createBlock)('core/block', {
91
+ ref: pattern.id
92
+ });
93
+ replaceBlocks(clientIds, newBlock);
94
+ setEditingPattern(newBlock.clientId, true);
76
95
  createSuccessNotice(pattern.wp_pattern_sync_status === 'unsynced' ? (0, _i18n.sprintf)(
77
96
  // translators: %s: the name the user has given to the pattern.
78
97
  (0, _i18n.__)('Unsynced Pattern created: %s'), pattern.title.raw) : (0, _i18n.sprintf)(
@@ -89,7 +108,7 @@ function PatternConvertButton({
89
108
  "aria-expanded": isModalOpen,
90
109
  "aria-haspopup": "dialog"
91
110
  }, (0, _i18n.__)('Create pattern')), isModalOpen && (0, _element.createElement)(_createPatternModal.default, {
92
- clientIds: clientIds,
111
+ content: getContent,
93
112
  onSuccess: pattern => {
94
113
  handleSuccess(pattern);
95
114
  },
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_blocks","_blockEditor","_components","_icons","_data","_coreData","_i18n","_notices","_createPatternModal","_interopRequireDefault","PatternConvertButton","clientIds","rootClientId","createSuccessNotice","useDispatch","noticesStore","isModalOpen","setIsModalOpen","useState","canConvert","useSelect","select","_getBlocksByClientId","canUser","coreStore","getBlocksByClientId","canInsertBlockType","getBlockRootClientId","blockEditorStore","rootId","length","undefined","blocks","isReusable","isReusableBlock","getEntityRecord","attributes","ref","_canConvert","every","block","isValid","hasBlockSupport","name","handleSuccess","pattern","wp_pattern_sync_status","sprintf","__","title","raw","type","id","createElement","Fragment","MenuItem","icon","symbol","onClick","default","onSuccess","onError","onClose"],"sources":["@wordpress/patterns/src/components/pattern-convert-button.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { hasBlockSupport, isReusableBlock } from '@wordpress/blocks';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useState } from '@wordpress/element';\nimport { MenuItem } from '@wordpress/components';\nimport { symbol } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\n/**\n * Internal dependencies\n */\nimport CreatePatternModal from './create-pattern-modal';\n\n/**\n * Menu control to convert block(s) to a pattern block.\n *\n * @param {Object} props Component props.\n * @param {string[]} props.clientIds Client ids of selected blocks.\n * @param {string} props.rootClientId ID of the currently selected top-level block.\n * @return {import('@wordpress/element').WPComponent} The menu control or null.\n */\nexport default function PatternConvertButton( { clientIds, rootClientId } ) {\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst canConvert = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canUser } = select( coreStore );\n\t\t\tconst {\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst rootId =\n\t\t\t\trootClientId ||\n\t\t\t\t( clientIds.length > 0\n\t\t\t\t\t? getBlockRootClientId( clientIds[ 0 ] )\n\t\t\t\t\t: undefined );\n\n\t\t\tconst blocks = getBlocksByClientId( clientIds ) ?? [];\n\n\t\t\tconst isReusable =\n\t\t\t\tblocks.length === 1 &&\n\t\t\t\tblocks[ 0 ] &&\n\t\t\t\tisReusableBlock( blocks[ 0 ] ) &&\n\t\t\t\t!! select( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_block',\n\t\t\t\t\tblocks[ 0 ].attributes.ref\n\t\t\t\t);\n\n\t\t\tconst _canConvert =\n\t\t\t\t// Hide when this is already a synced pattern.\n\t\t\t\t! isReusable &&\n\t\t\t\t// Hide when patterns are disabled.\n\t\t\t\tcanInsertBlockType( 'core/block', rootId ) &&\n\t\t\t\tblocks.every(\n\t\t\t\t\t( block ) =>\n\t\t\t\t\t\t// Guard against the case where a regular block has *just* been converted.\n\t\t\t\t\t\t!! block &&\n\t\t\t\t\t\t// Hide on invalid blocks.\n\t\t\t\t\t\tblock.isValid &&\n\t\t\t\t\t\t// Hide when block doesn't support being made into a pattern.\n\t\t\t\t\t\thasBlockSupport( block.name, 'reusable', true )\n\t\t\t\t) &&\n\t\t\t\t// Hide when current doesn't have permission to do that.\n\t\t\t\t!! canUser( 'create', 'blocks' );\n\n\t\t\treturn _canConvert;\n\t\t},\n\t\t[ clientIds, rootClientId ]\n\t);\n\n\tif ( ! canConvert ) {\n\t\treturn null;\n\t}\n\n\tconst handleSuccess = ( { pattern } ) => {\n\t\tcreateSuccessNotice(\n\t\t\tpattern.wp_pattern_sync_status === 'unsynced'\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t// translators: %s: the name the user has given to the pattern.\n\t\t\t\t\t\t__( 'Unsynced Pattern created: %s' ),\n\t\t\t\t\t\tpattern.title.raw\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t// translators: %s: the name the user has given to the pattern.\n\t\t\t\t\t\t__( 'Synced Pattern created: %s' ),\n\t\t\t\t\t\tpattern.title.raw\n\t\t\t\t ),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'convert-to-pattern-success',\n\t\t\t}\n\t\t);\n\t\tsetIsModalOpen( false );\n\t};\n\treturn (\n\t\t<>\n\t\t\t<MenuItem\n\t\t\t\ticon={ symbol }\n\t\t\t\tonClick={ () => setIsModalOpen( true ) }\n\t\t\t\taria-expanded={ isModalOpen }\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t>\n\t\t\t\t{ __( 'Create pattern' ) }\n\t\t\t</MenuItem>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<CreatePatternModal\n\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\tonSuccess={ ( pattern ) => {\n\t\t\t\t\t\thandleSuccess( pattern );\n\t\t\t\t\t} }\n\t\t\t\t\tonError={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_blocks","_blockEditor","_components","_icons","_data","_coreData","_i18n","_notices","_store","_createPatternModal","_interopRequireDefault","_lockUnlock","PatternConvertButton","clientIds","rootClientId","createSuccessNotice","useDispatch","noticesStore","replaceBlocks","blockEditorStore","setEditingPattern","unlock","patternsStore","isModalOpen","setIsModalOpen","useState","canConvert","useSelect","select","_getBlocksByClientId","canUser","coreStore","getBlocksByClientId","canInsertBlockType","getBlockRootClientId","rootId","length","undefined","blocks","isReusable","isReusableBlock","getEntityRecord","attributes","ref","_canConvert","every","block","isValid","hasBlockSupport","name","getContent","useCallback","serialize","handleSuccess","pattern","newBlock","createBlock","id","clientId","wp_pattern_sync_status","sprintf","__","title","raw","type","createElement","Fragment","MenuItem","icon","symbol","onClick","default","content","onSuccess","onError","onClose"],"sources":["@wordpress/patterns/src/components/pattern-convert-button.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\thasBlockSupport,\n\tisReusableBlock,\n\tcreateBlock,\n\tserialize,\n} from '@wordpress/blocks';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useState, useCallback } from '@wordpress/element';\nimport { MenuItem } from '@wordpress/components';\nimport { symbol } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\n/**\n * Internal dependencies\n */\nimport { store as patternsStore } from '../store';\nimport CreatePatternModal from './create-pattern-modal';\nimport { unlock } from '../lock-unlock';\n\n/**\n * Menu control to convert block(s) to a pattern block.\n *\n * @param {Object} props Component props.\n * @param {string[]} props.clientIds Client ids of selected blocks.\n * @param {string} props.rootClientId ID of the currently selected top-level block.\n * @return {import('@wordpress/element').WPComponent} The menu control or null.\n */\nexport default function PatternConvertButton( { clientIds, rootClientId } ) {\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\t// Ignore reason: false positive of the lint rule.\n\t// eslint-disable-next-line @wordpress/no-unused-vars-before-return\n\tconst { setEditingPattern } = unlock( useDispatch( patternsStore ) );\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst canConvert = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canUser } = select( coreStore );\n\t\t\tconst {\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst rootId =\n\t\t\t\trootClientId ||\n\t\t\t\t( clientIds.length > 0\n\t\t\t\t\t? getBlockRootClientId( clientIds[ 0 ] )\n\t\t\t\t\t: undefined );\n\n\t\t\tconst blocks = getBlocksByClientId( clientIds ) ?? [];\n\n\t\t\tconst isReusable =\n\t\t\t\tblocks.length === 1 &&\n\t\t\t\tblocks[ 0 ] &&\n\t\t\t\tisReusableBlock( blocks[ 0 ] ) &&\n\t\t\t\t!! select( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_block',\n\t\t\t\t\tblocks[ 0 ].attributes.ref\n\t\t\t\t);\n\n\t\t\tconst _canConvert =\n\t\t\t\t// Hide when this is already a synced pattern.\n\t\t\t\t! isReusable &&\n\t\t\t\t// Hide when patterns are disabled.\n\t\t\t\tcanInsertBlockType( 'core/block', rootId ) &&\n\t\t\t\tblocks.every(\n\t\t\t\t\t( block ) =>\n\t\t\t\t\t\t// Guard against the case where a regular block has *just* been converted.\n\t\t\t\t\t\t!! block &&\n\t\t\t\t\t\t// Hide on invalid blocks.\n\t\t\t\t\t\tblock.isValid &&\n\t\t\t\t\t\t// Hide when block doesn't support being made into a pattern.\n\t\t\t\t\t\thasBlockSupport( block.name, 'reusable', true )\n\t\t\t\t) &&\n\t\t\t\t// Hide when current doesn't have permission to do that.\n\t\t\t\t!! canUser( 'create', 'blocks' );\n\n\t\t\treturn _canConvert;\n\t\t},\n\t\t[ clientIds, rootClientId ]\n\t);\n\tconst { getBlocksByClientId } = useSelect( blockEditorStore );\n\tconst getContent = useCallback(\n\t\t() => serialize( getBlocksByClientId( clientIds ) ),\n\t\t[ getBlocksByClientId, clientIds ]\n\t);\n\n\tif ( ! canConvert ) {\n\t\treturn null;\n\t}\n\n\tconst handleSuccess = ( { pattern } ) => {\n\t\tconst newBlock = createBlock( 'core/block', {\n\t\t\tref: pattern.id,\n\t\t} );\n\n\t\treplaceBlocks( clientIds, newBlock );\n\t\tsetEditingPattern( newBlock.clientId, true );\n\n\t\tcreateSuccessNotice(\n\t\t\tpattern.wp_pattern_sync_status === 'unsynced'\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t// translators: %s: the name the user has given to the pattern.\n\t\t\t\t\t\t__( 'Unsynced Pattern created: %s' ),\n\t\t\t\t\t\tpattern.title.raw\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t// translators: %s: the name the user has given to the pattern.\n\t\t\t\t\t\t__( 'Synced Pattern created: %s' ),\n\t\t\t\t\t\tpattern.title.raw\n\t\t\t\t ),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'convert-to-pattern-success',\n\t\t\t}\n\t\t);\n\t\tsetIsModalOpen( false );\n\t};\n\treturn (\n\t\t<>\n\t\t\t<MenuItem\n\t\t\t\ticon={ symbol }\n\t\t\t\tonClick={ () => setIsModalOpen( true ) }\n\t\t\t\taria-expanded={ isModalOpen }\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t>\n\t\t\t\t{ __( 'Create pattern' ) }\n\t\t\t</MenuItem>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<CreatePatternModal\n\t\t\t\t\tcontent={ getContent }\n\t\t\t\t\tonSuccess={ ( pattern ) => {\n\t\t\t\t\t\thandleSuccess( pattern );\n\t\t\t\t\t} }\n\t\t\t\t\tonError={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -13,6 +13,7 @@ var _blockEditor = require("@wordpress/block-editor");
13
13
  var _url = require("@wordpress/url");
14
14
  var _coreData = require("@wordpress/core-data");
15
15
  var _store = require("../store");
16
+ var _lockUnlock = require("../lock-unlock");
16
17
  /**
17
18
  * WordPress dependencies
18
19
  */
@@ -55,16 +56,19 @@ function PatternsManageButton({
55
56
  })
56
57
  };
57
58
  }, [clientId]);
59
+
60
+ // Ignore reason: false positive of the lint rule.
61
+ // eslint-disable-next-line @wordpress/no-unused-vars-before-return
58
62
  const {
59
- __experimentalConvertSyncedPatternToStatic: convertBlockToStatic
60
- } = (0, _data.useDispatch)(_store.store);
63
+ convertSyncedPatternToStatic
64
+ } = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_store.store));
61
65
  if (!isVisible) {
62
66
  return null;
63
67
  }
64
68
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.MenuItem, {
65
69
  href: managePatternsUrl
66
70
  }, (0, _i18n.__)('Manage patterns')), canRemove && (0, _element.createElement)(_components.MenuItem, {
67
- onClick: () => convertBlockToStatic(clientId)
71
+ onClick: () => convertSyncedPatternToStatic(clientId)
68
72
  }, innerBlockCount > 1 ? (0, _i18n.__)('Detach patterns') : (0, _i18n.__)('Detach pattern')));
69
73
  }
70
74
  var _default = PatternsManageButton;
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_blocks","_data","_blockEditor","_url","_coreData","_store","PatternsManageButton","clientId","canRemove","isVisible","innerBlockCount","managePatternsUrl","useSelect","select","getBlock","canRemoveBlock","getBlockCount","getSettings","blockEditorStore","canUser","coreStore","reusableBlock","isBlockTheme","__unstableIsBlockBasedTheme","isReusableBlock","attributes","ref","addQueryArgs","path","post_type","__experimentalConvertSyncedPatternToStatic","convertBlockToStatic","useDispatch","editorStore","_element","createElement","Fragment","MenuItem","href","__","onClick","_default","exports","default"],"sources":["@wordpress/patterns/src/components/patterns-manage-button.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { isReusableBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../store';\n\nfunction PatternsManageButton( { clientId } ) {\n\tconst { canRemove, isVisible, innerBlockCount, managePatternsUrl } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getBlock, canRemoveBlock, getBlockCount, getSettings } =\n\t\t\t\t\tselect( blockEditorStore );\n\t\t\t\tconst { canUser } = select( coreStore );\n\t\t\t\tconst reusableBlock = getBlock( clientId );\n\t\t\t\tconst isBlockTheme = getSettings().__unstableIsBlockBasedTheme;\n\n\t\t\t\treturn {\n\t\t\t\t\tcanRemove: canRemoveBlock( clientId ),\n\t\t\t\t\tisVisible:\n\t\t\t\t\t\t!! reusableBlock &&\n\t\t\t\t\t\tisReusableBlock( reusableBlock ) &&\n\t\t\t\t\t\t!! canUser(\n\t\t\t\t\t\t\t'update',\n\t\t\t\t\t\t\t'blocks',\n\t\t\t\t\t\t\treusableBlock.attributes.ref\n\t\t\t\t\t\t),\n\t\t\t\t\tinnerBlockCount: getBlockCount( clientId ),\n\t\t\t\t\t// The site editor and templates both check whether the user\n\t\t\t\t\t// has edit_theme_options capabilities. We can leverage that here\n\t\t\t\t\t// and omit the manage patterns link if the user can't access it.\n\t\t\t\t\tmanagePatternsUrl:\n\t\t\t\t\t\tisBlockTheme && canUser( 'read', 'templates' )\n\t\t\t\t\t\t\t? addQueryArgs( 'site-editor.php', {\n\t\t\t\t\t\t\t\t\tpath: '/patterns',\n\t\t\t\t\t\t\t } )\n\t\t\t\t\t\t\t: addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\t\t\tpost_type: 'wp_block',\n\t\t\t\t\t\t\t } ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientId ]\n\t\t);\n\n\tconst { __experimentalConvertSyncedPatternToStatic: convertBlockToStatic } =\n\t\tuseDispatch( editorStore );\n\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem href={ managePatternsUrl }>\n\t\t\t\t{ __( 'Manage patterns' ) }\n\t\t\t</MenuItem>\n\t\t\t{ canRemove && (\n\t\t\t\t<MenuItem onClick={ () => convertBlockToStatic( clientId ) }>\n\t\t\t\t\t{ innerBlockCount > 1\n\t\t\t\t\t\t? __( 'Detach patterns' )\n\t\t\t\t\t\t: __( 'Detach pattern' ) }\n\t\t\t\t</MenuItem>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default PatternsManageButton;\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,IAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AAKA,IAAAO,MAAA,GAAAP,OAAA;AAdA;AACA;AACA;;AASA;AACA;AACA;;AAGA,SAASQ,oBAAoBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC7C,MAAM;IAAEC,SAAS;IAAEC,SAAS;IAAEC,eAAe;IAAEC;EAAkB,CAAC,GACjE,IAAAC,eAAS,EACNC,MAAM,IAAM;IACb,MAAM;MAAEC,QAAQ;MAAEC,cAAc;MAAEC,aAAa;MAAEC;IAAY,CAAC,GAC7DJ,MAAM,CAAEK,kBAAiB,CAAC;IAC3B,MAAM;MAAEC;IAAQ,CAAC,GAAGN,MAAM,CAAEO,eAAU,CAAC;IACvC,MAAMC,aAAa,GAAGP,QAAQ,CAAEP,QAAS,CAAC;IAC1C,MAAMe,YAAY,GAAGL,WAAW,CAAC,CAAC,CAACM,2BAA2B;IAE9D,OAAO;MACNf,SAAS,EAAEO,cAAc,CAAER,QAAS,CAAC;MACrCE,SAAS,EACR,CAAC,CAAEY,aAAa,IAChB,IAAAG,uBAAe,EAAEH,aAAc,CAAC,IAChC,CAAC,CAAEF,OAAO,CACT,QAAQ,EACR,QAAQ,EACRE,aAAa,CAACI,UAAU,CAACC,GAC1B,CAAC;MACFhB,eAAe,EAAEM,aAAa,CAAET,QAAS,CAAC;MAC1C;MACA;MACA;MACAI,iBAAiB,EAChBW,YAAY,IAAIH,OAAO,CAAE,MAAM,EAAE,WAAY,CAAC,GAC3C,IAAAQ,iBAAY,EAAE,iBAAiB,EAAE;QACjCC,IAAI,EAAE;MACN,CAAE,CAAC,GACH,IAAAD,iBAAY,EAAE,UAAU,EAAE;QAC1BE,SAAS,EAAE;MACX,CAAE;IACP,CAAC;EACF,CAAC,EACD,CAAEtB,QAAQ,CACX,CAAC;EAEF,MAAM;IAAEuB,0CAA0C,EAAEC;EAAqB,CAAC,GACzE,IAAAC,iBAAW,EAAEC,YAAY,CAAC;EAE3B,IAAK,CAAExB,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,OACC,IAAAyB,QAAA,CAAAC,aAAA,EAAAD,QAAA,CAAAE,QAAA,QACC,IAAAF,QAAA,CAAAC,aAAA,EAACtC,WAAA,CAAAwC,QAAQ;IAACC,IAAI,EAAG3B;EAAmB,GACjC,IAAA4B,QAAE,EAAE,iBAAkB,CACf,CAAC,EACT/B,SAAS,IACV,IAAA0B,QAAA,CAAAC,aAAA,EAACtC,WAAA,CAAAwC,QAAQ;IAACG,OAAO,EAAGA,CAAA,KAAMT,oBAAoB,CAAExB,QAAS;EAAG,GACzDG,eAAe,GAAG,CAAC,GAClB,IAAA6B,QAAE,EAAE,iBAAkB,CAAC,GACvB,IAAAA,QAAE,EAAE,gBAAiB,CACf,CAEV,CAAC;AAEL;AAAC,IAAAE,QAAA,GAEcnC,oBAAoB;AAAAoC,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"names":["_components","require","_i18n","_blocks","_data","_blockEditor","_url","_coreData","_store","_lockUnlock","PatternsManageButton","clientId","canRemove","isVisible","innerBlockCount","managePatternsUrl","useSelect","select","getBlock","canRemoveBlock","getBlockCount","getSettings","blockEditorStore","canUser","coreStore","reusableBlock","isBlockTheme","__unstableIsBlockBasedTheme","isReusableBlock","attributes","ref","addQueryArgs","path","post_type","convertSyncedPatternToStatic","unlock","useDispatch","patternsStore","_element","createElement","Fragment","MenuItem","href","__","onClick","_default","exports","default"],"sources":["@wordpress/patterns/src/components/patterns-manage-button.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { isReusableBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as patternsStore } from '../store';\nimport { unlock } from '../lock-unlock';\n\nfunction PatternsManageButton( { clientId } ) {\n\tconst { canRemove, isVisible, innerBlockCount, managePatternsUrl } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getBlock, canRemoveBlock, getBlockCount, getSettings } =\n\t\t\t\t\tselect( blockEditorStore );\n\t\t\t\tconst { canUser } = select( coreStore );\n\t\t\t\tconst reusableBlock = getBlock( clientId );\n\t\t\t\tconst isBlockTheme = getSettings().__unstableIsBlockBasedTheme;\n\n\t\t\t\treturn {\n\t\t\t\t\tcanRemove: canRemoveBlock( clientId ),\n\t\t\t\t\tisVisible:\n\t\t\t\t\t\t!! reusableBlock &&\n\t\t\t\t\t\tisReusableBlock( reusableBlock ) &&\n\t\t\t\t\t\t!! canUser(\n\t\t\t\t\t\t\t'update',\n\t\t\t\t\t\t\t'blocks',\n\t\t\t\t\t\t\treusableBlock.attributes.ref\n\t\t\t\t\t\t),\n\t\t\t\t\tinnerBlockCount: getBlockCount( clientId ),\n\t\t\t\t\t// The site editor and templates both check whether the user\n\t\t\t\t\t// has edit_theme_options capabilities. We can leverage that here\n\t\t\t\t\t// and omit the manage patterns link if the user can't access it.\n\t\t\t\t\tmanagePatternsUrl:\n\t\t\t\t\t\tisBlockTheme && canUser( 'read', 'templates' )\n\t\t\t\t\t\t\t? addQueryArgs( 'site-editor.php', {\n\t\t\t\t\t\t\t\t\tpath: '/patterns',\n\t\t\t\t\t\t\t } )\n\t\t\t\t\t\t\t: addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\t\t\tpost_type: 'wp_block',\n\t\t\t\t\t\t\t } ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientId ]\n\t\t);\n\n\t// Ignore reason: false positive of the lint rule.\n\t// eslint-disable-next-line @wordpress/no-unused-vars-before-return\n\tconst { convertSyncedPatternToStatic } = unlock(\n\t\tuseDispatch( patternsStore )\n\t);\n\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem href={ managePatternsUrl }>\n\t\t\t\t{ __( 'Manage patterns' ) }\n\t\t\t</MenuItem>\n\t\t\t{ canRemove && (\n\t\t\t\t<MenuItem\n\t\t\t\t\tonClick={ () => convertSyncedPatternToStatic( clientId ) }\n\t\t\t\t>\n\t\t\t\t\t{ innerBlockCount > 1\n\t\t\t\t\t\t? __( 'Detach patterns' )\n\t\t\t\t\t\t: __( 'Detach pattern' ) }\n\t\t\t\t</MenuItem>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default PatternsManageButton;\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,IAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AAKA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AAfA;AACA;AACA;;AASA;AACA;AACA;;AAIA,SAASS,oBAAoBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC7C,MAAM;IAAEC,SAAS;IAAEC,SAAS;IAAEC,eAAe;IAAEC;EAAkB,CAAC,GACjE,IAAAC,eAAS,EACNC,MAAM,IAAM;IACb,MAAM;MAAEC,QAAQ;MAAEC,cAAc;MAAEC,aAAa;MAAEC;IAAY,CAAC,GAC7DJ,MAAM,CAAEK,kBAAiB,CAAC;IAC3B,MAAM;MAAEC;IAAQ,CAAC,GAAGN,MAAM,CAAEO,eAAU,CAAC;IACvC,MAAMC,aAAa,GAAGP,QAAQ,CAAEP,QAAS,CAAC;IAC1C,MAAMe,YAAY,GAAGL,WAAW,CAAC,CAAC,CAACM,2BAA2B;IAE9D,OAAO;MACNf,SAAS,EAAEO,cAAc,CAAER,QAAS,CAAC;MACrCE,SAAS,EACR,CAAC,CAAEY,aAAa,IAChB,IAAAG,uBAAe,EAAEH,aAAc,CAAC,IAChC,CAAC,CAAEF,OAAO,CACT,QAAQ,EACR,QAAQ,EACRE,aAAa,CAACI,UAAU,CAACC,GAC1B,CAAC;MACFhB,eAAe,EAAEM,aAAa,CAAET,QAAS,CAAC;MAC1C;MACA;MACA;MACAI,iBAAiB,EAChBW,YAAY,IAAIH,OAAO,CAAE,MAAM,EAAE,WAAY,CAAC,GAC3C,IAAAQ,iBAAY,EAAE,iBAAiB,EAAE;QACjCC,IAAI,EAAE;MACN,CAAE,CAAC,GACH,IAAAD,iBAAY,EAAE,UAAU,EAAE;QAC1BE,SAAS,EAAE;MACX,CAAE;IACP,CAAC;EACF,CAAC,EACD,CAAEtB,QAAQ,CACX,CAAC;;EAEF;EACA;EACA,MAAM;IAAEuB;EAA6B,CAAC,GAAG,IAAAC,kBAAM,EAC9C,IAAAC,iBAAW,EAAEC,YAAc,CAC5B,CAAC;EAED,IAAK,CAAExB,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,OACC,IAAAyB,QAAA,CAAAC,aAAA,EAAAD,QAAA,CAAAE,QAAA,QACC,IAAAF,QAAA,CAAAC,aAAA,EAACvC,WAAA,CAAAyC,QAAQ;IAACC,IAAI,EAAG3B;EAAmB,GACjC,IAAA4B,QAAE,EAAE,iBAAkB,CACf,CAAC,EACT/B,SAAS,IACV,IAAA0B,QAAA,CAAAC,aAAA,EAACvC,WAAA,CAAAyC,QAAQ;IACRG,OAAO,EAAGA,CAAA,KAAMV,4BAA4B,CAAEvB,QAAS;EAAG,GAExDG,eAAe,GAAG,CAAC,GAClB,IAAA6B,QAAE,EAAE,iBAAkB,CAAC,GACvB,IAAAA,QAAE,EAAE,gBAAiB,CACf,CAEV,CAAC;AAEL;AAAC,IAAAE,QAAA,GAEcnC,oBAAoB;AAAAoC,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PATTERN_TYPES = exports.PATTERN_SYNC_TYPES = exports.PATTERN_DEFAULT_CATEGORY = exports.PATTERN_CORE_SOURCES = void 0;
7
+ const PATTERN_TYPES = {
8
+ theme: 'pattern',
9
+ user: 'wp_block'
10
+ };
11
+ exports.PATTERN_TYPES = PATTERN_TYPES;
12
+ const PATTERN_DEFAULT_CATEGORY = 'all-patterns';
13
+ exports.PATTERN_DEFAULT_CATEGORY = PATTERN_DEFAULT_CATEGORY;
14
+ const PATTERN_CORE_SOURCES = ['core', 'pattern-directory/core', 'pattern-directory/featured', 'pattern-directory/theme'];
15
+ exports.PATTERN_CORE_SOURCES = PATTERN_CORE_SOURCES;
16
+ const PATTERN_SYNC_TYPES = {
17
+ full: 'fully',
18
+ unsynced: 'unsynced'
19
+ };
20
+ exports.PATTERN_SYNC_TYPES = PATTERN_SYNC_TYPES;
21
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PATTERN_TYPES","theme","user","exports","PATTERN_DEFAULT_CATEGORY","PATTERN_CORE_SOURCES","PATTERN_SYNC_TYPES","full","unsynced"],"sources":["@wordpress/patterns/src/constants.js"],"sourcesContent":["export const PATTERN_TYPES = {\n\ttheme: 'pattern',\n\tuser: 'wp_block',\n};\n\nexport const PATTERN_DEFAULT_CATEGORY = 'all-patterns';\nexport const PATTERN_CORE_SOURCES = [\n\t'core',\n\t'pattern-directory/core',\n\t'pattern-directory/featured',\n\t'pattern-directory/theme',\n];\nexport const PATTERN_SYNC_TYPES = {\n\tfull: 'fully',\n\tunsynced: 'unsynced',\n};\n"],"mappings":";;;;;;AAAO,MAAMA,aAAa,GAAG;EAC5BC,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAE;AACP,CAAC;AAACC,OAAA,CAAAH,aAAA,GAAAA,aAAA;AAEK,MAAMI,wBAAwB,GAAG,cAAc;AAACD,OAAA,CAAAC,wBAAA,GAAAA,wBAAA;AAChD,MAAMC,oBAAoB,GAAG,CACnC,MAAM,EACN,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,CACzB;AAACF,OAAA,CAAAE,oBAAA,GAAAA,oBAAA;AACK,MAAMC,kBAAkB,GAAG;EACjCC,IAAI,EAAE,OAAO;EACbC,QAAQ,EAAE;AACX,CAAC;AAACL,OAAA,CAAAG,kBAAA,GAAAA,kBAAA"}
package/build/index.js CHANGED
@@ -3,10 +3,20 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- require("./store");
6
+ var _exportNames = {
7
+ store: true
8
+ };
9
+ Object.defineProperty(exports, "store", {
10
+ enumerable: true,
11
+ get: function () {
12
+ return _store.store;
13
+ }
14
+ });
15
+ var _store = require("./store");
7
16
  var _privateApis = require("./private-apis");
8
17
  Object.keys(_privateApis).forEach(function (key) {
9
18
  if (key === "default" || key === "__esModule") return;
19
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
10
20
  if (key in exports && exports[key] === _privateApis[key]) return;
11
21
  Object.defineProperty(exports, key, {
12
22
  enumerable: true,
@@ -1 +1 @@
1
- {"version":3,"names":["require","_privateApis","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["@wordpress/patterns/src/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport './store';\n\nexport * from './private-apis';\n"],"mappings":";;;;;AAGAA,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,YAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAJ,YAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAR,YAAA,CAAAI,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_store","require","_privateApis","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["@wordpress/patterns/src/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nexport { store } from './store';\nexport * from './private-apis';\n"],"mappings":";;;;;;;;;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,YAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,YAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,YAAA,CAAAI,GAAA;IAAA;EAAA;AAAA"}
@@ -8,6 +8,7 @@ exports.privateApis = void 0;
8
8
  var _lockUnlock = require("./lock-unlock");
9
9
  var _createPatternModal = _interopRequireDefault(require("./components/create-pattern-modal"));
10
10
  var _components = _interopRequireDefault(require("./components"));
11
+ var _constants = require("./constants");
11
12
  /**
12
13
  * Internal dependencies
13
14
  */
@@ -16,6 +17,10 @@ const privateApis = {};
16
17
  exports.privateApis = privateApis;
17
18
  (0, _lockUnlock.lock)(privateApis, {
18
19
  CreatePatternModal: _createPatternModal.default,
19
- PatternsMenuItems: _components.default
20
+ PatternsMenuItems: _components.default,
21
+ PATTERN_TYPES: _constants.PATTERN_TYPES,
22
+ PATTERN_DEFAULT_CATEGORY: _constants.PATTERN_DEFAULT_CATEGORY,
23
+ PATTERN_CORE_SOURCES: _constants.PATTERN_CORE_SOURCES,
24
+ PATTERN_SYNC_TYPES: _constants.PATTERN_SYNC_TYPES
20
25
  });
21
26
  //# sourceMappingURL=private-apis.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_lockUnlock","require","_createPatternModal","_interopRequireDefault","_components","privateApis","exports","lock","CreatePatternModal","PatternsMenuItems"],"sources":["@wordpress/patterns/src/private-apis.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { lock } from './lock-unlock';\nimport CreatePatternModal from './components/create-pattern-modal';\nimport PatternsMenuItems from './components';\n\nexport const privateApis = {};\nlock( privateApis, {\n\tCreatePatternModal,\n\tPatternsMenuItems,\n} );\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAD,sBAAA,CAAAF,OAAA;AALA;AACA;AACA;;AAKO,MAAMI,WAAW,GAAG,CAAC,CAAC;AAACC,OAAA,CAAAD,WAAA,GAAAA,WAAA;AAC9B,IAAAE,gBAAI,EAAEF,WAAW,EAAE;EAClBG,kBAAkB,EAAlBA,2BAAkB;EAClBC,iBAAiB,EAAjBA;AACD,CAAE,CAAC"}
1
+ {"version":3,"names":["_lockUnlock","require","_createPatternModal","_interopRequireDefault","_components","_constants","privateApis","exports","lock","CreatePatternModal","PatternsMenuItems","PATTERN_TYPES","PATTERN_DEFAULT_CATEGORY","PATTERN_CORE_SOURCES","PATTERN_SYNC_TYPES"],"sources":["@wordpress/patterns/src/private-apis.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { lock } from './lock-unlock';\nimport CreatePatternModal from './components/create-pattern-modal';\nimport PatternsMenuItems from './components';\nimport {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_CORE_SOURCES,\n\tPATTERN_SYNC_TYPES,\n} from './constants';\n\nexport const privateApis = {};\nlock( privateApis, {\n\tCreatePatternModal,\n\tPatternsMenuItems,\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_CORE_SOURCES,\n\tPATTERN_SYNC_TYPES,\n} );\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AANA;AACA;AACA;;AAWO,MAAMK,WAAW,GAAG,CAAC,CAAC;AAACC,OAAA,CAAAD,WAAA,GAAAA,WAAA;AAC9B,IAAAE,gBAAI,EAAEF,WAAW,EAAE;EAClBG,kBAAkB,EAAlBA,2BAAkB;EAClBC,iBAAiB,EAAjBA,mBAAiB;EACjBC,aAAa,EAAbA,wBAAa;EACbC,wBAAwB,EAAxBA,mCAAwB;EACxBC,oBAAoB,EAApBA,+BAAoB;EACpBC,kBAAkB,EAAlBA;AACD,CAAE,CAAC"}