@wordpress/editor 12.2.0 → 12.2.2

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 (70) hide show
  1. package/build/components/editor-help/index.native.js +3 -3
  2. package/build/components/editor-help/index.native.js.map +1 -1
  3. package/build/components/local-autosave-monitor/index.js +5 -5
  4. package/build/components/local-autosave-monitor/index.js.map +1 -1
  5. package/build/components/post-saved-state/index.js +1 -1
  6. package/build/components/post-saved-state/index.js.map +1 -1
  7. package/build/components/post-switch-to-draft-button/index.js +19 -14
  8. package/build/components/post-switch-to-draft-button/index.js.map +1 -1
  9. package/build/components/post-trash/index.js +15 -29
  10. package/build/components/post-trash/index.js.map +1 -1
  11. package/build/components/provider/index.native.js +17 -8
  12. package/build/components/provider/index.native.js.map +1 -1
  13. package/build/components/provider/use-block-editor-settings.js +3 -2
  14. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  15. package/build/store/actions.js +231 -225
  16. package/build/store/actions.js.map +1 -1
  17. package/build/store/actions.native.js +6 -4
  18. package/build/store/actions.native.js.map +1 -1
  19. package/build/store/index.js +1 -8
  20. package/build/store/index.js.map +1 -1
  21. package/build/store/{controls.js → local-autosave.js} +1 -18
  22. package/build/store/local-autosave.js.map +1 -0
  23. package/build/store/reducer.js +0 -2
  24. package/build/store/reducer.js.map +1 -1
  25. package/build/store/utils/notice-builder.js +5 -0
  26. package/build/store/utils/notice-builder.js.map +1 -1
  27. package/build-module/components/editor-help/index.native.js +4 -4
  28. package/build-module/components/editor-help/index.native.js.map +1 -1
  29. package/build-module/components/local-autosave-monitor/index.js +1 -1
  30. package/build-module/components/local-autosave-monitor/index.js.map +1 -1
  31. package/build-module/components/post-saved-state/index.js +1 -1
  32. package/build-module/components/post-saved-state/index.js.map +1 -1
  33. package/build-module/components/post-switch-to-draft-button/index.js +22 -16
  34. package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
  35. package/build-module/components/post-trash/index.js +15 -27
  36. package/build-module/components/post-trash/index.js.map +1 -1
  37. package/build-module/components/provider/index.native.js +19 -10
  38. package/build-module/components/provider/index.native.js.map +1 -1
  39. package/build-module/components/provider/use-block-editor-settings.js +3 -2
  40. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  41. package/build-module/store/actions.js +208 -207
  42. package/build-module/store/actions.js.map +1 -1
  43. package/build-module/store/actions.native.js +3 -3
  44. package/build-module/store/actions.native.js.map +1 -1
  45. package/build-module/store/index.js +1 -6
  46. package/build-module/store/index.js.map +1 -1
  47. package/build-module/store/{controls.js → local-autosave.js} +1 -15
  48. package/build-module/store/local-autosave.js.map +1 -0
  49. package/build-module/store/reducer.js +0 -2
  50. package/build-module/store/reducer.js.map +1 -1
  51. package/build-module/store/utils/notice-builder.js +5 -0
  52. package/build-module/store/utils/notice-builder.js.map +1 -1
  53. package/package.json +14 -15
  54. package/src/components/editor-help/index.native.js +6 -6
  55. package/src/components/local-autosave-monitor/index.js +4 -1
  56. package/src/components/post-saved-state/index.js +1 -1
  57. package/src/components/post-switch-to-draft-button/index.js +35 -24
  58. package/src/components/post-trash/index.js +12 -24
  59. package/src/components/provider/index.native.js +20 -16
  60. package/src/components/provider/use-block-editor-settings.js +2 -0
  61. package/src/store/actions.js +137 -249
  62. package/src/store/actions.native.js +3 -3
  63. package/src/store/index.js +0 -6
  64. package/src/store/{controls.js → local-autosave.js} +0 -8
  65. package/src/store/reducer.js +0 -2
  66. package/src/store/test/actions.js +244 -416
  67. package/src/store/utils/notice-builder.js +5 -0
  68. package/src/store/utils/test/notice-builder.js +1 -0
  69. package/build/store/controls.js.map +0 -1
  70. package/build-module/store/controls.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/provider/use-block-editor-settings.js"],"names":["useBlockEditorSettings","settings","hasTemplate","reusableBlocks","hasUploadPermissions","canUseUnfilteredHTML","userCanCreatePages","pageOnFront","select","canUserUseUnfilteredHTML","editorStore","isWeb","Platform","OS","canUser","getUnstableBase","hasFinishedResolution","getEntityRecord","coreStore","siteSettings","siteData","hasFinishedResolvingSiteData","getEntityRecords","per_page","hasResolvedLocalSiteData","baseUrl","url","page_on_front","undo","saveEntityRecord","createPageEntity","options","Promise","reject","message","mediaUpload","undefined","__experimentalReusableBlocks","__experimentalFetchLinkSuggestions","search","searchOptions","__experimentalFetchRichUrlData","fetchUrlData","__experimentalCanUserUseUnfilteredHTML","__experimentalUndo","outlineMode","__experimentalCreatePageEntity","__experimentalUserCanCreatePages"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { pick, defaultTo } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Platform, useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tstore as coreStore,\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { mediaUpload } from '../../utils';\nimport { store as editorStore } from '../../store';\n\n/**\n * React hook used to compute the block editor settings to use for the post editor.\n *\n * @param {Object} settings EditorProvider settings prop.\n * @param {boolean} hasTemplate Whether template mode is enabled.\n *\n * @return {Object} Block Editor Settings.\n */\nfunction useBlockEditorSettings( settings, hasTemplate ) {\n\tconst {\n\t\treusableBlocks,\n\t\thasUploadPermissions,\n\t\tcanUseUnfilteredHTML,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUserUseUnfilteredHTML } = select( editorStore );\n\t\tconst isWeb = Platform.OS === 'web';\n\t\tconst {\n\t\t\tcanUser,\n\t\t\tgetUnstableBase,\n\t\t\thasFinishedResolution,\n\t\t\tgetEntityRecord,\n\t\t} = select( coreStore );\n\n\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\n\t\tconst siteData = getUnstableBase();\n\n\t\tconst hasFinishedResolvingSiteData = hasFinishedResolution(\n\t\t\t'getUnstableBase'\n\t\t);\n\n\t\treturn {\n\t\t\tcanUseUnfilteredHTML: canUserUseUnfilteredHTML(),\n\t\t\treusableBlocks: isWeb\n\t\t\t\t? select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'wp_block',\n\t\t\t\t\t\t{ per_page: -1 }\n\t\t\t\t )\n\t\t\t\t: [], // Reusable blocks are fetched in the native version of this hook.\n\t\t\thasUploadPermissions: defaultTo(\n\t\t\t\tcanUser( 'create', 'media' ),\n\t\t\t\ttrue\n\t\t\t),\n\t\t\thasResolvedLocalSiteData: hasFinishedResolvingSiteData,\n\t\t\tbaseUrl: siteData?.url || '',\n\t\t\tuserCanCreatePages: canUser( 'create', 'pages' ),\n\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t};\n\t}, [] );\n\n\tconst { undo } = useDispatch( editorStore );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t/**\n\t * Creates a Post entity.\n\t * This is utilised by the Link UI to allow for on-the-fly creation of Posts/Pages.\n\t *\n\t * @param {Object} options parameters for the post being created. These mirror those used on 3rd param of saveEntityRecord.\n\t * @return {Object} the post type object that was created.\n\t */\n\tconst createPageEntity = ( options ) => {\n\t\tif ( ! userCanCreatePages ) {\n\t\t\treturn Promise.reject( {\n\t\t\t\tmessage: __( 'You do not have permission to create Pages.' ),\n\t\t\t} );\n\t\t}\n\t\treturn saveEntityRecord( 'postType', 'page', options );\n\t};\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\t...pick( settings, [\n\t\t\t\t'__experimentalBlockDirectory',\n\t\t\t\t'__experimentalBlockPatternCategories',\n\t\t\t\t'__experimentalBlockPatterns',\n\t\t\t\t'__experimentalDiscussionSettings',\n\t\t\t\t'__experimentalFeatures',\n\t\t\t\t'__experimentalPreferredStyleVariations',\n\t\t\t\t'__experimentalSetIsInserterOpened',\n\t\t\t\t'__unstableGalleryWithImageBlocks',\n\t\t\t\t'alignWide',\n\t\t\t\t'allowedBlockTypes',\n\t\t\t\t'bodyPlaceholder',\n\t\t\t\t'codeEditingEnabled',\n\t\t\t\t'colors',\n\t\t\t\t'disableCustomColors',\n\t\t\t\t'disableCustomFontSizes',\n\t\t\t\t'disableCustomGradients',\n\t\t\t\t'enableCustomLineHeight',\n\t\t\t\t'enableCustomSpacing',\n\t\t\t\t'enableCustomUnits',\n\t\t\t\t'focusMode',\n\t\t\t\t'fontSizes',\n\t\t\t\t'gradients',\n\t\t\t\t'hasFixedToolbar',\n\t\t\t\t'hasReducedUI',\n\t\t\t\t'imageDefaultSize',\n\t\t\t\t'imageDimensions',\n\t\t\t\t'imageEditing',\n\t\t\t\t'imageSizes',\n\t\t\t\t'isRTL',\n\t\t\t\t'keepCaretInsideBlock',\n\t\t\t\t'maxWidth',\n\t\t\t\t'onUpdateDefaultBlockStyles',\n\t\t\t\t'styles',\n\t\t\t\t'template',\n\t\t\t\t'templateLock',\n\t\t\t\t'titlePlaceholder',\n\t\t\t\t'supportsLayout',\n\t\t\t\t'widgetTypesToHideFromLegacyWidgetBlock',\n\t\t\t\t'__unstableResolvedAssets',\n\t\t\t] ),\n\t\t\tmediaUpload: hasUploadPermissions ? mediaUpload : undefined,\n\t\t\t__experimentalReusableBlocks: reusableBlocks,\n\t\t\t__experimentalFetchLinkSuggestions: ( search, searchOptions ) =>\n\t\t\t\tfetchLinkSuggestions( search, searchOptions, settings ),\n\t\t\t__experimentalFetchRichUrlData: fetchUrlData,\n\t\t\t__experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,\n\t\t\t__experimentalUndo: undo,\n\t\t\toutlineMode: hasTemplate,\n\t\t\t__experimentalCreatePageEntity: createPageEntity,\n\t\t\t__experimentalUserCanCreatePages: userCanCreatePages,\n\t\t\tpageOnFront,\n\t\t} ),\n\t\t[\n\t\t\tsettings,\n\t\t\thasUploadPermissions,\n\t\t\treusableBlocks,\n\t\t\tcanUseUnfilteredHTML,\n\t\t\tundo,\n\t\t\thasTemplate,\n\t\t\tuserCanCreatePages,\n\t\t\tpageOnFront,\n\t\t]\n\t);\n}\n\nexport default useBlockEditorSettings;\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/provider/use-block-editor-settings.js"],"names":["useBlockEditorSettings","settings","hasTemplate","reusableBlocks","hasUploadPermissions","canUseUnfilteredHTML","userCanCreatePages","pageOnFront","select","canUserUseUnfilteredHTML","editorStore","isWeb","Platform","OS","canUser","getUnstableBase","hasFinishedResolution","getEntityRecord","coreStore","siteSettings","siteData","hasFinishedResolvingSiteData","getEntityRecords","per_page","hasResolvedLocalSiteData","baseUrl","url","page_on_front","undo","saveEntityRecord","createPageEntity","options","Promise","reject","message","mediaUpload","undefined","__experimentalReusableBlocks","__experimentalFetchLinkSuggestions","search","searchOptions","__experimentalFetchRichUrlData","fetchUrlData","__experimentalCanUserUseUnfilteredHTML","__experimentalUndo","outlineMode","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","__experimentalPreferPatternsOnRoot"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { pick, defaultTo } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Platform, useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tstore as coreStore,\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { mediaUpload } from '../../utils';\nimport { store as editorStore } from '../../store';\n\n/**\n * React hook used to compute the block editor settings to use for the post editor.\n *\n * @param {Object} settings EditorProvider settings prop.\n * @param {boolean} hasTemplate Whether template mode is enabled.\n *\n * @return {Object} Block Editor Settings.\n */\nfunction useBlockEditorSettings( settings, hasTemplate ) {\n\tconst {\n\t\treusableBlocks,\n\t\thasUploadPermissions,\n\t\tcanUseUnfilteredHTML,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUserUseUnfilteredHTML } = select( editorStore );\n\t\tconst isWeb = Platform.OS === 'web';\n\t\tconst {\n\t\t\tcanUser,\n\t\t\tgetUnstableBase,\n\t\t\thasFinishedResolution,\n\t\t\tgetEntityRecord,\n\t\t} = select( coreStore );\n\n\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\n\t\tconst siteData = getUnstableBase();\n\n\t\tconst hasFinishedResolvingSiteData = hasFinishedResolution(\n\t\t\t'getUnstableBase'\n\t\t);\n\n\t\treturn {\n\t\t\tcanUseUnfilteredHTML: canUserUseUnfilteredHTML(),\n\t\t\treusableBlocks: isWeb\n\t\t\t\t? select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'wp_block',\n\t\t\t\t\t\t{ per_page: -1 }\n\t\t\t\t )\n\t\t\t\t: [], // Reusable blocks are fetched in the native version of this hook.\n\t\t\thasUploadPermissions: defaultTo(\n\t\t\t\tcanUser( 'create', 'media' ),\n\t\t\t\ttrue\n\t\t\t),\n\t\t\thasResolvedLocalSiteData: hasFinishedResolvingSiteData,\n\t\t\tbaseUrl: siteData?.url || '',\n\t\t\tuserCanCreatePages: canUser( 'create', 'pages' ),\n\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t};\n\t}, [] );\n\n\tconst { undo } = useDispatch( editorStore );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t/**\n\t * Creates a Post entity.\n\t * This is utilised by the Link UI to allow for on-the-fly creation of Posts/Pages.\n\t *\n\t * @param {Object} options parameters for the post being created. These mirror those used on 3rd param of saveEntityRecord.\n\t * @return {Object} the post type object that was created.\n\t */\n\tconst createPageEntity = ( options ) => {\n\t\tif ( ! userCanCreatePages ) {\n\t\t\treturn Promise.reject( {\n\t\t\t\tmessage: __( 'You do not have permission to create Pages.' ),\n\t\t\t} );\n\t\t}\n\t\treturn saveEntityRecord( 'postType', 'page', options );\n\t};\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\t...pick( settings, [\n\t\t\t\t'__experimentalBlockDirectory',\n\t\t\t\t'__experimentalBlockPatternCategories',\n\t\t\t\t'__experimentalBlockPatterns',\n\t\t\t\t'__experimentalDiscussionSettings',\n\t\t\t\t'__experimentalFeatures',\n\t\t\t\t'__experimentalPreferredStyleVariations',\n\t\t\t\t'__experimentalSetIsInserterOpened',\n\t\t\t\t'__experimentalGenerateAnchors',\n\t\t\t\t'__unstableGalleryWithImageBlocks',\n\t\t\t\t'alignWide',\n\t\t\t\t'allowedBlockTypes',\n\t\t\t\t'bodyPlaceholder',\n\t\t\t\t'codeEditingEnabled',\n\t\t\t\t'colors',\n\t\t\t\t'disableCustomColors',\n\t\t\t\t'disableCustomFontSizes',\n\t\t\t\t'disableCustomGradients',\n\t\t\t\t'enableCustomLineHeight',\n\t\t\t\t'enableCustomSpacing',\n\t\t\t\t'enableCustomUnits',\n\t\t\t\t'focusMode',\n\t\t\t\t'fontSizes',\n\t\t\t\t'gradients',\n\t\t\t\t'hasFixedToolbar',\n\t\t\t\t'hasReducedUI',\n\t\t\t\t'imageDefaultSize',\n\t\t\t\t'imageDimensions',\n\t\t\t\t'imageEditing',\n\t\t\t\t'imageSizes',\n\t\t\t\t'isRTL',\n\t\t\t\t'keepCaretInsideBlock',\n\t\t\t\t'maxWidth',\n\t\t\t\t'onUpdateDefaultBlockStyles',\n\t\t\t\t'styles',\n\t\t\t\t'template',\n\t\t\t\t'templateLock',\n\t\t\t\t'titlePlaceholder',\n\t\t\t\t'supportsLayout',\n\t\t\t\t'widgetTypesToHideFromLegacyWidgetBlock',\n\t\t\t\t'__unstableResolvedAssets',\n\t\t\t] ),\n\t\t\tmediaUpload: hasUploadPermissions ? mediaUpload : undefined,\n\t\t\t__experimentalReusableBlocks: reusableBlocks,\n\t\t\t__experimentalFetchLinkSuggestions: ( search, searchOptions ) =>\n\t\t\t\tfetchLinkSuggestions( search, searchOptions, settings ),\n\t\t\t__experimentalFetchRichUrlData: fetchUrlData,\n\t\t\t__experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,\n\t\t\t__experimentalUndo: undo,\n\t\t\toutlineMode: hasTemplate,\n\t\t\t__experimentalCreatePageEntity: createPageEntity,\n\t\t\t__experimentalUserCanCreatePages: userCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\t__experimentalPreferPatternsOnRoot: hasTemplate,\n\t\t} ),\n\t\t[\n\t\t\tsettings,\n\t\t\thasUploadPermissions,\n\t\t\treusableBlocks,\n\t\t\tcanUseUnfilteredHTML,\n\t\t\tundo,\n\t\t\thasTemplate,\n\t\t\tuserCanCreatePages,\n\t\t\tpageOnFront,\n\t\t]\n\t);\n}\n\nexport default useBlockEditorSettings;\n"]}