@wordpress/patterns 1.19.0 → 2.0.1

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 (67) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/api/index.js +17 -0
  3. package/build/api/index.js.map +1 -1
  4. package/build/components/allow-overrides-modal.js +72 -58
  5. package/build/components/allow-overrides-modal.js.map +1 -1
  6. package/build/components/category-selector.js +2 -2
  7. package/build/components/category-selector.js.map +1 -1
  8. package/build/components/create-pattern-modal.js +56 -48
  9. package/build/components/create-pattern-modal.js.map +1 -1
  10. package/build/components/duplicate-pattern-modal.js +2 -2
  11. package/build/components/duplicate-pattern-modal.js.map +1 -1
  12. package/build/components/index.js +15 -11
  13. package/build/components/index.js.map +1 -1
  14. package/build/components/overrides-panel.js +7 -6
  15. package/build/components/overrides-panel.js.map +1 -1
  16. package/build/components/pattern-convert-button.js +22 -20
  17. package/build/components/pattern-convert-button.js.map +1 -1
  18. package/build/components/pattern-overrides-controls.js +49 -54
  19. package/build/components/pattern-overrides-controls.js.map +1 -1
  20. package/build/components/patterns-manage-button.js +10 -6
  21. package/build/components/patterns-manage-button.js.map +1 -1
  22. package/build/components/rename-pattern-category-modal.js +42 -34
  23. package/build/components/rename-pattern-category-modal.js.map +1 -1
  24. package/build/components/rename-pattern-modal.js +31 -25
  25. package/build/components/rename-pattern-modal.js.map +1 -1
  26. package/build/components/reset-overrides-control.js +12 -8
  27. package/build/components/reset-overrides-control.js.map +1 -1
  28. package/build/private-apis.js +1 -0
  29. package/build/private-apis.js.map +1 -1
  30. package/build/store/actions.js +2 -2
  31. package/build/store/actions.js.map +1 -1
  32. package/build-module/api/index.js +16 -0
  33. package/build-module/api/index.js.map +1 -1
  34. package/build-module/components/allow-overrides-modal.js +73 -58
  35. package/build-module/components/allow-overrides-modal.js.map +1 -1
  36. package/build-module/components/category-selector.js +2 -2
  37. package/build-module/components/category-selector.js.map +1 -1
  38. package/build-module/components/create-pattern-modal.js +59 -50
  39. package/build-module/components/create-pattern-modal.js.map +1 -1
  40. package/build-module/components/duplicate-pattern-modal.js +2 -2
  41. package/build-module/components/duplicate-pattern-modal.js.map +1 -1
  42. package/build-module/components/index.js +17 -11
  43. package/build-module/components/index.js.map +1 -1
  44. package/build-module/components/overrides-panel.js +7 -6
  45. package/build-module/components/overrides-panel.js.map +1 -1
  46. package/build-module/components/pattern-convert-button.js +23 -18
  47. package/build-module/components/pattern-convert-button.js.map +1 -1
  48. package/build-module/components/pattern-overrides-controls.js +52 -55
  49. package/build-module/components/pattern-overrides-controls.js.map +1 -1
  50. package/build-module/components/patterns-manage-button.js +12 -6
  51. package/build-module/components/patterns-manage-button.js.map +1 -1
  52. package/build-module/components/rename-pattern-category-modal.js +43 -34
  53. package/build-module/components/rename-pattern-category-modal.js.map +1 -1
  54. package/build-module/components/rename-pattern-modal.js +32 -25
  55. package/build-module/components/rename-pattern-modal.js.map +1 -1
  56. package/build-module/components/reset-overrides-control.js +12 -8
  57. package/build-module/components/reset-overrides-control.js.map +1 -1
  58. package/build-module/private-apis.js +2 -1
  59. package/build-module/private-apis.js.map +1 -1
  60. package/build-module/store/actions.js +2 -2
  61. package/build-module/store/actions.js.map +1 -1
  62. package/package.json +18 -17
  63. package/src/api/index.js +16 -0
  64. package/src/components/create-pattern-modal.js +17 -9
  65. package/src/components/pattern-overrides-controls.js +19 -44
  66. package/src/private-apis.js +2 -1
  67. package/src/store/actions.js +2 -2
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 2.0.0 (2024-05-31)
6
+
7
+ ### Breaking Changes
8
+
9
+ - Increase the minimum required Node.js version to v18.12.0 matching long-term support releases ([#31270](https://github.com/WordPress/gutenberg/pull/61930)). Learn more about [Node.js releases](https://nodejs.org/en/about/previous-releases).
10
+
5
11
  ## 1.19.0 (2024-05-16)
6
12
 
7
13
  ## 1.18.0 (2024-05-02)
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.hasOverridableBlocks = hasOverridableBlocks;
6
7
  exports.isOverridableBlock = isOverridableBlock;
7
8
  var _constants = require("../constants");
8
9
  /**
@@ -19,4 +20,20 @@ var _constants = require("../constants");
19
20
  function isOverridableBlock(block) {
20
21
  return Object.keys(_constants.PARTIAL_SYNCING_SUPPORTED_BLOCKS).includes(block.name) && !!block.attributes.metadata?.name && !!block.attributes.metadata?.bindings && Object.values(block.attributes.metadata.bindings).some(binding => binding.source === 'core/pattern-overrides');
21
22
  }
23
+
24
+ /**
25
+ * Determines whether the blocks list has overridable blocks.
26
+ *
27
+ * @param {WPBlock[]} blocks The blocks list.
28
+ *
29
+ * @return {boolean} `true` if the list has overridable blocks, `false` otherwise.
30
+ */
31
+ function hasOverridableBlocks(blocks) {
32
+ return blocks.some(block => {
33
+ if (isOverridableBlock(block)) {
34
+ return true;
35
+ }
36
+ return hasOverridableBlocks(block.innerBlocks);
37
+ });
38
+ }
22
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","isOverridableBlock","block","Object","keys","PARTIAL_SYNCING_SUPPORTED_BLOCKS","includes","name","attributes","metadata","bindings","values","some","binding","source"],"sources":["@wordpress/patterns/src/api/index.js"],"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"],"mappings":";;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAAEC,KAAK,EAAG;EAC3C,OACCC,MAAM,CAACC,IAAI,CAAEC,2CAAiC,CAAC,CAACC,QAAQ,CACvDJ,KAAK,CAACK,IACP,CAAC,IACD,CAAC,CAAEL,KAAK,CAACM,UAAU,CAACC,QAAQ,EAAEF,IAAI,IAClC,CAAC,CAAEL,KAAK,CAACM,UAAU,CAACC,QAAQ,EAAEC,QAAQ,IACtCP,MAAM,CAACQ,MAAM,CAAET,KAAK,CAACM,UAAU,CAACC,QAAQ,CAACC,QAAS,CAAC,CAACE,IAAI,CACrDC,OAAO,IAAMA,OAAO,CAACC,MAAM,KAAK,wBACnC,CAAC;AAEH","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","isOverridableBlock","block","Object","keys","PARTIAL_SYNCING_SUPPORTED_BLOCKS","includes","name","attributes","metadata","bindings","values","some","binding","source","hasOverridableBlocks","blocks","innerBlocks"],"sources":["@wordpress/patterns/src/api/index.js"],"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"],"mappings":";;;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAAEC,KAAK,EAAG;EAC3C,OACCC,MAAM,CAACC,IAAI,CAAEC,2CAAiC,CAAC,CAACC,QAAQ,CACvDJ,KAAK,CAACK,IACP,CAAC,IACD,CAAC,CAAEL,KAAK,CAACM,UAAU,CAACC,QAAQ,EAAEF,IAAI,IAClC,CAAC,CAAEL,KAAK,CAACM,UAAU,CAACC,QAAQ,EAAEC,QAAQ,IACtCP,MAAM,CAACQ,MAAM,CAAET,KAAK,CAACM,UAAU,CAACC,QAAQ,CAACC,QAAS,CAAC,CAACE,IAAI,CACrDC,OAAO,IAAMA,OAAO,CAACC,MAAM,KAAK,wBACnC,CAAC;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAAEC,MAAM,EAAG;EAC9C,OAAOA,MAAM,CAACJ,IAAI,CAAIV,KAAK,IAAM;IAChC,IAAKD,kBAAkB,CAAEC,KAAM,CAAC,EAAG;MAClC,OAAO,IAAI;IACZ;IACA,OAAOa,oBAAoB,CAAEb,KAAK,CAACe,WAAY,CAAC;EACjD,CAAE,CAAC;AACJ","ignoreList":[]}
@@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.AllowOverridesModal = AllowOverridesModal;
7
7
  exports.DisallowOverridesModal = DisallowOverridesModal;
8
- var _react = require("react");
9
8
  var _components = require("@wordpress/components");
10
9
  var _i18n = require("@wordpress/i18n");
11
10
  var _element = require("@wordpress/element");
12
11
  var _a11y = require("@wordpress/a11y");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
13
  /**
14
14
  * WordPress dependencies
15
15
  */
@@ -36,79 +36,93 @@ function AllowOverridesModal({
36
36
  // Immediate close avoids ability to hit save multiple times.
37
37
  onClose();
38
38
  };
39
- return (0, _react.createElement)(_components.Modal, {
39
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Modal, {
40
40
  title: (0, _i18n.__)('Enable overrides'),
41
41
  onRequestClose: onClose,
42
42
  focusOnMount: "firstContentElement",
43
43
  aria: {
44
44
  describedby: descriptionId
45
45
  },
46
- size: "small"
47
- }, (0, _react.createElement)("form", {
48
- onSubmit: event => {
49
- event.preventDefault();
50
- if (!isNameValid) {
51
- return;
52
- }
53
- handleSubmit();
54
- }
55
- }, (0, _react.createElement)(_components.__experimentalVStack, {
56
- spacing: "6"
57
- }, (0, _react.createElement)(_components.__experimentalText, {
58
- id: descriptionId
59
- }, (0, _i18n.__)('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.')), (0, _react.createElement)(_components.TextControl, {
60
- __nextHasNoMarginBottom: true,
61
- __next40pxDefaultSize: true,
62
- value: editedBlockName,
63
- label: (0, _i18n.__)('Name'),
64
- help: (0, _i18n.__)('For example, if you are creating a recipe pattern, you use "Recipe Title", "Recipe Description", etc.'),
65
- placeholder: placeholder,
66
- onChange: setEditedBlockName
67
- }), (0, _react.createElement)(_components.__experimentalHStack, {
68
- justify: "right"
69
- }, (0, _react.createElement)(_components.Button, {
70
- __next40pxDefaultSize: true,
71
- variant: "tertiary",
72
- onClick: onClose
73
- }, (0, _i18n.__)('Cancel')), (0, _react.createElement)(_components.Button, {
74
- __next40pxDefaultSize: true,
75
- "aria-disabled": !isNameValid,
76
- variant: "primary",
77
- type: "submit"
78
- }, (0, _i18n.__)('Enable'))))));
46
+ size: "small",
47
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("form", {
48
+ onSubmit: event => {
49
+ event.preventDefault();
50
+ if (!isNameValid) {
51
+ return;
52
+ }
53
+ handleSubmit();
54
+ },
55
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
56
+ spacing: "6",
57
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalText, {
58
+ id: descriptionId,
59
+ children: (0, _i18n.__)('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.')
60
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
61
+ __nextHasNoMarginBottom: true,
62
+ __next40pxDefaultSize: true,
63
+ value: editedBlockName,
64
+ label: (0, _i18n.__)('Name'),
65
+ help: (0, _i18n.__)('For example, if you are creating a recipe pattern, you use "Recipe Title", "Recipe Description", etc.'),
66
+ placeholder: placeholder,
67
+ onChange: setEditedBlockName
68
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
69
+ justify: "right",
70
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
71
+ __next40pxDefaultSize: true,
72
+ variant: "tertiary",
73
+ onClick: onClose,
74
+ children: (0, _i18n.__)('Cancel')
75
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
76
+ __next40pxDefaultSize: true,
77
+ "aria-disabled": !isNameValid,
78
+ variant: "primary",
79
+ type: "submit",
80
+ children: (0, _i18n.__)('Enable')
81
+ })]
82
+ })]
83
+ })
84
+ })
85
+ });
79
86
  }
80
87
  function DisallowOverridesModal({
81
88
  onClose,
82
89
  onSave
83
90
  }) {
84
91
  const descriptionId = (0, _element.useId)();
85
- return (0, _react.createElement)(_components.Modal, {
92
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Modal, {
86
93
  title: (0, _i18n.__)('Disable overrides'),
87
94
  onRequestClose: onClose,
88
95
  aria: {
89
96
  describedby: descriptionId
90
97
  },
91
- size: "small"
92
- }, (0, _react.createElement)("form", {
93
- onSubmit: event => {
94
- event.preventDefault();
95
- onSave();
96
- onClose();
97
- }
98
- }, (0, _react.createElement)(_components.__experimentalVStack, {
99
- spacing: "6"
100
- }, (0, _react.createElement)(_components.__experimentalText, {
101
- id: descriptionId
102
- }, (0, _i18n.__)('Are you sure you want to disable overrides? Disabling overrides will revert all applied overrides for this block throughout instances of this pattern.')), (0, _react.createElement)(_components.__experimentalHStack, {
103
- justify: "right"
104
- }, (0, _react.createElement)(_components.Button, {
105
- __next40pxDefaultSize: true,
106
- variant: "tertiary",
107
- onClick: onClose
108
- }, (0, _i18n.__)('Cancel')), (0, _react.createElement)(_components.Button, {
109
- __next40pxDefaultSize: true,
110
- variant: "primary",
111
- type: "submit"
112
- }, (0, _i18n.__)('Disable'))))));
98
+ size: "small",
99
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("form", {
100
+ onSubmit: event => {
101
+ event.preventDefault();
102
+ onSave();
103
+ onClose();
104
+ },
105
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
106
+ spacing: "6",
107
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalText, {
108
+ id: descriptionId,
109
+ children: (0, _i18n.__)('Are you sure you want to disable overrides? Disabling overrides will revert all applied overrides for this block throughout instances of this pattern.')
110
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
111
+ justify: "right",
112
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
113
+ __next40pxDefaultSize: true,
114
+ variant: "tertiary",
115
+ onClick: onClose,
116
+ children: (0, _i18n.__)('Cancel')
117
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
118
+ __next40pxDefaultSize: true,
119
+ variant: "primary",
120
+ type: "submit",
121
+ children: (0, _i18n.__)('Disable')
122
+ })]
123
+ })]
124
+ })
125
+ })
126
+ });
113
127
  }
114
128
  //# sourceMappingURL=allow-overrides-modal.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_element","_a11y","AllowOverridesModal","placeholder","initialName","onClose","onSave","editedBlockName","setEditedBlockName","useState","descriptionId","useId","isNameValid","trim","handleSubmit","message","sprintf","__","speak","_react","createElement","Modal","title","onRequestClose","focusOnMount","aria","describedby","size","onSubmit","event","preventDefault","__experimentalVStack","spacing","__experimentalText","id","TextControl","__nextHasNoMarginBottom","__next40pxDefaultSize","value","label","help","onChange","__experimentalHStack","justify","Button","variant","onClick","type","DisallowOverridesModal"],"sources":["@wordpress/patterns/src/components/allow-overrides-modal.js"],"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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_i18n","_element","_a11y","_jsxRuntime","AllowOverridesModal","placeholder","initialName","onClose","onSave","editedBlockName","setEditedBlockName","useState","descriptionId","useId","isNameValid","trim","handleSubmit","message","sprintf","__","speak","jsx","Modal","title","onRequestClose","focusOnMount","aria","describedby","size","children","onSubmit","event","preventDefault","jsxs","__experimentalVStack","spacing","__experimentalText","id","TextControl","__nextHasNoMarginBottom","__next40pxDefaultSize","value","label","help","onChange","__experimentalHStack","justify","Button","variant","onClick","type","DisallowOverridesModal"],"sources":["@wordpress/patterns/src/components/allow-overrides-modal.js"],"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"],"mappings":"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","ignoreList":[]}
@@ -5,12 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.CATEGORY_SLUG = void 0;
7
7
  exports.default = CategorySelector;
8
- var _react = require("react");
9
8
  var _i18n = require("@wordpress/i18n");
10
9
  var _element = require("@wordpress/element");
11
10
  var _components = require("@wordpress/components");
12
11
  var _compose = require("@wordpress/compose");
13
12
  var _htmlEntities = require("@wordpress/html-entities");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
14
  /**
15
15
  * WordPress dependencies
16
16
  */
@@ -43,7 +43,7 @@ function CategorySelector({
43
43
  }, []);
44
44
  onChange(uniqueTerms);
45
45
  }
46
- return (0, _react.createElement)(_components.FormTokenField, {
46
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FormTokenField, {
47
47
  className: "patterns-menu-items__convert-modal-categories",
48
48
  value: categoryTerms,
49
49
  suggestions: suggestions,
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_element","_components","_compose","_htmlEntities","unescapeString","arg","decodeEntities","CATEGORY_SLUG","exports","CategorySelector","categoryTerms","onChange","categoryMap","search","setSearch","useState","debouncedSearch","useDebounce","suggestions","useMemo","Array","from","values","map","category","label","filter","toLowerCase","includes","sort","a","b","localeCompare","handleChange","termNames","uniqueTerms","reduce","terms","newTerm","some","term","push","_react","createElement","FormTokenField","className","value","onInputChange","__","tokenizeOnBlur","__experimentalExpandOnFocus","__next40pxDefaultSize","__nextHasNoMarginBottom"],"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 { useDebounce } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\n\nconst unescapeString = ( arg ) => {\n\treturn decodeEntities( arg );\n};\n\nexport const CATEGORY_SLUG = 'wp_pattern_category';\n\nexport default function CategorySelector( {\n\tcategoryTerms,\n\tonChange,\n\tcategoryMap,\n} ) {\n\tconst [ search, setSearch ] = useState( '' );\n\tconst debouncedSearch = useDebounce( setSearch, 500 );\n\n\tconst suggestions = useMemo( () => {\n\t\treturn Array.from( categoryMap.values() )\n\t\t\t.map( ( category ) => unescapeString( category.label ) )\n\t\t\t.filter( ( category ) => {\n\t\t\t\tif ( search !== '' ) {\n\t\t\t\t\treturn category\n\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t.includes( search.toLowerCase() );\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t} )\n\t\t\t.sort( ( a, b ) => a.localeCompare( b ) );\n\t}, [ search, categoryMap ] );\n\n\tfunction handleChange( termNames ) {\n\t\tconst uniqueTerms = termNames.reduce( ( terms, newTerm ) => {\n\t\t\tif (\n\t\t\t\t! terms.some(\n\t\t\t\t\t( term ) => term.toLowerCase() === newTerm.toLowerCase()\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tterms.push( newTerm );\n\t\t\t}\n\t\t\treturn terms;\n\t\t}, [] );\n\n\t\tonChange( uniqueTerms );\n\t}\n\n\treturn (\n\t\t<FormTokenField\n\t\t\tclassName=\"patterns-menu-items__convert-modal-categories\"\n\t\t\tvalue={ categoryTerms }\n\t\t\tsuggestions={ suggestions }\n\t\t\tonChange={ handleChange }\n\t\t\tonInputChange={ debouncedSearch }\n\t\t\tlabel={ __( 'Categories' ) }\n\t\t\ttokenizeOnBlur\n\t\t\t__experimentalExpandOnFocus\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAPA;AACA;AACA;;AAOA,MAAMK,cAAc,GAAKC,GAAG,IAAM;EACjC,OAAO,IAAAC,4BAAc,EAAED,GAAI,CAAC;AAC7B,CAAC;AAEM,MAAME,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,qBAAqB;AAEnC,SAASE,gBAAgBA,CAAE;EACzCC,aAAa;EACbC,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,MAAM,CAAEC,MAAM,EAAEC,SAAS,CAAE,GAAG,IAAAC,iBAAQ,EAAE,EAAG,CAAC;EAC5C,MAAMC,eAAe,GAAG,IAAAC,oBAAW,EAAEH,SAAS,EAAE,GAAI,CAAC;EAErD,MAAMI,WAAW,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAClC,OAAOC,KAAK,CAACC,IAAI,CAAET,WAAW,CAACU,MAAM,CAAC,CAAE,CAAC,CACvCC,GAAG,CAAIC,QAAQ,IAAMpB,cAAc,CAAEoB,QAAQ,CAACC,KAAM,CAAE,CAAC,CACvDC,MAAM,CAAIF,QAAQ,IAAM;MACxB,IAAKX,MAAM,KAAK,EAAE,EAAG;QACpB,OAAOW,QAAQ,CACbG,WAAW,CAAC,CAAC,CACbC,QAAQ,CAAEf,MAAM,CAACc,WAAW,CAAC,CAAE,CAAC;MACnC;MACA,OAAO,IAAI;IACZ,CAAE,CAAC,CACFE,IAAI,CAAE,CAAEC,CAAC,EAAEC,CAAC,KAAMD,CAAC,CAACE,aAAa,CAAED,CAAE,CAAE,CAAC;EAC3C,CAAC,EAAE,CAAElB,MAAM,EAAED,WAAW,CAAG,CAAC;EAE5B,SAASqB,YAAYA,CAAEC,SAAS,EAAG;IAClC,MAAMC,WAAW,GAAGD,SAAS,CAACE,MAAM,CAAE,CAAEC,KAAK,EAAEC,OAAO,KAAM;MAC3D,IACC,CAAED,KAAK,CAACE,IAAI,CACTC,IAAI,IAAMA,IAAI,CAACb,WAAW,CAAC,CAAC,KAAKW,OAAO,CAACX,WAAW,CAAC,CACxD,CAAC,EACA;QACDU,KAAK,CAACI,IAAI,CAAEH,OAAQ,CAAC;MACtB;MACA,OAAOD,KAAK;IACb,CAAC,EAAE,EAAG,CAAC;IAEP1B,QAAQ,CAAEwB,WAAY,CAAC;EACxB;EAEA,OACC,IAAAO,MAAA,CAAAC,aAAA,EAAC1C,WAAA,CAAA2C,cAAc;IACdC,SAAS,EAAC,+CAA+C;IACzDC,KAAK,EAAGpC,aAAe;IACvBQ,WAAW,EAAGA,WAAa;IAC3BP,QAAQ,EAAGsB,YAAc;IACzBc,aAAa,EAAG/B,eAAiB;IACjCS,KAAK,EAAG,IAAAuB,QAAE,EAAE,YAAa,CAAG;IAC5BC,cAAc;IACdC,2BAA2B;IAC3BC,qBAAqB;IACrBC,uBAAuB;EAAA,CACvB,CAAC;AAEJ","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_element","_components","_compose","_htmlEntities","_jsxRuntime","unescapeString","arg","decodeEntities","CATEGORY_SLUG","exports","CategorySelector","categoryTerms","onChange","categoryMap","search","setSearch","useState","debouncedSearch","useDebounce","suggestions","useMemo","Array","from","values","map","category","label","filter","toLowerCase","includes","sort","a","b","localeCompare","handleChange","termNames","uniqueTerms","reduce","terms","newTerm","some","term","push","jsx","FormTokenField","className","value","onInputChange","__","tokenizeOnBlur","__experimentalExpandOnFocus","__next40pxDefaultSize","__nextHasNoMarginBottom"],"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 { useDebounce } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\n\nconst unescapeString = ( arg ) => {\n\treturn decodeEntities( arg );\n};\n\nexport const CATEGORY_SLUG = 'wp_pattern_category';\n\nexport default function CategorySelector( {\n\tcategoryTerms,\n\tonChange,\n\tcategoryMap,\n} ) {\n\tconst [ search, setSearch ] = useState( '' );\n\tconst debouncedSearch = useDebounce( setSearch, 500 );\n\n\tconst suggestions = useMemo( () => {\n\t\treturn Array.from( categoryMap.values() )\n\t\t\t.map( ( category ) => unescapeString( category.label ) )\n\t\t\t.filter( ( category ) => {\n\t\t\t\tif ( search !== '' ) {\n\t\t\t\t\treturn category\n\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t.includes( search.toLowerCase() );\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t} )\n\t\t\t.sort( ( a, b ) => a.localeCompare( b ) );\n\t}, [ search, categoryMap ] );\n\n\tfunction handleChange( termNames ) {\n\t\tconst uniqueTerms = termNames.reduce( ( terms, newTerm ) => {\n\t\t\tif (\n\t\t\t\t! terms.some(\n\t\t\t\t\t( term ) => term.toLowerCase() === newTerm.toLowerCase()\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tterms.push( newTerm );\n\t\t\t}\n\t\t\treturn terms;\n\t\t}, [] );\n\n\t\tonChange( uniqueTerms );\n\t}\n\n\treturn (\n\t\t<FormTokenField\n\t\t\tclassName=\"patterns-menu-items__convert-modal-categories\"\n\t\t\tvalue={ categoryTerms }\n\t\t\tsuggestions={ suggestions }\n\t\t\tonChange={ handleChange }\n\t\t\tonInputChange={ debouncedSearch }\n\t\t\tlabel={ __( 'Categories' ) }\n\t\t\ttokenizeOnBlur\n\t\t\t__experimentalExpandOnFocus\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAA0D,IAAAK,WAAA,GAAAL,OAAA;AAP1D;AACA;AACA;;AAOA,MAAMM,cAAc,GAAKC,GAAG,IAAM;EACjC,OAAO,IAAAC,4BAAc,EAAED,GAAI,CAAC;AAC7B,CAAC;AAEM,MAAME,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,qBAAqB;AAEnC,SAASE,gBAAgBA,CAAE;EACzCC,aAAa;EACbC,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,MAAM,CAAEC,MAAM,EAAEC,SAAS,CAAE,GAAG,IAAAC,iBAAQ,EAAE,EAAG,CAAC;EAC5C,MAAMC,eAAe,GAAG,IAAAC,oBAAW,EAAEH,SAAS,EAAE,GAAI,CAAC;EAErD,MAAMI,WAAW,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAClC,OAAOC,KAAK,CAACC,IAAI,CAAET,WAAW,CAACU,MAAM,CAAC,CAAE,CAAC,CACvCC,GAAG,CAAIC,QAAQ,IAAMpB,cAAc,CAAEoB,QAAQ,CAACC,KAAM,CAAE,CAAC,CACvDC,MAAM,CAAIF,QAAQ,IAAM;MACxB,IAAKX,MAAM,KAAK,EAAE,EAAG;QACpB,OAAOW,QAAQ,CACbG,WAAW,CAAC,CAAC,CACbC,QAAQ,CAAEf,MAAM,CAACc,WAAW,CAAC,CAAE,CAAC;MACnC;MACA,OAAO,IAAI;IACZ,CAAE,CAAC,CACFE,IAAI,CAAE,CAAEC,CAAC,EAAEC,CAAC,KAAMD,CAAC,CAACE,aAAa,CAAED,CAAE,CAAE,CAAC;EAC3C,CAAC,EAAE,CAAElB,MAAM,EAAED,WAAW,CAAG,CAAC;EAE5B,SAASqB,YAAYA,CAAEC,SAAS,EAAG;IAClC,MAAMC,WAAW,GAAGD,SAAS,CAACE,MAAM,CAAE,CAAEC,KAAK,EAAEC,OAAO,KAAM;MAC3D,IACC,CAAED,KAAK,CAACE,IAAI,CACTC,IAAI,IAAMA,IAAI,CAACb,WAAW,CAAC,CAAC,KAAKW,OAAO,CAACX,WAAW,CAAC,CACxD,CAAC,EACA;QACDU,KAAK,CAACI,IAAI,CAAEH,OAAQ,CAAC;MACtB;MACA,OAAOD,KAAK;IACb,CAAC,EAAE,EAAG,CAAC;IAEP1B,QAAQ,CAAEwB,WAAY,CAAC;EACxB;EAEA,oBACC,IAAAhC,WAAA,CAAAuC,GAAA,EAAC1C,WAAA,CAAA2C,cAAc;IACdC,SAAS,EAAC,+CAA+C;IACzDC,KAAK,EAAGnC,aAAe;IACvBQ,WAAW,EAAGA,WAAa;IAC3BP,QAAQ,EAAGsB,YAAc;IACzBa,aAAa,EAAG9B,eAAiB;IACjCS,KAAK,EAAG,IAAAsB,QAAE,EAAE,YAAa,CAAG;IAC5BC,cAAc;IACdC,2BAA2B;IAC3BC,qBAAqB;IACrBC,uBAAuB;EAAA,CACvB,CAAC;AAEJ","ignoreList":[]}
@@ -6,17 +6,18 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.CreatePatternModalContents = CreatePatternModalContents;
8
8
  exports.default = CreatePatternModal;
9
- var _react = require("react");
10
9
  var _components = require("@wordpress/components");
11
10
  var _i18n = require("@wordpress/i18n");
12
11
  var _element = require("@wordpress/element");
13
12
  var _data = require("@wordpress/data");
14
13
  var _notices = require("@wordpress/notices");
14
+ var _coreData = require("@wordpress/core-data");
15
15
  var _constants = require("../constants");
16
16
  var _store = require("../store");
17
17
  var _categorySelector = _interopRequireDefault(require("./category-selector"));
18
18
  var _privateHooks = require("../private-hooks");
19
19
  var _lockUnlock = require("../lock-unlock");
20
+ var _jsxRuntime = require("react/jsx-runtime");
20
21
  /**
21
22
  * WordPress dependencies
22
23
  */
@@ -27,19 +28,21 @@ var _lockUnlock = require("../lock-unlock");
27
28
 
28
29
  function CreatePatternModal({
29
30
  className = 'patterns-menu-items__convert-modal',
30
- modalTitle = (0, _i18n.__)('Create pattern'),
31
+ modalTitle,
31
32
  ...restProps
32
33
  }) {
33
- return (0, _react.createElement)(_components.Modal, {
34
- title: modalTitle,
34
+ const defaultModalTitle = (0, _data.useSelect)(select => select(_coreData.store).getPostType(_constants.PATTERN_TYPES.user)?.labels?.add_new_item, []);
35
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Modal, {
36
+ title: modalTitle || defaultModalTitle,
35
37
  onRequestClose: restProps.onClose,
36
- overlayClassName: className
37
- }, (0, _react.createElement)(CreatePatternModalContents, {
38
- ...restProps
39
- }));
38
+ overlayClassName: className,
39
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(CreatePatternModalContents, {
40
+ ...restProps
41
+ })
42
+ });
40
43
  }
41
44
  function CreatePatternModalContents({
42
- confirmLabel = (0, _i18n.__)('Create'),
45
+ confirmLabel = (0, _i18n.__)('Add'),
43
46
  defaultCategories = [],
44
47
  content,
45
48
  onClose,
@@ -86,47 +89,52 @@ function CreatePatternModalContents({
86
89
  setTitle('');
87
90
  }
88
91
  }
89
- return (0, _react.createElement)("form", {
92
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("form", {
90
93
  onSubmit: event => {
91
94
  event.preventDefault();
92
95
  onCreate(title, syncType);
93
- }
94
- }, (0, _react.createElement)(_components.__experimentalVStack, {
95
- spacing: "5"
96
- }, (0, _react.createElement)(_components.TextControl, {
97
- label: (0, _i18n.__)('Name'),
98
- value: title,
99
- onChange: setTitle,
100
- placeholder: (0, _i18n.__)('My pattern'),
101
- className: "patterns-create-modal__name-input",
102
- __nextHasNoMarginBottom: true,
103
- __next40pxDefaultSize: true
104
- }), (0, _react.createElement)(_categorySelector.default, {
105
- categoryTerms: categoryTerms,
106
- onChange: setCategoryTerms,
107
- categoryMap: categoryMap
108
- }), (0, _react.createElement)(_components.ToggleControl, {
109
- label: (0, _i18n._x)('Synced', 'Option that makes an individual pattern synchronized'),
110
- help: (0, _i18n.__)('Sync this pattern across multiple locations.'),
111
- checked: syncType === _constants.PATTERN_SYNC_TYPES.full,
112
- onChange: () => {
113
- setSyncType(syncType === _constants.PATTERN_SYNC_TYPES.full ? _constants.PATTERN_SYNC_TYPES.unsynced : _constants.PATTERN_SYNC_TYPES.full);
114
- }
115
- }), (0, _react.createElement)(_components.__experimentalHStack, {
116
- justify: "right"
117
- }, (0, _react.createElement)(_components.Button, {
118
- __next40pxDefaultSize: true,
119
- variant: "tertiary",
120
- onClick: () => {
121
- onClose();
122
- setTitle('');
123
- }
124
- }, (0, _i18n.__)('Cancel')), (0, _react.createElement)(_components.Button, {
125
- __next40pxDefaultSize: true,
126
- variant: "primary",
127
- type: "submit",
128
- "aria-disabled": !title || isSaving,
129
- isBusy: isSaving
130
- }, confirmLabel))));
96
+ },
97
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
98
+ spacing: "5",
99
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
100
+ label: (0, _i18n.__)('Name'),
101
+ value: title,
102
+ onChange: setTitle,
103
+ placeholder: (0, _i18n.__)('My pattern'),
104
+ className: "patterns-create-modal__name-input",
105
+ __nextHasNoMarginBottom: true,
106
+ __next40pxDefaultSize: true
107
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_categorySelector.default, {
108
+ categoryTerms: categoryTerms,
109
+ onChange: setCategoryTerms,
110
+ categoryMap: categoryMap
111
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
112
+ label: (0, _i18n._x)('Synced', 'pattern (singular)'),
113
+ help: (0, _i18n.__)('Sync this pattern across multiple locations.'),
114
+ checked: syncType === _constants.PATTERN_SYNC_TYPES.full,
115
+ onChange: () => {
116
+ setSyncType(syncType === _constants.PATTERN_SYNC_TYPES.full ? _constants.PATTERN_SYNC_TYPES.unsynced : _constants.PATTERN_SYNC_TYPES.full);
117
+ }
118
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
119
+ justify: "right",
120
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
121
+ __next40pxDefaultSize: true,
122
+ variant: "tertiary",
123
+ onClick: () => {
124
+ onClose();
125
+ setTitle('');
126
+ },
127
+ children: (0, _i18n.__)('Cancel')
128
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
129
+ __next40pxDefaultSize: true,
130
+ variant: "primary",
131
+ type: "submit",
132
+ "aria-disabled": !title || isSaving,
133
+ isBusy: isSaving,
134
+ children: confirmLabel
135
+ })]
136
+ })]
137
+ })
138
+ });
131
139
  }
132
140
  //# sourceMappingURL=create-pattern-modal.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_element","_data","_notices","_constants","_store","_categorySelector","_interopRequireDefault","_privateHooks","_lockUnlock","CreatePatternModal","className","modalTitle","__","restProps","_react","createElement","Modal","title","onRequestClose","onClose","overlayClassName","CreatePatternModalContents","confirmLabel","defaultCategories","content","onError","onSuccess","defaultSyncType","PATTERN_SYNC_TYPES","full","defaultTitle","syncType","setSyncType","useState","categoryTerms","setCategoryTerms","setTitle","isSaving","setIsSaving","createPattern","unlock","useDispatch","patternsStore","createErrorNotice","noticesStore","categoryMap","findOrCreateTerm","useAddPatternCategory","onCreate","patternTitle","sync","categories","Promise","all","map","termName","newPattern","pattern","categoryId","PATTERN_DEFAULT_CATEGORY","error","message","type","id","onSubmit","event","preventDefault","__experimentalVStack","spacing","TextControl","label","value","onChange","placeholder","__nextHasNoMarginBottom","__next40pxDefaultSize","default","ToggleControl","_x","help","checked","unsynced","__experimentalHStack","justify","Button","variant","onClick","isBusy"],"sources":["@wordpress/patterns/src/components/create-pattern-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tModal,\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useDispatch } 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';\nimport { store as patternsStore } from '../store';\nimport CategorySelector from './category-selector';\nimport { useAddPatternCategory } from '../private-hooks';\nimport { unlock } from '../lock-unlock';\n\nexport default function CreatePatternModal( {\n\tclassName = 'patterns-menu-items__convert-modal',\n\tmodalTitle = __( 'Create pattern' ),\n\t...restProps\n} ) {\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle }\n\t\t\tonRequestClose={ restProps.onClose }\n\t\t\toverlayClassName={ className }\n\t\t>\n\t\t\t<CreatePatternModalContents { ...restProps } />\n\t\t</Modal>\n\t);\n}\n\nexport function CreatePatternModalContents( {\n\tconfirmLabel = __( 'Create' ),\n\tdefaultCategories = [],\n\tcontent,\n\tonClose,\n\tonError,\n\tonSuccess,\n\tdefaultSyncType = PATTERN_SYNC_TYPES.full,\n\tdefaultTitle = '',\n} ) {\n\tconst [ syncType, setSyncType ] = useState( defaultSyncType );\n\tconst [ categoryTerms, setCategoryTerms ] = useState( defaultCategories );\n\tconst [ title, setTitle ] = useState( defaultTitle );\n\n\tconst [ isSaving, setIsSaving ] = useState( false );\n\tconst { createPattern } = unlock( useDispatch( patternsStore ) );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst { categoryMap, findOrCreateTerm } = useAddPatternCategory();\n\n\tasync function onCreate( patternTitle, sync ) {\n\t\tif ( ! title || isSaving ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tsetIsSaving( true );\n\t\t\tconst categories = await Promise.all(\n\t\t\t\tcategoryTerms.map( ( termName ) =>\n\t\t\t\t\tfindOrCreateTerm( termName )\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tconst newPattern = await createPattern(\n\t\t\t\tpatternTitle,\n\t\t\t\tsync,\n\t\t\t\ttypeof content === 'function' ? content() : content,\n\t\t\t\tcategories\n\t\t\t);\n\t\t\tonSuccess( {\n\t\t\t\tpattern: newPattern,\n\t\t\t\tcategoryId: PATTERN_DEFAULT_CATEGORY,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'pattern-create',\n\t\t\t} );\n\t\t\tonError?.();\n\t\t} finally {\n\t\t\tsetIsSaving( false );\n\t\t\tsetCategoryTerms( [] );\n\t\t\tsetTitle( '' );\n\t\t}\n\t}\n\n\treturn (\n\t\t<form\n\t\t\tonSubmit={ ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonCreate( title, syncType );\n\t\t\t} }\n\t\t>\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\tplaceholder={ __( 'My pattern' ) }\n\t\t\t\t\tclassName=\"patterns-create-modal__name-input\"\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t/>\n\t\t\t\t<CategorySelector\n\t\t\t\t\tcategoryTerms={ categoryTerms }\n\t\t\t\t\tonChange={ setCategoryTerms }\n\t\t\t\t\tcategoryMap={ categoryMap }\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t'Synced',\n\t\t\t\t\t\t'Option that makes an individual pattern synchronized'\n\t\t\t\t\t) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Sync this pattern across multiple locations.'\n\t\t\t\t\t) }\n\t\t\t\t\tchecked={ syncType === PATTERN_SYNC_TYPES.full }\n\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\tsetSyncType(\n\t\t\t\t\t\t\tsyncType === PATTERN_SYNC_TYPES.full\n\t\t\t\t\t\t\t\t? PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t\t\t\t\t: PATTERN_SYNC_TYPES.full\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\taria-disabled={ ! title || isSaving }\n\t\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ confirmLabel }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_i18n","_element","_data","_notices","_coreData","_constants","_store","_categorySelector","_interopRequireDefault","_privateHooks","_lockUnlock","_jsxRuntime","CreatePatternModal","className","modalTitle","restProps","defaultModalTitle","useSelect","select","coreStore","getPostType","PATTERN_TYPES","user","labels","add_new_item","jsx","Modal","title","onRequestClose","onClose","overlayClassName","children","CreatePatternModalContents","confirmLabel","__","defaultCategories","content","onError","onSuccess","defaultSyncType","PATTERN_SYNC_TYPES","full","defaultTitle","syncType","setSyncType","useState","categoryTerms","setCategoryTerms","setTitle","isSaving","setIsSaving","createPattern","unlock","useDispatch","patternsStore","createErrorNotice","noticesStore","categoryMap","findOrCreateTerm","useAddPatternCategory","onCreate","patternTitle","sync","categories","Promise","all","map","termName","newPattern","pattern","categoryId","PATTERN_DEFAULT_CATEGORY","error","message","type","id","onSubmit","event","preventDefault","jsxs","__experimentalVStack","spacing","TextControl","label","value","onChange","placeholder","__nextHasNoMarginBottom","__next40pxDefaultSize","default","ToggleControl","_x","help","checked","unsynced","__experimentalHStack","justify","Button","variant","onClick","isBusy"],"sources":["@wordpress/patterns/src/components/create-pattern-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tModal,\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_SYNC_TYPES,\n\tPATTERN_TYPES,\n} from '../constants';\nimport { store as patternsStore } from '../store';\nimport CategorySelector from './category-selector';\nimport { useAddPatternCategory } from '../private-hooks';\nimport { unlock } from '../lock-unlock';\n\nexport default function CreatePatternModal( {\n\tclassName = 'patterns-menu-items__convert-modal',\n\tmodalTitle,\n\t...restProps\n} ) {\n\tconst defaultModalTitle = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getPostType( PATTERN_TYPES.user )?.labels\n\t\t\t\t?.add_new_item,\n\t\t[]\n\t);\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle || defaultModalTitle }\n\t\t\tonRequestClose={ restProps.onClose }\n\t\t\toverlayClassName={ className }\n\t\t>\n\t\t\t<CreatePatternModalContents { ...restProps } />\n\t\t</Modal>\n\t);\n}\n\nexport function CreatePatternModalContents( {\n\tconfirmLabel = __( 'Add' ),\n\tdefaultCategories = [],\n\tcontent,\n\tonClose,\n\tonError,\n\tonSuccess,\n\tdefaultSyncType = PATTERN_SYNC_TYPES.full,\n\tdefaultTitle = '',\n} ) {\n\tconst [ syncType, setSyncType ] = useState( defaultSyncType );\n\tconst [ categoryTerms, setCategoryTerms ] = useState( defaultCategories );\n\tconst [ title, setTitle ] = useState( defaultTitle );\n\n\tconst [ isSaving, setIsSaving ] = useState( false );\n\tconst { createPattern } = unlock( useDispatch( patternsStore ) );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst { categoryMap, findOrCreateTerm } = useAddPatternCategory();\n\n\tasync function onCreate( patternTitle, sync ) {\n\t\tif ( ! title || isSaving ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tsetIsSaving( true );\n\t\t\tconst categories = await Promise.all(\n\t\t\t\tcategoryTerms.map( ( termName ) =>\n\t\t\t\t\tfindOrCreateTerm( termName )\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tconst newPattern = await createPattern(\n\t\t\t\tpatternTitle,\n\t\t\t\tsync,\n\t\t\t\ttypeof content === 'function' ? content() : content,\n\t\t\t\tcategories\n\t\t\t);\n\t\t\tonSuccess( {\n\t\t\t\tpattern: newPattern,\n\t\t\t\tcategoryId: PATTERN_DEFAULT_CATEGORY,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'pattern-create',\n\t\t\t} );\n\t\t\tonError?.();\n\t\t} finally {\n\t\t\tsetIsSaving( false );\n\t\t\tsetCategoryTerms( [] );\n\t\t\tsetTitle( '' );\n\t\t}\n\t}\n\n\treturn (\n\t\t<form\n\t\t\tonSubmit={ ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonCreate( title, syncType );\n\t\t\t} }\n\t\t>\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\tplaceholder={ __( 'My pattern' ) }\n\t\t\t\t\tclassName=\"patterns-create-modal__name-input\"\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t/>\n\t\t\t\t<CategorySelector\n\t\t\t\t\tcategoryTerms={ categoryTerms }\n\t\t\t\t\tonChange={ setCategoryTerms }\n\t\t\t\t\tcategoryMap={ categoryMap }\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ _x( 'Synced', 'pattern (singular)' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Sync this pattern across multiple locations.'\n\t\t\t\t\t) }\n\t\t\t\t\tchecked={ syncType === PATTERN_SYNC_TYPES.full }\n\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\tsetSyncType(\n\t\t\t\t\t\t\tsyncType === PATTERN_SYNC_TYPES.full\n\t\t\t\t\t\t\t\t? PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t\t\t\t\t: PATTERN_SYNC_TYPES.full\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\taria-disabled={ ! title || isSaving }\n\t\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ confirmLabel }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,13 +6,13 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = DuplicatePatternModal;
8
8
  exports.useDuplicatePatternProps = useDuplicatePatternProps;
9
- var _react = require("react");
10
9
  var _coreData = require("@wordpress/core-data");
11
10
  var _data = require("@wordpress/data");
12
11
  var _i18n = require("@wordpress/i18n");
13
12
  var _notices = require("@wordpress/notices");
14
13
  var _createPatternModal = _interopRequireDefault(require("./create-pattern-modal"));
15
14
  var _constants = require("../constants");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
16
  /**
17
17
  * WordPress dependencies
18
18
  */
@@ -82,7 +82,7 @@ function DuplicatePatternModal({
82
82
  if (!pattern) {
83
83
  return null;
84
84
  }
85
- return (0, _react.createElement)(_createPatternModal.default, {
85
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_createPatternModal.default, {
86
86
  modalTitle: (0, _i18n.__)('Duplicate pattern'),
87
87
  confirmLabel: (0, _i18n.__)('Duplicate'),
88
88
  onClose: onClose,
@@ -1 +1 @@
1
- {"version":3,"names":["_coreData","require","_data","_i18n","_notices","_createPatternModal","_interopRequireDefault","_constants","getTermLabels","pattern","categories","type","PATTERN_TYPES","user","core","filter","category","includes","name","map","label","wp_pattern_category","id","useDuplicatePatternProps","onSuccess","createSuccessNotice","useDispatch","noticesStore","useSelect","select","getUserPatternCategories","getBlockPatternCategories","coreStore","content","defaultCategories","defaultSyncType","PATTERN_SYNC_TYPES","unsynced","wp_pattern_sync_status","full","defaultTitle","sprintf","__","title","raw","newPattern","DuplicatePatternModal","onClose","duplicatedProps","_react","createElement","default","modalTitle","confirmLabel","onError"],"sources":["@wordpress/patterns/src/components/duplicate-pattern-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport CreatePatternModal from './create-pattern-modal';\nimport { PATTERN_SYNC_TYPES, PATTERN_TYPES } from '../constants';\n\nfunction getTermLabels( pattern, categories ) {\n\t// Theme patterns rely on core pattern categories.\n\tif ( pattern.type !== PATTERN_TYPES.user ) {\n\t\treturn categories.core\n\t\t\t?.filter( ( category ) =>\n\t\t\t\tpattern.categories.includes( category.name )\n\t\t\t)\n\t\t\t.map( ( category ) => category.label );\n\t}\n\n\treturn categories.user\n\t\t?.filter( ( category ) =>\n\t\t\tpattern.wp_pattern_category.includes( category.id )\n\t\t)\n\t\t.map( ( category ) => category.label );\n}\n\nexport function useDuplicatePatternProps( { pattern, onSuccess } ) {\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst categories = useSelect( ( select ) => {\n\t\tconst { getUserPatternCategories, getBlockPatternCategories } =\n\t\t\tselect( coreStore );\n\n\t\treturn {\n\t\t\tcore: getBlockPatternCategories(),\n\t\t\tuser: getUserPatternCategories(),\n\t\t};\n\t} );\n\tif ( ! pattern ) {\n\t\treturn null;\n\t}\n\treturn {\n\t\tcontent: pattern.content,\n\t\tdefaultCategories: getTermLabels( pattern, categories ),\n\t\tdefaultSyncType:\n\t\t\tpattern.type !== PATTERN_TYPES.user // Theme patterns are unsynced by default.\n\t\t\t\t? PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t: pattern.wp_pattern_sync_status || PATTERN_SYNC_TYPES.full,\n\t\tdefaultTitle: sprintf(\n\t\t\t/* translators: %s: Existing pattern title */\n\t\t\t__( '%s (Copy)' ),\n\t\t\ttypeof pattern.title === 'string'\n\t\t\t\t? pattern.title\n\t\t\t\t: pattern.title.raw\n\t\t),\n\t\tonSuccess: ( { pattern: newPattern } ) => {\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The new pattern's title e.g. 'Call to action (copy)'.\n\t\t\t\t\t__( '\"%s\" duplicated.' ),\n\t\t\t\t\tnewPattern.title.raw\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'patterns-create',\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tonSuccess?.( { pattern: newPattern } );\n\t\t},\n\t};\n}\n\nexport default function DuplicatePatternModal( {\n\tpattern,\n\tonClose,\n\tonSuccess,\n} ) {\n\tconst duplicatedProps = useDuplicatePatternProps( { pattern, onSuccess } );\n\tif ( ! pattern ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<CreatePatternModal\n\t\t\tmodalTitle={ __( 'Duplicate pattern' ) }\n\t\t\tconfirmLabel={ __( 'Duplicate' ) }\n\t\t\tonClose={ onClose }\n\t\t\tonError={ onClose }\n\t\t\t{ ...duplicatedProps }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_coreData","require","_data","_i18n","_notices","_createPatternModal","_interopRequireDefault","_constants","_jsxRuntime","getTermLabels","pattern","categories","type","PATTERN_TYPES","user","core","filter","category","includes","name","map","label","wp_pattern_category","id","useDuplicatePatternProps","onSuccess","createSuccessNotice","useDispatch","noticesStore","useSelect","select","getUserPatternCategories","getBlockPatternCategories","coreStore","content","defaultCategories","defaultSyncType","PATTERN_SYNC_TYPES","unsynced","wp_pattern_sync_status","full","defaultTitle","sprintf","__","title","raw","newPattern","DuplicatePatternModal","onClose","duplicatedProps","jsx","default","modalTitle","confirmLabel","onError"],"sources":["@wordpress/patterns/src/components/duplicate-pattern-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport CreatePatternModal from './create-pattern-modal';\nimport { PATTERN_SYNC_TYPES, PATTERN_TYPES } from '../constants';\n\nfunction getTermLabels( pattern, categories ) {\n\t// Theme patterns rely on core pattern categories.\n\tif ( pattern.type !== PATTERN_TYPES.user ) {\n\t\treturn categories.core\n\t\t\t?.filter( ( category ) =>\n\t\t\t\tpattern.categories.includes( category.name )\n\t\t\t)\n\t\t\t.map( ( category ) => category.label );\n\t}\n\n\treturn categories.user\n\t\t?.filter( ( category ) =>\n\t\t\tpattern.wp_pattern_category.includes( category.id )\n\t\t)\n\t\t.map( ( category ) => category.label );\n}\n\nexport function useDuplicatePatternProps( { pattern, onSuccess } ) {\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst categories = useSelect( ( select ) => {\n\t\tconst { getUserPatternCategories, getBlockPatternCategories } =\n\t\t\tselect( coreStore );\n\n\t\treturn {\n\t\t\tcore: getBlockPatternCategories(),\n\t\t\tuser: getUserPatternCategories(),\n\t\t};\n\t} );\n\tif ( ! pattern ) {\n\t\treturn null;\n\t}\n\treturn {\n\t\tcontent: pattern.content,\n\t\tdefaultCategories: getTermLabels( pattern, categories ),\n\t\tdefaultSyncType:\n\t\t\tpattern.type !== PATTERN_TYPES.user // Theme patterns are unsynced by default.\n\t\t\t\t? PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t: pattern.wp_pattern_sync_status || PATTERN_SYNC_TYPES.full,\n\t\tdefaultTitle: sprintf(\n\t\t\t/* translators: %s: Existing pattern title */\n\t\t\t__( '%s (Copy)' ),\n\t\t\ttypeof pattern.title === 'string'\n\t\t\t\t? pattern.title\n\t\t\t\t: pattern.title.raw\n\t\t),\n\t\tonSuccess: ( { pattern: newPattern } ) => {\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The new pattern's title e.g. 'Call to action (copy)'.\n\t\t\t\t\t__( '\"%s\" duplicated.' ),\n\t\t\t\t\tnewPattern.title.raw\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'patterns-create',\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tonSuccess?.( { pattern: newPattern } );\n\t\t},\n\t};\n}\n\nexport default function DuplicatePatternModal( {\n\tpattern,\n\tonClose,\n\tonSuccess,\n} ) {\n\tconst duplicatedProps = useDuplicatePatternProps( { pattern, onSuccess } );\n\tif ( ! pattern ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<CreatePatternModal\n\t\t\tmodalTitle={ __( 'Duplicate pattern' ) }\n\t\t\tconfirmLabel={ __( 'Duplicate' ) }\n\t\t\tonClose={ onClose }\n\t\t\tonError={ onClose }\n\t\t\t{ ...duplicatedProps }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,mBAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAAiE,IAAAO,WAAA,GAAAP,OAAA;AAZjE;AACA;AACA;;AAMA;AACA;AACA;;AAIA,SAASQ,aAAaA,CAAEC,OAAO,EAAEC,UAAU,EAAG;EAC7C;EACA,IAAKD,OAAO,CAACE,IAAI,KAAKC,wBAAa,CAACC,IAAI,EAAG;IAC1C,OAAOH,UAAU,CAACI,IAAI,EACnBC,MAAM,CAAIC,QAAQ,IACnBP,OAAO,CAACC,UAAU,CAACO,QAAQ,CAAED,QAAQ,CAACE,IAAK,CAC5C,CAAC,CACAC,GAAG,CAAIH,QAAQ,IAAMA,QAAQ,CAACI,KAAM,CAAC;EACxC;EAEA,OAAOV,UAAU,CAACG,IAAI,EACnBE,MAAM,CAAIC,QAAQ,IACnBP,OAAO,CAACY,mBAAmB,CAACJ,QAAQ,CAAED,QAAQ,CAACM,EAAG,CACnD,CAAC,CACAH,GAAG,CAAIH,QAAQ,IAAMA,QAAQ,CAACI,KAAM,CAAC;AACxC;AAEO,SAASG,wBAAwBA,CAAE;EAAEd,OAAO;EAAEe;AAAU,CAAC,EAAG;EAClE,MAAM;IAAEC;EAAoB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,cAAa,CAAC;EAC3D,MAAMjB,UAAU,GAAG,IAAAkB,eAAS,EAAIC,MAAM,IAAM;IAC3C,MAAM;MAAEC,wBAAwB;MAAEC;IAA0B,CAAC,GAC5DF,MAAM,CAAEG,eAAU,CAAC;IAEpB,OAAO;MACNlB,IAAI,EAAEiB,yBAAyB,CAAC,CAAC;MACjClB,IAAI,EAAEiB,wBAAwB,CAAC;IAChC,CAAC;EACF,CAAE,CAAC;EACH,IAAK,CAAErB,OAAO,EAAG;IAChB,OAAO,IAAI;EACZ;EACA,OAAO;IACNwB,OAAO,EAAExB,OAAO,CAACwB,OAAO;IACxBC,iBAAiB,EAAE1B,aAAa,CAAEC,OAAO,EAAEC,UAAW,CAAC;IACvDyB,eAAe,EACd1B,OAAO,CAACE,IAAI,KAAKC,wBAAa,CAACC,IAAI,CAAC;IAAA,EACjCuB,6BAAkB,CAACC,QAAQ,GAC3B5B,OAAO,CAAC6B,sBAAsB,IAAIF,6BAAkB,CAACG,IAAI;IAC7DC,YAAY,EAAE,IAAAC,aAAO,GACpB;IACA,IAAAC,QAAE,EAAE,WAAY,CAAC,EACjB,OAAOjC,OAAO,CAACkC,KAAK,KAAK,QAAQ,GAC9BlC,OAAO,CAACkC,KAAK,GACblC,OAAO,CAACkC,KAAK,CAACC,GAClB,CAAC;IACDpB,SAAS,EAAEA,CAAE;MAAEf,OAAO,EAAEoC;IAAW,CAAC,KAAM;MACzCpB,mBAAmB,CAClB,IAAAgB,aAAO;MACN;MACA,IAAAC,QAAE,EAAE,kBAAmB,CAAC,EACxBG,UAAU,CAACF,KAAK,CAACC,GAClB,CAAC,EACD;QACCjC,IAAI,EAAE,UAAU;QAChBW,EAAE,EAAE;MACL,CACD,CAAC;MAEDE,SAAS,GAAI;QAAEf,OAAO,EAAEoC;MAAW,CAAE,CAAC;IACvC;EACD,CAAC;AACF;AAEe,SAASC,qBAAqBA,CAAE;EAC9CrC,OAAO;EACPsC,OAAO;EACPvB;AACD,CAAC,EAAG;EACH,MAAMwB,eAAe,GAAGzB,wBAAwB,CAAE;IAAEd,OAAO;IAAEe;EAAU,CAAE,CAAC;EAC1E,IAAK,CAAEf,OAAO,EAAG;IAChB,OAAO,IAAI;EACZ;EACA,oBACC,IAAAF,WAAA,CAAA0C,GAAA,EAAC7C,mBAAA,CAAA8C,OAAkB;IAClBC,UAAU,EAAG,IAAAT,QAAE,EAAE,mBAAoB,CAAG;IACxCU,YAAY,EAAG,IAAAV,QAAE,EAAE,WAAY,CAAG;IAClCK,OAAO,EAAGA,OAAS;IACnBM,OAAO,EAAGN,OAAS;IAAA,GACdC;EAAe,CACpB,CAAC;AAEJ","ignoreList":[]}