@wordpress/patterns 2.37.0 → 2.37.1-next.06ee73755.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 (118) hide show
  1. package/CHANGELOG.md +0 -2
  2. package/LICENSE.md +1 -1
  3. package/build/api/{index.js → index.cjs} +2 -15
  4. package/build/api/index.cjs.map +7 -0
  5. package/build/components/{allow-overrides-modal.js → allow-overrides-modal.cjs} +1 -2
  6. package/build/components/allow-overrides-modal.cjs.map +7 -0
  7. package/build/components/{category-selector.js → category-selector.cjs} +1 -1
  8. package/build/components/{create-pattern-modal.js → create-pattern-modal.cjs} +6 -8
  9. package/build/components/{create-pattern-modal.js.map → create-pattern-modal.cjs.map} +2 -2
  10. package/build/components/{duplicate-pattern-modal.js → duplicate-pattern-modal.cjs} +3 -3
  11. package/build/components/{index.js → index.cjs} +3 -3
  12. package/build/components/{overrides-panel.js → overrides-panel.cjs} +14 -11
  13. package/build/components/overrides-panel.cjs.map +7 -0
  14. package/build/components/{pattern-convert-button.js → pattern-convert-button.cjs} +5 -5
  15. package/build/components/{pattern-overrides-controls.js → pattern-overrides-controls.cjs} +3 -4
  16. package/build/components/{pattern-overrides-controls.js.map → pattern-overrides-controls.cjs.map} +2 -2
  17. package/build/components/{patterns-manage-button.js → patterns-manage-button.cjs} +3 -3
  18. package/build/components/{rename-pattern-category-modal.js → rename-pattern-category-modal.cjs} +2 -3
  19. package/build/components/{rename-pattern-category-modal.js.map → rename-pattern-category-modal.cjs.map} +2 -2
  20. package/build/components/{rename-pattern-modal.js → rename-pattern-modal.cjs} +1 -2
  21. package/build/components/{rename-pattern-modal.js.map → rename-pattern-modal.cjs.map} +2 -2
  22. package/build/components/{reset-overrides-control.js → reset-overrides-control.cjs} +1 -1
  23. package/build/{constants.js → constants.cjs} +1 -9
  24. package/build/constants.cjs.map +7 -0
  25. package/build/{index.js → index.cjs} +4 -4
  26. package/build/{index.js.map → index.cjs.map} +1 -1
  27. package/build/{lock-unlock.js → lock-unlock.cjs} +1 -1
  28. package/build/{private-apis.js → private-apis.cjs} +14 -16
  29. package/build/private-apis.cjs.map +7 -0
  30. package/build/{private-hooks.js → private-hooks.cjs} +2 -2
  31. package/build/store/{actions.js → actions.cjs} +2 -2
  32. package/build/store/{constants.js → constants.cjs} +1 -1
  33. package/build/store/{index.js → index.cjs} +6 -6
  34. package/build/store/{reducer.js → reducer.cjs} +1 -1
  35. package/build/store/{selectors.js → selectors.cjs} +1 -1
  36. package/build-module/api/index.mjs +10 -0
  37. package/build-module/api/index.mjs.map +7 -0
  38. package/build-module/components/{allow-overrides-modal.js → allow-overrides-modal.mjs} +1 -2
  39. package/build-module/components/allow-overrides-modal.mjs.map +7 -0
  40. package/build-module/components/{category-selector.js → category-selector.mjs} +1 -1
  41. package/build-module/components/{create-pattern-modal.js → create-pattern-modal.mjs} +6 -8
  42. package/build-module/components/{create-pattern-modal.js.map → create-pattern-modal.mjs.map} +2 -2
  43. package/build-module/components/{duplicate-pattern-modal.js → duplicate-pattern-modal.mjs} +3 -3
  44. package/build-module/components/{index.js → index.mjs} +3 -3
  45. package/build-module/components/{overrides-panel.js → overrides-panel.mjs} +14 -11
  46. package/build-module/components/overrides-panel.mjs.map +7 -0
  47. package/build-module/components/{pattern-convert-button.js → pattern-convert-button.mjs} +5 -5
  48. package/build-module/components/{pattern-overrides-controls.js → pattern-overrides-controls.mjs} +3 -4
  49. package/build-module/components/{pattern-overrides-controls.js.map → pattern-overrides-controls.mjs.map} +2 -2
  50. package/build-module/components/{patterns-manage-button.js → patterns-manage-button.mjs} +3 -3
  51. package/build-module/components/{rename-pattern-category-modal.js → rename-pattern-category-modal.mjs} +2 -3
  52. package/build-module/components/{rename-pattern-category-modal.js.map → rename-pattern-category-modal.mjs.map} +2 -2
  53. package/build-module/components/{rename-pattern-modal.js → rename-pattern-modal.mjs} +1 -2
  54. package/build-module/components/{rename-pattern-modal.js.map → rename-pattern-modal.mjs.map} +2 -2
  55. package/build-module/components/{reset-overrides-control.js → reset-overrides-control.mjs} +1 -1
  56. package/build-module/{constants.js → constants.mjs} +1 -8
  57. package/build-module/constants.mjs.map +7 -0
  58. package/build-module/index.mjs +7 -0
  59. package/build-module/{lock-unlock.js → lock-unlock.mjs} +1 -1
  60. package/build-module/{private-apis.js → private-apis.mjs} +15 -18
  61. package/build-module/private-apis.mjs.map +7 -0
  62. package/build-module/{private-hooks.js → private-hooks.mjs} +2 -2
  63. package/build-module/store/{actions.js → actions.mjs} +2 -2
  64. package/build-module/store/{constants.js → constants.mjs} +1 -1
  65. package/build-module/store/{index.js → index.mjs} +6 -6
  66. package/build-module/store/{reducer.js → reducer.mjs} +1 -1
  67. package/build-module/store/{selectors.js → selectors.mjs} +1 -1
  68. package/build-style/style-rtl.css +4 -0
  69. package/build-style/style.css +4 -0
  70. package/package.json +33 -25
  71. package/src/api/index.js +0 -24
  72. package/src/components/allow-overrides-modal.js +0 -1
  73. package/src/components/create-pattern-modal.js +0 -2
  74. package/src/components/overrides-panel.js +18 -10
  75. package/src/components/pattern-overrides-controls.js +0 -1
  76. package/src/components/rename-pattern-category-modal.js +0 -1
  77. package/src/components/rename-pattern-modal.js +0 -1
  78. package/src/constants.js +0 -8
  79. package/src/private-apis.js +1 -4
  80. package/build/api/index.js.map +0 -7
  81. package/build/components/allow-overrides-modal.js.map +0 -7
  82. package/build/components/overrides-panel.js.map +0 -7
  83. package/build/constants.js.map +0 -7
  84. package/build/private-apis.js.map +0 -7
  85. package/build-module/api/index.js +0 -22
  86. package/build-module/api/index.js.map +0 -7
  87. package/build-module/components/allow-overrides-modal.js.map +0 -7
  88. package/build-module/components/overrides-panel.js.map +0 -7
  89. package/build-module/constants.js.map +0 -7
  90. package/build-module/index.js +0 -7
  91. package/build-module/private-apis.js.map +0 -7
  92. /package/build/components/{category-selector.js.map → category-selector.cjs.map} +0 -0
  93. /package/build/components/{duplicate-pattern-modal.js.map → duplicate-pattern-modal.cjs.map} +0 -0
  94. /package/build/components/{index.js.map → index.cjs.map} +0 -0
  95. /package/build/components/{pattern-convert-button.js.map → pattern-convert-button.cjs.map} +0 -0
  96. /package/build/components/{patterns-manage-button.js.map → patterns-manage-button.cjs.map} +0 -0
  97. /package/build/components/{reset-overrides-control.js.map → reset-overrides-control.cjs.map} +0 -0
  98. /package/build/{lock-unlock.js.map → lock-unlock.cjs.map} +0 -0
  99. /package/build/{private-hooks.js.map → private-hooks.cjs.map} +0 -0
  100. /package/build/store/{actions.js.map → actions.cjs.map} +0 -0
  101. /package/build/store/{constants.js.map → constants.cjs.map} +0 -0
  102. /package/build/store/{index.js.map → index.cjs.map} +0 -0
  103. /package/build/store/{reducer.js.map → reducer.cjs.map} +0 -0
  104. /package/build/store/{selectors.js.map → selectors.cjs.map} +0 -0
  105. /package/build-module/components/{category-selector.js.map → category-selector.mjs.map} +0 -0
  106. /package/build-module/components/{duplicate-pattern-modal.js.map → duplicate-pattern-modal.mjs.map} +0 -0
  107. /package/build-module/components/{index.js.map → index.mjs.map} +0 -0
  108. /package/build-module/components/{pattern-convert-button.js.map → pattern-convert-button.mjs.map} +0 -0
  109. /package/build-module/components/{patterns-manage-button.js.map → patterns-manage-button.mjs.map} +0 -0
  110. /package/build-module/components/{reset-overrides-control.js.map → reset-overrides-control.mjs.map} +0 -0
  111. /package/build-module/{index.js.map → index.mjs.map} +0 -0
  112. /package/build-module/{lock-unlock.js.map → lock-unlock.mjs.map} +0 -0
  113. /package/build-module/{private-hooks.js.map → private-hooks.mjs.map} +0 -0
  114. /package/build-module/store/{actions.js.map → actions.mjs.map} +0 -0
  115. /package/build-module/store/{constants.js.map → constants.mjs.map} +0 -0
  116. /package/build-module/store/{index.js.map → index.mjs.map} +0 -0
  117. /package/build-module/store/{reducer.js.map → reducer.mjs.map} +0 -0
  118. /package/build-module/store/{selectors.js.map → selectors.mjs.map} +0 -0
@@ -63,4 +63,4 @@ function ResetOverridesControl(props) {
63
63
  export {
64
64
  ResetOverridesControl as default
65
65
  };
66
- //# sourceMappingURL=reset-overrides-control.js.map
66
+ //# sourceMappingURL=reset-overrides-control.mjs.map
@@ -14,20 +14,13 @@ var PATTERN_SYNC_TYPES = {
14
14
  full: "fully",
15
15
  unsynced: "unsynced"
16
16
  };
17
- var PARTIAL_SYNCING_SUPPORTED_BLOCKS = {
18
- "core/paragraph": ["content"],
19
- "core/heading": ["content"],
20
- "core/button": ["text", "url", "linkTarget", "rel"],
21
- "core/image": ["id", "url", "title", "alt", "caption"]
22
- };
23
17
  var PATTERN_OVERRIDES_BINDING_SOURCE = "core/pattern-overrides";
24
18
  export {
25
19
  EXCLUDED_PATTERN_SOURCES,
26
- PARTIAL_SYNCING_SUPPORTED_BLOCKS,
27
20
  PATTERN_DEFAULT_CATEGORY,
28
21
  PATTERN_OVERRIDES_BINDING_SOURCE,
29
22
  PATTERN_SYNC_TYPES,
30
23
  PATTERN_TYPES,
31
24
  PATTERN_USER_CATEGORY
32
25
  };
33
- //# sourceMappingURL=constants.js.map
26
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/constants.js"],
4
+ "sourcesContent": ["export const PATTERN_TYPES = {\n\ttheme: 'pattern',\n\tuser: 'wp_block',\n};\n\nexport const PATTERN_DEFAULT_CATEGORY = 'all-patterns';\nexport const PATTERN_USER_CATEGORY = 'my-patterns';\nexport const EXCLUDED_PATTERN_SOURCES = [\n\t'core',\n\t'pattern-directory/core',\n\t'pattern-directory/featured',\n];\nexport const PATTERN_SYNC_TYPES = {\n\tfull: 'fully',\n\tunsynced: 'unsynced',\n};\n\nexport const PATTERN_OVERRIDES_BINDING_SOURCE = 'core/pattern-overrides';\n"],
5
+ "mappings": ";AAAO,IAAM,gBAAgB;AAAA,EAC5B,OAAO;AAAA,EACP,MAAM;AACP;AAEO,IAAM,2BAA2B;AACjC,IAAM,wBAAwB;AAC9B,IAAM,2BAA2B;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AACD;AACO,IAAM,qBAAqB;AAAA,EACjC,MAAM;AAAA,EACN,UAAU;AACX;AAEO,IAAM,mCAAmC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,7 @@
1
+ // packages/patterns/src/index.js
2
+ import { store } from "./store/index.mjs";
3
+ export * from "./private-apis.mjs";
4
+ export {
5
+ store
6
+ };
7
+ //# sourceMappingURL=index.mjs.map
@@ -8,4 +8,4 @@ export {
8
8
  lock,
9
9
  unlock
10
10
  };
11
- //# sourceMappingURL=lock-unlock.js.map
11
+ //# sourceMappingURL=lock-unlock.mjs.map
@@ -1,29 +1,28 @@
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.mjs";
3
+ import OverridesPanel from "./components/overrides-panel.mjs";
4
4
  import {
5
5
  default as CreatePatternModal,
6
6
  CreatePatternModalContents
7
- } from "./components/create-pattern-modal";
7
+ } from "./components/create-pattern-modal.mjs";
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.mjs";
12
+ import { isOverridableBlock } from "./api/index.mjs";
13
+ import RenamePatternModal from "./components/rename-pattern-modal.mjs";
14
+ import PatternsMenuItems from "./components/index.mjs";
15
+ import RenamePatternCategoryModal from "./components/rename-pattern-category-modal.mjs";
16
+ import PatternOverridesControls from "./components/pattern-overrides-controls.mjs";
17
+ import ResetOverridesControl from "./components/reset-overrides-control.mjs";
18
+ import { useAddPatternCategory } from "./private-hooks.mjs";
19
19
  import {
20
20
  PATTERN_TYPES,
21
21
  PATTERN_DEFAULT_CATEGORY,
22
22
  PATTERN_USER_CATEGORY,
23
23
  EXCLUDED_PATTERN_SOURCES,
24
- PATTERN_SYNC_TYPES,
25
- PARTIAL_SYNCING_SUPPORTED_BLOCKS
26
- } from "./constants";
24
+ PATTERN_SYNC_TYPES
25
+ } from "./constants.mjs";
27
26
  var privateApis = {};
28
27
  lock(privateApis, {
29
28
  OverridesPanel,
@@ -31,7 +30,6 @@ lock(privateApis, {
31
30
  CreatePatternModalContents,
32
31
  DuplicatePatternModal,
33
32
  isOverridableBlock,
34
- hasOverridableBlocks,
35
33
  useDuplicatePatternProps,
36
34
  RenamePatternModal,
37
35
  PatternsMenuItems,
@@ -43,10 +41,9 @@ lock(privateApis, {
43
41
  PATTERN_DEFAULT_CATEGORY,
44
42
  PATTERN_USER_CATEGORY,
45
43
  EXCLUDED_PATTERN_SOURCES,
46
- PATTERN_SYNC_TYPES,
47
- PARTIAL_SYNCING_SUPPORTED_BLOCKS
44
+ PATTERN_SYNC_TYPES
48
45
  });
49
46
  export {
50
47
  privateApis
51
48
  };
52
- //# sourceMappingURL=private-apis.js.map
49
+ //# sourceMappingURL=private-apis.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/private-apis.js"],
4
+ "sourcesContent": ["/**\n * Internal dependencies\n */\nimport { lock } from './lock-unlock';\nimport OverridesPanel from './components/overrides-panel';\nimport {\n\tdefault as CreatePatternModal,\n\tCreatePatternModalContents,\n} from './components/create-pattern-modal';\nimport {\n\tdefault as DuplicatePatternModal,\n\tuseDuplicatePatternProps,\n} from './components/duplicate-pattern-modal';\nimport { isOverridableBlock } from './api';\nimport RenamePatternModal from './components/rename-pattern-modal';\nimport PatternsMenuItems from './components';\nimport RenamePatternCategoryModal from './components/rename-pattern-category-modal';\nimport PatternOverridesControls from './components/pattern-overrides-controls';\nimport ResetOverridesControl from './components/reset-overrides-control';\nimport { useAddPatternCategory } from './private-hooks';\nimport {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_USER_CATEGORY,\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_SYNC_TYPES,\n} from './constants';\n\nexport const privateApis = {};\nlock( privateApis, {\n\tOverridesPanel,\n\tCreatePatternModal,\n\tCreatePatternModalContents,\n\tDuplicatePatternModal,\n\tisOverridableBlock,\n\tuseDuplicatePatternProps,\n\tRenamePatternModal,\n\tPatternsMenuItems,\n\tRenamePatternCategoryModal,\n\tPatternOverridesControls,\n\tResetOverridesControl,\n\tuseAddPatternCategory,\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_USER_CATEGORY,\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_SYNC_TYPES,\n} );\n"],
5
+ "mappings": ";AAGA,SAAS,YAAY;AACrB,OAAO,oBAAoB;AAC3B;AAAA,EACC,WAAW;AAAA,EACX;AAAA,OACM;AACP;AAAA,EACC,WAAW;AAAA,EACX;AAAA,OACM;AACP,SAAS,0BAA0B;AACnC,OAAO,wBAAwB;AAC/B,OAAO,uBAAuB;AAC9B,OAAO,gCAAgC;AACvC,OAAO,8BAA8B;AACrC,OAAO,2BAA2B;AAClC,SAAS,6BAA6B;AACtC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAEA,IAAM,cAAc,CAAC;AAC5B,KAAM,aAAa;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAE;",
6
+ "names": []
7
+ }
@@ -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.mjs";
6
6
  function useAddPatternCategory() {
7
7
  const { saveEntityRecord, invalidateResolution } = useDispatch(coreStore);
8
8
  const { corePatternCategories, userPatternCategories } = useSelect(
@@ -63,4 +63,4 @@ function useAddPatternCategory() {
63
63
  export {
64
64
  useAddPatternCategory
65
65
  };
66
- //# sourceMappingURL=private-hooks.js.map
66
+ //# sourceMappingURL=private-hooks.mjs.map
@@ -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.mjs";
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
@@ -85,4 +85,4 @@ export {
85
85
  createPatternFromFile,
86
86
  setEditingPattern
87
87
  };
88
- //# sourceMappingURL=actions.js.map
88
+ //# sourceMappingURL=actions.mjs.map
@@ -3,4 +3,4 @@ var STORE_NAME = "core/patterns";
3
3
  export {
4
4
  STORE_NAME
5
5
  };
6
- //# sourceMappingURL=constants.js.map
6
+ //# sourceMappingURL=constants.mjs.map
@@ -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.mjs";
4
+ import * as actions from "./actions.mjs";
5
+ import { STORE_NAME } from "./constants.mjs";
6
+ import * as selectors from "./selectors.mjs";
7
+ import { unlock } from "../lock-unlock.mjs";
8
8
  var storeConfig = {
9
9
  reducer
10
10
  };
@@ -18,4 +18,4 @@ export {
18
18
  store,
19
19
  storeConfig
20
20
  };
21
- //# sourceMappingURL=index.js.map
21
+ //# sourceMappingURL=index.mjs.map
@@ -16,4 +16,4 @@ export {
16
16
  reducer_default as default,
17
17
  isEditingPattern
18
18
  };
19
- //# sourceMappingURL=reducer.js.map
19
+ //# sourceMappingURL=reducer.mjs.map
@@ -5,4 +5,4 @@ function isEditingPattern(state, clientId) {
5
5
  export {
6
6
  isEditingPattern
7
7
  };
8
- //# sourceMappingURL=selectors.js.map
8
+ //# sourceMappingURL=selectors.mjs.map
@@ -83,6 +83,10 @@
83
83
  /**
84
84
  * Reset the WP Admin page styles for Gutenberg-like pages.
85
85
  */
86
+ /**
87
+ * Creates a checkerboard pattern background to indicate transparency.
88
+ * @param {String} $size - The size of the squares in the checkerboard pattern. Default is 12px.
89
+ */
86
90
  :root {
87
91
  --wp-block-synced-color: #7a00df;
88
92
  --wp-block-synced-color--rgb: 122, 0, 223;
@@ -83,6 +83,10 @@
83
83
  /**
84
84
  * Reset the WP Admin page styles for Gutenberg-like pages.
85
85
  */
86
+ /**
87
+ * Creates a checkerboard pattern background to indicate transparency.
88
+ * @param {String} $size - The size of the squares in the checkerboard pattern. Default is 12px.
89
+ */
86
90
  :root {
87
91
  --wp-block-synced-color: #7a00df;
88
92
  --wp-block-synced-color--rgb: 122, 0, 223;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/patterns",
3
- "version": "2.37.0",
3
+ "version": "2.37.1-next.06ee73755.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,20 @@
22
22
  "node": ">=18.12.0",
23
23
  "npm": ">=8.19.2"
24
24
  },
25
- "main": "build/index.js",
26
- "module": "build-module/index.js",
25
+ "files": [
26
+ "src",
27
+ "build",
28
+ "build-module",
29
+ "build-style",
30
+ "build-types",
31
+ "*.md"
32
+ ],
33
+ "main": "build/index.cjs",
34
+ "module": "build-module/index.mjs",
27
35
  "exports": {
28
36
  ".": {
29
- "import": "./build-module/index.js",
30
- "require": "./build/index.js"
37
+ "import": "./build-module/index.mjs",
38
+ "require": "./build/index.cjs"
31
39
  },
32
40
  "./package.json": "./package.json"
33
41
  },
@@ -38,27 +46,27 @@
38
46
  "src/**/*.scss",
39
47
  "src/index.js",
40
48
  "src/store/index.js",
41
- "build/index.js",
42
- "build/store/index.js",
43
- "build-module/index.js",
44
- "build-module/store/index.js"
49
+ "build/index.cjs",
50
+ "build/store/index.cjs",
51
+ "build-module/index.mjs",
52
+ "build-module/store/index.mjs"
45
53
  ],
46
54
  "dependencies": {
47
- "@wordpress/a11y": "^4.37.0",
48
- "@wordpress/base-styles": "^6.13.0",
49
- "@wordpress/block-editor": "^15.10.0",
50
- "@wordpress/blocks": "^15.10.0",
51
- "@wordpress/components": "^31.0.0",
52
- "@wordpress/compose": "^7.37.0",
53
- "@wordpress/core-data": "^7.37.0",
54
- "@wordpress/data": "^10.37.0",
55
- "@wordpress/element": "^6.37.0",
56
- "@wordpress/html-entities": "^4.37.0",
57
- "@wordpress/i18n": "^6.10.0",
58
- "@wordpress/icons": "^11.4.0",
59
- "@wordpress/notices": "^5.37.0",
60
- "@wordpress/private-apis": "^1.37.0",
61
- "@wordpress/url": "^4.37.0"
55
+ "@wordpress/a11y": "^4.37.1-next.06ee73755.0",
56
+ "@wordpress/base-styles": "^6.13.2-next.06ee73755.0",
57
+ "@wordpress/block-editor": "^15.10.1-next.06ee73755.0",
58
+ "@wordpress/blocks": "^15.10.1-next.06ee73755.0",
59
+ "@wordpress/components": "^32.0.1-next.06ee73755.0",
60
+ "@wordpress/compose": "^7.37.1-next.06ee73755.0",
61
+ "@wordpress/core-data": "^7.37.1-next.06ee73755.0",
62
+ "@wordpress/data": "^10.37.1-next.06ee73755.0",
63
+ "@wordpress/element": "^6.37.1-next.06ee73755.0",
64
+ "@wordpress/html-entities": "^4.37.1-next.06ee73755.0",
65
+ "@wordpress/i18n": "^6.10.1-next.06ee73755.0",
66
+ "@wordpress/icons": "^11.4.1-next.06ee73755.0",
67
+ "@wordpress/notices": "^5.37.1-next.06ee73755.0",
68
+ "@wordpress/private-apis": "^1.37.1-next.06ee73755.0",
69
+ "@wordpress/url": "^4.37.1-next.06ee73755.0"
62
70
  },
63
71
  "peerDependencies": {
64
72
  "react": "^18.0.0",
@@ -67,5 +75,5 @@
67
75
  "publishConfig": {
68
76
  "access": "public"
69
77
  },
70
- "gitHead": "2cf13ec6cf86153c9b3cf369bf5c59046f5cd950"
78
+ "gitHead": "fd315436f44683a993d5f053789b5279d95b2872"
71
79
  }
package/src/api/index.js CHANGED
@@ -1,8 +1,3 @@
1
- /**
2
- * Internal dependencies
3
- */
4
- import { PARTIAL_SYNCING_SUPPORTED_BLOCKS } from '../constants';
5
-
6
1
  /**
7
2
  * Determines whether a block is overridable.
8
3
  *
@@ -12,9 +7,6 @@ import { PARTIAL_SYNCING_SUPPORTED_BLOCKS } from '../constants';
12
7
  */
13
8
  export function isOverridableBlock( block ) {
14
9
  return (
15
- Object.keys( PARTIAL_SYNCING_SUPPORTED_BLOCKS ).includes(
16
- block.name
17
- ) &&
18
10
  !! block.attributes.metadata?.name &&
19
11
  !! block.attributes.metadata?.bindings &&
20
12
  Object.values( block.attributes.metadata.bindings ).some(
@@ -22,19 +14,3 @@ export function isOverridableBlock( block ) {
22
14
  )
23
15
  );
24
16
  }
25
-
26
- /**
27
- * Determines whether the blocks list has overridable blocks.
28
- *
29
- * @param {WPBlock[]} blocks The blocks list.
30
- *
31
- * @return {boolean} `true` if the list has overridable blocks, `false` otherwise.
32
- */
33
- export function hasOverridableBlocks( blocks ) {
34
- return blocks.some( ( block ) => {
35
- if ( isOverridableBlock( block ) ) {
36
- return true;
37
- }
38
- return hasOverridableBlocks( block.innerBlocks );
39
- } );
40
- }
@@ -67,7 +67,6 @@ export function AllowOverridesModal( {
67
67
  ) }
68
68
  </Text>
69
69
  <TextControl
70
- __nextHasNoMarginBottom
71
70
  __next40pxDefaultSize
72
71
  value={ editedBlockName }
73
72
  label={ __( 'Name' ) }
@@ -122,7 +122,6 @@ export function CreatePatternModalContents( {
122
122
  onChange={ setTitle }
123
123
  placeholder={ __( 'My pattern' ) }
124
124
  className="patterns-create-modal__name-input"
125
- __nextHasNoMarginBottom
126
125
  __next40pxDefaultSize
127
126
  />
128
127
  <CategorySelector
@@ -131,7 +130,6 @@ export function CreatePatternModalContents( {
131
130
  categoryMap={ categoryMap }
132
131
  />
133
132
  <ToggleControl
134
- __nextHasNoMarginBottom
135
133
  label={ _x( 'Synced', 'pattern (singular)' ) }
136
134
  help={ __(
137
135
  'Sync this pattern across multiple locations.'
@@ -19,19 +19,27 @@ import { unlock } from '../lock-unlock';
19
19
  const { BlockQuickNavigation } = unlock( blockEditorPrivateApis );
20
20
 
21
21
  export default function OverridesPanel() {
22
- const allClientIds = useSelect(
23
- ( select ) => select( blockEditorStore ).getClientIdsWithDescendants(),
22
+ const { allClientIds, supportedBlockTypesRaw } = useSelect(
23
+ ( select ) => ( {
24
+ allClientIds:
25
+ select( blockEditorStore ).getClientIdsWithDescendants(),
26
+ supportedBlockTypesRaw:
27
+ select( blockEditorStore ).getSettings()
28
+ ?.__experimentalBlockBindingsSupportedAttributes,
29
+ } ),
24
30
  []
25
31
  );
26
32
  const { getBlock } = useSelect( blockEditorStore );
27
- const clientIdsWithOverrides = useMemo(
28
- () =>
29
- allClientIds.filter( ( clientId ) => {
30
- const block = getBlock( clientId );
31
- return isOverridableBlock( block );
32
- } ),
33
- [ allClientIds, getBlock ]
34
- );
33
+ const clientIdsWithOverrides = useMemo( () => {
34
+ const supportedBlockTypes = Object.keys( supportedBlockTypesRaw ?? {} );
35
+ return allClientIds.filter( ( clientId ) => {
36
+ const block = getBlock( clientId );
37
+ return (
38
+ supportedBlockTypes.includes( block.name ) &&
39
+ isOverridableBlock( block )
40
+ );
41
+ } );
42
+ }, [ allClientIds, getBlock, supportedBlockTypesRaw ] );
35
43
 
36
44
  if ( ! clientIdsWithOverrides?.length ) {
37
45
  return null;
@@ -76,7 +76,6 @@ function PatternOverridesControls( {
76
76
  <>
77
77
  <InspectorControls group="advanced">
78
78
  <BaseControl
79
- __nextHasNoMarginBottom
80
79
  id={ controlId }
81
80
  label={ __( 'Overrides' ) }
82
81
  help={ helpText }
@@ -137,7 +137,6 @@ export default function RenamePatternCategoryModal( {
137
137
  <VStack spacing="2">
138
138
  <TextControl
139
139
  ref={ textControlRef }
140
- __nextHasNoMarginBottom
141
140
  __next40pxDefaultSize
142
141
  label={ __( 'Name' ) }
143
142
  value={ name }
@@ -98,7 +98,6 @@ export default function RenamePatternModal( {
98
98
  <form onSubmit={ onRename }>
99
99
  <VStack spacing="5">
100
100
  <TextControl
101
- __nextHasNoMarginBottom
102
101
  __next40pxDefaultSize
103
102
  label={ __( 'Name' ) }
104
103
  value={ name }
package/src/constants.js CHANGED
@@ -15,12 +15,4 @@ export const PATTERN_SYNC_TYPES = {
15
15
  unsynced: 'unsynced',
16
16
  };
17
17
 
18
- // TODO: This should not be hardcoded. Maybe there should be a config and/or an UI.
19
- export const PARTIAL_SYNCING_SUPPORTED_BLOCKS = {
20
- 'core/paragraph': [ 'content' ],
21
- 'core/heading': [ 'content' ],
22
- 'core/button': [ 'text', 'url', 'linkTarget', 'rel' ],
23
- 'core/image': [ 'id', 'url', 'title', 'alt', 'caption' ],
24
- };
25
-
26
18
  export const PATTERN_OVERRIDES_BINDING_SOURCE = 'core/pattern-overrides';
@@ -11,7 +11,7 @@ import {
11
11
  default as DuplicatePatternModal,
12
12
  useDuplicatePatternProps,
13
13
  } from './components/duplicate-pattern-modal';
14
- import { isOverridableBlock, hasOverridableBlocks } from './api';
14
+ import { isOverridableBlock } from './api';
15
15
  import RenamePatternModal from './components/rename-pattern-modal';
16
16
  import PatternsMenuItems from './components';
17
17
  import RenamePatternCategoryModal from './components/rename-pattern-category-modal';
@@ -24,7 +24,6 @@ import {
24
24
  PATTERN_USER_CATEGORY,
25
25
  EXCLUDED_PATTERN_SOURCES,
26
26
  PATTERN_SYNC_TYPES,
27
- PARTIAL_SYNCING_SUPPORTED_BLOCKS,
28
27
  } from './constants';
29
28
 
30
29
  export const privateApis = {};
@@ -34,7 +33,6 @@ lock( privateApis, {
34
33
  CreatePatternModalContents,
35
34
  DuplicatePatternModal,
36
35
  isOverridableBlock,
37
- hasOverridableBlocks,
38
36
  useDuplicatePatternProps,
39
37
  RenamePatternModal,
40
38
  PatternsMenuItems,
@@ -47,5 +45,4 @@ lock( privateApis, {
47
45
  PATTERN_USER_CATEGORY,
48
46
  EXCLUDED_PATTERN_SOURCES,
49
47
  PATTERN_SYNC_TYPES,
50
- PARTIAL_SYNCING_SUPPORTED_BLOCKS,
51
48
  } );
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/api/index.js"],
4
- "sourcesContent": ["/**\n * Internal dependencies\n */\nimport { PARTIAL_SYNCING_SUPPORTED_BLOCKS } from '../constants';\n\n/**\n * Determines whether a block is overridable.\n *\n * @param {WPBlock} block The block to test.\n *\n * @return {boolean} `true` if a block is overridable, `false` otherwise.\n */\nexport function isOverridableBlock( block ) {\n\treturn (\n\t\tObject.keys( PARTIAL_SYNCING_SUPPORTED_BLOCKS ).includes(\n\t\t\tblock.name\n\t\t) &&\n\t\t!! block.attributes.metadata?.name &&\n\t\t!! block.attributes.metadata?.bindings &&\n\t\tObject.values( block.attributes.metadata.bindings ).some(\n\t\t\t( binding ) => binding.source === 'core/pattern-overrides'\n\t\t)\n\t);\n}\n\n/**\n * Determines whether the blocks list has overridable blocks.\n *\n * @param {WPBlock[]} blocks The blocks list.\n *\n * @return {boolean} `true` if the list has overridable blocks, `false` otherwise.\n */\nexport function hasOverridableBlocks( blocks ) {\n\treturn blocks.some( ( block ) => {\n\t\tif ( isOverridableBlock( block ) ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn hasOverridableBlocks( block.innerBlocks );\n\t} );\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,uBAAiD;AAS1C,SAAS,mBAAoB,OAAQ;AAC3C,SACC,OAAO,KAAM,iDAAiC,EAAE;AAAA,IAC/C,MAAM;AAAA,EACP,KACA,CAAC,CAAE,MAAM,WAAW,UAAU,QAC9B,CAAC,CAAE,MAAM,WAAW,UAAU,YAC9B,OAAO,OAAQ,MAAM,WAAW,SAAS,QAAS,EAAE;AAAA,IACnD,CAAE,YAAa,QAAQ,WAAW;AAAA,EACnC;AAEF;AASO,SAAS,qBAAsB,QAAS;AAC9C,SAAO,OAAO,KAAM,CAAE,UAAW;AAChC,QAAK,mBAAoB,KAAM,GAAI;AAClC,aAAO;AAAA,IACR;AACA,WAAO,qBAAsB,MAAM,WAAY;AAAA,EAChD,CAAE;AACH;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 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\t__nextHasNoMarginBottom\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": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAOO;AACP,kBAA4B;AAC5B,qBAAgC;AAChC,kBAAsB;AAkDjB;AAhDE,SAAS,oBAAqB;AAAA,EACpC;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA;AACD,GAAI;AACH,QAAM,CAAE,iBAAiB,kBAAmB,QAAI,yBAAU,WAAY;AACtE,QAAM,oBAAgB,sBAAM;AAE5B,QAAM,cAAc,CAAC,CAAE,gBAAgB,KAAK;AAE5C,QAAM,eAAe,MAAM;AAC1B,QAAK,oBAAoB,aAAc;AACtC,YAAM,cAAU;AAAA;AAAA,YAEf,gBAAI,8BAA+B;AAAA,QACnC;AAAA,MACD;AAGA,6BAAO,SAAS,WAAY;AAAA,IAC7B;AACA,WAAQ,eAAgB;AAGxB,YAAQ;AAAA,EACT;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAQ,gBAAI,kBAAmB;AAAA,MAC/B,gBAAiB;AAAA,MACjB,cAAa;AAAA,MACb,MAAO,EAAE,aAAa,cAAc;AAAA,MACpC,MAAK;AAAA,MAEL;AAAA,QAAC;AAAA;AAAA,UACA,UAAW,CAAE,UAAW;AACvB,kBAAM,eAAe;AAErB,gBAAK,CAAE,aAAc;AACpB;AAAA,YACD;AAEA,yBAAa;AAAA,UACd;AAAA,UAEA,uDAAC,kBAAAA,sBAAA,EAAO,SAAQ,KACf;AAAA,wDAAC,kBAAAC,oBAAA,EAAK,IAAK,eACR;AAAA,cACD;AAAA,YACD,GACD;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACA,yBAAuB;AAAA,gBACvB,uBAAqB;AAAA,gBACrB,OAAQ;AAAA,gBACR,WAAQ,gBAAI,MAAO;AAAA,gBACnB,UAAO;AAAA,kBACN;AAAA,gBACD;AAAA,gBACA;AAAA,gBACA,UAAW;AAAA;AAAA,YACZ;AAAA,YACA,6CAAC,kBAAAC,sBAAA,EAAO,SAAQ,SACf;AAAA;AAAA,gBAAC;AAAA;AAAA,kBACA,uBAAqB;AAAA,kBACrB,SAAQ;AAAA,kBACR,SAAU;AAAA,kBAER,8BAAI,QAAS;AAAA;AAAA,cAChB;AAAA,cAEA;AAAA,gBAAC;AAAA;AAAA,kBACA,uBAAqB;AAAA,kBACrB,iBAAgB,CAAE;AAAA,kBAClB,SAAQ;AAAA,kBACR,MAAK;AAAA,kBAEH,8BAAI,QAAS;AAAA;AAAA,cAChB;AAAA,eACD;AAAA,aACD;AAAA;AAAA,MACD;AAAA;AAAA,EACD;AAEF;AAEO,SAAS,uBAAwB,EAAE,SAAS,OAAO,GAAI;AAC7D,QAAM,oBAAgB,sBAAM;AAE5B,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAQ,gBAAI,mBAAoB;AAAA,MAChC,gBAAiB;AAAA,MACjB,MAAO,EAAE,aAAa,cAAc;AAAA,MACpC,MAAK;AAAA,MAEL;AAAA,QAAC;AAAA;AAAA,UACA,UAAW,CAAE,UAAW;AACvB,kBAAM,eAAe;AACrB,mBAAO;AACP,oBAAQ;AAAA,UACT;AAAA,UAEA,uDAAC,kBAAAF,sBAAA,EAAO,SAAQ,KACf;AAAA,wDAAC,kBAAAC,oBAAA,EAAK,IAAK,eACR;AAAA,cACD;AAAA,YACD,GACD;AAAA,YAEA,6CAAC,kBAAAC,sBAAA,EAAO,SAAQ,SACf;AAAA;AAAA,gBAAC;AAAA;AAAA,kBACA,uBAAqB;AAAA,kBACrB,SAAQ;AAAA,kBACR,SAAU;AAAA,kBAER,8BAAI,QAAS;AAAA;AAAA,cAChB;AAAA,cAEA;AAAA,gBAAC;AAAA;AAAA,kBACA,uBAAqB;AAAA,kBACrB,SAAQ;AAAA,kBACR,MAAK;AAAA,kBAEH,8BAAI,SAAU;AAAA;AAAA,cACjB;AAAA,eACD;AAAA,aACD;AAAA;AAAA,MACD;AAAA;AAAA,EACD;AAEF;",
6
- "names": ["VStack", "Text", "HStack"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/overrides-panel.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { PanelBody } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { isOverridableBlock } from '../api';\nimport { unlock } from '../lock-unlock';\n\nconst { BlockQuickNavigation } = unlock( blockEditorPrivateApis );\n\nexport default function OverridesPanel() {\n\tconst allClientIds = useSelect(\n\t\t( select ) => select( blockEditorStore ).getClientIdsWithDescendants(),\n\t\t[]\n\t);\n\tconst { getBlock } = useSelect( blockEditorStore );\n\tconst clientIdsWithOverrides = useMemo(\n\t\t() =>\n\t\t\tallClientIds.filter( ( clientId ) => {\n\t\t\t\tconst block = getBlock( clientId );\n\t\t\t\treturn isOverridableBlock( block );\n\t\t\t} ),\n\t\t[ allClientIds, getBlock ]\n\t);\n\n\tif ( ! clientIdsWithOverrides?.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Overrides' ) }>\n\t\t\t<BlockQuickNavigation clientIds={ clientIdsWithOverrides } />\n\t\t</PanelBody>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAGO;AACP,wBAA0B;AAC1B,kBAA0B;AAC1B,qBAAwB;AACxB,kBAAmB;AAKnB,iBAAmC;AACnC,yBAAuB;AAyBpB;AAvBH,IAAM,EAAE,qBAAqB,QAAI,2BAAQ,oBAAAA,WAAuB;AAEjD,SAAR,iBAAkC;AACxC,QAAM,mBAAe;AAAA,IACpB,CAAE,WAAY,OAAQ,oBAAAC,KAAiB,EAAE,4BAA4B;AAAA,IACrE,CAAC;AAAA,EACF;AACA,QAAM,EAAE,SAAS,QAAI,uBAAW,oBAAAA,KAAiB;AACjD,QAAM,6BAAyB;AAAA,IAC9B,MACC,aAAa,OAAQ,CAAE,aAAc;AACpC,YAAM,QAAQ,SAAU,QAAS;AACjC,iBAAO,+BAAoB,KAAM;AAAA,IAClC,CAAE;AAAA,IACH,CAAE,cAAc,QAAS;AAAA,EAC1B;AAEA,MAAK,CAAE,wBAAwB,QAAS;AACvC,WAAO;AAAA,EACR;AAEA,SACC,4CAAC,+BAAU,WAAQ,gBAAI,WAAY,GAClC,sDAAC,wBAAqB,WAAY,wBAAyB,GAC5D;AAEF;",
6
- "names": ["blockEditorPrivateApis", "blockEditorStore"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/constants.js"],
4
- "sourcesContent": ["export const PATTERN_TYPES = {\n\ttheme: 'pattern',\n\tuser: 'wp_block',\n};\n\nexport const PATTERN_DEFAULT_CATEGORY = 'all-patterns';\nexport const PATTERN_USER_CATEGORY = 'my-patterns';\nexport const EXCLUDED_PATTERN_SOURCES = [\n\t'core',\n\t'pattern-directory/core',\n\t'pattern-directory/featured',\n];\nexport const PATTERN_SYNC_TYPES = {\n\tfull: 'fully',\n\tunsynced: 'unsynced',\n};\n\n// TODO: This should not be hardcoded. Maybe there should be a config and/or an UI.\nexport const PARTIAL_SYNCING_SUPPORTED_BLOCKS = {\n\t'core/paragraph': [ 'content' ],\n\t'core/heading': [ 'content' ],\n\t'core/button': [ 'text', 'url', 'linkTarget', 'rel' ],\n\t'core/image': [ 'id', 'url', 'title', 'alt', 'caption' ],\n};\n\nexport const PATTERN_OVERRIDES_BINDING_SOURCE = 'core/pattern-overrides';\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,gBAAgB;AAAA,EAC5B,OAAO;AAAA,EACP,MAAM;AACP;AAEO,IAAM,2BAA2B;AACjC,IAAM,wBAAwB;AAC9B,IAAM,2BAA2B;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AACD;AACO,IAAM,qBAAqB;AAAA,EACjC,MAAM;AAAA,EACN,UAAU;AACX;AAGO,IAAM,mCAAmC;AAAA,EAC/C,kBAAkB,CAAE,SAAU;AAAA,EAC9B,gBAAgB,CAAE,SAAU;AAAA,EAC5B,eAAe,CAAE,QAAQ,OAAO,cAAc,KAAM;AAAA,EACpD,cAAc,CAAE,MAAM,OAAO,SAAS,OAAO,SAAU;AACxD;AAEO,IAAM,mCAAmC;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/private-apis.js"],
4
- "sourcesContent": ["/**\n * Internal dependencies\n */\nimport { lock } from './lock-unlock';\nimport OverridesPanel from './components/overrides-panel';\nimport {\n\tdefault as CreatePatternModal,\n\tCreatePatternModalContents,\n} from './components/create-pattern-modal';\nimport {\n\tdefault as DuplicatePatternModal,\n\tuseDuplicatePatternProps,\n} from './components/duplicate-pattern-modal';\nimport { isOverridableBlock, hasOverridableBlocks } from './api';\nimport RenamePatternModal from './components/rename-pattern-modal';\nimport PatternsMenuItems from './components';\nimport RenamePatternCategoryModal from './components/rename-pattern-category-modal';\nimport PatternOverridesControls from './components/pattern-overrides-controls';\nimport ResetOverridesControl from './components/reset-overrides-control';\nimport { useAddPatternCategory } from './private-hooks';\nimport {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_USER_CATEGORY,\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_SYNC_TYPES,\n\tPARTIAL_SYNCING_SUPPORTED_BLOCKS,\n} from './constants';\n\nexport const privateApis = {};\nlock( privateApis, {\n\tOverridesPanel,\n\tCreatePatternModal,\n\tCreatePatternModalContents,\n\tDuplicatePatternModal,\n\tisOverridableBlock,\n\thasOverridableBlocks,\n\tuseDuplicatePatternProps,\n\tRenamePatternModal,\n\tPatternsMenuItems,\n\tRenamePatternCategoryModal,\n\tPatternOverridesControls,\n\tResetOverridesControl,\n\tuseAddPatternCategory,\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_USER_CATEGORY,\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_SYNC_TYPES,\n\tPARTIAL_SYNCING_SUPPORTED_BLOCKS,\n} );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,yBAAqB;AACrB,6BAA2B;AAC3B,kCAGO;AACP,qCAGO;AACP,iBAAyD;AACzD,kCAA+B;AAC/B,wBAA8B;AAC9B,2CAAuC;AACvC,wCAAqC;AACrC,qCAAkC;AAClC,2BAAsC;AACtC,uBAOO;AAEA,IAAM,cAAc,CAAC;AAAA,IAC5B,yBAAM,aAAa;AAAA,EAClB,uCAAAA;AAAA,EACA,gDAAAC;AAAA,EACA;AAAA,EACA,sDAAAC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,gDAAAC;AAAA,EACA,qCAAAC;AAAA,EACA,iEAAAC;AAAA,EACA,4DAAAC;AAAA,EACA,sDAAAC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAE;",
6
- "names": ["OverridesPanel", "CreatePatternModal", "DuplicatePatternModal", "RenamePatternModal", "PatternsMenuItems", "RenamePatternCategoryModal", "PatternOverridesControls", "ResetOverridesControl"]
7
- }
@@ -1,22 +0,0 @@
1
- // packages/patterns/src/api/index.js
2
- import { PARTIAL_SYNCING_SUPPORTED_BLOCKS } from "../constants";
3
- function isOverridableBlock(block) {
4
- return Object.keys(PARTIAL_SYNCING_SUPPORTED_BLOCKS).includes(
5
- block.name
6
- ) && !!block.attributes.metadata?.name && !!block.attributes.metadata?.bindings && Object.values(block.attributes.metadata.bindings).some(
7
- (binding) => binding.source === "core/pattern-overrides"
8
- );
9
- }
10
- function hasOverridableBlocks(blocks) {
11
- return blocks.some((block) => {
12
- if (isOverridableBlock(block)) {
13
- return true;
14
- }
15
- return hasOverridableBlocks(block.innerBlocks);
16
- });
17
- }
18
- export {
19
- hasOverridableBlocks,
20
- isOverridableBlock
21
- };
22
- //# sourceMappingURL=index.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/api/index.js"],
4
- "sourcesContent": ["/**\n * Internal dependencies\n */\nimport { PARTIAL_SYNCING_SUPPORTED_BLOCKS } from '../constants';\n\n/**\n * Determines whether a block is overridable.\n *\n * @param {WPBlock} block The block to test.\n *\n * @return {boolean} `true` if a block is overridable, `false` otherwise.\n */\nexport function isOverridableBlock( block ) {\n\treturn (\n\t\tObject.keys( PARTIAL_SYNCING_SUPPORTED_BLOCKS ).includes(\n\t\t\tblock.name\n\t\t) &&\n\t\t!! block.attributes.metadata?.name &&\n\t\t!! block.attributes.metadata?.bindings &&\n\t\tObject.values( block.attributes.metadata.bindings ).some(\n\t\t\t( binding ) => binding.source === 'core/pattern-overrides'\n\t\t)\n\t);\n}\n\n/**\n * Determines whether the blocks list has overridable blocks.\n *\n * @param {WPBlock[]} blocks The blocks list.\n *\n * @return {boolean} `true` if the list has overridable blocks, `false` otherwise.\n */\nexport function hasOverridableBlocks( blocks ) {\n\treturn blocks.some( ( block ) => {\n\t\tif ( isOverridableBlock( block ) ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn hasOverridableBlocks( block.innerBlocks );\n\t} );\n}\n"],
5
- "mappings": ";AAGA,SAAS,wCAAwC;AAS1C,SAAS,mBAAoB,OAAQ;AAC3C,SACC,OAAO,KAAM,gCAAiC,EAAE;AAAA,IAC/C,MAAM;AAAA,EACP,KACA,CAAC,CAAE,MAAM,WAAW,UAAU,QAC9B,CAAC,CAAE,MAAM,WAAW,UAAU,YAC9B,OAAO,OAAQ,MAAM,WAAW,SAAS,QAAS,EAAE;AAAA,IACnD,CAAE,YAAa,QAAQ,WAAW;AAAA,EACnC;AAEF;AASO,SAAS,qBAAsB,QAAS;AAC9C,SAAO,OAAO,KAAM,CAAE,UAAW;AAChC,QAAK,mBAAoB,KAAM,GAAI;AAClC,aAAO;AAAA,IACR;AACA,WAAO,qBAAsB,MAAM,WAAY;AAAA,EAChD,CAAE;AACH;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 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\t__nextHasNoMarginBottom\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
- "names": []
7
- }