@wordpress/block-library 6.0.3 → 6.0.4

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 (66) hide show
  1. package/build/buttons/deprecated.js +11 -7
  2. package/build/buttons/deprecated.js.map +1 -1
  3. package/build/buttons/edit.js +1 -4
  4. package/build/buttons/edit.js.map +1 -1
  5. package/build/column/index.js +1 -1
  6. package/build/cover/index.js +1 -1
  7. package/build/gallery/edit.js +1 -1
  8. package/build/gallery/edit.js.map +1 -1
  9. package/build/gallery/use-mobile-warning.js +2 -2
  10. package/build/gallery/use-mobile-warning.js.map +1 -1
  11. package/build/group/index.js +1 -1
  12. package/build/navigation/edit/placeholder/index.js +2 -2
  13. package/build/navigation/edit/placeholder/index.js.map +1 -1
  14. package/build/navigation/edit/responsive-wrapper.js +1 -2
  15. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  16. package/build/navigation/index.js +2 -1
  17. package/build/navigation/index.js.map +1 -1
  18. package/build/navigation/view.js +29 -26
  19. package/build/navigation/view.js.map +1 -1
  20. package/build-module/buttons/deprecated.js +11 -7
  21. package/build-module/buttons/deprecated.js.map +1 -1
  22. package/build-module/buttons/edit.js +2 -5
  23. package/build-module/buttons/edit.js.map +1 -1
  24. package/build-module/column/index.js +1 -1
  25. package/build-module/cover/index.js +1 -1
  26. package/build-module/gallery/edit.js +1 -1
  27. package/build-module/gallery/edit.js.map +1 -1
  28. package/build-module/gallery/use-mobile-warning.js +2 -2
  29. package/build-module/gallery/use-mobile-warning.js.map +1 -1
  30. package/build-module/group/index.js +1 -1
  31. package/build-module/navigation/edit/placeholder/index.js +2 -2
  32. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  33. package/build-module/navigation/edit/responsive-wrapper.js +1 -2
  34. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  35. package/build-module/navigation/index.js +2 -1
  36. package/build-module/navigation/index.js.map +1 -1
  37. package/build-module/navigation/view.js +28 -26
  38. package/build-module/navigation/view.js.map +1 -1
  39. package/build-style/navigation/style-rtl.css +14 -16
  40. package/build-style/navigation/style.css +14 -16
  41. package/build-style/navigation-submenu/style-rtl.css +1 -0
  42. package/build-style/navigation-submenu/style.css +1 -0
  43. package/build-style/page-list/style-rtl.css +5 -2
  44. package/build-style/page-list/style.css +5 -2
  45. package/build-style/style-rtl.css +20 -22
  46. package/build-style/style.css +20 -22
  47. package/package.json +4 -4
  48. package/src/buttons/deprecated.js +11 -8
  49. package/src/buttons/edit.js +0 -5
  50. package/src/column/block.json +1 -1
  51. package/src/cover/block.json +1 -1
  52. package/src/gallery/edit.js +3 -1
  53. package/src/gallery/use-mobile-warning.js +2 -2
  54. package/src/group/block.json +1 -1
  55. package/src/navigation/block.json +2 -1
  56. package/src/navigation/edit/placeholder/index.js +2 -2
  57. package/src/navigation/edit/responsive-wrapper.js +1 -5
  58. package/src/navigation/index.php +1 -112
  59. package/src/navigation/style.scss +17 -16
  60. package/src/navigation/view.js +33 -32
  61. package/src/navigation-submenu/style.scss +4 -0
  62. package/src/page-list/style.scss +5 -2
  63. package/src/style.scss +0 -1
  64. package/build-style/post-content/style-rtl.css +0 -79
  65. package/build-style/post-content/style.css +0 -79
  66. package/src/post-content/style.scss +0 -4
@@ -31,17 +31,20 @@ const migrateWithLayout = attributes => {
31
31
 
32
32
  const {
33
33
  contentJustification,
34
- orientation
34
+ orientation,
35
+ ...updatedAttributes
35
36
  } = attributes;
36
- const updatedAttributes = { ...attributes
37
- };
38
37
 
39
38
  if (contentJustification || orientation) {
40
39
  Object.assign(updatedAttributes, {
41
40
  layout: {
42
41
  type: 'flex',
43
- justifyContent: contentJustification || 'left',
44
- orientation: orientation || 'horizontal'
42
+ ...(contentJustification && {
43
+ justifyContent: contentJustification
44
+ }),
45
+ ...(orientation && {
46
+ orientation
47
+ })
45
48
  }
46
49
  });
47
50
  }
@@ -72,8 +75,9 @@ const deprecated = [{
72
75
  }
73
76
  },
74
77
  isEligible: ({
75
- layout
76
- }) => !layout,
78
+ contentJustification,
79
+ orientation
80
+ }) => !!contentJustification || !!orientation,
77
81
  migrate: migrateWithLayout,
78
82
 
79
83
  save({
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/buttons/deprecated.js"],"names":["migrateWithLayout","attributes","layout","contentJustification","orientation","updatedAttributes","Object","assign","type","justifyContent","deprecated","default","supports","anchor","align","__experimentalExposeControlsToChildren","spacing","blockGap","margin","__experimentalDefaultControls","isEligible","migrate","save","useBlockProps","className","includes","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n/**\n * WordPress dependencies\n */\nimport { InnerBlocks, useBlockProps } from '@wordpress/block-editor';\n\n/**\n * @param {Object} attributes Block's attributes.\n */\nconst migrateWithLayout = ( attributes ) => {\n\tif ( !! attributes.layout ) {\n\t\treturn attributes;\n\t}\n\n\tconst { contentJustification, orientation } = attributes;\n\n\tconst updatedAttributes = {\n\t\t...attributes,\n\t};\n\n\tif ( contentJustification || orientation ) {\n\t\tObject.assign( updatedAttributes, {\n\t\t\tlayout: {\n\t\t\t\ttype: 'flex',\n\t\t\t\tjustifyContent: contentJustification || 'left',\n\t\t\t\torientation: orientation || 'horizontal',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn updatedAttributes;\n};\n\nconst deprecated = [\n\t{\n\t\tattributes: {\n\t\t\tcontentJustification: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\torientation: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'horizontal',\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\t__experimentalExposeControlsToChildren: true,\n\t\t\tspacing: {\n\t\t\t\tblockGap: true,\n\t\t\t\tmargin: [ 'top', 'bottom' ],\n\t\t\t\t__experimentalDefaultControls: {\n\t\t\t\t\tblockGap: true,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tisEligible: ( { layout } ) => ! layout,\n\t\tmigrate: migrateWithLayout,\n\t\tsave( { attributes: { contentJustification, orientation } } ) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\t{ ...useBlockProps.save( {\n\t\t\t\t\t\tclassName: classnames( {\n\t\t\t\t\t\t\t[ `is-content-justification-${ contentJustification }` ]: contentJustification,\n\t\t\t\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t\t\t} ),\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tsupports: {\n\t\t\talign: [ 'center', 'left', 'right' ],\n\t\t\tanchor: true,\n\t\t},\n\t\tsave() {\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tisEligible( { align } ) {\n\t\t\treturn align && [ 'center', 'left', 'right' ].includes( align );\n\t\t},\n\t\tmigrate( attributes ) {\n\t\t\treturn migrateWithLayout( {\n\t\t\t\t...attributes,\n\t\t\t\talign: undefined,\n\t\t\t\t// Floating Buttons blocks shouldn't have been supported in the\n\t\t\t\t// first place. Most users using them probably expected them to\n\t\t\t\t// act like content justification controls, so these blocks are\n\t\t\t\t// migrated to use content justification.\n\t\t\t\t// As for center-aligned Buttons blocks, the content justification\n\t\t\t\t// equivalent will create an identical end result in most cases.\n\t\t\t\tcontentJustification: attributes.align,\n\t\t\t} );\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/buttons/deprecated.js"],"names":["migrateWithLayout","attributes","layout","contentJustification","orientation","updatedAttributes","Object","assign","type","justifyContent","deprecated","default","supports","anchor","align","__experimentalExposeControlsToChildren","spacing","blockGap","margin","__experimentalDefaultControls","isEligible","migrate","save","useBlockProps","className","includes","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n/**\n * WordPress dependencies\n */\nimport { InnerBlocks, useBlockProps } from '@wordpress/block-editor';\n\n/**\n * @param {Object} attributes Block's attributes.\n */\nconst migrateWithLayout = ( attributes ) => {\n\tif ( !! attributes.layout ) {\n\t\treturn attributes;\n\t}\n\n\tconst {\n\t\tcontentJustification,\n\t\torientation,\n\t\t...updatedAttributes\n\t} = attributes;\n\n\tif ( contentJustification || orientation ) {\n\t\tObject.assign( updatedAttributes, {\n\t\t\tlayout: {\n\t\t\t\ttype: 'flex',\n\t\t\t\t...( contentJustification && {\n\t\t\t\t\tjustifyContent: contentJustification,\n\t\t\t\t} ),\n\t\t\t\t...( orientation && { orientation } ),\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn updatedAttributes;\n};\n\nconst deprecated = [\n\t{\n\t\tattributes: {\n\t\t\tcontentJustification: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\torientation: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'horizontal',\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\tanchor: true,\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\t__experimentalExposeControlsToChildren: true,\n\t\t\tspacing: {\n\t\t\t\tblockGap: true,\n\t\t\t\tmargin: [ 'top', 'bottom' ],\n\t\t\t\t__experimentalDefaultControls: {\n\t\t\t\t\tblockGap: true,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tisEligible: ( { contentJustification, orientation } ) =>\n\t\t\t!! contentJustification || !! orientation,\n\t\tmigrate: migrateWithLayout,\n\t\tsave( { attributes: { contentJustification, orientation } } ) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\t{ ...useBlockProps.save( {\n\t\t\t\t\t\tclassName: classnames( {\n\t\t\t\t\t\t\t[ `is-content-justification-${ contentJustification }` ]: contentJustification,\n\t\t\t\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t\t\t} ),\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tsupports: {\n\t\t\talign: [ 'center', 'left', 'right' ],\n\t\t\tanchor: true,\n\t\t},\n\t\tsave() {\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\tisEligible( { align } ) {\n\t\t\treturn align && [ 'center', 'left', 'right' ].includes( align );\n\t\t},\n\t\tmigrate( attributes ) {\n\t\t\treturn migrateWithLayout( {\n\t\t\t\t...attributes,\n\t\t\t\talign: undefined,\n\t\t\t\t// Floating Buttons blocks shouldn't have been supported in the\n\t\t\t\t// first place. Most users using them probably expected them to\n\t\t\t\t// act like content justification controls, so these blocks are\n\t\t\t\t// migrated to use content justification.\n\t\t\t\t// As for center-aligned Buttons blocks, the content justification\n\t\t\t\t// equivalent will create an identical end result in most cases.\n\t\t\t\tcontentJustification: attributes.align,\n\t\t\t} );\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
@@ -43,10 +43,7 @@ function ButtonsEdit({
43
43
  __experimentalLayout: layout,
44
44
  templateInsertUpdatesSelection: true
45
45
  });
46
- return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.BlockControls, {
47
- group: "block",
48
- __experimentalShareWithChildBlocks: true
49
- }), (0, _element.createElement)("div", innerBlocksProps));
46
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)("div", innerBlocksProps));
50
47
  }
51
48
 
52
49
  var _default = ButtonsEdit;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/buttons/edit.js"],"names":["ALLOWED_BLOCKS","buttonBlockName","ButtonsEdit","attributes","layout","blockProps","preferredStyle","select","preferredStyleVariations","blockEditorStore","getSettings","__experimentalPreferredStyleVariations","value","innerBlocksProps","allowedBlocks","template","className","__experimentalLayout","templateInsertUpdatesSelection"],"mappings":";;;;;;;;;AAGA;;AAMA;;AAKA;;AAdA;AACA;AACA;;AASA;AACA;AACA;AAGA,MAAMA,cAAc,GAAG,CAAEC,YAAF,CAAvB;;AAEA,SAASC,WAAT,CAAsB;AAAEC,EAAAA,UAAU,EAAE;AAAEC,IAAAA,MAAM,GAAG;AAAX;AAAd,CAAtB,EAAwD;AACvD,QAAMC,UAAU,GAAG,iCAAnB;AACA,QAAMC,cAAc,GAAG,qBAAaC,MAAF,IAAc;AAAA;;AAC/C,UAAMC,wBAAwB,GAAGD,MAAM,CACtCE,kBADsC,CAAN,CAE/BC,WAF+B,GAEjBC,sCAFhB;;AAGA,WAAOH,wBAAP,aAAOA,wBAAP,gDAAOA,wBAAwB,CAAEI,KAAjC,0DAAO,sBAAmCX,YAAnC,CAAP;AACA,GALsB,EAKpB,EALoB,CAAvB;AAOA,QAAMY,gBAAgB,GAAG,sCAAqBR,UAArB,EAAiC;AACzDS,IAAAA,aAAa,EAAEd,cAD0C;AAEzDe,IAAAA,QAAQ,EAAE,CACT,CACCd,YADD,EAEC;AAAEe,MAAAA,SAAS,EAAEV,cAAc,IAAK,YAAYA,cAAgB;AAA5D,KAFD,CADS,CAF+C;AAQzDW,IAAAA,oBAAoB,EAAEb,MARmC;AASzDc,IAAAA,8BAA8B,EAAE;AATyB,GAAjC,CAAzB;AAYA,SACC,qDACC,4BAAC,0BAAD;AACC,IAAA,KAAK,EAAC,OADP;AAEC,IAAA,kCAAkC;AAFnC,IADD,EAKC,mCAAUL,gBAAV,CALD,CADD;AASA;;eAEcX,W","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { name as buttonBlockName } from '../button';\n\nconst ALLOWED_BLOCKS = [ buttonBlockName ];\n\nfunction ButtonsEdit( { attributes: { layout = {} } } ) {\n\tconst blockProps = useBlockProps();\n\tconst preferredStyle = useSelect( ( select ) => {\n\t\tconst preferredStyleVariations = select(\n\t\t\tblockEditorStore\n\t\t).getSettings().__experimentalPreferredStyleVariations;\n\t\treturn preferredStyleVariations?.value?.[ buttonBlockName ];\n\t}, [] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\ttemplate: [\n\t\t\t[\n\t\t\t\tbuttonBlockName,\n\t\t\t\t{ className: preferredStyle && `is-style-${ preferredStyle }` },\n\t\t\t],\n\t\t],\n\t\t__experimentalLayout: layout,\n\t\ttemplateInsertUpdatesSelection: true,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls\n\t\t\t\tgroup=\"block\"\n\t\t\t\t__experimentalShareWithChildBlocks\n\t\t\t></BlockControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nexport default ButtonsEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/buttons/edit.js"],"names":["ALLOWED_BLOCKS","buttonBlockName","ButtonsEdit","attributes","layout","blockProps","preferredStyle","select","preferredStyleVariations","blockEditorStore","getSettings","__experimentalPreferredStyleVariations","value","innerBlocksProps","allowedBlocks","template","className","__experimentalLayout","templateInsertUpdatesSelection"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAKA;;AAbA;AACA;AACA;;AAQA;AACA;AACA;AAGA,MAAMA,cAAc,GAAG,CAAEC,YAAF,CAAvB;;AAEA,SAASC,WAAT,CAAsB;AAAEC,EAAAA,UAAU,EAAE;AAAEC,IAAAA,MAAM,GAAG;AAAX;AAAd,CAAtB,EAAwD;AACvD,QAAMC,UAAU,GAAG,iCAAnB;AACA,QAAMC,cAAc,GAAG,qBAAaC,MAAF,IAAc;AAAA;;AAC/C,UAAMC,wBAAwB,GAAGD,MAAM,CACtCE,kBADsC,CAAN,CAE/BC,WAF+B,GAEjBC,sCAFhB;;AAGA,WAAOH,wBAAP,aAAOA,wBAAP,gDAAOA,wBAAwB,CAAEI,KAAjC,0DAAO,sBAAmCX,YAAnC,CAAP;AACA,GALsB,EAKpB,EALoB,CAAvB;AAOA,QAAMY,gBAAgB,GAAG,sCAAqBR,UAArB,EAAiC;AACzDS,IAAAA,aAAa,EAAEd,cAD0C;AAEzDe,IAAAA,QAAQ,EAAE,CACT,CACCd,YADD,EAEC;AAAEe,MAAAA,SAAS,EAAEV,cAAc,IAAK,YAAYA,cAAgB;AAA5D,KAFD,CADS,CAF+C;AAQzDW,IAAAA,oBAAoB,EAAEb,MARmC;AASzDc,IAAAA,8BAA8B,EAAE;AATyB,GAAjC,CAAzB;AAYA,SACC,qDACC,mCAAUL,gBAAV,CADD,CADD;AAKA;;eAEcX,W","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { name as buttonBlockName } from '../button';\n\nconst ALLOWED_BLOCKS = [ buttonBlockName ];\n\nfunction ButtonsEdit( { attributes: { layout = {} } } ) {\n\tconst blockProps = useBlockProps();\n\tconst preferredStyle = useSelect( ( select ) => {\n\t\tconst preferredStyleVariations = select(\n\t\t\tblockEditorStore\n\t\t).getSettings().__experimentalPreferredStyleVariations;\n\t\treturn preferredStyleVariations?.value?.[ buttonBlockName ];\n\t}, [] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\ttemplate: [\n\t\t\t[\n\t\t\t\tbuttonBlockName,\n\t\t\t\t{ className: preferredStyle && `is-style-${ preferredStyle }` },\n\t\t\t],\n\t\t],\n\t\t__experimentalLayout: layout,\n\t\ttemplateInsertUpdatesSelection: true,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nexport default ButtonsEdit;\n"]}
@@ -41,7 +41,7 @@ const metadata = {
41
41
  type: "array"
42
42
  },
43
43
  templateLock: {
44
- type: "string",
44
+ type: ["string", "boolean"],
45
45
  "enum": ["all", "insert", false]
46
46
  }
47
47
  },
@@ -95,7 +95,7 @@ const metadata = {
95
95
  type: "array"
96
96
  },
97
97
  templateLock: {
98
- type: "string",
98
+ type: ["string", "boolean"],
99
99
  "enum": ["all", "insert", false]
100
100
  }
101
101
  },
@@ -108,7 +108,6 @@ function GalleryEdit(props) {
108
108
  shortCodeTransforms,
109
109
  sizeSlug
110
110
  } = attributes;
111
- (0, _useMobileWarning.default)();
112
111
  const {
113
112
  __unstableMarkNextChangeAsNotPersistent,
114
113
  replaceInnerBlocks,
@@ -146,6 +145,7 @@ function GalleryEdit(props) {
146
145
  })), [innerBlockImages]);
147
146
  const imageData = (0, _useGetMedia.default)(innerBlockImages);
148
147
  const newImages = (0, _useGetNewImages.default)(images, imageData);
148
+ (0, _useMobileWarning.default)(newImages);
149
149
  (0, _element.useEffect)(() => {
150
150
  newImages === null || newImages === void 0 ? void 0 : newImages.forEach(newImage => {
151
151
  updateBlockAttributes(newImage.clientId, { ...buildImageAttributes(false, newImage.attributes),
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/edit.js"],"names":["MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","setAttributes","attributes","className","clientId","noticeOperations","isSelected","noticeUI","insertBlocksAfter","columns","imageCrop","linkTarget","linkTo","shortCodeTransforms","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","blockEditorStore","createSuccessNotice","noticesStore","getBlock","getSettings","preferredStyle","select","settings","preferredStyleVariations","__experimentalPreferredStyleVariations","innerBlockImages","innerBlocks","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","shortCodeImages","updateImages","imageSizeOptions","existingBlock","image","newClassName","isValidFileType","file","some","mediaType","indexOf","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","every","removeAllNotices","createErrorNotice","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","find","img","newImageList","existingImg","newBlocks","caption","alt","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","toggleOpenInNewTab","openInNewTab","newLinkTarget","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","defaultProps","link","hasImages","length","hasImageIds","imagesUploading","mediaPlaceholder","sharedIcon","title","instructions","blockProps","hasLinkTo","Math","min","isWeb","withNotices","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { concat, find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useShortCodeTransform from './use-short-code-transform';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\n\n/**\n * Internal dependencies\n */\nimport useMobileWarning from './use-mobile-warning';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'ADD MEDIA' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tnoticeOperations,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tinsertBlocksAfter,\n\t} = props;\n\n\tconst {\n\t\tcolumns,\n\t\timageCrop,\n\t\tlinkTarget,\n\t\tlinkTo,\n\t\tshortCodeTransforms,\n\t\tsizeSlug,\n\t} = attributes;\n\tuseMobileWarning();\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, preferredStyle } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst preferredStyleVariations =\n\t\t\tsettings.__experimentalPreferredStyleVariations;\n\t\treturn {\n\t\t\tgetBlock: select( blockEditorStore ).getBlock,\n\t\t\tgetSettings: select( blockEditorStore ).getSettings,\n\t\t\tpreferredStyle: preferredStyleVariations?.value?.[ 'core/image' ],\n\t\t};\n\t}, [] );\n\n\tconst innerBlockImages = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).getBlock( clientId )?.innerBlocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( false, newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst shortCodeImages = useShortCodeTransform( shortCodeTransforms );\n\n\tuseEffect( () => {\n\t\tif ( ! shortCodeTransforms || ! shortCodeImages ) {\n\t\t\treturn;\n\t\t}\n\t\tupdateImages( shortCodeImages );\n\t\tsetAttributes( { shortCodeTransforms: undefined } );\n\t}, [ shortCodeTransforms, shortCodeImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} existingBlock Existing Image block that still exists after gallery update.\n\t * @param {Object} image Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( existingBlock, image ) {\n\t\tif ( existingBlock ) {\n\t\t\treturn existingBlock.attributes;\n\t\t}\n\n\t\tlet newClassName;\n\t\tif ( image.className && image.className !== '' ) {\n\t\t\tnewClassName = image.className;\n\t\t} else {\n\t\t\tnewClassName = preferredStyle\n\t\t\t\t? `is-style-${ preferredStyle }`\n\t\t\t\t: undefined;\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination( image, linkTo ),\n\t\t\t...getUpdatedLinkTargetSettings( linkTarget, attributes ),\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => file.type?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tnoticeOperations.removeAllNotices();\n\t\t\tnoticeOperations.createErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\tconcat( existingImageBlocks, newBlocks ).sort(\n\t\t\t\t( a, b ) =>\n\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t)\n\t\t);\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? find( imageData, { id: block.attributes.id } )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? find( imageData, { id: block.attributes.id } )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some(\n\t\t( img ) => ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t);\n\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\taddToGallery={ hasImageIds }\n\t\t\thandleUpload={ false }\n\t\t\tisAppender={ hasImages }\n\t\t\tdisableMediaButtons={\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading\n\t\t\t}\n\t\t\ticon={ ! hasImages && sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: ! hasImages && __( 'Gallery' ),\n\t\t\t\tinstructions: ! hasImages && PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tvalue={ hasImageIds ? images : {} }\n\t\t\tonError={ onUploadError }\n\t\t\tnotices={ hasImages ? undefined : noticeUI }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Gallery settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image size' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ noticeUI }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={ mediaPlaceholder }\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/edit.js"],"names":["MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","setAttributes","attributes","className","clientId","noticeOperations","isSelected","noticeUI","insertBlocksAfter","columns","imageCrop","linkTarget","linkTo","shortCodeTransforms","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","blockEditorStore","createSuccessNotice","noticesStore","getBlock","getSettings","preferredStyle","select","settings","preferredStyleVariations","__experimentalPreferredStyleVariations","innerBlockImages","innerBlocks","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","shortCodeImages","updateImages","imageSizeOptions","existingBlock","image","newClassName","isValidFileType","file","some","mediaType","indexOf","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","every","removeAllNotices","createErrorNotice","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","find","img","newImageList","existingImg","newBlocks","caption","alt","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","toggleOpenInNewTab","openInNewTab","newLinkTarget","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","defaultProps","link","hasImages","length","hasImageIds","imagesUploading","mediaPlaceholder","sharedIcon","title","instructions","blockProps","hasLinkTo","Math","min","isWeb","withNotices","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { concat, find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useShortCodeTransform from './use-short-code-transform';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\n\n/**\n * Internal dependencies\n */\nimport useMobileWarning from './use-mobile-warning';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'ADD MEDIA' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tnoticeOperations,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tinsertBlocksAfter,\n\t} = props;\n\n\tconst {\n\t\tcolumns,\n\t\timageCrop,\n\t\tlinkTarget,\n\t\tlinkTo,\n\t\tshortCodeTransforms,\n\t\tsizeSlug,\n\t} = attributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, preferredStyle } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst preferredStyleVariations =\n\t\t\tsettings.__experimentalPreferredStyleVariations;\n\t\treturn {\n\t\t\tgetBlock: select( blockEditorStore ).getBlock,\n\t\t\tgetSettings: select( blockEditorStore ).getSettings,\n\t\t\tpreferredStyle: preferredStyleVariations?.value?.[ 'core/image' ],\n\t\t};\n\t}, [] );\n\n\tconst innerBlockImages = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).getBlock( clientId )?.innerBlocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseMobileWarning( newImages );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( false, newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst shortCodeImages = useShortCodeTransform( shortCodeTransforms );\n\n\tuseEffect( () => {\n\t\tif ( ! shortCodeTransforms || ! shortCodeImages ) {\n\t\t\treturn;\n\t\t}\n\t\tupdateImages( shortCodeImages );\n\t\tsetAttributes( { shortCodeTransforms: undefined } );\n\t}, [ shortCodeTransforms, shortCodeImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} existingBlock Existing Image block that still exists after gallery update.\n\t * @param {Object} image Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( existingBlock, image ) {\n\t\tif ( existingBlock ) {\n\t\t\treturn existingBlock.attributes;\n\t\t}\n\n\t\tlet newClassName;\n\t\tif ( image.className && image.className !== '' ) {\n\t\t\tnewClassName = image.className;\n\t\t} else {\n\t\t\tnewClassName = preferredStyle\n\t\t\t\t? `is-style-${ preferredStyle }`\n\t\t\t\t: undefined;\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination( image, linkTo ),\n\t\t\t...getUpdatedLinkTargetSettings( linkTarget, attributes ),\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => file.type?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tnoticeOperations.removeAllNotices();\n\t\t\tnoticeOperations.createErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\tconcat( existingImageBlocks, newBlocks ).sort(\n\t\t\t\t( a, b ) =>\n\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t)\n\t\t);\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? find( imageData, { id: block.attributes.id } )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? find( imageData, { id: block.attributes.id } )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some(\n\t\t( img ) => ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t);\n\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\taddToGallery={ hasImageIds }\n\t\t\thandleUpload={ false }\n\t\t\tisAppender={ hasImages }\n\t\t\tdisableMediaButtons={\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading\n\t\t\t}\n\t\t\ticon={ ! hasImages && sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: ! hasImages && __( 'Gallery' ),\n\t\t\t\tinstructions: ! hasImages && PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tvalue={ hasImageIds ? images : {} }\n\t\t\tonError={ onUploadError }\n\t\t\tnotices={ hasImages ? undefined : noticeUI }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Gallery settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image size' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ noticeUI }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={ mediaPlaceholder }\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"]}
@@ -16,7 +16,7 @@ var _notices = require("@wordpress/notices");
16
16
  /**
17
17
  * WordPress dependencies
18
18
  */
19
- function useMobileWarning() {
19
+ function useMobileWarning(newImages) {
20
20
  const {
21
21
  createWarningNotice
22
22
  } = (0, _data.useDispatch)(_notices.store);
@@ -30,7 +30,7 @@ function useMobileWarning() {
30
30
  return isFeatureActive('core/edit-post', 'mobileGalleryWarning');
31
31
  }, []);
32
32
 
33
- if (!isMobileWarningActive) {
33
+ if (!isMobileWarningActive || !newImages) {
34
34
  return;
35
35
  }
36
36
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/use-mobile-warning.js"],"names":["useMobileWarning","createWarningNotice","noticesStore","toggleFeature","interfaceStore","isMobileWarningActive","select","isFeatureActive","type","explicitDismiss"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AACA;;AANA;AACA;AACA;AAMe,SAASA,gBAAT,GAA4B;AAC1C,QAAM;AAAEC,IAAAA;AAAF,MAA0B,uBAAaC,cAAb,CAAhC;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAoB,uBAAaC,gBAAb,CAA1B;AACA,QAAMC,qBAAqB,GAAG,qBAAaC,MAAF,IAAc;AACtD,UAAM;AAAEC,MAAAA;AAAF,QAAsBD,MAAM,CAAEF,gBAAF,CAAlC;AACA,WAAOG,eAAe,CAAE,gBAAF,EAAoB,sBAApB,CAAtB;AACA,GAH6B,EAG3B,EAH2B,CAA9B;;AAKA,MAAK,CAAEF,qBAAP,EAA+B;AAC9B;AACA;;AAEDJ,EAAAA,mBAAmB,CAClB,cACC,mFADD,CADkB,EAIlB;AAAEO,IAAAA,IAAI,EAAE,UAAR;AAAoBC,IAAAA,eAAe,EAAE;AAArC,GAJkB,CAAnB;AAMAN,EAAAA,aAAa,CAAE,gBAAF,EAAoB,sBAApB,CAAb;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as noticesStore } from '@wordpress/notices';\n\nexport default function useMobileWarning() {\n\tconst { createWarningNotice } = useDispatch( noticesStore );\n\tconst { toggleFeature } = useDispatch( interfaceStore );\n\tconst isMobileWarningActive = useSelect( ( select ) => {\n\t\tconst { isFeatureActive } = select( interfaceStore );\n\t\treturn isFeatureActive( 'core/edit-post', 'mobileGalleryWarning' );\n\t}, [] );\n\n\tif ( ! isMobileWarningActive ) {\n\t\treturn;\n\t}\n\n\tcreateWarningNotice(\n\t\t__(\n\t\t\t'Editing this Gallery in the WordPress mobile app requires version 18.2 or higher.'\n\t\t),\n\t\t{ type: 'snackbar', explicitDismiss: true }\n\t);\n\ttoggleFeature( 'core/edit-post', 'mobileGalleryWarning' );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/use-mobile-warning.js"],"names":["useMobileWarning","newImages","createWarningNotice","noticesStore","toggleFeature","interfaceStore","isMobileWarningActive","select","isFeatureActive","type","explicitDismiss"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AACA;;AANA;AACA;AACA;AAMe,SAASA,gBAAT,CAA2BC,SAA3B,EAAuC;AACrD,QAAM;AAAEC,IAAAA;AAAF,MAA0B,uBAAaC,cAAb,CAAhC;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAoB,uBAAaC,gBAAb,CAA1B;AACA,QAAMC,qBAAqB,GAAG,qBAAaC,MAAF,IAAc;AACtD,UAAM;AAAEC,MAAAA;AAAF,QAAsBD,MAAM,CAAEF,gBAAF,CAAlC;AACA,WAAOG,eAAe,CAAE,gBAAF,EAAoB,sBAApB,CAAtB;AACA,GAH6B,EAG3B,EAH2B,CAA9B;;AAKA,MAAK,CAAEF,qBAAF,IAA2B,CAAEL,SAAlC,EAA8C;AAC7C;AACA;;AAEDC,EAAAA,mBAAmB,CAClB,cACC,mFADD,CADkB,EAIlB;AAAEO,IAAAA,IAAI,EAAE,UAAR;AAAoBC,IAAAA,eAAe,EAAE;AAArC,GAJkB,CAAnB;AAMAN,EAAAA,aAAa,CAAE,gBAAF,EAAoB,sBAApB,CAAb;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as noticesStore } from '@wordpress/notices';\n\nexport default function useMobileWarning( newImages ) {\n\tconst { createWarningNotice } = useDispatch( noticesStore );\n\tconst { toggleFeature } = useDispatch( interfaceStore );\n\tconst isMobileWarningActive = useSelect( ( select ) => {\n\t\tconst { isFeatureActive } = select( interfaceStore );\n\t\treturn isFeatureActive( 'core/edit-post', 'mobileGalleryWarning' );\n\t}, [] );\n\n\tif ( ! isMobileWarningActive || ! newImages ) {\n\t\treturn;\n\t}\n\n\tcreateWarningNotice(\n\t\t__(\n\t\t\t'Editing this Gallery in the WordPress mobile app requires version 18.2 or higher.'\n\t\t),\n\t\t{ type: 'snackbar', explicitDismiss: true }\n\t);\n\ttoggleFeature( 'core/edit-post', 'mobileGalleryWarning' );\n}\n"]}
@@ -42,7 +42,7 @@ const metadata = {
42
42
  "default": "div"
43
43
  },
44
44
  templateLock: {
45
- type: "string",
45
+ type: ["string", "boolean"],
46
46
  "enum": ["all", "insert", false]
47
47
  }
48
48
  },
@@ -60,7 +60,7 @@ const ExistingMenusDropdown = ({
60
60
  }, ({
61
61
  onClose
62
62
  }) => (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.MenuGroup, {
63
- label: "Menus"
63
+ label: (0, _i18n.__)('Menus')
64
64
  }, canSwitchNavigationMenu && navigationMenus.map(menu => {
65
65
  return (0, _element.createElement)(_components.MenuItem, {
66
66
  onClick: () => {
@@ -71,7 +71,7 @@ const ExistingMenusDropdown = ({
71
71
  key: menu.id
72
72
  }, menu.title.rendered);
73
73
  })), (0, _element.createElement)(_components.MenuGroup, {
74
- label: "Classic Menus"
74
+ label: (0, _i18n.__)('Classic Menus')
75
75
  }, menus.map(menu => {
76
76
  return (0, _element.createElement)(_components.MenuItem, {
77
77
  onClick: () => {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/placeholder/index.js"],"names":["ExistingMenusDropdown","canSwitchNavigationMenu","navigationMenus","setSelectedMenu","onFinish","menus","onCreateFromMenu","toggleProps","variant","className","chevronDown","isAlternate","onClose","map","menu","id","title","rendered","name","NavigationPlaceholder","hasResolvedNavigationMenus","selectedMenu","isCreatingFromMenu","setIsCreatingFromMenu","menuName","setMenuName","isNewMenuModalVisible","setIsNewMenuModalVisible","createEmpty","setCreateEmpty","saveEntityRecord","coreStore","createNavigationMenu","blocks","record","content","status","navigationMenu","serialize","onFinishMenuCreation","navigationMenuTitle","isResolvingPages","isResolvingMenus","menuItems","hasResolvedMenuItems","hasPages","hasMenus","isStillLoading","createFromMenu","innerBlocks","menuItemsToBlocks","onCreateEmptyMenu","onCreateAllPages","block","navigation","length","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { serialize, createBlock } from '@wordpress/blocks';\nimport {\n\tPlaceholder,\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { useCallback, useState, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, chevronDown, Icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\n\nimport useNavigationEntities from '../../use-navigation-entities';\nimport PlaceholderPreview from './placeholder-preview';\nimport menuItemsToBlocks from '../../menu-items-to-blocks';\nimport NavigationMenuNameModal from '../navigation-menu-name-modal';\nimport useNavigationMenu from '../../use-navigation-menu';\n\nconst ExistingMenusDropdown = ( {\n\tcanSwitchNavigationMenu,\n\tnavigationMenus,\n\tsetSelectedMenu,\n\tonFinish,\n\tmenus,\n\tonCreateFromMenu,\n} ) => {\n\tconst toggleProps = {\n\t\tvariant: 'primary',\n\t\tclassName: 'wp-block-navigation-placeholder__actions__dropdown',\n\t};\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttext={ __( 'Select existing menu' ) }\n\t\t\ticon={ chevronDown }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tpopoverProps={ { isAlternate: true } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup label=\"Menus\">\n\t\t\t\t\t\t{ canSwitchNavigationMenu &&\n\t\t\t\t\t\t\tnavigationMenus.map( ( menu ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetSelectedMenu( menu.id );\n\t\t\t\t\t\t\t\t\t\t\tonFinish( menu );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ menu.title.rendered }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t<MenuGroup label=\"Classic Menus\">\n\t\t\t\t\t\t{ menus.map( ( menu ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetSelectedMenu( menu.id );\n\t\t\t\t\t\t\t\t\t\tonCreateFromMenu( menu.name );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ menu.name }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n};\n\nexport default function NavigationPlaceholder( {\n\tonFinish,\n\tcanSwitchNavigationMenu,\n\thasResolvedNavigationMenus,\n} ) {\n\tconst [ selectedMenu, setSelectedMenu ] = useState();\n\n\tconst [ isCreatingFromMenu, setIsCreatingFromMenu ] = useState( false );\n\n\tconst [ menuName, setMenuName ] = useState( '' );\n\n\tconst [ isNewMenuModalVisible, setIsNewMenuModalVisible ] = useState(\n\t\tfalse\n\t);\n\n\tconst [ createEmpty, setCreateEmpty ] = useState( false );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t// This callback uses data from the two placeholder steps and only creates\n\t// a new navigation menu when the user completes the final step.\n\tconst createNavigationMenu = useCallback(\n\t\tasync ( title = __( 'Untitled Navigation Menu' ), blocks = [] ) => {\n\t\t\tconst record = {\n\t\t\t\ttitle,\n\t\t\t\tcontent: serialize( blocks ),\n\t\t\t\tstatus: 'publish',\n\t\t\t};\n\n\t\t\tconst navigationMenu = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\trecord\n\t\t\t);\n\n\t\t\treturn navigationMenu;\n\t\t},\n\t\t[ serialize, saveEntityRecord ]\n\t);\n\n\tconst onFinishMenuCreation = async ( navigationMenuTitle, blocks ) => {\n\t\tconst navigationMenu = await createNavigationMenu(\n\t\t\tnavigationMenuTitle,\n\t\t\tblocks\n\t\t);\n\t\tonFinish( navigationMenu );\n\t};\n\n\tconst {\n\t\tisResolvingPages,\n\t\tmenus,\n\t\tisResolvingMenus,\n\t\tmenuItems,\n\t\thasResolvedMenuItems,\n\t\thasPages,\n\t\thasMenus,\n\t} = useNavigationEntities( selectedMenu );\n\n\tconst isStillLoading = isResolvingPages || isResolvingMenus;\n\n\tconst createFromMenu = useCallback(\n\t\t( name ) => {\n\t\t\tconst { innerBlocks: blocks } = menuItemsToBlocks( menuItems );\n\t\t\tonFinishMenuCreation( name, blocks );\n\t\t},\n\t\t[ menuItems, menuItemsToBlocks, onFinish ]\n\t);\n\n\tconst onCreateFromMenu = ( name ) => {\n\t\t// If we have menu items, create the block right away.\n\t\tif ( hasResolvedMenuItems ) {\n\t\t\tcreateFromMenu( name );\n\t\t\treturn;\n\t\t}\n\n\t\t// Otherwise, create the block when resolution finishes.\n\t\tsetIsCreatingFromMenu( true );\n\t\t// Store the name to use later.\n\t\tsetMenuName( name );\n\t};\n\n\tconst onCreateEmptyMenu = ( name ) => {\n\t\tonFinishMenuCreation( name, [] );\n\t};\n\n\tconst onCreateAllPages = ( name ) => {\n\t\tconst block = [ createBlock( 'core/page-list' ) ];\n\t\tonFinishMenuCreation( name, block );\n\t\tsetIsNewMenuModalVisible( true );\n\t};\n\n\tuseEffect( () => {\n\t\t// If the user selected a menu but we had to wait for menu items to\n\t\t// finish resolving, then create the block once resolution finishes.\n\t\tif ( isCreatingFromMenu && hasResolvedMenuItems ) {\n\t\t\tcreateFromMenu( menuName );\n\t\t\tsetIsCreatingFromMenu( false );\n\t\t}\n\t}, [ isCreatingFromMenu, hasResolvedMenuItems, menuName ] );\n\n\tconst { navigationMenus } = useNavigationMenu();\n\n\treturn (\n\t\t<>\n\t\t\t{ ( ! hasResolvedNavigationMenus || isStillLoading ) && (\n\t\t\t\t<PlaceholderPreview isLoading />\n\t\t\t) }\n\t\t\t{ hasResolvedNavigationMenus && ! isStillLoading && (\n\t\t\t\t<Placeholder className=\"wp-block-navigation-placeholder\">\n\t\t\t\t\t<PlaceholderPreview />\n\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__controls\">\n\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions\">\n\t\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions__indicator\">\n\t\t\t\t\t\t\t\t<Icon icon={ navigation } />{ ' ' }\n\t\t\t\t\t\t\t\t{ __( 'Navigation' ) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ hasMenus || navigationMenus.length ? (\n\t\t\t\t\t\t\t\t<ExistingMenusDropdown\n\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu={\n\t\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\t\t\t\tsetSelectedMenu={ setSelectedMenu }\n\t\t\t\t\t\t\t\t\tonFinish={ onFinish }\n\t\t\t\t\t\t\t\t\tmenus={ menus }\n\t\t\t\t\t\t\t\t\tonCreateFromMenu={ onCreateFromMenu }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : undefined }\n\t\t\t\t\t\t\t{ hasPages ? (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\thasMenus || canSwitchNavigationMenu\n\t\t\t\t\t\t\t\t\t\t\t? 'tertiary'\n\t\t\t\t\t\t\t\t\t\t\t: 'primary'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsNewMenuModalVisible( true );\n\t\t\t\t\t\t\t\t\t\tsetCreateEmpty( false );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Add all pages' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) : undefined }\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetIsNewMenuModalVisible( true );\n\t\t\t\t\t\t\t\t\tsetCreateEmpty( true );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Start empty' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ isNewMenuModalVisible && (\n\t\t\t\t<NavigationMenuNameModal\n\t\t\t\t\ttitle={ __( 'Create your new navigation menu' ) }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsNewMenuModalVisible( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonFinish={\n\t\t\t\t\t\tcreateEmpty ? onCreateEmptyMenu : onCreateAllPages\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/placeholder/index.js"],"names":["ExistingMenusDropdown","canSwitchNavigationMenu","navigationMenus","setSelectedMenu","onFinish","menus","onCreateFromMenu","toggleProps","variant","className","chevronDown","isAlternate","onClose","map","menu","id","title","rendered","name","NavigationPlaceholder","hasResolvedNavigationMenus","selectedMenu","isCreatingFromMenu","setIsCreatingFromMenu","menuName","setMenuName","isNewMenuModalVisible","setIsNewMenuModalVisible","createEmpty","setCreateEmpty","saveEntityRecord","coreStore","createNavigationMenu","blocks","record","content","status","navigationMenu","serialize","onFinishMenuCreation","navigationMenuTitle","isResolvingPages","isResolvingMenus","menuItems","hasResolvedMenuItems","hasPages","hasMenus","isStillLoading","createFromMenu","innerBlocks","menuItemsToBlocks","onCreateEmptyMenu","onCreateAllPages","block","navigation","length","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { serialize, createBlock } from '@wordpress/blocks';\nimport {\n\tPlaceholder,\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { useCallback, useState, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, chevronDown, Icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\n\nimport useNavigationEntities from '../../use-navigation-entities';\nimport PlaceholderPreview from './placeholder-preview';\nimport menuItemsToBlocks from '../../menu-items-to-blocks';\nimport NavigationMenuNameModal from '../navigation-menu-name-modal';\nimport useNavigationMenu from '../../use-navigation-menu';\n\nconst ExistingMenusDropdown = ( {\n\tcanSwitchNavigationMenu,\n\tnavigationMenus,\n\tsetSelectedMenu,\n\tonFinish,\n\tmenus,\n\tonCreateFromMenu,\n} ) => {\n\tconst toggleProps = {\n\t\tvariant: 'primary',\n\t\tclassName: 'wp-block-navigation-placeholder__actions__dropdown',\n\t};\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttext={ __( 'Select existing menu' ) }\n\t\t\ticon={ chevronDown }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tpopoverProps={ { isAlternate: true } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t{ canSwitchNavigationMenu &&\n\t\t\t\t\t\t\tnavigationMenus.map( ( menu ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetSelectedMenu( menu.id );\n\t\t\t\t\t\t\t\t\t\t\tonFinish( menu );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ menu.title.rendered }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t<MenuGroup label={ __( 'Classic Menus' ) }>\n\t\t\t\t\t\t{ menus.map( ( menu ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetSelectedMenu( menu.id );\n\t\t\t\t\t\t\t\t\t\tonCreateFromMenu( menu.name );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ menu.name }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n};\n\nexport default function NavigationPlaceholder( {\n\tonFinish,\n\tcanSwitchNavigationMenu,\n\thasResolvedNavigationMenus,\n} ) {\n\tconst [ selectedMenu, setSelectedMenu ] = useState();\n\n\tconst [ isCreatingFromMenu, setIsCreatingFromMenu ] = useState( false );\n\n\tconst [ menuName, setMenuName ] = useState( '' );\n\n\tconst [ isNewMenuModalVisible, setIsNewMenuModalVisible ] = useState(\n\t\tfalse\n\t);\n\n\tconst [ createEmpty, setCreateEmpty ] = useState( false );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t// This callback uses data from the two placeholder steps and only creates\n\t// a new navigation menu when the user completes the final step.\n\tconst createNavigationMenu = useCallback(\n\t\tasync ( title = __( 'Untitled Navigation Menu' ), blocks = [] ) => {\n\t\t\tconst record = {\n\t\t\t\ttitle,\n\t\t\t\tcontent: serialize( blocks ),\n\t\t\t\tstatus: 'publish',\n\t\t\t};\n\n\t\t\tconst navigationMenu = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\trecord\n\t\t\t);\n\n\t\t\treturn navigationMenu;\n\t\t},\n\t\t[ serialize, saveEntityRecord ]\n\t);\n\n\tconst onFinishMenuCreation = async ( navigationMenuTitle, blocks ) => {\n\t\tconst navigationMenu = await createNavigationMenu(\n\t\t\tnavigationMenuTitle,\n\t\t\tblocks\n\t\t);\n\t\tonFinish( navigationMenu );\n\t};\n\n\tconst {\n\t\tisResolvingPages,\n\t\tmenus,\n\t\tisResolvingMenus,\n\t\tmenuItems,\n\t\thasResolvedMenuItems,\n\t\thasPages,\n\t\thasMenus,\n\t} = useNavigationEntities( selectedMenu );\n\n\tconst isStillLoading = isResolvingPages || isResolvingMenus;\n\n\tconst createFromMenu = useCallback(\n\t\t( name ) => {\n\t\t\tconst { innerBlocks: blocks } = menuItemsToBlocks( menuItems );\n\t\t\tonFinishMenuCreation( name, blocks );\n\t\t},\n\t\t[ menuItems, menuItemsToBlocks, onFinish ]\n\t);\n\n\tconst onCreateFromMenu = ( name ) => {\n\t\t// If we have menu items, create the block right away.\n\t\tif ( hasResolvedMenuItems ) {\n\t\t\tcreateFromMenu( name );\n\t\t\treturn;\n\t\t}\n\n\t\t// Otherwise, create the block when resolution finishes.\n\t\tsetIsCreatingFromMenu( true );\n\t\t// Store the name to use later.\n\t\tsetMenuName( name );\n\t};\n\n\tconst onCreateEmptyMenu = ( name ) => {\n\t\tonFinishMenuCreation( name, [] );\n\t};\n\n\tconst onCreateAllPages = ( name ) => {\n\t\tconst block = [ createBlock( 'core/page-list' ) ];\n\t\tonFinishMenuCreation( name, block );\n\t\tsetIsNewMenuModalVisible( true );\n\t};\n\n\tuseEffect( () => {\n\t\t// If the user selected a menu but we had to wait for menu items to\n\t\t// finish resolving, then create the block once resolution finishes.\n\t\tif ( isCreatingFromMenu && hasResolvedMenuItems ) {\n\t\t\tcreateFromMenu( menuName );\n\t\t\tsetIsCreatingFromMenu( false );\n\t\t}\n\t}, [ isCreatingFromMenu, hasResolvedMenuItems, menuName ] );\n\n\tconst { navigationMenus } = useNavigationMenu();\n\n\treturn (\n\t\t<>\n\t\t\t{ ( ! hasResolvedNavigationMenus || isStillLoading ) && (\n\t\t\t\t<PlaceholderPreview isLoading />\n\t\t\t) }\n\t\t\t{ hasResolvedNavigationMenus && ! isStillLoading && (\n\t\t\t\t<Placeholder className=\"wp-block-navigation-placeholder\">\n\t\t\t\t\t<PlaceholderPreview />\n\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__controls\">\n\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions\">\n\t\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions__indicator\">\n\t\t\t\t\t\t\t\t<Icon icon={ navigation } />{ ' ' }\n\t\t\t\t\t\t\t\t{ __( 'Navigation' ) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ hasMenus || navigationMenus.length ? (\n\t\t\t\t\t\t\t\t<ExistingMenusDropdown\n\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu={\n\t\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\t\t\t\tsetSelectedMenu={ setSelectedMenu }\n\t\t\t\t\t\t\t\t\tonFinish={ onFinish }\n\t\t\t\t\t\t\t\t\tmenus={ menus }\n\t\t\t\t\t\t\t\t\tonCreateFromMenu={ onCreateFromMenu }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : undefined }\n\t\t\t\t\t\t\t{ hasPages ? (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\thasMenus || canSwitchNavigationMenu\n\t\t\t\t\t\t\t\t\t\t\t? 'tertiary'\n\t\t\t\t\t\t\t\t\t\t\t: 'primary'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsNewMenuModalVisible( true );\n\t\t\t\t\t\t\t\t\t\tsetCreateEmpty( false );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Add all pages' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) : undefined }\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetIsNewMenuModalVisible( true );\n\t\t\t\t\t\t\t\t\tsetCreateEmpty( true );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Start empty' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ isNewMenuModalVisible && (\n\t\t\t\t<NavigationMenuNameModal\n\t\t\t\t\ttitle={ __( 'Create your new navigation menu' ) }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsNewMenuModalVisible( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonFinish={\n\t\t\t\t\t\tcreateEmpty ? onCreateEmptyMenu : onCreateAllPages\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -72,8 +72,7 @@ function ResponsiveWrapper({
72
72
  height: "1.5"
73
73
  }))), (0, _element.createElement)("div", {
74
74
  className: responsiveContainerClasses,
75
- id: modalId,
76
- "aria-hidden": !isOpen
75
+ id: modalId
77
76
  }, (0, _element.createElement)("div", {
78
77
  className: "wp-block-navigation__responsive-close",
79
78
  tabIndex: "-1"
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/responsive-wrapper.js"],"names":["ResponsiveWrapper","children","id","isOpen","isResponsive","onToggle","isHiddenByDefault","responsiveContainerClasses","openButtonClasses","modalId","close"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;AAMe,SAASA,iBAAT,CAA4B;AAC1CC,EAAAA,QAD0C;AAE1CC,EAAAA,EAF0C;AAG1CC,EAAAA,MAH0C;AAI1CC,EAAAA,YAJ0C;AAK1CC,EAAAA,QAL0C;AAM1CC,EAAAA;AAN0C,CAA5B,EAOX;AACH,MAAK,CAAEF,YAAP,EAAsB;AACrB,WAAOH,QAAP;AACA;;AACD,QAAMM,0BAA0B,GAAG,yBAClC,2CADkC,EAElC;AACC,oBAAgBJ,MADjB;AAEC,yBAAqBG;AAFtB,GAFkC,CAAnC;AAOA,QAAME,iBAAiB,GAAG,yBACzB,gDADyB,EAEzB;AAAE,oBAAgBF;AAAlB,GAFyB,CAA1B;AAKA,QAAMG,OAAO,GAAI,GAAGP,EAAI,QAAxB;AAEA,SACC,qDACG,CAAEC,MAAF,IACD,4BAAC,kBAAD;AACC,qBAAc,MADf;AAEC,qBAAgBA,MAFjB;AAGC,kBAAa,cAAI,WAAJ,CAHd;AAIC,IAAA,SAAS,EAAGK,iBAJb;AAKC,IAAA,OAAO,EAAG,MAAMH,QAAQ,CAAE,IAAF;AALzB,KAOC,4BAAC,eAAD;AACC,IAAA,KAAK,EAAC,4BADP;AAEC,IAAA,OAAO,EAAC,WAFT;AAGC,IAAA,KAAK,EAAC,IAHP;AAIC,IAAA,MAAM,EAAC,IAJR;AAKC,IAAA,IAAI,EAAC,KALN;AAMC,mBAAY,MANb;AAOC,IAAA,SAAS,EAAC;AAPX,KASC,4BAAC,gBAAD;AAAM,IAAA,CAAC,EAAC,GAAR;AAAY,IAAA,CAAC,EAAC,KAAd;AAAoB,IAAA,KAAK,EAAC,IAA1B;AAA+B,IAAA,MAAM,EAAC;AAAtC,IATD,EAUC,4BAAC,gBAAD;AAAM,IAAA,CAAC,EAAC,GAAR;AAAY,IAAA,CAAC,EAAC,IAAd;AAAmB,IAAA,KAAK,EAAC,IAAzB;AAA8B,IAAA,MAAM,EAAC;AAArC,IAVD,CAPD,CAFF,EAwBC;AACC,IAAA,SAAS,EAAGE,0BADb;AAEC,IAAA,EAAE,EAAGE,OAFN;AAGC,mBAAc,CAAEN;AAHjB,KAKC;AACC,IAAA,SAAS,EAAC,uCADX;AAEC,IAAA,QAAQ,EAAC;AAFV,KAIC;AACC,IAAA,SAAS,EAAC,wCADX;AAEC,IAAA,IAAI,EAAC,QAFN;AAGC,kBAAW,MAHZ;AAIC,uBAAmB,GAAGM,OAAS;AAJhC,KAMC,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAC,iDADX;AAEC,kBAAa,cAAI,YAAJ,CAFd;AAGC,IAAA,OAAO,EAAG,MAAMJ,QAAQ,CAAE,KAAF;AAHzB,KAKC,4BAAC,WAAD;AAAM,IAAA,IAAI,EAAGK;AAAb,IALD,CAND,EAaC;AACC,IAAA,SAAS,EAAC,mDADX;AAEC,IAAA,EAAE,EAAI,GAAGD,OAAS;AAFnB,KAIGR,QAJH,CAbD,CAJD,CALD,CAxBD,CADD;AA0DA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { close, Icon } from '@wordpress/icons';\nimport { Button } from '@wordpress/components';\nimport { SVG, Rect } from '@wordpress/primitives';\nimport { __ } from '@wordpress/i18n';\n\nexport default function ResponsiveWrapper( {\n\tchildren,\n\tid,\n\tisOpen,\n\tisResponsive,\n\tonToggle,\n\tisHiddenByDefault,\n} ) {\n\tif ( ! isResponsive ) {\n\t\treturn children;\n\t}\n\tconst responsiveContainerClasses = classnames(\n\t\t'wp-block-navigation__responsive-container',\n\t\t{\n\t\t\t'is-menu-open': isOpen,\n\t\t\t'hidden-by-default': isHiddenByDefault,\n\t\t}\n\t);\n\tconst openButtonClasses = classnames(\n\t\t'wp-block-navigation__responsive-container-open',\n\t\t{ 'always-shown': isHiddenByDefault }\n\t);\n\n\tconst modalId = `${ id }-modal`;\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isOpen && (\n\t\t\t\t<Button\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-label={ __( 'Open menu' ) }\n\t\t\t\t\tclassName={ openButtonClasses }\n\t\t\t\t\tonClick={ () => onToggle( true ) }\n\t\t\t\t>\n\t\t\t\t\t<SVG\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\twidth=\"24\"\n\t\t\t\t\t\theight=\"24\"\n\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tfocusable=\"false\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Rect x=\"4\" y=\"7.5\" width=\"16\" height=\"1.5\" />\n\t\t\t\t\t\t<Rect x=\"4\" y=\"15\" width=\"16\" height=\"1.5\" />\n\t\t\t\t\t</SVG>\n\t\t\t\t</Button>\n\t\t\t) }\n\n\t\t\t<div\n\t\t\t\tclassName={ responsiveContainerClasses }\n\t\t\t\tid={ modalId }\n\t\t\t\taria-hidden={ ! isOpen }\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"wp-block-navigation__responsive-close\"\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"wp-block-navigation__responsive-dialog\"\n\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\taria-labelledby={ `${ modalId }-title` }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation__responsive-container-close\"\n\t\t\t\t\t\t\taria-label={ __( 'Close menu' ) }\n\t\t\t\t\t\t\tonClick={ () => onToggle( false ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation__responsive-container-content\"\n\t\t\t\t\t\t\tid={ `${ modalId }-content` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/responsive-wrapper.js"],"names":["ResponsiveWrapper","children","id","isOpen","isResponsive","onToggle","isHiddenByDefault","responsiveContainerClasses","openButtonClasses","modalId","close"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;AAMe,SAASA,iBAAT,CAA4B;AAC1CC,EAAAA,QAD0C;AAE1CC,EAAAA,EAF0C;AAG1CC,EAAAA,MAH0C;AAI1CC,EAAAA,YAJ0C;AAK1CC,EAAAA,QAL0C;AAM1CC,EAAAA;AAN0C,CAA5B,EAOX;AACH,MAAK,CAAEF,YAAP,EAAsB;AACrB,WAAOH,QAAP;AACA;;AACD,QAAMM,0BAA0B,GAAG,yBAClC,2CADkC,EAElC;AACC,oBAAgBJ,MADjB;AAEC,yBAAqBG;AAFtB,GAFkC,CAAnC;AAOA,QAAME,iBAAiB,GAAG,yBACzB,gDADyB,EAEzB;AAAE,oBAAgBF;AAAlB,GAFyB,CAA1B;AAKA,QAAMG,OAAO,GAAI,GAAGP,EAAI,QAAxB;AAEA,SACC,qDACG,CAAEC,MAAF,IACD,4BAAC,kBAAD;AACC,qBAAc,MADf;AAEC,qBAAgBA,MAFjB;AAGC,kBAAa,cAAI,WAAJ,CAHd;AAIC,IAAA,SAAS,EAAGK,iBAJb;AAKC,IAAA,OAAO,EAAG,MAAMH,QAAQ,CAAE,IAAF;AALzB,KAOC,4BAAC,eAAD;AACC,IAAA,KAAK,EAAC,4BADP;AAEC,IAAA,OAAO,EAAC,WAFT;AAGC,IAAA,KAAK,EAAC,IAHP;AAIC,IAAA,MAAM,EAAC,IAJR;AAKC,IAAA,IAAI,EAAC,KALN;AAMC,mBAAY,MANb;AAOC,IAAA,SAAS,EAAC;AAPX,KASC,4BAAC,gBAAD;AAAM,IAAA,CAAC,EAAC,GAAR;AAAY,IAAA,CAAC,EAAC,KAAd;AAAoB,IAAA,KAAK,EAAC,IAA1B;AAA+B,IAAA,MAAM,EAAC;AAAtC,IATD,EAUC,4BAAC,gBAAD;AAAM,IAAA,CAAC,EAAC,GAAR;AAAY,IAAA,CAAC,EAAC,IAAd;AAAmB,IAAA,KAAK,EAAC,IAAzB;AAA8B,IAAA,MAAM,EAAC;AAArC,IAVD,CAPD,CAFF,EAwBC;AAAK,IAAA,SAAS,EAAGE,0BAAjB;AAA8C,IAAA,EAAE,EAAGE;AAAnD,KACC;AACC,IAAA,SAAS,EAAC,uCADX;AAEC,IAAA,QAAQ,EAAC;AAFV,KAIC;AACC,IAAA,SAAS,EAAC,wCADX;AAEC,IAAA,IAAI,EAAC,QAFN;AAGC,kBAAW,MAHZ;AAIC,uBAAmB,GAAGA,OAAS;AAJhC,KAMC,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAC,iDADX;AAEC,kBAAa,cAAI,YAAJ,CAFd;AAGC,IAAA,OAAO,EAAG,MAAMJ,QAAQ,CAAE,KAAF;AAHzB,KAKC,4BAAC,WAAD;AAAM,IAAA,IAAI,EAAGK;AAAb,IALD,CAND,EAaC;AACC,IAAA,SAAS,EAAC,mDADX;AAEC,IAAA,EAAE,EAAI,GAAGD,OAAS;AAFnB,KAIGR,QAJH,CAbD,CAJD,CADD,CAxBD,CADD;AAsDA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { close, Icon } from '@wordpress/icons';\nimport { Button } from '@wordpress/components';\nimport { SVG, Rect } from '@wordpress/primitives';\nimport { __ } from '@wordpress/i18n';\n\nexport default function ResponsiveWrapper( {\n\tchildren,\n\tid,\n\tisOpen,\n\tisResponsive,\n\tonToggle,\n\tisHiddenByDefault,\n} ) {\n\tif ( ! isResponsive ) {\n\t\treturn children;\n\t}\n\tconst responsiveContainerClasses = classnames(\n\t\t'wp-block-navigation__responsive-container',\n\t\t{\n\t\t\t'is-menu-open': isOpen,\n\t\t\t'hidden-by-default': isHiddenByDefault,\n\t\t}\n\t);\n\tconst openButtonClasses = classnames(\n\t\t'wp-block-navigation__responsive-container-open',\n\t\t{ 'always-shown': isHiddenByDefault }\n\t);\n\n\tconst modalId = `${ id }-modal`;\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isOpen && (\n\t\t\t\t<Button\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-label={ __( 'Open menu' ) }\n\t\t\t\t\tclassName={ openButtonClasses }\n\t\t\t\t\tonClick={ () => onToggle( true ) }\n\t\t\t\t>\n\t\t\t\t\t<SVG\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\twidth=\"24\"\n\t\t\t\t\t\theight=\"24\"\n\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tfocusable=\"false\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Rect x=\"4\" y=\"7.5\" width=\"16\" height=\"1.5\" />\n\t\t\t\t\t\t<Rect x=\"4\" y=\"15\" width=\"16\" height=\"1.5\" />\n\t\t\t\t\t</SVG>\n\t\t\t\t</Button>\n\t\t\t) }\n\n\t\t\t<div className={ responsiveContainerClasses } id={ modalId }>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"wp-block-navigation__responsive-close\"\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"wp-block-navigation__responsive-dialog\"\n\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\taria-labelledby={ `${ modalId }-title` }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation__responsive-container-close\"\n\t\t\t\t\t\t\taria-label={ __( 'Close menu' ) }\n\t\t\t\t\t\t\tonClick={ () => onToggle( false ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation__responsive-container-content\"\n\t\t\t\t\t\t\tid={ `${ modalId }-content` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -127,7 +127,8 @@ const metadata = {
127
127
  allowSwitching: false,
128
128
  allowInheriting: false,
129
129
  "default": {
130
- type: "flex"
130
+ type: "flex",
131
+ setCascadingProperties: true
131
132
  }
132
133
  }
133
134
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/index.js"],"names":["name","metadata","settings","icon","example","innerBlocks","attributes","label","url","edit","save","deprecated"],"mappings":";;;;;;;;;AAGA;;AACA;;AAMA;;AACA;;AACA;;AAZA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,iBADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,WAAW,EAAE,CACZ;AACCL,MAAAA,IAAI,EAAE,sBADP;AAECM,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAE,cAAI,MAAJ,CAFI;AAGXC,QAAAA,GAAG,EAAE;AAHM;AAFb,KADY,EASZ;AACCR,MAAAA,IAAI,EAAE,sBADP;AAECM,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAE,cAAI,OAAJ,CAFI;AAGXC,QAAAA,GAAG,EAAE;AAHM;AAFb,KATY,EAiBZ;AACCR,MAAAA,IAAI,EAAE,sBADP;AAECM,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAE,cAAI,SAAJ,CAFI;AAGXC,QAAAA,GAAG,EAAE;AAHM;AAFb,KAjBY;AADL,GAFc;AA8BvBC,EAAAA,IAAI,EAAJA,aA9BuB;AA+BvBC,EAAAA,IAAI,EAAJA,aA/BuB;AAgCvBC,EAAAA,UAAU,EAAVA;AAhCuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { navigation as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Home' as in a website's home page.\n\t\t\t\t\tlabel: __( 'Home' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'About' as in a website's about page.\n\t\t\t\t\tlabel: __( 'About' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Contact' as in a website's contact page.\n\t\t\t\t\tlabel: __( 'Contact' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/index.js"],"names":["name","metadata","settings","icon","example","innerBlocks","attributes","label","url","edit","save","deprecated"],"mappings":";;;;;;;;;AAGA;;AACA;;AAMA;;AACA;;AACA;;AAZA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,iBADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,WAAW,EAAE,CACZ;AACCL,MAAAA,IAAI,EAAE,sBADP;AAECM,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAE,cAAI,MAAJ,CAFI;AAGXC,QAAAA,GAAG,EAAE;AAHM;AAFb,KADY,EASZ;AACCR,MAAAA,IAAI,EAAE,sBADP;AAECM,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAE,cAAI,OAAJ,CAFI;AAGXC,QAAAA,GAAG,EAAE;AAHM;AAFb,KATY,EAiBZ;AACCR,MAAAA,IAAI,EAAE,sBADP;AAECM,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAE,cAAI,SAAJ,CAFI;AAGXC,QAAAA,GAAG,EAAE;AAHM;AAFb,KAjBY;AADL,GAFc;AA8BvBC,EAAAA,IAAI,EAAJA,aA9BuB;AA+BvBC,EAAAA,IAAI,EAAJA,aA/BuB;AAgCvBC,EAAAA,UAAU,EAAVA;AAhCuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { navigation as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Home' as in a website's home page.\n\t\t\t\t\tlabel: __( 'Home' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'About' as in a website's about page.\n\t\t\t\t\tlabel: __( 'About' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Contact' as in a website's contact page.\n\t\t\t\t\tlabel: __( 'Contact' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n};\n"]}
@@ -47,35 +47,38 @@ function toggleSubmenuOnClick(event) {
47
47
 
48
48
  buttonToggle.setAttribute('aria-expanded', 'true');
49
49
  }
50
- }
50
+ } // Necessary for some themes such as TT1 Blocks, where
51
+ // scripts could be loaded before the body.
51
52
 
52
- const submenuButtons = document.querySelectorAll('.wp-block-navigation-submenu__toggle');
53
- submenuButtons.forEach(function (button) {
54
- button.addEventListener('click', toggleSubmenuOnClick);
55
- }); // Close on click outside.
56
53
 
57
- document.addEventListener('click', function (event) {
58
- const navigationBlocks = document.querySelectorAll('.wp-block-navigation');
59
- navigationBlocks.forEach(function (block) {
60
- if (!block.contains(event.target)) {
61
- closeSubmenus(block);
62
- }
54
+ window.onload = () => {
55
+ _micromodal.default.init({
56
+ onShow: navigationToggleModal,
57
+ onClose: navigationToggleModal,
58
+ openClass: 'is-menu-open'
63
59
  });
64
- }); // Close on focus outside.
65
60
 
66
- document.addEventListener('keyup', function (event) {
67
- const submenuBlocks = document.querySelectorAll('.wp-block-navigation-item.has-child');
68
- submenuBlocks.forEach(function (block) {
69
- if (!block.contains(event.target)) {
70
- closeSubmenus(block);
71
- }
72
- });
73
- }); // Necessary for some themes such as TT1 Blocks, where
74
- // scripts could be loaded before the body.
61
+ const submenuButtons = document.querySelectorAll('.wp-block-navigation-submenu__toggle');
62
+ submenuButtons.forEach(function (button) {
63
+ button.addEventListener('click', toggleSubmenuOnClick);
64
+ }); // Close on click outside.
75
65
 
76
- window.onload = () => _micromodal.default.init({
77
- onShow: navigationToggleModal,
78
- onClose: navigationToggleModal,
79
- openClass: 'is-menu-open'
80
- });
66
+ document.addEventListener('click', function (event) {
67
+ const navigationBlocks = document.querySelectorAll('.wp-block-navigation');
68
+ navigationBlocks.forEach(function (block) {
69
+ if (!block.contains(event.target)) {
70
+ closeSubmenus(block);
71
+ }
72
+ });
73
+ }); // Close on focus outside.
74
+
75
+ document.addEventListener('keyup', function (event) {
76
+ const submenuBlocks = document.querySelectorAll('.wp-block-navigation-item.has-child');
77
+ submenuBlocks.forEach(function (block) {
78
+ if (!block.contains(event.target)) {
79
+ closeSubmenus(block);
80
+ }
81
+ });
82
+ });
83
+ };
81
84
  //# sourceMappingURL=view.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/view.js"],"names":["navigationToggleModal","modal","triggerButton","document","querySelector","id","closeButton","isHidden","getAttribute","setAttribute","classList","toggle","htmlElement","documentElement","closeSubmenus","element","querySelectorAll","forEach","toggleSubmenuOnClick","event","buttonToggle","target","closest","isSubmenuOpen","parentElement","navigationParent","child","submenuButtons","button","addEventListener","navigationBlocks","block","contains","submenuBlocks","window","onload","MicroModal","init","onShow","onClose","openClass"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport MicroModal from 'micromodal';\n\n// Responsive navigation toggle.\nfunction navigationToggleModal( modal ) {\n\tconst triggerButton = document.querySelector(\n\t\t`button[data-micromodal-trigger=\"${ modal.id }\"]`\n\t);\n\tconst closeButton = modal.querySelector( 'button[data-micromodal-close]' );\n\t// Use aria-hidden to determine the status of the modal, as this attribute is\n\t// managed by micromodal.\n\tconst isHidden = 'true' === modal.getAttribute( 'aria-hidden' );\n\ttriggerButton.setAttribute( 'aria-expanded', ! isHidden );\n\tcloseButton.setAttribute( 'aria-expanded', ! isHidden );\n\tmodal.classList.toggle( 'has-modal-open', ! isHidden );\n\n\t// Add a class to indicate the modal is open.\n\tconst htmlElement = document.documentElement;\n\thtmlElement.classList.toggle( 'has-modal-open' );\n}\n\n// Open on click functionality.\nfunction closeSubmenus( element ) {\n\telement\n\t\t.querySelectorAll( '[aria-expanded=\"true\"]' )\n\t\t.forEach( function ( toggle ) {\n\t\t\ttoggle.setAttribute( 'aria-expanded', 'false' );\n\t\t} );\n}\n\nfunction toggleSubmenuOnClick( event ) {\n\tconst buttonToggle = event.target.closest( '[aria-expanded]' );\n\tconst isSubmenuOpen = buttonToggle.getAttribute( 'aria-expanded' );\n\n\tif ( isSubmenuOpen === 'true' ) {\n\t\tcloseSubmenus( buttonToggle.closest( '.wp-block-navigation-item' ) );\n\t} else {\n\t\t// Close all sibling submenus.\n\t\tconst parentElement = buttonToggle.closest(\n\t\t\t'.wp-block-navigation-item'\n\t\t);\n\t\tconst navigationParent = buttonToggle.closest(\n\t\t\t'.wp-block-navigation__submenu-container, .wp-block-navigation__container, .wp-block-page-list'\n\t\t);\n\t\tnavigationParent\n\t\t\t.querySelectorAll( '.wp-block-navigation-item' )\n\t\t\t.forEach( function ( child ) {\n\t\t\t\tif ( child !== parentElement ) {\n\t\t\t\t\tcloseSubmenus( child );\n\t\t\t\t}\n\t\t\t} );\n\t\t// Open submenu.\n\t\tbuttonToggle.setAttribute( 'aria-expanded', 'true' );\n\t}\n}\n\nconst submenuButtons = document.querySelectorAll(\n\t'.wp-block-navigation-submenu__toggle'\n);\n\nsubmenuButtons.forEach( function ( button ) {\n\tbutton.addEventListener( 'click', toggleSubmenuOnClick );\n} );\n\n// Close on click outside.\ndocument.addEventListener( 'click', function ( event ) {\n\tconst navigationBlocks = document.querySelectorAll(\n\t\t'.wp-block-navigation'\n\t);\n\tnavigationBlocks.forEach( function ( block ) {\n\t\tif ( ! block.contains( event.target ) ) {\n\t\t\tcloseSubmenus( block );\n\t\t}\n\t} );\n} );\n// Close on focus outside.\ndocument.addEventListener( 'keyup', function ( event ) {\n\tconst submenuBlocks = document.querySelectorAll(\n\t\t'.wp-block-navigation-item.has-child'\n\t);\n\tsubmenuBlocks.forEach( function ( block ) {\n\t\tif ( ! block.contains( event.target ) ) {\n\t\t\tcloseSubmenus( block );\n\t\t}\n\t} );\n} );\n\n// Necessary for some themes such as TT1 Blocks, where\n// scripts could be loaded before the body.\nwindow.onload = () =>\n\tMicroModal.init( {\n\t\tonShow: navigationToggleModal,\n\t\tonClose: navigationToggleModal,\n\t\topenClass: 'is-menu-open',\n\t} );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/view.js"],"names":["navigationToggleModal","modal","triggerButton","document","querySelector","id","closeButton","isHidden","getAttribute","setAttribute","classList","toggle","htmlElement","documentElement","closeSubmenus","element","querySelectorAll","forEach","toggleSubmenuOnClick","event","buttonToggle","target","closest","isSubmenuOpen","parentElement","navigationParent","child","window","onload","MicroModal","init","onShow","onClose","openClass","submenuButtons","button","addEventListener","navigationBlocks","block","contains","submenuBlocks"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport MicroModal from 'micromodal';\n\n// Responsive navigation toggle.\nfunction navigationToggleModal( modal ) {\n\tconst triggerButton = document.querySelector(\n\t\t`button[data-micromodal-trigger=\"${ modal.id }\"]`\n\t);\n\tconst closeButton = modal.querySelector( 'button[data-micromodal-close]' );\n\t// Use aria-hidden to determine the status of the modal, as this attribute is\n\t// managed by micromodal.\n\tconst isHidden = 'true' === modal.getAttribute( 'aria-hidden' );\n\ttriggerButton.setAttribute( 'aria-expanded', ! isHidden );\n\tcloseButton.setAttribute( 'aria-expanded', ! isHidden );\n\tmodal.classList.toggle( 'has-modal-open', ! isHidden );\n\n\t// Add a class to indicate the modal is open.\n\tconst htmlElement = document.documentElement;\n\thtmlElement.classList.toggle( 'has-modal-open' );\n}\n\n// Open on click functionality.\nfunction closeSubmenus( element ) {\n\telement\n\t\t.querySelectorAll( '[aria-expanded=\"true\"]' )\n\t\t.forEach( function ( toggle ) {\n\t\t\ttoggle.setAttribute( 'aria-expanded', 'false' );\n\t\t} );\n}\n\nfunction toggleSubmenuOnClick( event ) {\n\tconst buttonToggle = event.target.closest( '[aria-expanded]' );\n\tconst isSubmenuOpen = buttonToggle.getAttribute( 'aria-expanded' );\n\n\tif ( isSubmenuOpen === 'true' ) {\n\t\tcloseSubmenus( buttonToggle.closest( '.wp-block-navigation-item' ) );\n\t} else {\n\t\t// Close all sibling submenus.\n\t\tconst parentElement = buttonToggle.closest(\n\t\t\t'.wp-block-navigation-item'\n\t\t);\n\t\tconst navigationParent = buttonToggle.closest(\n\t\t\t'.wp-block-navigation__submenu-container, .wp-block-navigation__container, .wp-block-page-list'\n\t\t);\n\t\tnavigationParent\n\t\t\t.querySelectorAll( '.wp-block-navigation-item' )\n\t\t\t.forEach( function ( child ) {\n\t\t\t\tif ( child !== parentElement ) {\n\t\t\t\t\tcloseSubmenus( child );\n\t\t\t\t}\n\t\t\t} );\n\t\t// Open submenu.\n\t\tbuttonToggle.setAttribute( 'aria-expanded', 'true' );\n\t}\n}\n\n// Necessary for some themes such as TT1 Blocks, where\n// scripts could be loaded before the body.\nwindow.onload = () => {\n\tMicroModal.init( {\n\t\tonShow: navigationToggleModal,\n\t\tonClose: navigationToggleModal,\n\t\topenClass: 'is-menu-open',\n\t} );\n\n\tconst submenuButtons = document.querySelectorAll(\n\t\t'.wp-block-navigation-submenu__toggle'\n\t);\n\n\tsubmenuButtons.forEach( function ( button ) {\n\t\tbutton.addEventListener( 'click', toggleSubmenuOnClick );\n\t} );\n\n\t// Close on click outside.\n\tdocument.addEventListener( 'click', function ( event ) {\n\t\tconst navigationBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation'\n\t\t);\n\t\tnavigationBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t}\n\t\t} );\n\t} );\n\t// Close on focus outside.\n\tdocument.addEventListener( 'keyup', function ( event ) {\n\t\tconst submenuBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation-item.has-child'\n\t\t);\n\t\tsubmenuBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t}\n\t\t} );\n\t} );\n};\n"]}