{"version":3,"sources":["webpack://wp.[name]/webpack/bootstrap","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/alignment-toolbar/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/autocomplete/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/autocompleters/block.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/autocompleters/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/autocompleters/user.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/autosave-monitor/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-actions/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-alignment-toolbar/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-compare/block-view.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-compare/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-controls/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-draggable/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-drop-zone/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-edit/context.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-edit/edit.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-edit/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-format-controls/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-icon/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-inspector/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-list-appender/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-list/block-contextual-toolbar.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-list/block-crash-boundary.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-list/block-crash-warning.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-list/block-html.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-list/block-invalid-warning.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-list/block-mobile-toolbar.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-list/block.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-list/breadcrumb.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-list/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-list/insertion-point.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-list/multi-controls.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-list/with-hover-areas.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-mover/drag-handle.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-mover/icons.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-mover/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-mover/mover-description.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-navigation/dropdown.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-navigation/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-preview/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-selection-clearer/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-settings-menu/block-convert-button.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-settings-menu/block-html-convert-button.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-settings-menu/block-mode-toggle.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-settings-menu/block-settings-menu-first-item.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-settings-menu/block-settings-menu-plugins-extension.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-settings-menu/block-unknown-convert-button.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-settings-menu/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-settings-menu/reusable-block-convert-button.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-settings-menu/reusable-block-delete-button.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-styles/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-switcher/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-switcher/multi-blocks-switcher.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-title/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-toolbar/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/block-types-list/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/color-palette/control.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/color-palette/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/color-palette/with-color-context.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/colors/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/colors/utils.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/colors/with-colors.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/contrast-checker/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/copy-handler/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/default-block-appender/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/document-outline/check.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/document-outline/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/document-outline/item.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/editor-global-keyboard-shortcuts/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/editor-history/redo.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/editor-history/undo.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/editor-notices/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/error-boundary/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/font-sizes/font-size-picker.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/font-sizes/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/font-sizes/utils.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/font-sizes/with-font-sizes.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/ignore-nested-events/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/inner-blocks/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/inserter-list-item/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/inserter-with-shortcuts/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/inserter/child-blocks.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/inserter/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/inserter/inline-elements.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/inserter/menu.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/inspector-advanced-controls/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/inspector-controls/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/media-placeholder/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/media-upload/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/multi-select-scroll-into-view/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/navigable-toolbar/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/observe-typing/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/page-attributes/check.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/page-attributes/order.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/page-attributes/parent.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/page-attributes/template.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/panel-color-settings/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/panel-color/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/plain-text/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-author/check.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-author/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-comments/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-excerpt/check.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-excerpt/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-featured-image/check.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-featured-image/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-format/check.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-format/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-last-revision/check.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-last-revision/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-locked-modal/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-pending-status/check.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-pending-status/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-permalink/editor.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-permalink/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-pingbacks/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-preview-button/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-publish-button/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-publish-button/label.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-publish-panel/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-publish-panel/maybe-post-format-panel.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-publish-panel/maybe-tags-panel.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-publish-panel/postpublish.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-publish-panel/prepublish.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-publish-panel/toggle.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-saved-state/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-schedule/check.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-schedule/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-schedule/label.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-sticky/check.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-sticky/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-switch-to-draft-button/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-taxonomies/check.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-taxonomies/flat-term-selector.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-taxonomies/hierarchical-term-selector.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-taxonomies/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-text-editor/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-title/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-trash/check.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-trash/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-type-support-check/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-visibility/check.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-visibility/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-visibility/label.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/post-visibility/utils.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/preserve-scroll-in-reorder/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/provider/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/rich-text/aria.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/rich-text/format-edit.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/rich-text/format-toolbar/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/rich-text/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/rich-text/patterns.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/rich-text/tinymce.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/server-side-render/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/skip-to-selected-block/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/table-of-contents/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/table-of-contents/panel.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/template-validation-notice/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/theme-support-check/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/unsaved-changes-warning/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/url-input/button.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/url-input/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/url-popover/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/warning/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/word-count/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/components/writing-flow/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/editor-styles/ast/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/editor-styles/ast/parse.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/editor-styles/ast/stringify/compiler.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/editor-styles/ast/stringify/compress.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/editor-styles/ast/stringify/identity.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/editor-styles/ast/stringify/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/editor-styles/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/editor-styles/transforms/url-rewrite.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/editor-styles/transforms/wrap.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/editor-styles/traverse.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/hooks/align.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/hooks/anchor.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/hooks/custom-class-name.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/hooks/default-autocompleters.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/hooks/generated-class-name.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/hooks/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/store/actions.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/store/array.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/store/defaults.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/store/effects.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/store/effects/posts.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/store/effects/reusable-blocks.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/store/effects/terms.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/store/effects/utils.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/store/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/store/middlewares.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/store/reducer.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/store/selectors.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/utils/dom.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/utils/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/utils/media-upload/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/utils/media-upload/media-upload.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/utils/terms.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/utils/url.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/utils/with-change-detection/index.js","webpack://wp.[name]//Users/gziolo/PhpstormProjects/gutenberg/packages/editor/src/utils/with-history/index.js","webpack://wp.[name]/./node_modules/autosize/dist/autosize.js","webpack://wp.[name]/./node_modules/classnames/index.js","webpack://wp.[name]/./node_modules/computed-style/dist/computedStyle.commonjs.js","webpack://wp.[name]/../../src/convert/xml.js","webpack://wp.[name]/./node_modules/dom-scroll-into-view/lib/dom-scroll-into-view.js","webpack://wp.[name]/./node_modules/dom-scroll-into-view/lib/index.js","webpack://wp.[name]/./node_modules/dom-scroll-into-view/lib/util.js","webpack://wp.[name]/./node_modules/inherits/inherits_browser.js","webpack://wp.[name]/./node_modules/line-height/lib/line-height.js","webpack://wp.[name]/./node_modules/memize/index.js","webpack://wp.[name]/./node_modules/object-assign/index.js","webpack://wp.[name]/./node_modules/prop-types/checkPropTypes.js","webpack://wp.[name]/./node_modules/prop-types/factoryWithTypeCheckers.js","webpack://wp.[name]/./node_modules/prop-types/index.js","webpack://wp.[name]/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://wp.[name]/./node_modules/punycode/punycode.js","webpack://wp.[name]/./node_modules/querystring-es3/decode.js","webpack://wp.[name]/./node_modules/querystring-es3/encode.js","webpack://wp.[name]/./node_modules/querystring-es3/index.js","webpack://wp.[name]/./node_modules/react-autosize-textarea/lib/TextareaAutosize.js","webpack://wp.[name]/./node_modules/react-autosize-textarea/lib/index.js","webpack://wp.[name]/./node_modules/redux-multi/lib/index.js","webpack://wp.[name]/./node_modules/redux-optimist/index.js","webpack://wp.[name]/./node_modules/redux-optimist/lib/index.js","webpack://wp.[name]/./node_modules/refx/refx.js","webpack://wp.[name]/./node_modules/rememo/es/rememo.js","webpack://wp.[name]/./node_modules/tinycolor2/tinycolor.js","webpack://wp.[name]/./node_modules/traverse/index.js","webpack://wp.[name]/./node_modules/url/url.js","webpack://wp.[name]/./node_modules/url/util.js","webpack://wp.[name]/(webpack)/buildin/global.js","webpack://wp.[name]/(webpack)/buildin/module.js","webpack://wp.[name]/external {\"this\":[\"wp\",\"a11y\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"apiFetch\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"autop\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"blob\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"blocks\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"components\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"compose\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"coreData\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"data\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"date\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"deprecated\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"dom\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"element\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"hooks\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"htmlEntities\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"i18n\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"isShallowEqual\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"keycodes\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"notices\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"nux\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"richText\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"tokenList\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"url\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"viewport\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"wordcount\"]}","webpack://wp.[name]/external \"jQuery\"","webpack://wp.[name]/external \"lodash\"","webpack://wp.[name]/external \"React\"","webpack://wp.[name]/external \"tinymce\""],"names":["ALIGNMENT_CONTROLS","icon","title","__","align","AlignmentToolbar","isCollapsed","value","onChange","applyOrUnset","undefined","activeAlignment","find","control","map","isActive","onClick","compose","withBlockEditContext","clientId","withViewportMatch","isLargeViewport","withSelect","select","getBlockRootClientId","getEditorSettings","hasFixedToolbar","completersFallback","withFilteredAutocompleters","Autocomplete","state","completers","saveParentRef","bind","onFocus","hasFocus","parentNode","contains","document","activeElement","hasStaleCompleters","updateCompletersState","lastFilteredCompletersProp","props","blockName","nextCompleters","hasFilter","applyFilters","clone","setState","autocompleteProps","Component","name","OriginalAutocomplete","defaultGetBlockInsertionParentClientId","getBlockInsertionPoint","rootClientId","defaultGetInserterItems","parentClientId","getInserterItems","defaultGetSelectedBlockName","selectedBlock","getSelectedBlock","createBlockCompleter","getBlockInsertionParentClientId","getSelectedBlockName","className","triggerPrefix","options","selectedBlockName","filter","inserterItem","getOptionKeywords","keywords","getOptionLabel","allowContext","before","after","test","getOptionCompletion","initialAttributes","action","createBlock","isOptionDisabled","isDisabled","search","payload","encodeURIComponent","apiFetch","path","isDebounced","user","slug","avatar_urls","AutosaveMonitor","prevProps","isDirty","isAutosaveable","toggleTimer","isPendingSave","clearTimeout","pendingSave","autosaveInterval","setTimeout","autosave","isEditedPostDirty","isEditedPostAutosaveable","withDispatch","dispatch","BlockActions","onDuplicate","onRemove","onInsertBefore","onInsertAfter","isLocked","canDuplicate","children","getBlocksByClientId","getBlockIndex","getTemplateLock","blocks","clientIds","every","block","hasBlockSupport","firstSelectedIndex","first","castArray","lastSelectedIndex","last","extraProps","insertBlocks","multiSelect","removeBlocks","insertDefaultBlock","clonedBlocks","cloneBlock","length","BLOCK_ALIGNMENTS_CONTROLS","left","center","right","wide","full","DEFAULT_CONTROLS","WIDE_CONTROLS","BlockAlignmentToolbar","controls","wideControlsEnabled","enabledControls","indexOf","alignWide","BlockView","rawContent","renderedContent","actionText","BlockCompare","originalContent","newContent","difference","diffChars","item","pos","classes","classnames","added","removed","blockType","getBlockType","getSaveElement","attributes","newBlocks","getSaveContent","innerBlocks","join","onKeep","onConvert","convertor","convertButtonText","original","getOriginalContent","converted","getConvertedContent","getDifference","createSlotFill","Fill","Slot","BlockControlsFill","BlockControls","ifBlockEditSelected","BlockDraggable","blockElementId","index","onDragStart","onDragEnd","transferData","type","srcIndex","srcRootClientId","srcClientId","onDraggableStart","onDraggableEnd","parseDropEvent","event","result","dataTransfer","Object","assign","JSON","parse","getData","err","BlockDropZone","arguments","onFilesDrop","onHTMLDrop","onDrop","position","y","files","transformation","findTransform","getBlockTransforms","transform","isMatch","insertIndex","getInsertIndex","updateBlockAttributes","HTML","rawHandler","mode","dstRootClientId","dstClientId","dstIndex","getClientIdsOfDescendants","isBlockDropType","dropType","isSameLevel","srcRoot","dstRoot","isSameBlock","src","dst","isSrcBlockAnAncestorOfDstBlock","some","id","positionIndex","moveBlockToPosition","isAppender","ownProps","withFilters","createContext","isSelected","focusedElement","setFocusedElement","noop","Consumer","Provider","mapContextToProps","createHigherOrderComponent","OriginalComponent","context","Edit","generatedClassName","getBlockDefaultClassName","edit","save","BlockEdit","prevState","BlockFormatControls","BlockIcon","showColors","get","renderedIcon","style","backgroundColor","background","color","foreground","BlockInspector","count","isSelectedBlockUnregistered","getUnregisteredTypeHandlerName","description","styles","fills","isEmpty","getSelectedBlockCount","BlockListAppender","blockClientIds","canInsertDefaultBlock","onToggle","disabled","isOpen","getBlockOrder","canInsertBlockType","getDefaultBlockName","BlockContextualToolbar","BlockCrashBoundary","hasError","error","onError","warning","BlockHTML","onBlur","html","isValid","getBlockContent","isEqual","getBlockAttributes","content","isValidBlockContent","target","getBlock","updateBlock","BlockInvalidWarning","compare","onCompare","onCompareClose","convertToHTML","convertToBlocks","convertToClassic","hasHTMLBlock","hiddenActions","blockToBlocks","_x","blockToClassic","blockToHTML","replaceBlock","BlockMobileToolbar","ifViewportMatches","BlockListBlock","setBlockListRef","bindBlockNode","setAttributes","maybeHover","hideHoverEffects","mergeBlocks","insertBlocksAfter","preventDrag","onPointerDown","deleteOrInsertAfterWrapper","onBlockError","onTouchStart","selectOnOpen","hadTouchStart","dragging","isHovered","focusTabbable","isTypingWithinBlock","isFirstMultiSelected","wrapperNode","focus","node","findDOMNode","blockRef","ignoreInnerBlocks","initialPosition","textInputs","tabbable","isTextField","isInsideRootBlock","isReverse","placeCaretAtHorizontalEdge","placeCaretAtVerticalEdge","metaAttributes","reduce","key","meta","size","onMetaChange","isPartOfMultiSelection","isMultiSelecting","forward","previousBlockClientId","nextBlockClientId","onMerge","onInsertBlocks","order","onSelect","preventDefault","button","shiftKey","onShiftSelection","onSelectionStart","keyCode","ENTER","onInsertDefaultBlockAfter","BACKSPACE","DELETE","open","isFocusMode","isFirst","isLast","isCaretWithinFormattedText","hoverArea","isEmptyDefaultBlock","isMovable","isPreviousBlockADefaultEmptyBlock","isParentOfSelectedBlock","isDraggable","blockLabel","sprintf","isUnregisteredBlock","showEmptyBlockSideInserter","showSideInserter","shouldAppearSelected","shouldAppearHovered","shouldRenderMovers","shouldShowBreadcrumb","shouldShowContextualToolbar","shouldShowMobileToolbar","shouldShowInsertionPoint","canShowInBetweenInserter","wrapperClassName","isReusableBlock","onReplace","wrapperProps","getEditWrapperProps","blockEdit","isSelectionEnabled","toggleSelection","display","applyWithSelect","isBlockSelected","getPreviousBlockClientId","getNextBlockClientId","isAncestorMultiSelected","isBlockMultiSelected","isFirstMultiSelectedBlock","isTyping","getEditedPostAttribute","getBlockMode","getSelectedBlocksInitialCaretPosition","hasSelectedInnerBlock","focusMode","previousBlock","templateLock","isUnmodifiedDefaultBlock","applyWithDispatch","selectBlock","removeBlock","replaceBlocks","editPost","selectionEnabled","withHoverAreas","BlockBreadcrumb","isFocused","stopPropagation","isLight","BlockList","onSelectionEnd","setBlockRef","setLastClientY","onPointerMove","throttle","onScroll","clientY","lastClientY","nodes","window","addEventListener","removeEventListener","onStartMultiSelect","boundaries","selectionAtStart","getBoundingClientRect","top","findLast","coordMapKeys","coordY","onSelectionChange","coordMap","clientIdToCoordMap","mapValues","invert","sortBy","values","onMultiSelect","selectionStart","selectionEnd","isAtStart","cancel","onStopMultiSelect","selectionStartClientId","blockIndex","getMultiSelectedBlocksStartClientId","getMultiSelectedBlocksEndClientId","getBlockSelectionStart","startMultiSelect","stopMultiSelect","BlockInsertionPoint","isInserterFocused","onBlurInserter","onFocusInserter","showInsertionPoint","canShowInserter","isBlockInsertionPointVisible","insertionPoint","BlockListMultiControls","multiSelectedBlockClientIds","isSelecting","getMultiSelectedBlockClientIds","getBlockCount","firstIndex","lastIndex","WrappedComponent","WithHoverAreasComponent","onMouseLeave","onMouseMove","container","isRTL","width","clientX","IconDragHandle","isVisible","dragHandleClassNames","upArrow","downArrow","dragHandle","BlockMover","onMoveUp","onMoveDown","instanceId","isHidden","blocksCount","getBlockMoverDescription","firstClientId","moveBlocksDown","moveBlocksUp","partial","withInstanceId","selectedCount","dir","getMultiBlockMoverDescription","_n","MenuIcon","BlockNavigationDropdown","rawShortcut","access","displayShortcut","onClose","BlockNavigationList","selectedBlockClientId","showNestedBlocks","BlockNavigation","rootBlock","rootBlocks","hasHierarchy","getSelectedBlockClientId","getBlockHierarchyRootClientId","getBlocks","BlockPreview","BlockPreviewContent","BlockSelectionClearer","bindContainer","clearSelectionIfFocusTarget","ref","hasSelectedBlock","hasMultiSelection","clearSelectedBlock","hasSelection","omit","BlockConvertButton","shouldRender","small","label","canUserUseUnfilteredHTML","BlockModeToggle","onToggleMode","toggleBlockMode","_BlockSettingsMenuFirstItem","_BlockSettingsMenuPluginsExtension","getFreeformContentHandlerName","serialize","BlockSettingsMenu","firstBlockClientId","toggleClassname","shortcuts","duplicate","insertBefore","insertAfter","ReusableBlockConvertButton","isStaticBlock","onConvertToStatic","onConvertToReusable","getReusableBlock","__experimentalGetReusableBlock","getFreeformFallbackBlockName","getUnregisteredFallbackBlockName","convertBlockToReusable","__experimentalConvertBlockToReusable","convertBlockToStatic","__experimentalConvertBlockToStatic","ReusableBlockDeleteButton","reusableBlock","onDelete","isTemporary","deleteReusableBlock","__experimentalDeleteReusableBlock","hasConfirmed","confirm","getActiveStyle","TokenList","potentialStyleName","substring","activeStyle","replaceActiveStyle","newStyle","list","remove","add","BlockStyles","onChangeClassName","onSwitch","onHoverClassName","updateClassName","updatedClassName","styleClassName","SPACE","newClassName","BlockSwitcher","hoveredClassName","onTransform","inserterItems","itemsByName","mapKeys","possibleBlockTransformations","orderBy","getPossibleBlockTransformations","frecency","sourceBlockName","hasStyles","openOnArrowDown","DOWN","destinationBlockType","hasChildBlocksWithInserterSupport","switchToBlockType","MultiBlocksSwitcher","isMultiBlockSelection","selectedBlockClientIds","BlockTitle","getBlockName","BlockToolbar","BlockTypesList","items","onHover","getBlockMenuDefaultClassName","colorIndicatorAriaLabel","ColorPaletteControl","colors","disableCustomColors","colorObject","getColorObjectByColorValue","colorName","ariaLabel","toLowerCase","labelElement","withColorContext","ifCondition","hasColorsToChoose","ColorPalette","settings","getColorObjectByAttributeValues","definedColor","customColor","colorObj","colorValue","getColorClassName","colorContextName","colorSlug","kebabCase","getMostReadableColor","tinycolor","mostReadable","toHexString","DEFAULT_COLORS","args","colorMap","arg","isString","setters","createSetters","colorUtils","settersAccumulator","colorContext","colorAttributeName","upperFirstColorAttributeName","upperFirst","customColorAttributeName","createSetColor","previousState","newState","previousColorObject","previousColor","class","ContrastChecker","fallbackBackgroundColor","fallbackTextColor","fontSize","isLargeText","textColor","tinyBackgroundColor","tinyTextColor","hasTransparency","getAlpha","isReadable","level","msg","getBrightness","CopyHandler","onCopy","onCut","multiSelectedBlocks","documentHasSelection","serialized","clipboardData","setData","getMultiSelectedBlocks","DefaultBlockAppender","onAppend","showPrompt","placeholder","decodeEntities","lastBlock","lastBlockClientId","isLastBlockDefault","isLastBlockValid","bodyPlaceholder","startTyping","DocumentOutlineCheck","headings","emptyHeadingContent","incorrectLevelContent","singleH1Headings","multipleH1Headings","computeOutlineHeadings","flatMap","isEmptyHeading","heading","DocumentOutline","isTitleSupported","prevHeadingLevel","onSelectHeading","focusTitle","titleNode","querySelector","hasTitle","countByLevel","countBy","hasMultipleH1","isIncorrectLevel","getPostType","postType","TableOfContentsItem","raw","primaryShift","primaryAlt","EditorGlobalKeyboardShortcuts","selectAll","undoOrRedo","deleteSelectedBlocks","clearMultiSelection","rootBlocksClientIds","onRedo","onUndo","onSave","getSelection","removeAllRanges","primary","flow","redo","undo","savePost","EditorHistoryRedo","hasRedo","hasEditorRedo","EditorHistoryUndo","hasUndo","hasEditorUndo","EditorNotices","notices","getNotices","removeNotice","ErrorBoundary","reboot","getContent","getEditedPostContent","stack","disableCustomFontSizes","fontSizes","FontSizePicker","getFontSize","fontSizeAttribute","customFontSizeAttribute","fontSizeObject","getFontSizeClass","fontSizeSlug","fontSizeNames","fontSizeAttributeNames","fontSizeAttributeNamesAccumulator","fontSizeAttributeName","customFontSizeAttributeName","upperFirstFontSizeAttributeName","createSetFontSize","fontSizeValue","didAttributesChange","pickBy","newStateAccumulator","fontSizeAttributeValue","IgnoreNestedEvents","proxyEvent","eventMap","isHandled","nativeEvent","_blockHandled","propKey","childHandledEvents","eventHandlers","keys","match","isHandledProp","proxiedPropName","InnerBlocks","updateNestedSettings","parentLock","synchronizeBlocksWithTemplate","template","hasTemplateChanged","replaceInnerBlocks","nextBlocks","blockListSettings","allowedBlocks","newSettings","isShallowEqual","isSmallScreen","isSelectedBlockInRoot","pick","getBlockListSettings","updateBlockListSettings","Content","withBlockContentContext","BlockContent","InserterListItem","itemIconStyle","itemIconStackStyle","shadowColor","InserterWithShortcuts","onInsert","itemsWithoutDefaultBlock","slice","insertBlock","ChildBlocks","rootBlockIcon","rootBlockTitle","rootBlockName","rootBlockType","defaultRenderToggle","Inserter","renderToggle","renderContent","hasItems","InserterInlineElements","filterValue","MAX_SUGGESTED_ITEMS","stopKeyPropagation","searchItems","searchTerm","normalizedSearchTerm","normalizeTerm","matchSearch","string","categories","getCategories","itemCategory","category","term","deburr","replace","trim","InserterMenu","childItems","hoveredItem","suggestedItems","reusableItems","itemsPerCategory","openPanels","onChangeSearchInput","panels","inserterResults","createRef","fetchReusableBlocks","hideInsertionPoint","panel","isOpened","without","scrollIntoView","current","alignWithTop","debouncedSpeak","rootChildBlocks","filteredItems","includes","maxSuggestedItems","utility","getCategoryIndex","findIndex","itemList","groupBy","firstCategory","resultCount","accumulator","currentCategorySlug","resultsFoundMessage","LEFT","RIGHT","UP","isPanelOpen","isSearching","onKeyDown","onTogglePanel","bindPanel","categoryItems","getChildBlockNames","__experimentalFetchReusableBlocks","insertedBlock","withSpokenMessages","withSafeTimeout","InspectorAdvancedControls","InspectorControls","InsertFromURLPopover","onSubmit","MediaPlaceholder","isURLInputVisible","onChangeSrc","onSubmitSrc","onUpload","onFilesUpload","openURLInput","closeURLInput","allowedTypes","allowedType","startsWith","onSelectURL","multiple","setMedia","media","mediaUpload","filesList","onFileChange","accept","labels","instructions","isOneType","isAudio","isImage","isVideo","onlyAllowsImages","MediaUpload","MultiSelectScrollIntoView","extentClientId","extentNode","getBlockDOMNode","scrollContainer","getScrollContainer","onlyScrollIfNeeded","getLastMultiSelectedBlockClientId","Node","NavigableToolbar","bindNode","focusToolbar","focusSelection","switchOnKeyDown","cond","matchesProperty","ESCAPE","toolbar","tabbables","selection","focusNode","focusElement","nodeType","ELEMENT_NODE","parentElement","KEY_DOWN_ELIGIBLE_KEY_CODES","isKeyDownEligibleForStartTyping","ObserveTyping","stopTypingOnSelectionUncollapse","stopTypingOnMouseMove","startTypingInTextField","stopTypingOnNonTextField","stopTypingOnEscapeKey","over","lastMouseMove","toggleEventBindings","isBound","bindFn","lastClientX","onStopTyping","rangeCount","getRangeAt","collapsed","onStartTyping","closest","persist","stopTyping","PageAttributesCheck","availableTemplates","supportsPageAttributes","PageAttributesOrder","withState","orderInput","onUpdateOrder","setUpdatedOrder","newOrder","Number","isInteger","invoke","PageAttributesOrderWithChecks","menu_order","PageAttributesParent","parent","onUpdateParent","isHierarchical","parentPageLabel","pageItems","pagesTree","buildTermsTree","getEntityRecords","getCurrentPostId","postTypeSlug","postId","query","per_page","exclude","parent_exclude","orderby","PageTemplate","selectedTemplate","onUpdate","templateName","templateSlug","hasCustomColorsDisabledForSetting","colorSetting","hasColorsToChooseInSetting","colorSettings","renderColorIndicators","availableColors","PanelColorSettings","titleElement","PanelColor","initialOpen","deprecated","version","alternative","plugin","PlainText","PostAuthorCheck","hasAssignAuthorAction","authors","post","getCurrentPost","getCurrentPostType","getAuthors","PostAuthor","setAuthorId","onUpdateAuthor","postAuthor","selectId","author","PostComments","commentStatus","onToggleComments","comment_status","PostExcerptCheck","PostExcerpt","excerpt","onUpdateExcerpt","PostFeaturedImageCheck","ALLOWED_MEDIA_TYPES","DEFAULT_FEATURE_IMAGE_LABEL","DEFAULT_SET_FEATURE_IMAGE_LABEL","DEFAULT_REMOVE_FEATURE_IMAGE_LABEL","PostFeaturedImage","currentPostId","featuredImageId","onUpdateImage","onRemoveImage","postLabel","mediaWidth","mediaHeight","mediaSourceUrl","mediaSize","has","media_details","sizes","height","source_url","featured_image","isLoading","set_featured_image","remove_featured_image","getMedia","image","featured_media","PostFormatCheck","disablePostFormats","editorSettings","POST_FORMATS","caption","PostFormat","onUpdatePostFormat","postFormat","supportedFormats","suggestedFormat","postFormatSelectorId","formats","format","suggestion","getSuggestedPostFormat","themeSupports","getThemeSupports","union","PostLastRevisionCheck","lastRevisionId","revisionsCount","getCurrentPostLastRevisionId","getCurrentPostRevisionsCount","LastRevision","getWPAdminURL","revision","gutenberg","PostLockedModal","sendPostLock","receivePostLock","releasePostLock","jQuery","on","off","data","activePostLock","lock","post_id","updatePostLock","received","lock_error","isTakeover","avatar","avatar_src","new_lock","postLockUtils","_wpnonce","unlockNonce","post_ID","active_post_lock","async","url","ajaxUrl","userDisplayName","userAvatar","unlockUrl","addQueryArgs","lockKey","nonce","allPosts","isPostLocked","isPostLockTakeover","getPostLockUser","getActivePostLock","withGlobalEvents","beforeunload","PostPendingStatusCheck","hasPublishAction","isPublished","isCurrentPostPublished","PostPendingStatus","status","onUpdateStatus","togglePendingStatus","updatedStatus","PostPermalinkEditor","permalinkParts","editedPostName","postName","onSavePermalink","prefix","suffix","getPermalinkParts","PostPermalink","addVisibilityCheck","onVisibilityChange","isCopied","isEditingPermalink","isEditable","refreshPost","visibilityState","linkElement","isNew","postLink","samplePermalink","safeDecodeURI","isEditedPostNew","isPermalinkEditable","getPermalink","link","PostPingbacks","pingStatus","onTogglePingback","ping_status","PostPreviewButton","openPreviewWindow","previewLink","setPreviewWindowLink","previewWindow","closed","location","currentPostLink","getWindowTarget","markup","renderToString","write","close","isSaveable","getCurrentPostAttribute","getAutosaveAttribute","isEditedPostSaveable","isViewable","PostPublishButton","buttonNode","focusOnMount","isSaving","onStatusChange","isBeingScheduled","visibility","isPublishable","forceIsSaving","isButtonEnabled","publishStatus","forceIsDirty","isSavingPost","isEditedPostBeingScheduled","getEditedPostVisibility","isEditedPostPublishable","isPostSavingLocked","PublishButtonLabel","isPublishing","isAutosaving","isPublishingPost","isAutosavingPost","PostPublishPanel","isPublishSidebarEnabled","isScheduled","onTogglePublishSidebar","PostPublishExtension","PrePublishExtension","additionalProps","isPublishedOrScheduled","propsForPanel","isCurrentPostScheduled","disablePublishSidebar","enablePublishSidebar","PostFormatSuggestion","suggestedPostFormat","suggestionText","PostFormatPanel","panelBodyTitle","getSuggestion","currentPostFormat","TagsPanel","MaybeTagsPanel","hadTagsWhenOpeningThePanel","hasTags","tagsTaxonomy","getTaxonomy","tags","rest_base","areTagsFetched","isPostTypeSupported","types","PostPublishPanelPostpublish","showCopyConfirmation","onSelectInput","dismissCopyConfirmation","viewPostLabel","postPublishNonLinkHeader","PostPublishPanelPrepublish","prePublishTitle","prePublishBodyText","PostPublishPanelToggle","PostSavedState","forceSavedMessage","isPending","PostScheduleCheck","PostSchedule","date","onUpdateDate","__experimentalGetSettings","is12HourTime","time","split","reverse","l10n","locale","PostScheduleLabel","isFloating","dateI18n","datetimeAbbreviated","isEditedPostDateFloating","PostStickyCheck","hasStickyAction","PostSticky","onUpdateSticky","postSticky","sticky","PostSwitchToDraftButton","alertMessage","PostTaxonomiesCheck","taxonomies","hasTaxonomies","taxonomy","getTaxonomies","DEFAULT_QUERY","_fields","MAX_TERMS_SUGGESTIONS","isSameTermName","termA","termB","FlatTermSelector","searchTerms","findOrCreateTerm","loading","availableTerms","selectedTerms","terms","initRequest","fetchTerms","include","then","xhr","statusText","searchRequest","updateSelectedTerms","params","request","concat","availableTerm","termId","termObject","push","termName","method","catch","errorCode","code","addRequest","searchResult","Promise","reject","termNames","uniqueTerms","uniqBy","newTermNames","termNamesToIds","names","onUpdateTerms","all","newTerms","newAvailableTerms","hasAssignAction","newTermLabel","singularName","termAddedLabel","termRemovedLabel","removeTermLabel","unescapeString","hasCreateAction","restBase","MIN_TERMS_COUNT_FOR_FILTER","HierarchicalTermSelector","findTerm","onChangeFormName","onChangeFormParent","onAddTerm","onToggleForm","setFilterValue","formName","formParent","showForm","filteredTermsTree","parseInt","hasTerm","newValue","newParent","addTermToEditedPost","existingTerm","termsTree","treeHasSelection","termTree","anyChildIsSelected","child","termOrChildIsSelected","termASelected","termBSelected","sort","availableTermsTree","getFilterMatcher","getResultCount","i","matchTermsForFilter","originalTerm","renderedTerms","renderTerms","isRequestingTerms","labelWithFallback","labelProperty","fallbackIsCategory","fallbackIsNotCategory","newTermButtonLabel","parentSelectLabel","noParentOption","newTermSubmitLabel","inputId","filterInputId","filterLabel","groupLabel","showFilter","sortBySelected","isResolving","PostTaxonomies","taxonomyWrapper","identity","availableTaxonomies","visibleTaxonomies","show_ui","TaxonomyComponent","hierarchical","PostTextEditor","stopEditing","onPersist","decodedPlaceholder","resetBlocks","REGEXP_NEWLINES","PostTitle","onUnselect","redirectHistory","newTitle","onEnterPress","isCleanNewPost","isPostTypeViewable","titlePlaceholder","withFocusOutside","PostTrashCheck","PostTrash","trashPost","PostTypeSupportCheck","supportKeys","isSupported","supports","PostVisibilityCheck","render","canEdit","PostVisibility","setPublic","setPrivate","setPasswordProtected","updatePassword","hasPassword","password","onUpdateVisibility","visibilityHandlers","public","checked","private","visibilityOptions","info","PostVisibilityLabel","getVisibilityLabel","PreserveScrollInReorder","blockOrder","getOffset","snapshot","restorePreviousOffset","blockNode","offset","scrollTop","EditorProvider","recovery","updateEditorSettings","postLock","setupEditor","createWarningNotice","actions","editLink","css","baseURL","transforms","wrap","urlRewrite","updatedCSS","traverse","createElement","innerHTML","body","appendChild","providers","SlotFillProvider","DropZoneProvider","createEditorElement","isAriaPropName","pickAriaProps","isNil","diffAriaProps","nextProps","prevAriaKeys","nextAriaKeys","removedKeys","updatedKeys","isResult","FillToolbarButton","shortcutType","shortcutCharacter","shortcut","fillName","FillInserterListItem","normalizeIconObject","Shortcut","onUse","character","FormatEdit","getFormatTypes","activeFormat","getActiveFormat","activeAttributes","FormatToolbar","TINYMCE_ZWSP","RichText","multiline","multilineTag","multilineWrapperTags","onInit","getSettings","onSetup","onNodeChange","onDeleteKeyDown","onHorizontalNavigationKeyDown","onKeyUp","onPropagateUndo","onPaste","onCreateUndoLevel","onInput","getRecord","createRecord","applyRecord","valueToFormat","setRef","formatToValue","memize","savedContent","containerRef","patterns","getPatterns","enterPatterns","trigger","usedDeprecatedChildrenSource","Array","isArray","editableRef","forced_root_block","custom_undo_redo_levels","unstableGetSettings","editor","unstableOnSetup","command","defer","text","start","end","range","create","element","removeNode","getAttribute","unwrapNode","removeAttribute","attribute","filterString","record","apply","createLinePadding","doc","setAttribute","plainText","error1","error2","console","log","file","getAsFile","createBlobURL","tagName","shouldReplace","onSplit","splitContent","pastedText","isURL","applyFormat","href","recordToInsert","insert","paste","unstableOnFocus","transformed","accumlator","onEnterFormattedText","onExitFormattedText","_withoutApply","lastLevel","originalEvent","empty","isEdge","isHorizontalEdge","stopImmediatePropagation","nodeValue","TEXT_NODE","edgeSibling","isHorizontalNavigation","getSelectionStart","getSelectionEnd","charAt","LINE_SEPARATOR","getTextContent","regExp","isEmptyLine","insertLineSeparator","toInsert","isViewportSmall","scrollToRect","getRectangleFromRange","getRng","rect","caretTop","graceOffset","epsilon","delta","Math","abs","scrollTo","scrollLeft","parents","selectedAnchor","prevRecord","toHTML","fromDOM","unstableToDom","childNodes","toHTMLString","Tagname","inlineToolbar","formattingControls","keepPlaceholderOnFocus","autocompleters","MultilineTag","ariaProps","isPlaceholderVisible","isExpanded","listBoxId","activeId","defaultProps","RichTextContainer","isViewportMatch","createUndoLevel","enterFormattedText","exitFormattedText","Tag","needsInternetExplorerInputFix","editorNode","navigator","userAgent","applyInternetExplorerInputFix","mapTextInputEvent","textInputEvent","inputEvent","createEvent","initEvent","dispatchEvent","mapDeletionKeyUpEvents","isDeletion","removeInternetExplorerInputFix","IS_PLACEHOLDER_VISIBLE_ATTR_NAME","TinyMCE","bindEditorNode","initialize","configureIsPlaceholderVisible","forEach","destroy","isPlaceholderVisibleString","String","theme","inline","browser_spellcheck","entity_encoding","convert_urls","verify_html","inline_boundaries_selector","plugins","tinymce","init","setup","setHTML","dom","number","defaultValue","role","initialHTML","contentEditable","__html","urlQueryArgs","SkipToSelectedBlock","selectedBlockElement","getBlockFocusableWrapper","TableOfContents","hasBlocks","TableOfContentsPanel","headingCount","paragraphCount","numberOfBlocks","getGlobalBlockCount","TemplateValidationNotice","confirmSynchronization","synchronizeTemplate","resetTemplateValidity","isValidTemplate","setTemplateValidity","ThemeSupportCheck","supported","UnsavedChangesWarning","warnIfUnsavedChanges","returnValue","URLInputButton","toggle","submitLink","expanded","buttonLabel","stopEventPropagation","URLInput","autocompleteRef","updateSuggestions","suggestionNodes","posts","showSuggestions","selectedSuggestion","scrollingIntoView","suggestionsRequest","inputValue","previousIndex","nextIndex","selectLink","autoFocus","bindSuggestionNode","URLPopover","toggleSettingsVisibility","isSettingsExpanded","renderSettings","onClickOutside","showSettings","Warning","secondaryActions","Children","WordCount","wordCount","isTabbableTextField","overEvery","isTabbableIndex","isNavigationCandidate","hasModifier","isVertical","WritingFlow","clearVerticalRect","focusLastTextField","verticalRect","focusableNodes","focusable","isTabCandidate","array","isBlockFocusStop","hasInnerBlocksContext","nextNode","selectionBeforeEndClientId","selectionAfterEndClientId","nextSelectionEndClientId","selectedFirstClientId","selectedLastClientId","focusedBlockClientId","onSelectBlock","closestTabbable","getClosestTabbable","isInSameBlock","isUp","isDown","isLeft","isRight","isHorizontal","isNav","isShift","ctrlKey","altKey","metaKey","isNavEdge","isVerticalEdge","isKeyboardEvent","isEntirelySelected","isContentEditable","defaultPrevented","computeCaretRect","isTabbableEdge","expandSelection","moveSelection","getFirstMultiSelectedBlockClientId","selectionEndClientId","commentre","lineno","column","updatePosition","str","lines","lastIndexOf","line","Position","whitespace","source","prototype","errorsList","Error","reason","filename","silent","stylesheet","rulesList","rules","parsingErrors","comments","atrule","rule","re","m","exec","c","comment","selector","matched","s","declaration","prop","val","ret","property","declarations","decls","decl","keyframe","vals","atkeyframes","vendor","frame","frames","keyframes","atsupports","athost","atmedia","atcustommedia","atpage","sel","selectors","atdocument","atfontface","atimport","_compileAtrule","atcharset","atnamespace","RegExp","addParent","obj","isNode","childParent","k","v","defineProperty","configurable","writable","enumerable","Compiler","opts","emit","visit","mapVisit","delim","buf","Base","call","inherits","compile","import","charset","namespace","page","host","indentation","indent","compiler","compress","Compressed","Identity","isRemotePath","filePath","isAbsolutePath","isValidURL","getResourcePath","pathname","resolve","processURL","URL","newUrl","quote","getURLs","reg","URLs","replaceURLs","rewrite","rootURL","updatedURLs","IS_ROOT_TAG","ignore","updateSelector","traverseCSS","callback","parsed","updated","updatedNode","update","stringify","warn","addAttribute","getBlockValidAlignments","blockAlign","getBlockSupport","validAlignments","withToolbarControls","updateAlignment","nextAlign","blockDefaultAlign","withDataAlign","addAssignedAlign","addFilter","ANCHOR_REGEX","anchor","withInspectorControl","hasAnchor","nextValue","addSaveProps","hasCustomClassName","getHTMLRootElementClasses","parseWithAttributeSchema","addParsedDifference","blockAttributes","attributesSansClassName","defaultClasses","actualClasses","customClasses","defaultAutocompleters","userAutocompleter","once","setDefaultCompleters","blockAutocompleter","addGeneratedClassName","uniq","resetPost","resetAutosave","updatePost","edits","setupEditorState","receiveBlocks","updates","Date","now","createOnMove","fromRootClientId","toRootClientId","secondBlockClientId","selectPrevious","__experimentalReceiveReusableBlocks","results","__experimentalSaveReusableBlock","__experimentalUpdateReusableBlockTitle","lockPostSaving","lockName","unlockPostSaving","createNotice","createSuccessNotice","createInfoNotice","createErrorNotice","receiveReusableBlocks","saveReusableBlock","hint","updateReusableBlockTitle","insertAt","elements","moveTo","from","to","withoutMovedElements","splice","PREFERENCES_DEFAULTS","insertUsage","EDITOR_SETTINGS_DEFAULTS","maxWidth","allowedBlockTypes","maxUploadFileSize","allowedMimeTypes","validateBlocksToTemplate","store","getState","getTemplate","isBlocksValidToTemplate","doBlocksMatchTemplate","selectPreviousBlock","firstRemovedBlockClientId","currentSelectedBlock","present","past","blockClientIdToSelect","ensureDefaultBlock","REQUEST_POST_UPDATE","requestPostUpdate","REQUEST_POST_UPDATE_SUCCESS","requestPostUpdateSuccess","REQUEST_POST_UPDATE_FAILURE","requestPostUpdateFailure","TRASH_POST","TRASH_POST_FAILURE","trashPostFailure","REFRESH_POST","MERGE_BLOCKS","blockA","blockB","merge","blocksWithTheSameType","updatedAttributes","SETUP_EDITOR","isNewPost","setupAction","compact","RESET_BLOCKS","SYNCHRONIZE_TEMPLATE","updatedBlockList","FETCH_REUSABLE_BLOCKS","SAVE_REUSABLE_BLOCK","saveReusableBlocks","DELETE_REUSABLE_BLOCK","deleteReusableBlocks","RECEIVE_REUSABLE_BLOCKS","CONVERT_BLOCK_TO_STATIC","CONVERT_BLOCK_TO_REUSABLE","REMOVE_BLOCKS","REPLACE_BLOCKS","ADD_TERM_TO_EDITED_POST","SAVE_POST_NOTICE_ID","TRASH_POST_NOTICE_ID","isAutosave","getPostEdits","toSend","resolveSelector","optimist","BEGIN","POST_UPDATE_TRANSACTION_ID","getAutosave","dataDispatch","newPost","reset","isRevision","previousPost","REVERT","COMMIT","willPublish","noticeMessage","shouldShowLink","item_reverted_to_draft","publish","item_published","item_published_privately","future","item_scheduled","item_updated","view_item","messages","message","REUSABLE_BLOCK_NOTICE_ID","reusableBlockOrBlocks","receiveReusableBlocksAction","parsedBlocks","getPostRawValue","parsedBlock","updatedReusableBlock","updatedId","allBlocks","associatedBlocks","associatedBlockClientIds","transactionId","uniqueId","oldBlock","referencedBlock","innerBlock","saveEntityRecord","savedTerm","termAddedMessage","speak","selectorName","hasFinished","hasFinishedResolution","getResult","unsubscribe","subscribe","MODULE_KEY","registerStore","reducer","applyMiddlewares","middlewares","refx","effects","multi","enhancedDispatch","chain","middlewareAPI","middleware","flowRight","mapBlockOrder","getFlattenedBlocks","flattenedBlocks","shift","hasSameKeys","a","b","isUpdatingSameBlockAttribute","previousAction","isUpdatingSamePostProperty","shouldOverwriteState","overSome","withInnerBlocksRemoveCascade","combineReducers","withHistory","resetTypes","ignoreTypes","withChangeDetection","getCanonicalValue","blocksByClientId","nextAttributes","subState","mappedBlocks","fromIndex","lastClientId","nextState","currentPost","blockSelection","isEnabled","nextSelectedBlockClientId","blocksMode","preferences","omitBy","saving","requesting","successful","postSavingLock","reusableBlocks","isFetching","hasOwnProperty","field","preview_link","PERMALINK_POSTNAME_REGEX","INSERTER_UTILITY_HIGH","INSERTER_UTILITY_MEDIUM","INSERTER_UTILITY_LOW","INSERTER_UTILITY_NONE","MILLISECONDS_PER_HOUR","MILLISECONDS_PER_DAY","MILLISECONDS_PER_WEEK","EMPTY_ARRAY","inSomeHistory","attributeName","hasAutosave","isCurrentPostPending","moment","isBefore","isEditedPostEmpty","getBlocksForSerialization","isAfter","modified","getBlockDependantsCacheBust","createSelector","innerBlockClientId","getPostMeta","descendants","getClientIdsWithDescendants","topLevelIds","getBlockSelectionEnd","multiSelectedBlockCount","getAdjacentBlockClientId","startClientId","modifier","orderSet","startIndex","endIndex","ancestorClientId","isMultiSelected","deep","innerClientId","isBlockWithinSelection","didPostSaveRequestSucceed","didPostSaveRequestFail","isSingleUnmodifiedDefaultBlock","isSingleFreeformBlock","removep","checkAllowList","defaultResult","isBoolean","isBlockAllowedInEditor","parentBlockListSettings","parentAllowedBlocks","hasParentAllowedBlock","blockAllowedParentBlocks","parentName","hasBlockAllowedParent","getInsertUsage","calculateUtility","isContextual","calculateFrecency","duration","shouldIncludeBlockType","buildBlockTypeInserterItem","shouldIncludeReusableBlock","referencedBlockType","buildReusableBlockInserterItem","blockTypeInserterItems","getBlockTypes","reusableBlockInserterItems","__experimentalGetReusableBlocks","isNaN","__experimentalIsSavingReusableBlock","__experimentalIsFetchingReusableBlock","getStateBeforeOptimisticTransaction","transaction","entry","beforeState","stateBeforeRequest","permalinkTemplate","predicate","getTokenSettings","tokens","isSavingReusableBlock","isFetchingReusableBlock","getReusableBlocks","classList","blockElement","innerBlocksContainer","wpAllowedMimeTypes","additionalData","getMimeTypesArray","wpMimeTypesObject","mime","extensionsString","extensions","extension","filesSet","setAndUpdateFiles","idx","revokeBlobURL","isAllowedType","fileType","allowedMimeTypesForUser","isAllowedMimeTypeForUser","triggerError","mediaFile","createMediaFromFile","savedMedia","mediaObject","alt","alt_text","FormData","append","flatTerms","termsByParent","fillWithChildren","isReset","isChanging","isIgnored","DEFAULT_OPTIONS","initialState","lastAction","shouldCreateUndoLevel","dropRight","drop","nextPresent","nextPast","convertChangesToXML","changes","change","escapeHTML","n"],"mappings":";;AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;;AClFA;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAe;AACf;AACA,iDAAiD,gBAAgB;AACjE;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;;ACRA;AAAA;AAAe;AACf;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACNA;AAAA;AAAA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA,C;;;;;;;;;;;;AClCA;AAAA;AAAe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;ACJA;AAAA;AAAA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;ACdA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACbA;AAAA;AAAe;AACf;AACA,mBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA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ACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,+EAA+E;;AAE/E;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC,E;;;;;;;;;;;AC/RD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB;;AAEhB;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK,KAA6B;AAClC;AACA;AACA,EAAE,UAAU,IAA4E;AACxF;AACA,EAAE,iCAAqB,EAAE,mCAAE;AAC3B;AACA,GAAG;AAAA,oGAAC;AACJ,EAAE,MAAM,EAEN;AACF,CAAC;;;;;;;;;;;;ACnDD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;;;;;;;;;;;;;;;AC1BO,SAASyJ,mBAAT,CAA6BC,OAA7B,EAAsC;AAC3C;AACA,OAAK,IAAI/3B,IAAI,CAAb,EAAgBA,IAAI+3B,QAAQrnE,MAA5B,EAAoCsvC,GAApC,EAAyC;AACvC;AACA,QAAIg4B,OAAO1lE,KAAO;AAChB;AACD,KAFD,MAEO,IAAI0lE,OAAOzlE,OAAX,EAAoB;AACzBwpD,UAAI1f,IAAJ,CAAS,OAAT;AACD;;AAED0f,QAAI1f,IAAJ,CAAS47B,WAAWD,OAAOxvE,KAAlB,CAAT;;AAEkB;AAChBuzD,UAAI1f,IAAJ,CAAS,QAAT;AACD,KAFD,MAEO,IAAI27B,OAAOzlE,OAAX,EAAoB;AACzBwpD,UAAI1f,IAAJ,CAAS,QAAT;AACD;AACF;AACD,SAAO0f,IAAIhpD,IAAJ,CAAS,EAAT,CAAP;AACD;;AAED,SAASklE,UAAT,CAAoBtc,CAAG;AACrB;AACAuc,MAAIA,EAAEn5C,OAAF,CAAU,IAAV,EAAgB,OAAhB,CAAJ;AACAm5C,MAAIA,EAAEn5C,OAAF,CAAU,IAAV,EAAgB,MAAhB,CAAJ;AACAm5C,MAAIA,EAAEn5C,OAAF,CAAU,IAAV,EAAgB,MAAhB,CAAJ;AACAm5C,MAAIA,EAAEn5C,OAAF,CAAU,IAAV,EAAgB,QAAhB,CAAJ;;AAEA,SAAOm5C,CAAP;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BY;;AAEb,WAAW,mBAAO,CAAC,+DAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;AChIa;;AAEb,iBAAiB,mBAAO,CAAC,+FAAwB,E;;;;;;;;;;;;ACFpC;;AAEb,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,oGAAoG,mBAAmB,EAAE,mBAAmB,kGAAkG;;AAE9O;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,CAAC,Y;;;;;;;;;;;ACtbD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACtBA;AACA,oBAAoB,mBAAO,CAAC,oFAAgB;;AAE5C;AACA;AACA,WAAW,YAAY;AACvB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;AChGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc,SAAS;AACvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAA+B,GAAG,EAMtC;;AAEF;AACA;;;;;;;;;;;;;ACpHA;AACA;AACA;AACA;AACA;;AAEa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,sBAAsB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,IAAI,IAAqC;AACzC,6BAA6B,mBAAO,CAAC,yFAA4B;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,UAAU;AACrB;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4GAA4G;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,aAAa,mBAAO,CAAC,4DAAe;;AAEpC,2BAA2B,mBAAO,CAAC,yFAA4B;AAC/D,qBAAqB,mBAAO,CAAC,qEAAkB;;AAE/C;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,6BAA6B;AAC7B,QAAQ;AACR;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,KAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC,wFAAwF,SAAM;AACzI;AACA;;AAEA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC,4FAA4F,SAAM;AAC7I;AACA;;AAEA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,gCAAgC;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;AC1iBA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,mBAAO,CAAC,uFAA2B;AACtD,CAAC,MAAM,EAIN;;;;;;;;;;;;;AC3BD;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;;;;;;;;;;;;ACXA;AACA,CAAC;;AAED;AACA,mBAAmB,KAA0B;AAC7C;AACA,kBAAkB,KAAyB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,MAAM;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,MAAM;AAClB,YAAY,SAAS;AACrB;AACA,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,SAAS;AACrB;AACA,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA,KAAK;AACL,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,MAAM;AAClB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,OAAO;AACrB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,mCAAmC;AAClE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB;;AAExB,yCAAyC,qBAAqB;;AAE9D;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;;AAEtD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,0BAA0B,iBAAiB;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc,iBAAiB;AAC/B;;AAEA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,oBAAoB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE,IAEU;AACZ;AACA,EAAE,mCAAmB;AACrB;AACA,GAAG;AAAA,oGAAC;AACJ,EAAE,MAAM,EAaN;;AAEF,CAAC;;;;;;;;;;;;;;ACphBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,eAAe;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACpFa;;AAEb,iCAAiC,mBAAO,CAAC,0DAAU;AACnD,qCAAqC,mBAAO,CAAC,0DAAU;;;;;;;;;;;;;ACH1C;AACb;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,cAAc;AAC1E;AACA;AACA;AACA;AACA,YAAY,mBAAO,CAAC,oBAAO;AAC3B,gBAAgB,mBAAO,CAAC,sDAAY;AACpC,eAAe,mBAAO,CAAC,0DAAU;AACjC,qBAAqB,mBAAO,CAAC,kEAAa;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,UAAU,+DAA+D,UAAU,uBAAuB,qCAAqC;AAC7K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,iCAAiC,EAAE;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,WAAW,sBAAsB;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;;;;;;ACxHa;AACb;AACA,yBAAyB,mBAAO,CAAC,0FAAoB;AACrD;;;;;;;;;;;;;ACHa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,wB;;;;;;;;;;;ACvBA,iBAAiB,mBAAO,CAAC,kEAAgB;;;;;;;;;;;;;ACA5B;;AAEb,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,8CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N;AACA;AACA;AACA,UAAU,6CAA6C,OAAO,WAAW;AACzE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iCAAiC,0CAA0C;AAC3E;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ,GAAG;AACH;;AAEA;;AAEA;;AAEA,YAAY;AACZ;AACA,C;;;;;;;;;;;;AC9Ja;;AAEb;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;;;;;;;;;;;;AC/CA;AAAa;;AAEb;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA,WAAW,EAAE;AACb;AACA,YAAY,MAAM;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA;AACA;AACA,YAAY,SAAS;AACrB;AACe;AACf;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,MAAM;AAClB;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA,cAAc,uBAAuB;AACrC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,KAAK;AACjB;AACA,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,SAAS;AACvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;ACjRD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,8BAA8B;AACpD,sBAAsB,8BAA8B;AACpD,sBAAsB,8BAA8B;;AAEpD;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,mBAAmB,OAAO;AACzD,+BAA+B,mBAAmB,OAAO;AACzD,+BAA+B,mBAAmB,OAAO;AACzD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD,wCAAwC;AACxC,wCAAwC;AACxC;;AAEA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA,sDAAsD;AACtD,wCAAwC;AACxC,wCAAwC;AACxC;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yCAAyC;AAC5D,mBAAmB,yCAAyC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wCAAwC;AAC3D,mBAAmB,yCAAyC;AAC5D,mBAAmB,yCAAyC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uCAAuC;AAC1D,mBAAmB,wCAAwC;AAC3D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+DAA+D,WAAW;AAC1E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2DAA2D,wBAAwB;;AAEnF;AACA;AACA,2CAA2C,wBAAwB;AACnE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,8EAA8E,4BAA4B,gBAAgB;AAC1H,8EAA8E,2BAA2B,gBAAgB;AACzH,qDAAqD,oDAAoD,gBAAgB;AACzH,qDAAqD,oDAAoD,gBAAgB;AACzH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,0BAA0B;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA,KAAK,kBAAkB,YAAY,kBAAkB;AACrD;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4BAA4B,YAAY;;AAExC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE;AACjE,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE;AACjE,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AACjF,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AACjF;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC,UAAU,OAAO,UAAU,OAAO,SAAS;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA,IAAI,KAA6B;AACjC;AACA;AACA;AACA,SAAS,IAA0C;AACnD,IAAI,mCAAO,aAAa,kBAAkB;AAAA,oGAAC;AAC3C;AACA;AACA,KAAK,EAEJ;;AAED,CAAC;;;;;;;;;;;;AC1qCD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,4B;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA,uBAAuB,oBAAoB;AAC3C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,mCAAmC,uBAAuB;AAC1D,kCAAkC,sBAAsB;AACxD,gCAAgC,oBAAoB;AACpD,iCAAiC,qBAAqB;AACtD,gCAAgC,gBAAgB;AAChD,iCAAiC;AACjC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,+BAA+B,oBAAoB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,aAAa;AACb;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB;AACpB,uBAAuB;AACvB,yBAAyB;AACzB,wBAAwB;AACxB,0BAA0B;AAC1B,yBAAyB;AACzB,yBAAyB;;AAEzB;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;;;;;;;;;;;;ACzTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,eAAe,mBAAO,CAAC,qDAAU;AACjC,WAAW,mBAAO,CAAC,0CAAQ;;AAE3B;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gBAAgB,KAAK;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,2CAA2C,KAAK;AAChD,0CAA0C,KAAK;AAC/C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,kBAAkB,mBAAO,CAAC,4DAAa;;AAEvC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B,QAAQ;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC3tBa;;AAEb;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;ACfA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;ACrBA,aAAa,qCAAqC,EAAE,I;;;;;;;;;;;ACApD,aAAa,yCAAyC,EAAE,I;;;;;;;;;;;ACAxD,aAAa,sCAAsC,EAAE,I;;;;;;;;;;;ACArD,aAAa,qCAAqC,EAAE,I;;;;;;;;;;;ACApD,aAAa,uCAAuC,EAAE,I;;;;;;;;;;;ACAtD,aAAa,2CAA2C,EAAE,I;;;;;;;;;;;ACA1D,aAAa,wCAAwC,EAAE,I;;;;;;;;;;;ACAvD,aAAa,yCAAyC,EAAE,I;;;;;;;;;;;ACAxD,aAAa,qCAAqC,EAAE,I;;;;;;;;;;;ACApD,aAAa,qCAAqC,EAAE,I;;;;;;;;;;;ACApD,aAAa,2CAA2C,EAAE,I;;;;;;;;;;;ACA1D,aAAa,oCAAoC,EAAE,I;;;;;;;;;;;ACAnD,aAAa,wCAAwC,EAAE,I;;;;;;;;;;;ACAvD,aAAa,sCAAsC,EAAE,I;;;;;;;;;;;ACArD,aAAa,6CAA6C,EAAE,I;;;;;;;;;;;ACA5D,aAAa,qCAAqC,EAAE,I;;;;;;;;;;;ACApD,aAAa,+CAA+C,EAAE,I;;;;;;;;;;;ACA9D,aAAa,yCAAyC,EAAE,I;;;;;;;;;;;ACAxD,aAAa,wCAAwC,EAAE,I;;;;;;;;;;;ACAvD,aAAa,oCAAoC,EAAE,I;;;;;;;;;;;ACAnD,aAAa,yCAAyC,EAAE,I;;;;;;;;;;;ACAxD,aAAa,0CAA0C,EAAE,I;;;;;;;;;;;ACAzD,aAAa,oCAAoC,EAAE,I;;;;;;;;;;;ACAnD,aAAa,yCAAyC,EAAE,I;;;;;;;;;;;ACAxD,aAAa,0CAA0C,EAAE,I;;;;;;;;;;;ACAzD,aAAa,iCAAiC,EAAE,I;;;;;;;;;;;ACAhD,aAAa,iCAAiC,EAAE,I;;;;;;;;;;;ACAhD,aAAa,gCAAgC,EAAE,I;;;;;;;;;;;ACA/C,aAAa,kCAAkC,EAAE,I","file":"editor.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./node_modules/@wordpress/editor/build-module/index.js\");\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}","export default function _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}","import defineProperty from \"./defineProperty\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import _typeof from \"../../helpers/esm/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nexport default function _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}","/**\n * External dependencies\n */\nimport { find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Toolbar } from '@wordpress/components';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { withBlockEditContext } from '../block-edit/context';\n\nconst ALIGNMENT_CONTROLS = [\n\t{\n\t\ticon: 'editor-alignleft',\n\t\ttitle: __( 'Align left' ),\n\t\talign: 'left',\n\t},\n\t{\n\t\ticon: 'editor-aligncenter',\n\t\ttitle: __( 'Align center' ),\n\t\talign: 'center',\n\t},\n\t{\n\t\ticon: 'editor-alignright',\n\t\ttitle: __( 'Align right' ),\n\t\talign: 'right',\n\t},\n];\n\nexport function AlignmentToolbar( { isCollapsed, value, onChange } ) {\n\tfunction applyOrUnset( align ) {\n\t\treturn () => onChange( value === align ? undefined : align );\n\t}\n\n\tconst activeAlignment = find( ALIGNMENT_CONTROLS, ( control ) => control.align === value );\n\n\treturn (\n\t\t {\n\t\t\t\tconst { align } = control;\n\t\t\t\tconst isActive = ( value === align );\n\n\t\t\t\treturn {\n\t\t\t\t\t...control,\n\t\t\t\t\tisActive,\n\t\t\t\t\tonClick: applyOrUnset( align ),\n\t\t\t\t};\n\t\t\t} ) }\n\t\t/>\n\t);\n}\n\nexport default compose(\n\twithBlockEditContext( ( { clientId } ) => {\n\t\treturn {\n\t\t\tclientId,\n\t\t};\n\t} ),\n\twithViewportMatch( { isLargeViewport: 'medium' } ),\n\twithSelect( ( select, { clientId, isLargeViewport, isCollapsed } ) => {\n\t\tconst { getBlockRootClientId, getEditorSettings } = select( 'core/editor' );\n\t\treturn {\n\t\t\tisCollapsed: isCollapsed || ! isLargeViewport || (\n\t\t\t\t! getEditorSettings().hasFixedToolbar &&\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t),\n\t\t};\n\t} ),\n)( AlignmentToolbar );\n","/**\n * External dependencies\n */\nimport { clone } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { applyFilters, hasFilter } from '@wordpress/hooks';\nimport { Component } from '@wordpress/element';\nimport { compose } from '@wordpress/compose';\nimport { Autocomplete as OriginalAutocomplete } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { withBlockEditContext } from '../block-edit/context';\n\n/*\n * Use one array instance for fallback rather than inline array literals\n * because the latter may cause rerender due to failed prop equality checks.\n */\nconst completersFallback = [];\n\n/**\n * Wrap the default Autocomplete component with one that\n * supports a filter hook for customizing its list of autocompleters.\n *\n * Since there may be many Autocomplete instances at one time, this component\n * applies the filter on demand, when the component is first focused after\n * receiving a new list of completers.\n *\n * This function is exported for unit test.\n *\n * @param {Function} Autocomplete Original component.\n * @return {Function} Wrapped component\n */\nexport function withFilteredAutocompleters( Autocomplete ) {\n\treturn class FilteredAutocomplete extends Component {\n\t\tconstructor() {\n\t\t\tsuper();\n\n\t\t\tthis.state = { completers: completersFallback };\n\n\t\t\tthis.saveParentRef = this.saveParentRef.bind( this );\n\t\t\tthis.onFocus = this.onFocus.bind( this );\n\t\t}\n\n\t\tcomponentDidUpdate() {\n\t\t\tconst hasFocus = this.parentNode.contains( document.activeElement );\n\n\t\t\t/*\n\t\t\t * It's possible for props to be updated when the component has focus,\n\t\t\t * so here, we ensure new completers are immediately applied while we\n\t\t\t * have the focus.\n\t\t\t *\n\t\t\t * NOTE: This may trigger another render but only when the component has focus.\n\t\t\t */\n\t\t\tif ( hasFocus && this.hasStaleCompleters() ) {\n\t\t\t\tthis.updateCompletersState();\n\t\t\t}\n\t\t}\n\n\t\tonFocus() {\n\t\t\tif ( this.hasStaleCompleters() ) {\n\t\t\t\tthis.updateCompletersState();\n\t\t\t}\n\t\t}\n\n\t\thasStaleCompleters() {\n\t\t\treturn (\n\t\t\t\t! ( 'lastFilteredCompletersProp' in this.state ) ||\n\t\t\t\tthis.state.lastFilteredCompletersProp !== this.props.completers\n\t\t\t);\n\t\t}\n\n\t\tupdateCompletersState() {\n\t\t\tconst { blockName, completers } = this.props;\n\t\t\tlet nextCompleters = completers;\n\t\t\tconst lastFilteredCompletersProp = nextCompleters;\n\n\t\t\tif ( hasFilter( 'editor.Autocomplete.completers' ) ) {\n\t\t\t\tnextCompleters = applyFilters(\n\t\t\t\t\t'editor.Autocomplete.completers',\n\t\t\t\t\t// Provide copies so filters may directly modify them.\n\t\t\t\t\tnextCompleters && nextCompleters.map( clone ),\n\t\t\t\t\tblockName,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthis.setState( {\n\t\t\t\tlastFilteredCompletersProp,\n\t\t\t\tcompleters: nextCompleters || completersFallback,\n\t\t\t} );\n\t\t}\n\n\t\tsaveParentRef( parentNode ) {\n\t\t\tthis.parentNode = parentNode;\n\t\t}\n\n\t\trender() {\n\t\t\tconst { completers } = this.state;\n\t\t\tconst autocompleteProps = {\n\t\t\t\t...this.props,\n\t\t\t\tcompleters,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default compose( [\n\twithBlockEditContext( ( { name } ) => {\n\t\treturn {\n\t\t\tblockName: name,\n\t\t};\n\t} ),\n\twithFilteredAutocompleters,\n] )( OriginalAutocomplete );\n","/**\n * WordPress dependencies\n */\nimport { select } from '@wordpress/data';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\n\n/**\n * Returns the client ID of the parent where a newly inserted block would be\n * placed.\n *\n * @return {string} Client ID of the parent where a newly inserted block would\n * be placed.\n */\nfunction defaultGetBlockInsertionParentClientId() {\n\treturn select( 'core/editor' ).getBlockInsertionPoint().rootClientId;\n}\n\n/**\n * Returns the inserter items for the specified parent block.\n *\n * @param {string} parentClientId Client ID of the block for which to retrieve\n * inserter items.\n *\n * @return {Array} The inserter items for the specified\n * parent.\n */\nfunction defaultGetInserterItems( parentClientId ) {\n\treturn select( 'core/editor' ).getInserterItems( parentClientId );\n}\n\n/**\n * Returns the name of the currently selected block.\n *\n * @return {string?} The name of the currently selected block or `null` if no\n * block is selected.\n */\nfunction defaultGetSelectedBlockName() {\n\tconst selectedBlock = select( 'core/editor' ).getSelectedBlock();\n\treturn selectedBlock ? selectedBlock.name : null;\n}\n\n/**\n * Creates a blocks repeater for replacing the current block with a selected block type.\n *\n * @return {Completer} A blocks completer.\n */\nexport function createBlockCompleter( {\n\t// Allow store-based selectors to be overridden for unit test.\n\tgetBlockInsertionParentClientId = defaultGetBlockInsertionParentClientId,\n\tgetInserterItems = defaultGetInserterItems,\n\tgetSelectedBlockName = defaultGetSelectedBlockName,\n} = {} ) {\n\treturn {\n\t\tname: 'blocks',\n\t\tclassName: 'editor-autocompleters__block',\n\t\ttriggerPrefix: '/',\n\t\toptions() {\n\t\t\tconst selectedBlockName = getSelectedBlockName();\n\t\t\treturn getInserterItems( getBlockInsertionParentClientId() ).filter(\n\t\t\t\t// Avoid offering to replace the current block with a block of the same type.\n\t\t\t\t( inserterItem ) => selectedBlockName !== inserterItem.name\n\t\t\t);\n\t\t},\n\t\tgetOptionKeywords( inserterItem ) {\n\t\t\tconst { title, keywords = [] } = inserterItem;\n\t\t\treturn [ ...keywords, title ];\n\t\t},\n\t\tgetOptionLabel( inserterItem ) {\n\t\t\tconst { icon, title } = inserterItem;\n\t\t\treturn [\n\t\t\t\t,\n\t\t\t\ttitle,\n\t\t\t];\n\t\t},\n\t\tallowContext( before, after ) {\n\t\t\treturn ! ( /\\S/.test( before ) || /\\S/.test( after ) );\n\t\t},\n\t\tgetOptionCompletion( inserterItem ) {\n\t\t\tconst { name, initialAttributes } = inserterItem;\n\t\t\treturn {\n\t\t\t\taction: 'replace',\n\t\t\t\tvalue: createBlock( name, initialAttributes ),\n\t\t\t};\n\t\t},\n\t\tisOptionDisabled( inserterItem ) {\n\t\t\treturn inserterItem.isDisabled;\n\t\t},\n\t};\n}\n\n/**\n * Creates a blocks repeater for replacing the current block with a selected block type.\n *\n * @return {Completer} A blocks completer.\n */\nexport default createBlockCompleter();\n","export { default as blockAutocompleter } from './block';\nexport { default as userAutocompleter } from './user';\n","/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\n\n/**\n* A user mentions completer.\n*\n* @type {Completer}\n*/\nexport default {\n\tname: 'users',\n\tclassName: 'editor-autocompleters__user',\n\ttriggerPrefix: '@',\n\toptions( search ) {\n\t\tlet payload = '';\n\t\tif ( search ) {\n\t\t\tpayload = '?search=' + encodeURIComponent( search );\n\t\t}\n\t\treturn apiFetch( { path: '/wp/v2/users' + payload } );\n\t},\n\tisDebounced: true,\n\tgetOptionKeywords( user ) {\n\t\treturn [ user.slug, user.name ];\n\t},\n\tgetOptionLabel( user ) {\n\t\treturn [\n\t\t\t\"\",\n\t\t\t{ user.name },\n\t\t\t{ user.slug },\n\t\t];\n\t},\n\tgetOptionCompletion( user ) {\n\t\treturn `@${ user.slug }`;\n\t},\n};\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\nexport class AutosaveMonitor extends Component {\n\tcomponentDidUpdate( prevProps ) {\n\t\tconst { isDirty, isAutosaveable } = this.props;\n\n\t\tif (\n\t\t\tprevProps.isDirty !== isDirty ||\n\t\t\tprevProps.isAutosaveable !== isAutosaveable\n\t\t) {\n\t\t\tthis.toggleTimer( isDirty && isAutosaveable );\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.toggleTimer( false );\n\t}\n\n\ttoggleTimer( isPendingSave ) {\n\t\tclearTimeout( this.pendingSave );\n\t\tconst { autosaveInterval } = this.props;\n\t\tif ( isPendingSave ) {\n\t\t\tthis.pendingSave = setTimeout(\n\t\t\t\t() => this.props.autosave(),\n\t\t\t\tautosaveInterval * 1000\n\t\t\t);\n\t\t}\n\t}\n\n\trender() {\n\t\treturn null;\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tisEditedPostDirty,\n\t\t\tisEditedPostAutosaveable,\n\t\t\tgetEditorSettings,\n\t\t} = select( 'core/editor' );\n\t\tconst { autosaveInterval } = getEditorSettings();\n\t\treturn {\n\t\t\tisDirty: isEditedPostDirty(),\n\t\t\tisAutosaveable: isEditedPostAutosaveable(),\n\t\t\tautosaveInterval,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tautosave: dispatch( 'core/editor' ).autosave,\n\t} ) ),\n] )( AutosaveMonitor );\n","/**\n * External dependencies\n */\nimport { castArray, first, last, every } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { cloneBlock, hasBlockSupport } from '@wordpress/blocks';\n\nfunction BlockActions( {\n\tonDuplicate,\n\tonRemove,\n\tonInsertBefore,\n\tonInsertAfter,\n\tisLocked,\n\tcanDuplicate,\n\tchildren,\n} ) {\n\treturn children( {\n\t\tonDuplicate,\n\t\tonRemove,\n\t\tonInsertAfter,\n\t\tonInsertBefore,\n\t\tisLocked,\n\t\tcanDuplicate,\n\t} );\n}\n\nexport default compose( [\n\twithSelect( ( select, props ) => {\n\t\tconst {\n\t\t\tgetBlocksByClientId,\n\t\t\tgetBlockIndex,\n\t\t\tgetTemplateLock,\n\t\t\tgetBlockRootClientId,\n\t\t} = select( 'core/editor' );\n\n\t\tconst blocks = getBlocksByClientId( props.clientIds );\n\t\tconst canDuplicate = every( blocks, ( block ) => {\n\t\t\treturn !! block && hasBlockSupport( block.name, 'multiple', true );\n\t\t} );\n\t\tconst rootClientId = getBlockRootClientId( props.clientIds[ 0 ] );\n\n\t\treturn {\n\t\t\tfirstSelectedIndex: getBlockIndex( first( castArray( props.clientIds ) ), rootClientId ),\n\t\t\tlastSelectedIndex: getBlockIndex( last( castArray( props.clientIds ) ), rootClientId ),\n\t\t\tisLocked: !! getTemplateLock( rootClientId ),\n\t\t\tblocks,\n\t\t\tcanDuplicate,\n\t\t\trootClientId,\n\t\t\textraProps: props,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, props ) => {\n\t\tconst {\n\t\t\tclientIds,\n\t\t\trootClientId,\n\t\t\tblocks,\n\t\t\tfirstSelectedIndex,\n\t\t\tlastSelectedIndex,\n\t\t\tisLocked,\n\t\t\tcanDuplicate,\n\t\t} = props;\n\n\t\tconst {\n\t\t\tinsertBlocks,\n\t\t\tmultiSelect,\n\t\t\tremoveBlocks,\n\t\t\tinsertDefaultBlock,\n\t\t} = dispatch( 'core/editor' );\n\n\t\treturn {\n\t\t\tonDuplicate() {\n\t\t\t\tif ( isLocked || ! canDuplicate ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst clonedBlocks = blocks.map( ( block ) => cloneBlock( block ) );\n\t\t\t\tinsertBlocks(\n\t\t\t\t\tclonedBlocks,\n\t\t\t\t\tlastSelectedIndex + 1,\n\t\t\t\t\trootClientId\n\t\t\t\t);\n\t\t\t\tif ( clonedBlocks.length > 1 ) {\n\t\t\t\t\tmultiSelect(\n\t\t\t\t\t\tfirst( clonedBlocks ).clientId,\n\t\t\t\t\t\tlast( clonedBlocks ).clientId\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\tonRemove() {\n\t\t\t\tif ( ! isLocked ) {\n\t\t\t\t\tremoveBlocks( clientIds );\n\t\t\t\t}\n\t\t\t},\n\t\t\tonInsertBefore() {\n\t\t\t\tif ( ! isLocked ) {\n\t\t\t\t\tinsertDefaultBlock( {}, rootClientId, firstSelectedIndex );\n\t\t\t\t}\n\t\t\t},\n\t\t\tonInsertAfter() {\n\t\t\t\tif ( ! isLocked ) {\n\t\t\t\t\tinsertDefaultBlock( {}, rootClientId, lastSelectedIndex + 1 );\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t} ),\n] )( BlockActions );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Toolbar } from '@wordpress/components';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { withBlockEditContext } from '../block-edit/context';\n\nconst BLOCK_ALIGNMENTS_CONTROLS = {\n\tleft: {\n\t\ticon: 'align-left',\n\t\ttitle: __( 'Align left' ),\n\t},\n\tcenter: {\n\t\ticon: 'align-center',\n\t\ttitle: __( 'Align center' ),\n\t},\n\tright: {\n\t\ticon: 'align-right',\n\t\ttitle: __( 'Align right' ),\n\t},\n\twide: {\n\t\ticon: 'align-wide',\n\t\ttitle: __( 'Wide width' ),\n\t},\n\tfull: {\n\t\ticon: 'align-full-width',\n\t\ttitle: __( 'Full width' ),\n\t},\n};\n\nconst DEFAULT_CONTROLS = [ 'left', 'center', 'right', 'wide', 'full' ];\nconst WIDE_CONTROLS = [ 'wide', 'full' ];\n\nexport function BlockAlignmentToolbar( { isCollapsed, value, onChange, controls = DEFAULT_CONTROLS, wideControlsEnabled = false } ) {\n\tfunction applyOrUnset( align ) {\n\t\treturn () => onChange( value === align ? undefined : align );\n\t}\n\n\tconst enabledControls = wideControlsEnabled ?\n\t\tcontrols :\n\t\tcontrols.filter( ( control ) => WIDE_CONTROLS.indexOf( control ) === -1 );\n\n\tconst activeAlignment = BLOCK_ALIGNMENTS_CONTROLS[ value ];\n\n\treturn (\n\t\t {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...BLOCK_ALIGNMENTS_CONTROLS[ control ],\n\t\t\t\t\t\tisActive: value === control,\n\t\t\t\t\t\tonClick: applyOrUnset( control ),\n\t\t\t\t\t};\n\t\t\t\t} )\n\t\t\t}\n\t\t/>\n\t);\n}\n\nexport default compose(\n\twithBlockEditContext( ( { clientId } ) => {\n\t\treturn {\n\t\t\tclientId,\n\t\t};\n\t} ),\n\twithViewportMatch( { isLargeViewport: 'medium' } ),\n\twithSelect( ( select, { clientId, isLargeViewport, isCollapsed } ) => {\n\t\tconst { getBlockRootClientId, getEditorSettings } = select( 'core/editor' );\n\t\treturn {\n\t\t\twideControlsEnabled: select( 'core/editor' ).getEditorSettings().alignWide,\n\t\t\tisCollapsed: isCollapsed || ! isLargeViewport || (\n\t\t\t\t! getEditorSettings().hasFixedToolbar &&\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t),\n\t\t};\n\t} ),\n)( BlockAlignmentToolbar );\n","/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\n\nconst BlockView = ( { title, rawContent, renderedContent, action, actionText, className } ) => {\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t

{ title }

\n\n\t\t\t\t
\n\t\t\t\t\t{ rawContent }\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t{ renderedContent }\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default BlockView;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { castArray } from 'lodash';\nimport { diffChars } from 'diff';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { getBlockType, getSaveContent, getSaveElement } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport BlockView from './block-view';\n\nclass BlockCompare extends Component {\n\tgetDifference( originalContent, newContent ) {\n\t\tconst difference = diffChars( originalContent, newContent );\n\n\t\treturn difference.map( ( item, pos ) => {\n\t\t\tconst classes = classnames( {\n\t\t\t\t'editor-block-compare__added': item.added,\n\t\t\t\t'editor-block-compare__removed': item.removed,\n\t\t\t} );\n\n\t\t\treturn { item.value };\n\t\t} );\n\t}\n\n\tgetOriginalContent( block ) {\n\t\t// Get current block details\n\t\tconst blockType = getBlockType( block.name );\n\n\t\treturn {\n\t\t\trawContent: block.originalContent,\n\t\t\trenderedContent: getSaveElement( blockType, block.attributes ),\n\t\t};\n\t}\n\n\tgetConvertedContent( block ) {\n\t\t// The convertor may return an array of items or a single item\n\t\tconst newBlocks = castArray( block );\n\n\t\t// Get converted block details\n\t\tconst newContent = newBlocks.map( ( item ) => getSaveContent( getBlockType( item.name ), item.attributes, item.innerBlocks ) );\n\t\tconst renderedContent = newBlocks.map( ( item ) => getSaveElement( getBlockType( item.name ), item.attributes, item.innerBlocks ) );\n\n\t\treturn {\n\t\t\trawContent: newContent.join( '' ),\n\t\t\trenderedContent,\n\t\t};\n\t}\n\n\trender() {\n\t\tconst { block, onKeep, onConvert, convertor, convertButtonText } = this.props;\n\t\tconst original = this.getOriginalContent( block );\n\t\tconst converted = this.getConvertedContent( convertor( block ) );\n\t\tconst difference = this.getDifference( original.rawContent, converted.rawContent );\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n}\n\nexport default BlockCompare;\n","/**\n * WordPress dependencies\n */\nimport { createSlotFill, Toolbar } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { ifBlockEditSelected } from '../block-edit/context';\n\nconst { Fill, Slot } = createSlotFill( 'BlockControls' );\n\nconst BlockControlsFill = ( { controls, children } ) => (\n\t\n\t\t\n\t\t{ children }\n\t\n);\n\nconst BlockControls = ifBlockEditSelected( BlockControlsFill );\n\nBlockControls.Slot = Slot;\n\nexport default BlockControls;\n","/**\n * WordPress dependencies\n */\nimport { Draggable } from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\n\nconst BlockDraggable = ( { children, clientId, rootClientId, blockElementId, index, onDragStart, onDragEnd } ) => {\n\tconst transferData = {\n\t\ttype: 'block',\n\t\tsrcIndex: index,\n\t\tsrcRootClientId: rootClientId,\n\t\tsrcClientId: clientId,\n\t};\n\n\treturn (\n\t\t\n\t\t\t{\n\t\t\t\t( { onDraggableStart, onDraggableEnd } ) => {\n\t\t\t\t\treturn children( {\n\t\t\t\t\t\tonDraggableStart: onDraggableStart,\n\t\t\t\t\t\tonDraggableEnd: onDraggableEnd,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default withSelect( ( select, { clientId } ) => {\n\tconst { getBlockIndex, getBlockRootClientId } = select( 'core/editor' );\n\treturn {\n\t\tindex: getBlockIndex( clientId ),\n\t\trootClientId: getBlockRootClientId( clientId ),\n\t};\n} )( BlockDraggable );\n","/**\n * External Dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDropZone,\n\twithFilters,\n} from '@wordpress/components';\nimport {\n\trawHandler,\n\tgetBlockTransforms,\n\tfindTransform,\n} from '@wordpress/blocks';\nimport { Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\nconst parseDropEvent = ( event ) => {\n\tlet result = {\n\t\tsrcRootClientId: null,\n\t\tsrcClientId: null,\n\t\tsrcIndex: null,\n\t\ttype: null,\n\t};\n\n\tif ( ! event.dataTransfer ) {\n\t\treturn result;\n\t}\n\n\ttry {\n\t\tresult = Object.assign( result, JSON.parse( event.dataTransfer.getData( 'text' ) ) );\n\t} catch ( err ) {\n\t\treturn result;\n\t}\n\n\treturn result;\n};\n\nclass BlockDropZone extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onFilesDrop = this.onFilesDrop.bind( this );\n\t\tthis.onHTMLDrop = this.onHTMLDrop.bind( this );\n\t\tthis.onDrop = this.onDrop.bind( this );\n\t}\n\n\tgetInsertIndex( position ) {\n\t\tconst { index } = this.props;\n\t\tif ( index !== undefined ) {\n\t\t\treturn position.y === 'top' ? index : index + 1;\n\t\t}\n\t}\n\n\tonFilesDrop( files, position ) {\n\t\tconst transformation = findTransform(\n\t\t\tgetBlockTransforms( 'from' ),\n\t\t\t( transform ) => transform.type === 'files' && transform.isMatch( files )\n\t\t);\n\n\t\tif ( transformation ) {\n\t\t\tconst insertIndex = this.getInsertIndex( position );\n\t\t\tconst blocks = transformation.transform( files, this.props.updateBlockAttributes );\n\t\t\tthis.props.insertBlocks( blocks, insertIndex );\n\t\t}\n\t}\n\n\tonHTMLDrop( HTML, position ) {\n\t\tconst blocks = rawHandler( { HTML, mode: 'BLOCKS' } );\n\n\t\tif ( blocks.length ) {\n\t\t\tthis.props.insertBlocks( blocks, this.getInsertIndex( position ) );\n\t\t}\n\t}\n\n\tonDrop( event, position ) {\n\t\tconst { rootClientId: dstRootClientId, clientId: dstClientId, index: dstIndex, getClientIdsOfDescendants } = this.props;\n\t\tconst { srcRootClientId, srcClientId, srcIndex, type } = parseDropEvent( event );\n\n\t\tconst isBlockDropType = ( dropType ) => dropType === 'block';\n\t\tconst isSameLevel = ( srcRoot, dstRoot ) => {\n\t\t\t// Note that rootClientId of top-level blocks will be undefined OR a void string,\n\t\t\t// so we also need to account for that case separately.\n\t\t\treturn ( srcRoot === dstRoot ) || ( ! srcRoot === true && ! dstRoot === true );\n\t\t};\n\t\tconst isSameBlock = ( src, dst ) => src === dst;\n\t\tconst isSrcBlockAnAncestorOfDstBlock = ( src, dst ) => getClientIdsOfDescendants( [ src ] ).some( ( id ) => id === dst );\n\n\t\tif ( ! isBlockDropType( type ) ||\n\t\t\tisSameBlock( srcClientId, dstClientId ) ||\n\t\t\tisSrcBlockAnAncestorOfDstBlock( srcClientId, dstClientId ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst positionIndex = this.getInsertIndex( position );\n\t\t// If the block is kept at the same level and moved downwards,\n\t\t// subtract to account for blocks shifting upward to occupy its old position.\n\t\tconst insertIndex = dstIndex && srcIndex < dstIndex && isSameLevel( srcRootClientId, dstRootClientId ) ? positionIndex - 1 : positionIndex;\n\t\tthis.props.moveBlockToPosition( srcClientId, srcRootClientId, insertIndex );\n\t}\n\n\trender() {\n\t\tconst { isLocked, index } = this.props;\n\t\tif ( isLocked ) {\n\t\t\treturn null;\n\t\t}\n\t\tconst isAppender = index === undefined;\n\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithDispatch( ( dispatch, ownProps ) => {\n\t\tconst {\n\t\t\tinsertBlocks,\n\t\t\tupdateBlockAttributes,\n\t\t\tmoveBlockToPosition,\n\t\t} = dispatch( 'core/editor' );\n\n\t\treturn {\n\t\t\tinsertBlocks( blocks, index ) {\n\t\t\t\tconst { rootClientId } = ownProps;\n\n\t\t\t\tinsertBlocks( blocks, index, rootClientId );\n\t\t\t},\n\t\t\tupdateBlockAttributes( ...args ) {\n\t\t\t\tupdateBlockAttributes( ...args );\n\t\t\t},\n\t\t\tmoveBlockToPosition( srcClientId, srcRootClientId, dstIndex ) {\n\t\t\t\tconst { rootClientId: dstRootClientId } = ownProps;\n\t\t\t\tmoveBlockToPosition( srcClientId, srcRootClientId, dstRootClientId, dstIndex );\n\t\t\t},\n\t\t};\n\t} ),\n\twithSelect( ( select, { rootClientId } ) => {\n\t\tconst { getClientIdsOfDescendants, getTemplateLock } = select( 'core/editor' );\n\t\treturn {\n\t\t\tisLocked: !! getTemplateLock( rootClientId ),\n\t\t\tgetClientIdsOfDescendants,\n\t\t};\n\t} ),\n\twithFilters( 'editor.BlockDropZone' )\n)( BlockDropZone );\n","/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createContext } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\nconst { Consumer, Provider } = createContext( {\n\tname: '',\n\tisSelected: false,\n\tfocusedElement: null,\n\tsetFocusedElement: noop,\n\tclientId: null,\n} );\n\nexport { Provider as BlockEditContextProvider };\n\n/**\n * A Higher Order Component used to inject BlockEdit context to the\n * wrapped component.\n *\n * @param {Function} mapContextToProps Function called on every context change,\n * expected to return object of props to\n * merge with the component's own props.\n *\n * @return {Component} Enhanced component with injected context as props.\n */\nexport const withBlockEditContext = ( mapContextToProps ) => createHigherOrderComponent( ( OriginalComponent ) => {\n\treturn ( props ) => (\n\t\t\n\t\t\t{ ( context ) => (\n\t\t\t\t\n\t\t\t) }\n\t\t\n\t);\n}, 'withBlockEditContext' );\n\n/**\n * A Higher Order Component used to render conditionally the wrapped\n * component only when the BlockEdit has selected state set.\n *\n * @param {Component} OriginalComponent Component to wrap.\n *\n * @return {Component} Component which renders only when the BlockEdit is selected.\n */\nexport const ifBlockEditSelected = createHigherOrderComponent( ( OriginalComponent ) => {\n\treturn ( props ) => (\n\t\t\n\t\t\t{ ( { isSelected } ) => isSelected && (\n\t\t\t\t\n\t\t\t) }\n\t\t\n\t);\n}, 'ifBlockEditSelected' );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { withFilters } from '@wordpress/components';\nimport { getBlockDefaultClassName, hasBlockSupport, getBlockType } from '@wordpress/blocks';\n\nexport const Edit = ( props ) => {\n\tconst { attributes = {}, name } = props;\n\tconst blockType = getBlockType( name );\n\n\tif ( ! blockType ) {\n\t\treturn null;\n\t}\n\n\t// Generate a class name for the block's editable form\n\tconst generatedClassName = hasBlockSupport( blockType, 'className', true ) ?\n\t\tgetBlockDefaultClassName( name ) :\n\t\tnull;\n\tconst className = classnames( generatedClassName, attributes.className );\n\n\t// `edit` and `save` are functions or components describing the markup\n\t// with which a block is displayed. If `blockType` is valid, assign\n\t// them preferentially as the render value for the block.\n\tconst Component = blockType.edit || blockType.save;\n\n\treturn ;\n};\n\nexport default withFilters( 'editor.BlockEdit' )( Edit );\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Edit from './edit';\nimport { BlockEditContextProvider } from './context';\n\nclass BlockEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.setFocusedElement = this.setFocusedElement.bind( this );\n\n\t\tthis.state = {\n\t\t\tfocusedElement: null,\n\t\t\tsetFocusedElement: this.setFocusedElement,\n\t\t};\n\t}\n\n\tsetFocusedElement( focusedElement ) {\n\t\tthis.setState( ( prevState ) => {\n\t\t\tif ( prevState.focusedElement === focusedElement ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn { focusedElement };\n\t\t} );\n\t}\n\n\tstatic getDerivedStateFromProps( props ) {\n\t\tconst { clientId, name, isSelected } = props;\n\n\t\treturn {\n\t\t\tname,\n\t\t\tisSelected,\n\t\t\tclientId,\n\t\t};\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default BlockEdit;\n","/**\n * WordPress dependencies\n */\nimport { createSlotFill } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { ifBlockEditSelected } from '../block-edit/context';\n\nconst { Fill, Slot } = createSlotFill( 'BlockFormatControls' );\n\nconst BlockFormatControls = ifBlockEditSelected( Fill );\n\nBlockFormatControls.Slot = Slot;\n\nexport default BlockFormatControls;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Path, Icon, SVG } from '@wordpress/components';\n\nexport default function BlockIcon( { icon, showColors = false, className } ) {\n\tif ( get( icon, [ 'src' ] ) === 'block-default' ) {\n\t\ticon = {\n\t\t\tsrc: ,\n\t\t};\n\t}\n\n\tconst renderedIcon = ;\n\tconst style = showColors ? {\n\t\tbackgroundColor: icon && icon.background,\n\t\tcolor: icon && icon.foreground,\n\t} : {};\n\n\treturn (\n\t\t\n\t\t\t{ renderedIcon }\n\t\t\n\t);\n}\n","/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { getBlockType, getUnregisteredTypeHandlerName } from '@wordpress/blocks';\nimport { PanelBody } from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\nimport { Fragment } from '@wordpress/element';\n\n/**\n * Internal Dependencies\n */\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockIcon from '../block-icon';\nimport InspectorControls from '../inspector-controls';\nimport InspectorAdvancedControls from '../inspector-advanced-controls';\nimport BlockStyles from '../block-styles';\n\nconst BlockInspector = ( { selectedBlock, blockType, count } ) => {\n\tif ( count > 1 ) {\n\t\treturn { __( 'Coming Soon' ) };\n\t}\n\n\tconst isSelectedBlockUnregistered =\n\t\t!! selectedBlock && selectedBlock.name === getUnregisteredTypeHandlerName();\n\n\t/*\n\t * If the selected block is of an unregistered type, avoid showing it as an actual selection\n\t * because we want the user to focus on the unregistered block warning, not block settings.\n\t */\n\tif ( ! selectedBlock || isSelectedBlockUnregistered ) {\n\t\treturn { __( 'No block selected.' ) };\n\t}\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
{ blockType.title }
\n\t\t\t\t\t
{ blockType.description }
\n\t\t\t\t
\n\t\t\t
\n\t\t\t{ !! blockType.styles && (\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t) }\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{ ( fills ) => ! isEmpty( fills ) && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t\n\t\t\t\t\t) }\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default withSelect(\n\t( select ) => {\n\t\tconst { getSelectedBlock, getSelectedBlockCount } = select( 'core/editor' );\n\t\tconst selectedBlock = getSelectedBlock();\n\t\tconst blockType = selectedBlock && getBlockType( selectedBlock.name );\n\t\treturn {\n\t\t\tselectedBlock,\n\t\t\tblockType,\n\t\t\tcount: getSelectedBlockCount(),\n\t\t};\n\t}\n)( BlockInspector );\n","/**\n * External dependencies\n */\nimport { last } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport { getDefaultBlockName } from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\nimport { Button, Dashicon } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport IgnoreNestedEvents from '../ignore-nested-events';\nimport DefaultBlockAppender from '../default-block-appender';\nimport Inserter from '../inserter';\n\nfunction BlockListAppender( {\n\tblockClientIds,\n\trootClientId,\n\tcanInsertDefaultBlock,\n\tisLocked,\n} ) {\n\tif ( isLocked ) {\n\t\treturn null;\n\t}\n\n\tif ( canInsertDefaultBlock ) {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n\n\treturn (\n\t\t
\n\t\t\t (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t/>\n\t\t
\n\t);\n}\n\nexport default withSelect( ( select, { rootClientId } ) => {\n\tconst {\n\t\tgetBlockOrder,\n\t\tcanInsertBlockType,\n\t\tgetTemplateLock,\n\t} = select( 'core/editor' );\n\n\treturn {\n\t\tisLocked: !! getTemplateLock( rootClientId ),\n\t\tblockClientIds: getBlockOrder( rootClientId ),\n\t\tcanInsertDefaultBlock: canInsertBlockType( getDefaultBlockName(), rootClientId ),\n\t};\n} )( BlockListAppender );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport NavigableToolbar from '../navigable-toolbar';\nimport { BlockToolbar } from '../';\n\nfunction BlockContextualToolbar() {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default BlockContextualToolbar;\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\nclass BlockCrashBoundary extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\thasError: false,\n\t\t};\n\t}\n\n\tcomponentDidCatch( error ) {\n\t\tthis.props.onError( error );\n\n\t\tthis.setState( {\n\t\t\thasError: true,\n\t\t} );\n\t}\n\n\trender() {\n\t\tif ( this.state.hasError ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this.props.children;\n\t}\n}\n\nexport default BlockCrashBoundary;\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Warning from '../warning';\n\nconst warning = (\n\t\n\t\t{ __( 'This block has encountered an error and cannot be previewed.' ) }\n\t\n);\n\nexport default () => warning;\n","\n/**\n * External Dependencies\n */\nimport TextareaAutosize from 'react-autosize-textarea';\nimport { isEqual } from 'lodash';\n\n/**\n * WordPress Dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { compose } from '@wordpress/compose';\nimport { getBlockAttributes, getBlockContent, getBlockType, isValidBlockContent, getSaveContent } from '@wordpress/blocks';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\nexport class BlockHTML extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\t\tthis.onChange = this.onChange.bind( this );\n\t\tthis.onBlur = this.onBlur.bind( this );\n\t\tthis.state = {\n\t\t\thtml: props.block.isValid ? getBlockContent( props.block ) : props.block.originalContent,\n\t\t};\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( ! isEqual( this.props.block.attributes, prevProps.block.attributes ) ) {\n\t\t\tthis.setState( {\n\t\t\t\thtml: getBlockContent( this.props.block ),\n\t\t\t} );\n\t\t}\n\t}\n\n\tonBlur() {\n\t\tconst { html } = this.state;\n\t\tconst blockType = getBlockType( this.props.block.name );\n\t\tconst attributes = getBlockAttributes( blockType, html, this.props.block.attributes );\n\n\t\t// If html is empty we reset the block to the default HTML and mark it as valid to avoid triggering an error\n\t\tconst content = html ? html : getSaveContent( blockType, attributes );\n\t\tconst isValid = html ? isValidBlockContent( blockType, attributes, content ) : true;\n\n\t\tthis.props.onChange( this.props.clientId, attributes, content, isValid );\n\n\t\t// Ensure the state is updated if we reset so it displays the default content\n\t\tif ( ! html ) {\n\t\t\tthis.setState( { html: content } );\n\t\t}\n\t}\n\n\tonChange( event ) {\n\t\tthis.setState( { html: event.target.value } );\n\t}\n\n\trender() {\n\t\tconst { html } = this.state;\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, ownProps ) => ( {\n\t\tblock: select( 'core/editor' ).getBlock( ownProps.clientId ),\n\t} ) ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tonChange( clientId, attributes, originalContent, isValid ) {\n\t\t\tdispatch( 'core/editor' ).updateBlock( clientId, { attributes, originalContent, isValid } );\n\t\t},\n\t} ) ),\n] )( BlockHTML );\n","/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Button, Modal } from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport {\n\tgetBlockType,\n\tcreateBlock,\n\trawHandler,\n} from '@wordpress/blocks';\nimport { withDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Warning from '../warning';\nimport BlockCompare from '../block-compare';\n\nexport class BlockInvalidWarning extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = { compare: false };\n\t\tthis.onCompare = this.onCompare.bind( this );\n\t\tthis.onCompareClose = this.onCompareClose.bind( this );\n\t}\n\n\tonCompare() {\n\t\tthis.setState( { compare: true } );\n\t}\n\n\tonCompareClose() {\n\t\tthis.setState( { compare: false } );\n\t}\n\n\trender() {\n\t\tconst { convertToHTML, convertToBlocks, convertToClassic, block } = this.props;\n\t\tconst hasHTMLBlock = !! getBlockType( 'core/html' );\n\t\tconst { compare } = this.state;\n\t\tconst hiddenActions = [\n\t\t\t{ title: __( 'Convert to Classic Block' ), onClick: convertToClassic },\n\t\t];\n\n\t\tif ( compare ) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// translators: Button to fix block content\n\t\t\t\t\t\t\t_x( 'Resolve', 'imperative verb' )\n\t\t\t\t\t\t}\n\t\t\t\t\t,\n\t\t\t\t\thasHTMLBlock && (\n\t\t\t\t\t\t\n\t\t\t\t\t),\n\t\t\t\t] }\n\t\t\t\tsecondaryActions={ hiddenActions }\n\t\t\t>\n\t\t\t\t{ __( 'This block contains unexpected or invalid content.' ) }\n\t\t\t\n\t\t);\n\t}\n}\n\nconst blockToClassic = ( block ) => createBlock( 'core/freeform', {\n\tcontent: block.originalContent,\n} );\nconst blockToHTML = ( block ) => createBlock( 'core/html', {\n\tcontent: block.originalContent,\n} );\nconst blockToBlocks = ( block ) => rawHandler( {\n\tHTML: block.originalContent,\n\tmode: 'BLOCKS',\n} );\n\nexport default withDispatch( ( dispatch, { block } ) => {\n\tconst { replaceBlock } = dispatch( 'core/editor' );\n\n\treturn {\n\t\tconvertToClassic() {\n\t\t\treplaceBlock( block.clientId, blockToClassic( block ) );\n\t\t},\n\t\tconvertToHTML() {\n\t\t\treplaceBlock( block.clientId, blockToHTML( block ) );\n\t\t},\n\t\tconvertToBlocks() {\n\t\t\treplaceBlock( block.clientId, blockToBlocks( block ) );\n\t\t},\n\t};\n} )( BlockInvalidWarning );\n","/**\n * WordPress dependencies\n */\nimport { ifViewportMatches } from '@wordpress/viewport';\n\n/**\n * Internal dependencies\n */\nimport BlockMover from '../block-mover';\nimport VisualEditorInserter from '../inserter';\n\nfunction BlockMobileToolbar( { clientId } ) {\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t);\n}\n\nexport default ifViewportMatches( '< small' )( BlockMobileToolbar );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { get, reduce, size, first, last } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, findDOMNode, Fragment } from '@wordpress/element';\nimport {\n\tfocus,\n\tisTextField,\n\tplaceCaretAtHorizontalEdge,\n\tplaceCaretAtVerticalEdge,\n} from '@wordpress/dom';\nimport { BACKSPACE, DELETE, ENTER } from '@wordpress/keycodes';\nimport {\n\tgetBlockType,\n\tgetSaveElement,\n\tisReusableBlock,\n\tisUnmodifiedDefaultBlock,\n\tgetUnregisteredTypeHandlerName,\n} from '@wordpress/blocks';\nimport { withFilters } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockEdit from '../block-edit';\nimport BlockMover from '../block-mover';\nimport BlockDropZone from '../block-drop-zone';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockCrashWarning from './block-crash-warning';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockHtml from './block-html';\nimport BlockBreadcrumb from './breadcrumb';\nimport BlockContextualToolbar from './block-contextual-toolbar';\nimport BlockMultiControls from './multi-controls';\nimport BlockMobileToolbar from './block-mobile-toolbar';\nimport BlockInsertionPoint from './insertion-point';\nimport IgnoreNestedEvents from '../ignore-nested-events';\nimport InserterWithShortcuts from '../inserter-with-shortcuts';\nimport Inserter from '../inserter';\nimport withHoverAreas from './with-hover-areas';\nimport { isInsideRootBlock } from '../../utils/dom';\n\nexport class BlockListBlock extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.setBlockListRef = this.setBlockListRef.bind( this );\n\t\tthis.bindBlockNode = this.bindBlockNode.bind( this );\n\t\tthis.setAttributes = this.setAttributes.bind( this );\n\t\tthis.maybeHover = this.maybeHover.bind( this );\n\t\tthis.hideHoverEffects = this.hideHoverEffects.bind( this );\n\t\tthis.mergeBlocks = this.mergeBlocks.bind( this );\n\t\tthis.insertBlocksAfter = this.insertBlocksAfter.bind( this );\n\t\tthis.onFocus = this.onFocus.bind( this );\n\t\tthis.preventDrag = this.preventDrag.bind( this );\n\t\tthis.onPointerDown = this.onPointerDown.bind( this );\n\t\tthis.deleteOrInsertAfterWrapper = this.deleteOrInsertAfterWrapper.bind( this );\n\t\tthis.onBlockError = this.onBlockError.bind( this );\n\t\tthis.onTouchStart = this.onTouchStart.bind( this );\n\t\tthis.onClick = this.onClick.bind( this );\n\t\tthis.onDragStart = this.onDragStart.bind( this );\n\t\tthis.onDragEnd = this.onDragEnd.bind( this );\n\t\tthis.selectOnOpen = this.selectOnOpen.bind( this );\n\t\tthis.hadTouchStart = false;\n\n\t\tthis.state = {\n\t\t\terror: null,\n\t\t\tdragging: false,\n\t\t\tisHovered: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( this.props.isSelected ) {\n\t\t\tthis.focusTabbable();\n\t\t}\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( this.props.isTypingWithinBlock || this.props.isSelected ) {\n\t\t\tthis.hideHoverEffects();\n\t\t}\n\n\t\tif ( this.props.isSelected && ! prevProps.isSelected ) {\n\t\t\tthis.focusTabbable( true );\n\t\t}\n\n\t\t// When triggering a multi-selection,\n\t\t// move the focus to the wrapper of the first selected block.\n\t\tif ( this.props.isFirstMultiSelected && ! prevProps.isFirstMultiSelected ) {\n\t\t\tthis.wrapperNode.focus();\n\t\t}\n\t}\n\n\tsetBlockListRef( node ) {\n\t\t// Disable reason: The root return element uses a component to manage\n\t\t// event nesting, but the parent block list layout needs the raw DOM\n\t\t// node to track multi-selection.\n\t\t//\n\t\t// eslint-disable-next-line react/no-find-dom-node\n\t\tnode = findDOMNode( node );\n\n\t\tthis.wrapperNode = node;\n\n\t\tthis.props.blockRef( node, this.props.clientId );\n\t}\n\n\tbindBlockNode( node ) {\n\t\t// Disable reason: The block element uses a component to manage event\n\t\t// nesting, but we rely on a raw DOM node for focusing.\n\t\t//\n\t\t// eslint-disable-next-line react/no-find-dom-node\n\t\tthis.node = findDOMNode( node );\n\t}\n\n\t/**\n\t * When a block becomes selected, transition focus to an inner tabbable.\n\t *\n\t * @param {boolean} ignoreInnerBlocks Should not focus inner blocks.\n\t */\n\tfocusTabbable( ignoreInnerBlocks ) {\n\t\tconst { initialPosition } = this.props;\n\n\t\t// Focus is captured by the wrapper node, so while focus transition\n\t\t// should only consider tabbables within editable display, since it\n\t\t// may be the wrapper itself or a side control which triggered the\n\t\t// focus event, don't unnecessary transition to an inner tabbable.\n\t\tif ( this.wrapperNode.contains( document.activeElement ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Find all tabbables within node.\n\t\tconst textInputs = focus.tabbable\n\t\t\t.find( this.node )\n\t\t\t.filter( isTextField )\n\t\t\t// Exclude inner blocks\n\t\t\t.filter( ( node ) => ! ignoreInnerBlocks || isInsideRootBlock( this.node, node ) );\n\n\t\t// If reversed (e.g. merge via backspace), use the last in the set of\n\t\t// tabbables.\n\t\tconst isReverse = -1 === initialPosition;\n\t\tconst target = ( isReverse ? last : first )( textInputs );\n\n\t\tif ( ! target ) {\n\t\t\tthis.wrapperNode.focus();\n\t\t\treturn;\n\t\t}\n\n\t\ttarget.focus();\n\n\t\t// In reverse case, need to explicitly place caret position.\n\t\tif ( isReverse ) {\n\t\t\tplaceCaretAtHorizontalEdge( target, true );\n\t\t\tplaceCaretAtVerticalEdge( target, true );\n\t\t}\n\t}\n\n\tsetAttributes( attributes ) {\n\t\tconst { block, onChange } = this.props;\n\t\tconst type = getBlockType( block.name );\n\t\tonChange( block.clientId, attributes );\n\n\t\tconst metaAttributes = reduce( attributes, ( result, value, key ) => {\n\t\t\tif ( get( type, [ 'attributes', key, 'source' ] ) === 'meta' ) {\n\t\t\t\tresult[ type.attributes[ key ].meta ] = value;\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}, {} );\n\n\t\tif ( size( metaAttributes ) ) {\n\t\t\tthis.props.onMetaChange( {\n\t\t\t\t...this.props.meta,\n\t\t\t\t...metaAttributes,\n\t\t\t} );\n\t\t}\n\t}\n\n\tonTouchStart() {\n\t\t// Detect touchstart to disable hover on iOS\n\t\tthis.hadTouchStart = true;\n\t}\n\n\tonClick() {\n\t\t// Clear touchstart detection\n\t\t// Browser will try to emulate mouse events also see https://www.html5rocks.com/en/mobile/touchandmouse/\n\t\tthis.hadTouchStart = false;\n\t}\n\n\t/**\n\t * A mouseover event handler to apply hover effect when a pointer device is\n\t * placed within the bounds of the block. The mouseover event is preferred\n\t * over mouseenter because it may be the case that a previous mouseenter\n\t * event was blocked from being handled by a IgnoreNestedEvents component,\n\t * therefore transitioning out of a nested block to the bounds of the block\n\t * would otherwise not trigger a hover effect.\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/Events/mouseenter\n\t */\n\tmaybeHover() {\n\t\tconst { isPartOfMultiSelection, isSelected } = this.props;\n\t\tconst { isHovered } = this.state;\n\n\t\tif ( isHovered || isPartOfMultiSelection || isSelected ||\n\t\t\t\tthis.props.isMultiSelecting || this.hadTouchStart ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setState( { isHovered: true } );\n\t}\n\n\t/**\n\t * Sets the block state as unhovered if currently hovering. There are cases\n\t * where mouseleave may occur but the block is not hovered (multi-select),\n\t * so to avoid unnecesary renders, the state is only set if hovered.\n\t */\n\thideHoverEffects() {\n\t\tif ( this.state.isHovered ) {\n\t\t\tthis.setState( { isHovered: false } );\n\t\t}\n\t}\n\n\tmergeBlocks( forward = false ) {\n\t\tconst { block, previousBlockClientId, nextBlockClientId, onMerge } = this.props;\n\n\t\t// Do nothing when it's the first block.\n\t\tif (\n\t\t\t( ! forward && ! previousBlockClientId ) ||\n\t\t\t( forward && ! nextBlockClientId )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( forward ) {\n\t\t\tonMerge( block.clientId, nextBlockClientId );\n\t\t} else {\n\t\t\tonMerge( previousBlockClientId, block.clientId );\n\t\t}\n\t}\n\n\tinsertBlocksAfter( blocks ) {\n\t\tthis.props.onInsertBlocks( blocks, this.props.order + 1 );\n\t}\n\n\t/**\n\t * Marks the block as selected when focused and not already selected. This\n\t * specifically handles the case where block does not set focus on its own\n\t * (via `setFocus`), typically if there is no focusable input in the block.\n\t *\n\t * @return {void}\n\t */\n\tonFocus() {\n\t\tif ( ! this.props.isSelected && ! this.props.isPartOfMultiSelection ) {\n\t\t\tthis.props.onSelect();\n\t\t}\n\t}\n\n\t/**\n\t * Prevents default dragging behavior within a block to allow for multi-\n\t * selection to take effect unhampered.\n\t *\n\t * @param {DragEvent} event Drag event.\n\t *\n\t * @return {void}\n\t */\n\tpreventDrag( event ) {\n\t\tevent.preventDefault();\n\t}\n\n\t/**\n\t * Begins tracking cursor multi-selection when clicking down within block.\n\t *\n\t * @param {MouseEvent} event A mousedown event.\n\t *\n\t * @return {void}\n\t */\n\tonPointerDown( event ) {\n\t\t// Not the main button.\n\t\t// https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button\n\t\tif ( event.button !== 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( event.shiftKey ) {\n\t\t\tif ( ! this.props.isSelected ) {\n\t\t\t\tthis.props.onShiftSelection( this.props.clientId );\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t} else {\n\t\t\tthis.props.onSelectionStart( this.props.clientId );\n\n\t\t\t// Allow user to escape out of a multi-selection to a singular\n\t\t\t// selection of a block via click. This is handled here since\n\t\t\t// onFocus excludes blocks involved in a multiselection, as\n\t\t\t// focus can be incurred by starting a multiselection (focus\n\t\t\t// moved to first block's multi-controls).\n\t\t\tif ( this.props.isPartOfMultiSelection ) {\n\t\t\t\tthis.props.onSelect();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Interprets keydown event intent to remove or insert after block if key\n\t * event occurs on wrapper node. This can occur when the block has no text\n\t * fields of its own, particularly after initial insertion, to allow for\n\t * easy deletion and continuous writing flow to add additional content.\n\t *\n\t * @param {KeyboardEvent} event Keydown event.\n\t */\n\tdeleteOrInsertAfterWrapper( event ) {\n\t\tconst { keyCode, target } = event;\n\n\t\tif (\n\t\t\t! this.props.isSelected ||\n\t\t\ttarget !== this.wrapperNode ||\n\t\t\tthis.props.isLocked\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch ( keyCode ) {\n\t\t\tcase ENTER:\n\t\t\t\t// Insert default block after current block if enter and event\n\t\t\t\t// not already handled by descendant.\n\t\t\t\tthis.props.onInsertDefaultBlockAfter();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\n\t\t\tcase BACKSPACE:\n\t\t\tcase DELETE:\n\t\t\t\t// Remove block on backspace.\n\t\t\t\tconst { clientId, onRemove } = this.props;\n\t\t\t\tonRemove( clientId );\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tonBlockError( error ) {\n\t\tthis.setState( { error } );\n\t}\n\n\tonDragStart() {\n\t\tthis.setState( { dragging: true } );\n\t}\n\n\tonDragEnd() {\n\t\tthis.setState( { dragging: false } );\n\t}\n\n\tselectOnOpen( open ) {\n\t\tif ( open && ! this.props.isSelected ) {\n\t\t\tthis.props.onSelect();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tblock,\n\t\t\torder,\n\t\t\tmode,\n\t\t\tisFocusMode,\n\t\t\thasFixedToolbar,\n\t\t\tisLocked,\n\t\t\tisFirst,\n\t\t\tisLast,\n\t\t\tclientId,\n\t\t\trootClientId,\n\t\t\tisSelected,\n\t\t\tisPartOfMultiSelection,\n\t\t\tisFirstMultiSelected,\n\t\t\tisTypingWithinBlock,\n\t\t\tisCaretWithinFormattedText,\n\t\t\tisMultiSelecting,\n\t\t\thoverArea,\n\t\t\tisEmptyDefaultBlock,\n\t\t\tisMovable,\n\t\t\tisPreviousBlockADefaultEmptyBlock,\n\t\t\tisParentOfSelectedBlock,\n\t\t\tisDraggable,\n\t\t} = this.props;\n\t\tconst isHovered = this.state.isHovered && ! isMultiSelecting;\n\t\tconst { name: blockName, isValid } = block;\n\t\tconst blockType = getBlockType( blockName );\n\t\t// translators: %s: Type of block (i.e. Text, Image etc)\n\t\tconst blockLabel = sprintf( __( 'Block: %s' ), blockType.title );\n\t\t// The block as rendered in the editor is composed of general block UI\n\t\t// (mover, toolbar, wrapper) and the display of the block content.\n\n\t\tconst isUnregisteredBlock = block.name === getUnregisteredTypeHandlerName();\n\n\t\t// If the block is selected and we're typing the block should not appear.\n\t\t// Empty paragraph blocks should always show up as unselected.\n\t\tconst showEmptyBlockSideInserter = ( isSelected || isHovered ) && isEmptyDefaultBlock && isValid;\n\t\tconst showSideInserter = ( isSelected || isHovered ) && isEmptyDefaultBlock;\n\t\tconst shouldAppearSelected = ! isFocusMode && ! hasFixedToolbar && ! showSideInserter && isSelected && ! isTypingWithinBlock;\n\t\tconst shouldAppearHovered = ! isFocusMode && ! hasFixedToolbar && isHovered && ! isEmptyDefaultBlock;\n\t\t// We render block movers and block settings to keep them tabbale even if hidden\n\t\tconst shouldRenderMovers = ! isFocusMode && ( isSelected || hoverArea === 'left' ) && ! showEmptyBlockSideInserter && ! isMultiSelecting && ! isPartOfMultiSelection && ! isTypingWithinBlock;\n\t\tconst shouldShowBreadcrumb = ! isFocusMode && isHovered && ! isEmptyDefaultBlock;\n\t\tconst shouldShowContextualToolbar = ! hasFixedToolbar && ! showSideInserter && ( ( isSelected && ( ! isTypingWithinBlock || isCaretWithinFormattedText ) ) || isFirstMultiSelected );\n\t\tconst shouldShowMobileToolbar = shouldAppearSelected;\n\t\tconst { error, dragging } = this.state;\n\n\t\t// Insertion point can only be made visible if the block is at the\n\t\t// the extent of a multi-selection, or not in a multi-selection.\n\t\tconst shouldShowInsertionPoint = ( isPartOfMultiSelection && isFirstMultiSelected ) || ! isPartOfMultiSelection;\n\t\tconst canShowInBetweenInserter = ! isEmptyDefaultBlock && ! isPreviousBlockADefaultEmptyBlock;\n\n\t\t// The wp-block className is important for editor styles.\n\t\t// Generate the wrapper class names handling the different states of the block.\n\t\tconst wrapperClassName = classnames( 'wp-block editor-block-list__block', {\n\t\t\t'has-warning': ! isValid || !! error || isUnregisteredBlock,\n\t\t\t'is-selected': shouldAppearSelected,\n\t\t\t'is-multi-selected': isPartOfMultiSelection,\n\t\t\t'is-hovered': shouldAppearHovered,\n\t\t\t'is-reusable': isReusableBlock( blockType ),\n\t\t\t'is-dragging': dragging,\n\t\t\t'is-typing': isTypingWithinBlock,\n\t\t\t'is-focused': isFocusMode && ( isSelected || isParentOfSelectedBlock ),\n\t\t\t'is-focus-mode': isFocusMode,\n\t\t} );\n\n\t\tconst { onReplace } = this.props;\n\n\t\t// Determine whether the block has props to apply to the wrapper.\n\t\tlet wrapperProps = this.props.wrapperProps;\n\t\tif ( blockType.getEditWrapperProps ) {\n\t\t\twrapperProps = {\n\t\t\t\t...wrapperProps,\n\t\t\t\t...blockType.getEditWrapperProps( block.attributes ),\n\t\t\t};\n\t\t}\n\t\tconst blockElementId = `block-${ clientId }`;\n\n\t\t// We wrap the BlockEdit component in a div that hides it when editing in\n\t\t// HTML mode. This allows us to render all of the ancillary pieces\n\t\t// (InspectorControls, etc.) which are inside `BlockEdit` but not\n\t\t// `BlockHTML`, even in HTML mode.\n\t\tlet blockEdit = (\n\t\t\t\n\t\t);\n\t\tif ( mode !== 'visual' ) {\n\t\t\tblockEdit =
{ blockEdit }
;\n\t\t}\n\n\t\t// Disable reasons:\n\t\t//\n\t\t// jsx-a11y/mouse-events-have-key-events:\n\t\t// - onMouseOver is explicitly handling hover effects\n\t\t//\n\t\t// jsx-a11y/no-static-element-interactions:\n\t\t// - Each block can be selected by clicking on it\n\n\t\t/* eslint-disable jsx-a11y/mouse-events-have-key-events, jsx-a11y/no-static-element-interactions, jsx-a11y/onclick-has-role, jsx-a11y/click-events-have-key-events */\n\t\treturn (\n\t\t\t\n\t\t\t\t{ shouldShowInsertionPoint && (\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t\t\n\t\t\t\t{ shouldRenderMovers && (\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t\t{ shouldShowBreadcrumb && (\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t\t{ shouldShowContextualToolbar && }\n\t\t\t\t{ isFirstMultiSelected && (\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{ isValid && blockEdit }\n\t\t\t\t\t\t{ isValid && mode === 'html' && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isValid && [\n\t\t\t\t\t\t\t,\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{ getSaveElement( blockType, block.attributes ) }\n\t\t\t\t\t\t\t
,\n\t\t\t\t\t\t] }\n\t\t\t\t\t
\n\t\t\t\t\t{ shouldShowMobileToolbar && (\n\t\t\t\t\t\t\n\t\t\t\t\t) }\n\t\t\t\t\t{ !! error && }\n\t\t\t\t\n\t\t\t\t{ showEmptyBlockSideInserter && (\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t) }\n\t\t\t\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/onclick-has-role, jsx-a11y/click-events-have-key-events */\n\t}\n}\n\nconst applyWithSelect = withSelect( ( select, { clientId, rootClientId, isLargeViewport } ) => {\n\tconst {\n\t\tisBlockSelected,\n\t\tgetPreviousBlockClientId,\n\t\tgetNextBlockClientId,\n\t\tgetBlock,\n\t\tisAncestorMultiSelected,\n\t\tisBlockMultiSelected,\n\t\tisFirstMultiSelectedBlock,\n\t\tisMultiSelecting,\n\t\tisTyping,\n\t\tisCaretWithinFormattedText,\n\t\tgetBlockIndex,\n\t\tgetEditedPostAttribute,\n\t\tgetBlockMode,\n\t\tisSelectionEnabled,\n\t\tgetSelectedBlocksInitialCaretPosition,\n\t\tgetEditorSettings,\n\t\thasSelectedInnerBlock,\n\t\tgetTemplateLock,\n\t} = select( 'core/editor' );\n\tconst isSelected = isBlockSelected( clientId );\n\tconst { hasFixedToolbar, focusMode } = getEditorSettings();\n\tconst block = getBlock( clientId );\n\tconst previousBlockClientId = getPreviousBlockClientId( clientId );\n\tconst previousBlock = getBlock( previousBlockClientId );\n\tconst templateLock = getTemplateLock( rootClientId );\n\tconst isParentOfSelectedBlock = hasSelectedInnerBlock( clientId, true );\n\n\treturn {\n\t\tnextBlockClientId: getNextBlockClientId( clientId ),\n\t\tisPartOfMultiSelection: isBlockMultiSelected( clientId ) || isAncestorMultiSelected( clientId ),\n\t\tisFirstMultiSelected: isFirstMultiSelectedBlock( clientId ),\n\t\tisMultiSelecting: isMultiSelecting(),\n\t\t// We only care about this prop when the block is selected\n\t\t// Thus to avoid unnecessary rerenders we avoid updating the prop if the block is not selected.\n\t\tisTypingWithinBlock: ( isSelected || isParentOfSelectedBlock ) && isTyping(),\n\t\tisCaretWithinFormattedText: isCaretWithinFormattedText(),\n\t\torder: getBlockIndex( clientId, rootClientId ),\n\t\tmeta: getEditedPostAttribute( 'meta' ),\n\t\tmode: getBlockMode( clientId ),\n\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\tinitialPosition: getSelectedBlocksInitialCaretPosition(),\n\t\tisEmptyDefaultBlock: block && isUnmodifiedDefaultBlock( block ),\n\t\tisPreviousBlockADefaultEmptyBlock: previousBlock && isUnmodifiedDefaultBlock( previousBlock ),\n\t\tisMovable: 'all' !== templateLock,\n\t\tisLocked: !! templateLock,\n\t\tisFocusMode: focusMode && isLargeViewport,\n\t\thasFixedToolbar: hasFixedToolbar && isLargeViewport,\n\t\tpreviousBlockClientId,\n\t\tblock,\n\t\tisSelected,\n\t\tisParentOfSelectedBlock,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch( ( dispatch, ownProps ) => {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t\tinsertBlocks,\n\t\tinsertDefaultBlock,\n\t\tremoveBlock,\n\t\tmergeBlocks,\n\t\treplaceBlocks,\n\t\teditPost,\n\t\ttoggleSelection,\n\t} = dispatch( 'core/editor' );\n\n\treturn {\n\t\tonChange( clientId, attributes ) {\n\t\t\tupdateBlockAttributes( clientId, attributes );\n\t\t},\n\t\tonSelect( clientId = ownProps.clientId, initialPosition ) {\n\t\t\tselectBlock( clientId, initialPosition );\n\t\t},\n\t\tonInsertBlocks( blocks, index ) {\n\t\t\tconst { rootClientId } = ownProps;\n\t\t\tinsertBlocks( blocks, index, rootClientId );\n\t\t},\n\t\tonInsertDefaultBlockAfter() {\n\t\t\tconst { order, rootClientId } = ownProps;\n\t\t\tinsertDefaultBlock( {}, rootClientId, order + 1 );\n\t\t},\n\t\tonRemove( clientId ) {\n\t\t\tremoveBlock( clientId );\n\t\t},\n\t\tonMerge( ...args ) {\n\t\t\tmergeBlocks( ...args );\n\t\t},\n\t\tonReplace( blocks ) {\n\t\t\treplaceBlocks( [ ownProps.clientId ], blocks );\n\t\t},\n\t\tonMetaChange( meta ) {\n\t\t\teditPost( { meta } );\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\nexport default compose(\n\twithViewportMatch( { isLargeViewport: 'medium' } ),\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\twithFilters( 'editor.BlockListBlock' ),\n\twithHoverAreas,\n)( BlockListBlock );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Component, Fragment } from '@wordpress/element';\nimport { Toolbar } from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockTitle from '../block-title';\n\n/**\n * Block breadcrumb component, displaying the label of the block. If the block\n * descends from a root block, a button is displayed enabling the user to select\n * the root block.\n *\n * @param {string} props.clientId Client ID of block.\n * @param {string} props.rootClientId Client ID of block's root.\n * @param {Function} props.selectRootBlock Callback to select root block.\n */\nexport class BlockBreadcrumb extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\tisFocused: false,\n\t\t};\n\t\tthis.onFocus = this.onFocus.bind( this );\n\t\tthis.onBlur = this.onBlur.bind( this );\n\t}\n\n\tonFocus( event ) {\n\t\tthis.setState( {\n\t\t\tisFocused: true,\n\t\t} );\n\n\t\t// This is used for improved interoperability\n\t\t// with the block's `onFocus` handler which selects the block, thus conflicting\n\t\t// with the intention to select the root block.\n\t\tevent.stopPropagation();\n\t}\n\n\tonBlur() {\n\t\tthis.setState( {\n\t\t\tisFocused: false,\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { clientId, rootClientId, isLight } = this.props;\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{ rootClientId && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t) }\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, ownProps ) => {\n\t\tconst { getBlockRootClientId, getEditorSettings } = select( 'core/editor' );\n\t\tconst { clientId } = ownProps;\n\n\t\treturn {\n\t\t\trootClientId: getBlockRootClientId( clientId ),\n\t\t\tisLight: getEditorSettings().hasFixedToolbar,\n\t\t};\n\t} ),\n] )( BlockBreadcrumb );\n","/**\n * External dependencies\n */\nimport {\n\tfindLast,\n\tmap,\n\tinvert,\n\tmapValues,\n\tsortBy,\n\tthrottle,\n} from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockListBlock from './block';\nimport BlockListAppender from '../block-list-appender';\n\nclass BlockList extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.onSelectionStart = this.onSelectionStart.bind( this );\n\t\tthis.onSelectionEnd = this.onSelectionEnd.bind( this );\n\t\tthis.onShiftSelection = this.onShiftSelection.bind( this );\n\t\tthis.setBlockRef = this.setBlockRef.bind( this );\n\t\tthis.setLastClientY = this.setLastClientY.bind( this );\n\t\tthis.onPointerMove = throttle( this.onPointerMove.bind( this ), 100 );\n\t\t// Browser does not fire `*move` event when the pointer position changes\n\t\t// relative to the document, so fire it with the last known position.\n\t\tthis.onScroll = () => this.onPointerMove( { clientY: this.lastClientY } );\n\n\t\tthis.lastClientY = 0;\n\t\tthis.nodes = {};\n\t}\n\n\tcomponentDidMount() {\n\t\twindow.addEventListener( 'mousemove', this.setLastClientY );\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener( 'mousemove', this.setLastClientY );\n\t}\n\n\tsetLastClientY( { clientY } ) {\n\t\tthis.lastClientY = clientY;\n\t}\n\n\tsetBlockRef( node, clientId ) {\n\t\tif ( node === null ) {\n\t\t\tdelete this.nodes[ clientId ];\n\t\t} else {\n\t\t\tthis.nodes = {\n\t\t\t\t...this.nodes,\n\t\t\t\t[ clientId ]: node,\n\t\t\t};\n\t\t}\n\t}\n\n\t/**\n\t * Handles a pointer move event to update the extent of the current cursor\n\t * multi-selection.\n\t *\n\t * @param {MouseEvent} event A mousemove event object.\n\t *\n\t * @return {void}\n\t */\n\tonPointerMove( { clientY } ) {\n\t\t// We don't start multi-selection until the mouse starts moving, so as\n\t\t// to avoid dispatching multi-selection actions on an in-place click.\n\t\tif ( ! this.props.isMultiSelecting ) {\n\t\t\tthis.props.onStartMultiSelect();\n\t\t}\n\n\t\tconst boundaries = this.nodes[ this.selectionAtStart ].getBoundingClientRect();\n\t\tconst y = clientY - boundaries.top;\n\t\tconst key = findLast( this.coordMapKeys, ( coordY ) => coordY < y );\n\n\t\tthis.onSelectionChange( this.coordMap[ key ] );\n\t}\n\n\t/**\n\t * Binds event handlers to the document for tracking a pending multi-select\n\t * in response to a mousedown event occurring in a rendered block.\n\t *\n\t * @param {string} clientId Client ID of block where mousedown occurred.\n\t *\n\t * @return {void}\n\t */\n\tonSelectionStart( clientId ) {\n\t\tif ( ! this.props.isSelectionEnabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst boundaries = this.nodes[ clientId ].getBoundingClientRect();\n\n\t\t// Create a clientId to Y coördinate map.\n\t\tconst clientIdToCoordMap = mapValues( this.nodes, ( node ) =>\n\t\t\tnode.getBoundingClientRect().top - boundaries.top );\n\n\t\t// Cache a Y coördinate to clientId map for use in `onPointerMove`.\n\t\tthis.coordMap = invert( clientIdToCoordMap );\n\t\t// Cache an array of the Y coördinates for use in `onPointerMove`.\n\t\t// Sort the coördinates, as `this.nodes` will not necessarily reflect\n\t\t// the current block sequence.\n\t\tthis.coordMapKeys = sortBy( Object.values( clientIdToCoordMap ) );\n\t\tthis.selectionAtStart = clientId;\n\n\t\twindow.addEventListener( 'mousemove', this.onPointerMove );\n\t\t// Capture scroll on all elements.\n\t\twindow.addEventListener( 'scroll', this.onScroll, true );\n\t\twindow.addEventListener( 'mouseup', this.onSelectionEnd );\n\t}\n\n\t/**\n\t * Handles multi-selection changes in response to pointer move.\n\t *\n\t * @param {string} clientId Client ID of block under cursor in multi-select\n\t * drag.\n\t */\n\tonSelectionChange( clientId ) {\n\t\tconst { onMultiSelect, selectionStart, selectionEnd } = this.props;\n\t\tconst { selectionAtStart } = this;\n\t\tconst isAtStart = selectionAtStart === clientId;\n\n\t\tif ( ! selectionAtStart || ! this.props.isSelectionEnabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If multi-selecting and cursor extent returns to the start of\n\t\t// selection, cancel multi-select.\n\t\tif ( isAtStart && selectionStart ) {\n\t\t\tonMultiSelect( null, null );\n\t\t}\n\n\t\t// Expand multi-selection to block under cursor.\n\t\tif ( ! isAtStart && selectionEnd !== clientId ) {\n\t\t\tonMultiSelect( selectionAtStart, clientId );\n\t\t}\n\t}\n\n\t/**\n\t * Handles a mouseup event to end the current cursor multi-selection.\n\t *\n\t * @return {void}\n\t */\n\tonSelectionEnd() {\n\t\t// Cancel throttled calls.\n\t\tthis.onPointerMove.cancel();\n\n\t\tdelete this.coordMap;\n\t\tdelete this.coordMapKeys;\n\t\tdelete this.selectionAtStart;\n\n\t\twindow.removeEventListener( 'mousemove', this.onPointerMove );\n\t\twindow.removeEventListener( 'scroll', this.onScroll, true );\n\t\twindow.removeEventListener( 'mouseup', this.onSelectionEnd );\n\n\t\t// We may or may not be in a multi-selection when mouseup occurs (e.g.\n\t\t// an in-place mouse click), so only trigger stop if multi-selecting.\n\t\tif ( this.props.isMultiSelecting ) {\n\t\t\tthis.props.onStopMultiSelect();\n\t\t}\n\t}\n\n\tonShiftSelection( clientId ) {\n\t\tif ( ! this.props.isSelectionEnabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { selectionStartClientId, onMultiSelect, onSelect } = this.props;\n\n\t\tif ( selectionStartClientId ) {\n\t\t\tonMultiSelect( selectionStartClientId, clientId );\n\t\t} else {\n\t\t\tonSelect( clientId );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tblockClientIds,\n\t\t\trootClientId,\n\t\t\tisDraggable,\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t{ map( blockClientIds, ( clientId, blockIndex ) => (\n\t\t\t\t\t\n\t\t\t\t) ) }\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, ownProps ) => {\n\t\tconst {\n\t\t\tgetBlockOrder,\n\t\t\tisSelectionEnabled,\n\t\t\tisMultiSelecting,\n\t\t\tgetMultiSelectedBlocksStartClientId,\n\t\t\tgetMultiSelectedBlocksEndClientId,\n\t\t\tgetBlockSelectionStart,\n\t\t} = select( 'core/editor' );\n\t\tconst { rootClientId } = ownProps;\n\n\t\treturn {\n\t\t\tblockClientIds: getBlockOrder( rootClientId ),\n\t\t\tselectionStart: getMultiSelectedBlocksStartClientId(),\n\t\t\tselectionEnd: getMultiSelectedBlocksEndClientId(),\n\t\t\tselectionStartClientId: getBlockSelectionStart(),\n\t\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\t\tisMultiSelecting: isMultiSelecting(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst {\n\t\t\tstartMultiSelect,\n\t\t\tstopMultiSelect,\n\t\t\tmultiSelect,\n\t\t\tselectBlock,\n\t\t} = dispatch( 'core/editor' );\n\n\t\treturn {\n\t\t\tonStartMultiSelect: startMultiSelect,\n\t\t\tonStopMultiSelect: stopMultiSelect,\n\t\t\tonMultiSelect: multiSelect,\n\t\t\tonSelect: selectBlock,\n\t\t};\n\t} ),\n] )( BlockList );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\nimport { Component } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Inserter from '../inserter';\n\nclass BlockInsertionPoint extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\tisInserterFocused: false,\n\t\t};\n\n\t\tthis.onBlurInserter = this.onBlurInserter.bind( this );\n\t\tthis.onFocusInserter = this.onFocusInserter.bind( this );\n\t}\n\n\tonFocusInserter( event ) {\n\t\t// Stop propagation of the focus event to avoid selecting the current\n\t\t// block while inserting a new block, as it is not relevant to sibling\n\t\t// insertion and conflicts with contextual toolbar placement.\n\t\tevent.stopPropagation();\n\n\t\tthis.setState( {\n\t\t\tisInserterFocused: true,\n\t\t} );\n\t}\n\n\tonBlurInserter() {\n\t\tthis.setState( {\n\t\t\tisInserterFocused: false,\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { isInserterFocused } = this.state;\n\t\tconst {\n\t\t\tshowInsertionPoint,\n\t\t\tcanShowInserter,\n\t\t\trootClientId,\n\t\t\tinsertIndex,\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t{ showInsertionPoint && (\n\t\t\t\t\t
\n\t\t\t\t) }\n\t\t\t\t{ canShowInserter && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t) }\n\t\t\t
\n\t\t);\n\t}\n}\nexport default withSelect( ( select, { clientId, rootClientId } ) => {\n\tconst {\n\t\tgetBlockIndex,\n\t\tgetBlockInsertionPoint,\n\t\tgetBlock,\n\t\tisBlockInsertionPointVisible,\n\t} = select( 'core/editor' );\n\tconst blockIndex = getBlockIndex( clientId, rootClientId );\n\tconst insertIndex = blockIndex;\n\tconst insertionPoint = getBlockInsertionPoint();\n\tconst block = getBlock( clientId );\n\tconst showInsertionPoint = (\n\t\tisBlockInsertionPointVisible() &&\n\t\tinsertionPoint.index === insertIndex &&\n\t\tinsertionPoint.rootClientId === rootClientId &&\n\t\t! isUnmodifiedDefaultBlock( block )\n\t);\n\n\treturn { showInsertionPoint, insertIndex };\n} )( BlockInsertionPoint );\n","/**\n * External dependencies\n */\nimport { first, last } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockMover from '../block-mover';\n\nfunction BlockListMultiControls( {\n\tmultiSelectedBlockClientIds,\n\tclientId,\n\tisSelecting,\n\tisFirst,\n\tisLast,\n} ) {\n\tif ( isSelecting ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t\n\t);\n}\n\nexport default withSelect( ( select, { clientId } ) => {\n\tconst {\n\t\tgetMultiSelectedBlockClientIds,\n\t\tisMultiSelecting,\n\t\tgetBlockIndex,\n\t\tgetBlockCount,\n\t} = select( 'core/editor' );\n\tconst clientIds = getMultiSelectedBlockClientIds();\n\tconst firstIndex = getBlockIndex( first( clientIds ), clientId );\n\tconst lastIndex = getBlockIndex( last( clientIds ), clientId );\n\n\treturn {\n\t\tmultiSelectedBlockClientIds: clientIds,\n\t\tisSelecting: isMultiSelecting(),\n\t\tisFirst: firstIndex === 0,\n\t\tisLast: lastIndex + 1 === getBlockCount(),\n\t};\n} )( BlockListMultiControls );\n","/**\n * WordPress dependencies\n */\nimport { Component, findDOMNode } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\nconst withHoverAreas = createHigherOrderComponent( ( WrappedComponent ) => {\n\tclass WithHoverAreasComponent extends Component {\n\t\tconstructor() {\n\t\t\tsuper( ...arguments );\n\t\t\tthis.state = {\n\t\t\t\thoverArea: null,\n\t\t\t};\n\t\t\tthis.onMouseLeave = this.onMouseLeave.bind( this );\n\t\t\tthis.onMouseMove = this.onMouseMove.bind( this );\n\t\t}\n\n\t\tcomponentDidMount() {\n\t\t\t// Disable reason: We use findDOMNode to avoid unnecessary extra dom Nodes\n\t\t\t// eslint-disable-next-line react/no-find-dom-node\n\t\t\tthis.container = findDOMNode( this );\n\t\t\tthis.container.addEventListener( 'mousemove', this.onMouseMove );\n\t\t\tthis.container.addEventListener( 'mouseleave', this.onMouseLeave );\n\t\t}\n\n\t\tcomponentWillUnmount() {\n\t\t\tthis.container.removeEventListener( 'mousemove', this.onMouseMove );\n\t\t\tthis.container.removeEventListener( 'mouseleave', this.onMouseLeave );\n\t\t}\n\n\t\tonMouseLeave() {\n\t\t\tif ( this.state.hoverArea ) {\n\t\t\t\tthis.setState( { hoverArea: null } );\n\t\t\t}\n\t\t}\n\n\t\tonMouseMove( event ) {\n\t\t\tconst { isRTL } = this.props;\n\t\t\tconst { width, left, right } = this.container.getBoundingClientRect();\n\n\t\t\tlet hoverArea = null;\n\t\t\tif ( ( event.clientX - left ) < width / 3 ) {\n\t\t\t\thoverArea = isRTL ? 'right' : 'left';\n\t\t\t} else if ( ( right - event.clientX ) < width / 3 ) {\n\t\t\t\thoverArea = isRTL ? 'left' : 'right';\n\t\t\t}\n\n\t\t\tif ( hoverArea !== this.state.hoverArea ) {\n\t\t\t\tthis.setState( { hoverArea } );\n\t\t\t}\n\t\t}\n\n\t\trender() {\n\t\t\tconst { hoverArea } = this.state;\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t}\n\n\treturn withSelect( ( select ) => {\n\t\treturn {\n\t\t\tisRTL: select( 'core/editor' ).getEditorSettings().isRTL,\n\t\t};\n\t} )( WithHoverAreasComponent );\n} );\n\nexport default withHoverAreas;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport BlockDraggable from '../block-draggable';\n\nexport const IconDragHandle = ( { isVisible, className, icon, onDragStart, onDragEnd, blockElementId, clientId } ) => {\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\tconst dragHandleClassNames = classnames( 'editor-block-mover__control-drag-handle', className );\n\n\treturn (\n\t\t\n\t\t\t{\n\t\t\t\t( { onDraggableStart, onDraggableEnd } ) => (\n\t\t\t\t\t\n\t\t\t\t\t\t{ icon }\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\n\t);\n};\n","/**\n * WordPress dependencies\n */\nimport { Path, Polygon, SVG } from '@wordpress/components';\n\nexport const upArrow = (\n\t\n\t\t\n\t\n);\n\nexport const downArrow = (\n\t\n\t\t\n\t\n);\n\nexport const dragHandle = (\n\t\n\t\t\n\t\n);\n","/**\n * External dependencies\n */\nimport { first, partial, castArray } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { IconButton } from '@wordpress/components';\nimport { getBlockType } from '@wordpress/blocks';\nimport { Component } from '@wordpress/element';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { withInstanceId, compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { getBlockMoverDescription } from './mover-description';\nimport { upArrow, downArrow, dragHandle } from './icons';\nimport { IconDragHandle } from './drag-handle';\n\nexport class BlockMover extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\tisFocused: false,\n\t\t};\n\t\tthis.onFocus = this.onFocus.bind( this );\n\t\tthis.onBlur = this.onBlur.bind( this );\n\t}\n\n\tonFocus() {\n\t\tthis.setState( {\n\t\t\tisFocused: true,\n\t\t} );\n\t}\n\n\tonBlur() {\n\t\tthis.setState( {\n\t\t\tisFocused: false,\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { onMoveUp, onMoveDown, isFirst, isLast, isDraggable, onDragStart, onDragEnd, clientIds, blockElementId, blockType, firstIndex, isLocked, instanceId, isHidden } = this.props;\n\t\tconst { isFocused } = this.state;\n\t\tconst blocksCount = castArray( clientIds ).length;\n\t\tif ( isLocked || ( isFirst && isLast ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// We emulate a disabled state because forcefully applying the `disabled`\n\t\t// attribute on the button while it has focus causes the screen to change\n\t\t// to an unfocused state (body as active element) without firing blur on,\n\t\t// the rendering parent, leaving it unable to react to focus out.\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{\n\t\t\t\t\t\tgetBlockMoverDescription(\n\t\t\t\t\t\t\tblocksCount,\n\t\t\t\t\t\t\tblockType && blockType.title,\n\t\t\t\t\t\t\tfirstIndex,\n\t\t\t\t\t\t\tisFirst,\n\t\t\t\t\t\t\tisLast,\n\t\t\t\t\t\t\t-1,\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{\n\t\t\t\t\t\tgetBlockMoverDescription(\n\t\t\t\t\t\t\tblocksCount,\n\t\t\t\t\t\t\tblockType && blockType.title,\n\t\t\t\t\t\t\tfirstIndex,\n\t\t\t\t\t\t\tisFirst,\n\t\t\t\t\t\t\tisLast,\n\t\t\t\t\t\t\t1,\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithSelect( ( select, { clientIds } ) => {\n\t\tconst { getBlock, getBlockIndex, getTemplateLock, getBlockRootClientId } = select( 'core/editor' );\n\t\tconst firstClientId = first( castArray( clientIds ) );\n\t\tconst block = getBlock( firstClientId );\n\t\tconst rootClientId = getBlockRootClientId( first( castArray( clientIds ) ) );\n\n\t\treturn {\n\t\t\tfirstIndex: getBlockIndex( firstClientId, rootClientId ),\n\t\t\tblockType: block ? getBlockType( block.name ) : null,\n\t\t\tisLocked: getTemplateLock( rootClientId ) === 'all',\n\t\t\trootClientId,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { clientIds, rootClientId } ) => {\n\t\tconst { moveBlocksDown, moveBlocksUp } = dispatch( 'core/editor' );\n\t\treturn {\n\t\t\tonMoveDown: partial( moveBlocksDown, clientIds, rootClientId ),\n\t\t\tonMoveUp: partial( moveBlocksUp, clientIds, rootClientId ),\n\t\t};\n\t} ),\n\twithInstanceId,\n)( BlockMover );\n","/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\n\n/**\n * Return a label for the block movement controls depending on block position.\n *\n * @param {number} selectedCount Number of blocks selected.\n * @param {string} type Block type - in the case of a single block, should\n * define its 'type'. I.e. 'Text', 'Heading', 'Image' etc.\n * @param {number} firstIndex The index (position - 1) of the first block selected.\n * @param {boolean} isFirst This is the first block.\n * @param {boolean} isLast This is the last block.\n * @param {number} dir Direction of movement (> 0 is considered to be going\n * down, < 0 is up).\n *\n * @return {string} Label for the block movement controls.\n */\nexport function getBlockMoverDescription( selectedCount, type, firstIndex, isFirst, isLast, dir ) {\n\tconst position = ( firstIndex + 1 );\n\n\tif ( selectedCount > 1 ) {\n\t\treturn getMultiBlockMoverDescription( selectedCount, firstIndex, isFirst, isLast, dir );\n\t}\n\n\tif ( isFirst && isLast ) {\n\t\t// translators: %s: Type of block (i.e. Text, Image etc)\n\t\treturn sprintf( __( 'Block %s is the only block, and cannot be moved' ), type );\n\t}\n\n\tif ( dir > 0 && ! isLast ) {\n\t\t// moving down\n\t\treturn sprintf(\n\t\t\t// translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position\n\t\t\t__( 'Move %1$s block from position %2$d down to position %3$d' ),\n\t\t\ttype,\n\t\t\tposition,\n\t\t\t( position + 1 )\n\t\t);\n\t}\n\n\tif ( dir > 0 && isLast ) {\n\t\t// moving down, and is the last item\n\t\t// translators: %s: Type of block (i.e. Text, Image etc)\n\t\treturn sprintf( __( 'Block %s is at the end of the content and can’t be moved down' ), type );\n\t}\n\n\tif ( dir < 0 && ! isFirst ) {\n\t\t// moving up\n\t\treturn sprintf(\n\t\t\t// translators: 1: Type of block (i.e. Text, Image etc), 2: Position of selected block, 3: New position\n\t\t\t__( 'Move %1$s block from position %2$d up to position %3$d' ),\n\t\t\ttype,\n\t\t\tposition,\n\t\t\t( position - 1 )\n\t\t);\n\t}\n\n\tif ( dir < 0 && isFirst ) {\n\t\t// moving up, and is the first item\n\t\t// translators: %s: Type of block (i.e. Text, Image etc)\n\t\treturn sprintf( __( 'Block %s is at the beginning of the content and can’t be moved up' ), type );\n\t}\n}\n\n/**\n * Return a label for the block movement controls depending on block position.\n *\n * @param {number} selectedCount Number of blocks selected.\n * @param {number} firstIndex The index (position - 1) of the first block selected.\n * @param {boolean} isFirst This is the first block.\n * @param {boolean} isLast This is the last block.\n * @param {number} dir Direction of movement (> 0 is considered to be going\n * down, < 0 is up).\n *\n * @return {string} Label for the block movement controls.\n */\nexport function getMultiBlockMoverDescription( selectedCount, firstIndex, isFirst, isLast, dir ) {\n\tconst position = ( firstIndex + 1 );\n\n\tif ( dir < 0 && isFirst ) {\n\t\treturn __( 'Blocks cannot be moved up as they are already at the top' );\n\t}\n\n\tif ( dir > 0 && isLast ) {\n\t\treturn __( 'Blocks cannot be moved down as they are already at the bottom' );\n\t}\n\n\tif ( dir < 0 && ! isFirst ) {\n\t\treturn sprintf(\n\t\t\t// translators: 1: Number of selected blocks, 2: Position of selected blocks\n\t\t\t_n(\n\t\t\t\t'Move %1$d block from position %2$d up by one place',\n\t\t\t\t'Move %1$d blocks from position %2$d up by one place',\n\t\t\t\tselectedCount\n\t\t\t),\n\t\t\tselectedCount,\n\t\t\tposition\n\t\t);\n\t}\n\n\tif ( dir > 0 && ! isLast ) {\n\t\treturn sprintf(\n\t\t\t// translators: 1: Number of selected blocks, 2: Position of selected blocks\n\t\t\t_n(\n\t\t\t\t'Move %1$d block from position %2$d down by one place',\n\t\t\t\t'Move %1$d blocks from position %2$d down by one place',\n\t\t\t\tselectedCount\n\t\t\t),\n\t\t\tselectedCount,\n\t\t\tposition\n\t\t);\n\t}\n}\n","/**\n * WordPress dependencies\n */\nimport { Fragment } from '@wordpress/element';\nimport { IconButton, Dropdown, SVG, Path, KeyboardShortcuts } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { rawShortcut, displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport BlockNavigation from './';\n\nconst MenuIcon = (\n\t\n\t\t\n\t\n);\n\nfunction BlockNavigationDropdown() {\n\treturn\t(\n\t\t (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t) }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nexport default BlockNavigationDropdown;\n","/**\n * External dependencies\n */\nimport { map, noop } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { MenuItem, MenuGroup } from '@wordpress/components';\nimport { getBlockType } from '@wordpress/blocks';\nimport { compose } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\n\nfunction BlockNavigationList( {\n\tblocks,\n\tselectedBlockClientId,\n\tselectBlock,\n\tshowNestedBlocks,\n} ) {\n\treturn (\n\t\t
    \n\t\t\t{ map( blocks, ( block ) => {\n\t\t\t\tconst blockType = getBlockType( block.name );\n\t\t\t\treturn (\n\t\t\t\t\t
  • \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t selectBlock( block.clientId ) }\n\t\t\t\t\t\t\t\tisSelected={ block.clientId === selectedBlockClientId }\n\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{ blockType.title }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t{ showNestedBlocks && !! block.innerBlocks && !! block.innerBlocks.length && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) }\n\t\t\t\t\t
  • \n\t\t\t\t);\n\t\t\t} ) }\n\t\t
\n\t);\n}\n\nfunction BlockNavigation( { rootBlock, rootBlocks, selectedBlockClientId, selectBlock } ) {\n\tconst hasHierarchy = (\n\t\trootBlock && (\n\t\t\trootBlock.clientId !== selectedBlockClientId ||\n\t\t\t( rootBlock.innerBlocks && rootBlock.innerBlocks.length !== 0 )\n\t\t)\n\t);\n\n\treturn (\n\t\t\n\t\t\t{ hasHierarchy && (\n\t\t\t\t\n\t\t\t) }\n\t\t\t{ ! hasHierarchy && (\n\t\t\t\t\n\t\t\t) }\n\t\t\t{ ( ! rootBlocks || rootBlocks.length === 0 ) && (\n\t\t\t\t// If there are no blocks in this document, don't render a list of blocks.\n\t\t\t\t// Instead: inform the user no blocks exist yet.\n\t\t\t\t

\n\t\t\t\t\t{ __( 'No blocks created yet.' ) }\n\t\t\t\t

\n\t\t\t) }\n\t\t
\n\t);\n}\n\nexport default compose(\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlockHierarchyRootClientId,\n\t\t\tgetBlock,\n\t\t\tgetBlocks,\n\t\t} = select( 'core/editor' );\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\treturn {\n\t\t\trootBlocks: getBlocks(),\n\t\t\trootBlock: selectedBlockClientId ? getBlock( getBlockHierarchyRootClientId( selectedBlockClientId ) ) : null,\n\t\t\tselectedBlockClientId,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { onSelect = noop } ) => {\n\t\treturn {\n\t\t\tselectBlock( clientId ) {\n\t\t\t\tdispatch( 'core/editor' ).selectBlock( clientId );\n\t\t\t\tonSelect( clientId );\n\t\t\t},\n\t\t};\n\t} )\n)( BlockNavigation );\n","/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { createBlock } from '@wordpress/blocks';\nimport { Disabled } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockEdit from '../block-edit';\n\n/**\n * Block Preview Component: It renders a preview given a block name and attributes.\n *\n * @param {Object} props Component props.\n *\n * @return {WPElement} Rendered element.\n */\nfunction BlockPreview( props ) {\n\treturn (\n\t\t
\n\t\t\t
{ __( 'Preview' ) }
\n\t\t\t\n\t\t
\n\t);\n}\n\nexport function BlockPreviewContent( { name, attributes } ) {\n\tconst block = createBlock( name, attributes );\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default BlockPreview;\n","/**\n * External dependencies\n */\nimport { omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\nclass BlockSelectionClearer extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.bindContainer = this.bindContainer.bind( this );\n\t\tthis.clearSelectionIfFocusTarget = this.clearSelectionIfFocusTarget.bind( this );\n\t}\n\n\tbindContainer( ref ) {\n\t\tthis.container = ref;\n\t}\n\n\t/**\n\t * Clears the selected block on focus if the container is the target of the\n\t * focus. This assumes no other descendents have received focus until event\n\t * has bubbled to the container.\n\t *\n\t * @param {FocusEvent} event Focus event.\n\t */\n\tclearSelectionIfFocusTarget( event ) {\n\t\tconst {\n\t\t\thasSelectedBlock,\n\t\t\thasMultiSelection,\n\t\t\tclearSelectedBlock,\n\t\t} = this.props;\n\n\t\tconst hasSelection = ( hasSelectedBlock || hasMultiSelection );\n\t\tif ( event.target === this.container && hasSelection ) {\n\t\t\tclearSelectedBlock();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { hasSelectedBlock, hasMultiSelection } = select( 'core/editor' );\n\n\t\treturn {\n\t\t\thasSelectedBlock: hasSelectedBlock(),\n\t\t\thasMultiSelection: hasMultiSelection(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { clearSelectedBlock } = dispatch( 'core/editor' );\n\t\treturn { clearSelectedBlock };\n\t} ),\n] )( BlockSelectionClearer );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuItem } from '@wordpress/components';\n\nexport default function BlockConvertButton( { shouldRender, onClick, small } ) {\n\tif ( ! shouldRender ) {\n\t\treturn null;\n\t}\n\n\tconst label = __( 'Convert to Blocks' );\n\treturn (\n\t\t\n\t\t\t{ ! small && label }\n\t\t\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { rawHandler, getBlockContent } from '@wordpress/blocks';\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockConvertButton from './block-convert-button';\n\nexport default compose(\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getBlock, canUserUseUnfilteredHTML } = select( 'core/editor' );\n\t\tconst block = getBlock( clientId );\n\t\treturn {\n\t\t\tblock,\n\t\t\tcanUserUseUnfilteredHTML: canUserUseUnfilteredHTML(),\n\t\t\tshouldRender: ( block && block.name === 'core/html' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { block, canUserUseUnfilteredHTML } ) => ( {\n\t\tonClick: () => dispatch( 'core/editor' ).replaceBlocks(\n\t\t\tblock.clientId,\n\t\t\trawHandler( {\n\t\t\t\tHTML: getBlockContent( block ),\n\t\t\t\tmode: 'BLOCKS',\n\t\t\t\tcanUserUseUnfilteredHTML,\n\t\t\t} ),\n\t\t),\n\t} ) ),\n)( BlockConvertButton );\n","/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuItem } from '@wordpress/components';\nimport { getBlockType, hasBlockSupport } from '@wordpress/blocks';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\nexport function BlockModeToggle( { blockType, mode, onToggleMode, small = false } ) {\n\tif ( ! hasBlockSupport( blockType, 'html', true ) ) {\n\t\treturn null;\n\t}\n\n\tconst label = mode === 'visual' ?\n\t\t__( 'Edit as HTML' ) :\n\t\t__( 'Edit visually' );\n\n\treturn (\n\t\t\n\t\t\t{ ! small && label }\n\t\t\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getBlock, getBlockMode } = select( 'core/editor' );\n\t\tconst block = getBlock( clientId );\n\n\t\treturn {\n\t\t\tmode: getBlockMode( clientId ),\n\t\t\tblockType: block ? getBlockType( block.name ) : null,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { onToggle = noop, clientId } ) => ( {\n\t\tonToggleMode() {\n\t\t\tdispatch( 'core/editor' ).toggleBlockMode( clientId );\n\t\t\tonToggle();\n\t\t},\n\t} ) ),\n] )( BlockModeToggle );\n","/**\n * WordPress dependencies\n */\nimport { createSlotFill } from '@wordpress/components';\n\nconst { Fill: _BlockSettingsMenuFirstItem, Slot } = createSlotFill( '_BlockSettingsMenuFirstItem' );\n\n_BlockSettingsMenuFirstItem.Slot = Slot;\n\nexport default _BlockSettingsMenuFirstItem;\n","/**\n * WordPress dependencies\n */\nimport { createSlotFill } from '@wordpress/components';\n\nconst { Fill: _BlockSettingsMenuPluginsExtension, Slot } = createSlotFill( '_BlockSettingsMenuPluginsExtension' );\n\n_BlockSettingsMenuPluginsExtension.Slot = Slot;\n\nexport default _BlockSettingsMenuPluginsExtension;\n","/**\n * WordPress dependencies\n */\nimport { getFreeformContentHandlerName, rawHandler, serialize } from '@wordpress/blocks';\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockConvertButton from './block-convert-button';\n\nexport default compose(\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { canUserUseUnfilteredHTML, getBlock } = select( 'core/editor' );\n\t\tconst block = getBlock( clientId );\n\t\treturn {\n\t\t\tblock,\n\t\t\tcanUserUseUnfilteredHTML: canUserUseUnfilteredHTML(),\n\t\t\tshouldRender: ( block && block.name === getFreeformContentHandlerName() ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { block, canUserUseUnfilteredHTML } ) => ( {\n\t\tonClick: () => dispatch( 'core/editor' ).replaceBlocks(\n\t\t\tblock.clientId,\n\t\t\trawHandler( {\n\t\t\t\tHTML: serialize( block ),\n\t\t\t\tmode: 'BLOCKS',\n\t\t\t\tcanUserUseUnfilteredHTML,\n\t\t\t} )\n\t\t),\n\t} ) ),\n)( BlockConvertButton );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { castArray } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Fragment } from '@wordpress/element';\nimport { Toolbar, Dropdown, NavigableMenu, MenuItem } from '@wordpress/components';\nimport { withDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { shortcuts } from '../editor-global-keyboard-shortcuts';\nimport BlockActions from '../block-actions';\nimport BlockModeToggle from './block-mode-toggle';\nimport ReusableBlockConvertButton from './reusable-block-convert-button';\nimport ReusableBlockDeleteButton from './reusable-block-delete-button';\nimport BlockHTMLConvertButton from './block-html-convert-button';\nimport BlockUnknownConvertButton from './block-unknown-convert-button';\nimport _BlockSettingsMenuFirstItem from './block-settings-menu-first-item';\nimport _BlockSettingsMenuPluginsExtension from './block-settings-menu-plugins-extension';\n\nexport function BlockSettingsMenu( { clientIds, onSelect } ) {\n\tconst blockClientIds = castArray( clientIds );\n\tconst count = blockClientIds.length;\n\tconst firstBlockClientId = blockClientIds[ 0 ];\n\n\treturn (\n\t\t\n\t\t\t{ ( { onDuplicate, onRemove, onInsertAfter, onInsertBefore, canDuplicate, isLocked } ) => (\n\t\t\t\t {\n\t\t\t\t\t\tconst toggleClassname = classnames( 'editor-block-settings-menu__toggle', {\n\t\t\t\t\t\t\t'is-opened': isOpen,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tconst label = isOpen ? __( 'Hide options' ) : __( 'More options' );\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tif ( count === 1 ) {\n\t\t\t\t\t\t\t\t\t\tonSelect( firstBlockClientId );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tclassName: toggleClassname,\n\t\t\t\t\t\t\t\textraProps: { 'aria-expanded': isOpen },\n\t\t\t\t\t\t\t} ] } />\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t<_BlockSettingsMenuFirstItem.Slot fillProps={ { onClose } } />\n\t\t\t\t\t\t\t{ count === 1 && (\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{ count === 1 && (\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{ ! isLocked && canDuplicate && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{ __( 'Duplicate' ) }\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{ ! isLocked && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{ __( 'Insert Before' ) }\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{ __( 'Insert After' ) }\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) }\n\t\t\t\t\t\t\t{ count === 1 && (\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\n\t\t\t\t\t\t\t<_BlockSettingsMenuPluginsExtension.Slot fillProps={ { clientIds, onClose } } />\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{ count === 1 && (\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{ ! isLocked && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{ __( 'Remove Block' ) }\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\n\t);\n}\n\nexport default withDispatch( ( dispatch ) => {\n\tconst { selectBlock } = dispatch( 'core/editor' );\n\n\treturn {\n\t\tonSelect( clientId ) {\n\t\t\tselectBlock( clientId );\n\t\t},\n\t};\n} )( BlockSettingsMenu );\n","/**\n * External dependencies\n */\nimport { noop, every, map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Fragment } from '@wordpress/element';\nimport { MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { isReusableBlock } from '@wordpress/blocks';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\nexport function ReusableBlockConvertButton( {\n\tisVisible,\n\tisStaticBlock,\n\tonConvertToStatic,\n\tonConvertToReusable,\n} ) {\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t\n\t\t\t{ isStaticBlock && (\n\t\t\t\t\n\t\t\t\t\t{ __( 'Add to Reusable Blocks' ) }\n\t\t\t\t\n\t\t\t) }\n\t\t\t{ ! isStaticBlock && (\n\t\t\t\t\n\t\t\t\t\t{ __( 'Convert to Regular Block' ) }\n\t\t\t\t\n\t\t\t) }\n\t\t\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientIds } ) => {\n\t\tconst {\n\t\t\tgetBlock,\n\t\t\tcanInsertBlockType,\n\t\t\t__experimentalGetReusableBlock: getReusableBlock,\n\t\t} = select( 'core/editor' );\n\t\tconst {\n\t\t\tgetFreeformFallbackBlockName,\n\t\t\tgetUnregisteredFallbackBlockName,\n\t\t} = select( 'core/blocks' );\n\n\t\tconst blocks = map( clientIds, ( clientId ) => getBlock( clientId ) );\n\n\t\tconst isVisible = (\n\t\t\t// Guard against the case where a regular block has *just* been converted to a\n\t\t\t// reusable block and doesn't yet exist in the editor store.\n\t\t\tevery( blocks, ( block ) => !! block ) &&\n\n\t\t\t// Hide 'Add to Reusable Blocks' when Reusable Blocks are disabled, i.e. when\n\t\t\t// core/block is not in the allowed_block_types filter.\n\t\t\tcanInsertBlockType( 'core/block' ) &&\n\n\t\t\t// Hide 'Add to Reusable Blocks' on Classic blocks. Showing it causes a\n\t\t\t// confusing UX, because of its similarity to the 'Convert to Blocks' button.\n\t\t\t( blocks.length !== 1 || (\n\t\t\t\tblocks[ 0 ].name !== getFreeformFallbackBlockName() &&\n\t\t\t\tblocks[ 0 ].name !== getUnregisteredFallbackBlockName()\n\t\t\t) )\n\t\t);\n\n\t\treturn {\n\t\t\tisVisible,\n\t\t\tisStaticBlock: isVisible && (\n\t\t\t\tblocks.length !== 1 ||\n\t\t\t\t! isReusableBlock( blocks[ 0 ] ) ||\n\t\t\t\t! getReusableBlock( blocks[ 0 ].attributes.ref )\n\t\t\t),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { clientIds, onToggle = noop } ) => {\n\t\tconst {\n\t\t\t__experimentalConvertBlockToReusable: convertBlockToReusable,\n\t\t\t__experimentalConvertBlockToStatic: convertBlockToStatic,\n\t\t} = dispatch( 'core/editor' );\n\n\t\treturn {\n\t\t\tonConvertToStatic() {\n\t\t\t\tif ( clientIds.length !== 1 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconvertBlockToStatic( clientIds[ 0 ] );\n\t\t\t\tonToggle();\n\t\t\t},\n\t\t\tonConvertToReusable() {\n\t\t\t\tconvertBlockToReusable( clientIds );\n\t\t\t\tonToggle();\n\t\t\t},\n\t\t};\n\t} ),\n] )( ReusableBlockConvertButton );\n","/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { isReusableBlock } from '@wordpress/blocks';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\nexport function ReusableBlockDeleteButton( { reusableBlock, onDelete } ) {\n\tif ( ! reusableBlock ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t onDelete( reusableBlock.id ) }\n\t\t>\n\t\t\t{ __( 'Remove from Reusable Blocks' ) }\n\t\t\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlock,\n\t\t\t__experimentalGetReusableBlock: getReusableBlock,\n\t\t} = select( 'core/editor' );\n\t\tconst block = getBlock( clientId );\n\t\treturn {\n\t\t\treusableBlock: block && isReusableBlock( block ) ? getReusableBlock( block.attributes.ref ) : null,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { onToggle = noop } ) => {\n\t\tconst {\n\t\t\t__experimentalDeleteReusableBlock: deleteReusableBlock,\n\t\t} = dispatch( 'core/editor' );\n\n\t\treturn {\n\t\t\tonDelete( id ) {\n\t\t\t\t// TODO: Make this a component or similar\n\t\t\t\t// eslint-disable-next-line no-alert\n\t\t\t\tconst hasConfirmed = window.confirm( __(\n\t\t\t\t\t'Are you sure you want to delete this Reusable Block?\\n\\n' +\n\t\t\t\t\t'It will be permanently removed from all posts and pages that use it.'\n\t\t\t\t) );\n\n\t\t\t\tif ( hasConfirmed ) {\n\t\t\t\t\tdeleteReusableBlock( id );\n\t\t\t\t\tonToggle();\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t} ),\n] )( ReusableBlockDeleteButton );\n","/**\n * External dependencies\n */\nimport { find, get, noop } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { getBlockType } from '@wordpress/blocks';\nimport TokenList from '@wordpress/token-list';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { BlockPreviewContent } from '../block-preview';\n\n/**\n * Returns the active style from the given className.\n *\n * @param {Array} styles Block style variations.\n * @param {string} className Class name\n *\n * @return {Object?} The active style.\n */\nexport function getActiveStyle( styles, className ) {\n\tfor ( const style of new TokenList( className ).values() ) {\n\t\tif ( style.indexOf( 'is-style-' ) === -1 ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst potentialStyleName = style.substring( 9 );\n\t\tconst activeStyle = find( styles, { name: potentialStyleName } );\n\t\tif ( activeStyle ) {\n\t\t\treturn activeStyle;\n\t\t}\n\t}\n\n\treturn find( styles, 'isDefault' );\n}\n\n/**\n * Replaces the active style in the block's className.\n *\n * @param {string} className Class name.\n * @param {Object?} activeStyle The replaced style.\n * @param {Object} newStyle The replacing style.\n *\n * @return {string} The updated className.\n */\nexport function replaceActiveStyle( className, activeStyle, newStyle ) {\n\tconst list = new TokenList( className );\n\n\tif ( activeStyle ) {\n\t\tlist.remove( 'is-style-' + activeStyle.name );\n\t}\n\n\tlist.add( 'is-style-' + newStyle.name );\n\n\treturn list.value;\n}\n\nfunction BlockStyles( {\n\tstyles,\n\tclassName,\n\tonChangeClassName,\n\tname,\n\tattributes,\n\tonSwitch = noop,\n\tonHoverClassName = noop,\n} ) {\n\tif ( ! styles ) {\n\t\treturn null;\n\t}\n\n\tconst activeStyle = getActiveStyle( styles, className );\n\tfunction updateClassName( style ) {\n\t\tconst updatedClassName = replaceActiveStyle( className, activeStyle, style );\n\t\tonChangeClassName( updatedClassName );\n\t\tonSwitch();\n\t}\n\n\treturn (\n\t\t
\n\t\t\t{ styles.map( ( style ) => {\n\t\t\t\tconst styleClassName = replaceActiveStyle( className, activeStyle, style );\n\t\t\t\treturn (\n\t\t\t\t\t updateClassName( style ) }\n\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\tif ( ENTER === event.keyCode || SPACE === event.keyCode ) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tupdateClassName( style );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonMouseEnter={ () => onHoverClassName( styleClassName ) }\n\t\t\t\t\t\tonMouseLeave={ () => onHoverClassName( null ) }\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\taria-label={ style.label || style.name }\n\t\t\t\t\t>\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{ style.label || style.name }\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t);\n\t\t\t} ) }\n\t\t
\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst block = select( 'core/editor' ).getBlock( clientId );\n\n\t\treturn {\n\t\t\tname: block.name,\n\t\t\tattributes: block.attributes,\n\t\t\tclassName: block.attributes.className || '',\n\t\t\tstyles: get( getBlockType( block.name ), [ 'styles' ] ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { clientId } ) => {\n\t\treturn {\n\t\t\tonChangeClassName( newClassName ) {\n\t\t\t\tdispatch( 'core/editor' ).updateBlockAttributes( clientId, {\n\t\t\t\t\tclassName: newClassName,\n\t\t\t\t} );\n\t\t\t},\n\t\t};\n\t} ),\n] )( BlockStyles );\n","/**\n * External dependencies\n */\nimport { castArray, filter, first, get, mapKeys, orderBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { Dropdown, IconButton, Toolbar, PanelBody, Path, SVG } from '@wordpress/components';\nimport { getBlockType, getPossibleBlockTransformations, switchToBlockType, hasChildBlocksWithInserterSupport } from '@wordpress/blocks';\nimport { Component, Fragment } from '@wordpress/element';\nimport { DOWN } from '@wordpress/keycodes';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport BlockStyles from '../block-styles';\nimport BlockPreview from '../block-preview';\nimport BlockTypesList from '../block-types-list';\n\nexport class BlockSwitcher extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\thoveredClassName: null,\n\t\t};\n\t\tthis.onHoverClassName = this.onHoverClassName.bind( this );\n\t}\n\n\tonHoverClassName( className ) {\n\t\tthis.setState( { hoveredClassName: className } );\n\t}\n\n\trender() {\n\t\tconst { blocks, onTransform, inserterItems } = this.props;\n\t\tconst { hoveredClassName } = this.state;\n\n\t\tif ( ! blocks || ! blocks.length ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst itemsByName = mapKeys( inserterItems, ( { name } ) => name );\n\t\tconst possibleBlockTransformations = orderBy(\n\t\t\tfilter(\n\t\t\t\tgetPossibleBlockTransformations( blocks ),\n\t\t\t\t( block ) => !! itemsByName[ block.name ]\n\t\t\t),\n\t\t\t( block ) => itemsByName[ block.name ].frecency,\n\t\t\t'desc'\n\t\t);\n\n\t\tconst sourceBlockName = blocks[ 0 ].name;\n\t\tconst blockType = getBlockType( sourceBlockName );\n\t\tconst hasStyles = blocks.length === 1 && get( blockType, [ 'styles' ], [] ).length !== 0;\n\n\t\tif ( ! hasStyles && ! possibleBlockTransformations.length ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t {\n\t\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tconst label = (\n\t\t\t\t\t\t1 === blocks.length ?\n\t\t\t\t\t\t\t__( 'Change block type' ) :\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'Change type of %d block',\n\t\t\t\t\t\t\t\t\t'Change type of %d blocks',\n\t\t\t\t\t\t\t\t\tblocks.length\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tblocks.length\n\t\t\t\t\t\t\t)\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\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\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\n\t\t\t\t\t\t{ hasStyles &&\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{ possibleBlockTransformations.length !== 0 &&\n\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\tid: destinationBlockType.name,\n\t\t\t\t\t\t\t\t\t\ticon: destinationBlockType.icon,\n\t\t\t\t\t\t\t\t\t\ttitle: destinationBlockType.title,\n\t\t\t\t\t\t\t\t\t\thasChildBlocksWithInserterSupport: hasChildBlocksWithInserterSupport( destinationBlockType.name ),\n\t\t\t\t\t\t\t\t\t} ) ) }\n\t\t\t\t\t\t\t\t\tonSelect={ ( item ) => {\n\t\t\t\t\t\t\t\t\t\tonTransform( blocks, item.id );\n\t\t\t\t\t\t\t\t\t\tonClose();\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\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t{ ( hoveredClassName !== null ) &&\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithSelect( ( select, { clientIds } ) => {\n\t\tconst { getBlocksByClientId, getBlockRootClientId, getInserterItems } = select( 'core/editor' );\n\t\tconst rootClientId = getBlockRootClientId( first( castArray( clientIds ) ) );\n\t\treturn {\n\t\t\tblocks: getBlocksByClientId( clientIds ),\n\t\t\tinserterItems: getInserterItems( rootClientId ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps ) => ( {\n\t\tonTransform( blocks, name ) {\n\t\t\tdispatch( 'core/editor' ).replaceBlocks(\n\t\t\t\townProps.clientIds,\n\t\t\t\tswitchToBlockType( blocks, name )\n\t\t\t);\n\t\t},\n\t} ) ),\n)( BlockSwitcher );\n","/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockSwitcher from './';\n\nexport function MultiBlocksSwitcher( { isMultiBlockSelection, selectedBlockClientIds } ) {\n\tif ( ! isMultiBlockSelection ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t\n\t);\n}\n\nexport default withSelect(\n\t( select ) => {\n\t\tconst selectedBlockClientIds = select( 'core/editor' ).getMultiSelectedBlockClientIds();\n\t\treturn {\n\t\t\tisMultiBlockSelection: selectedBlockClientIds.length > 1,\n\t\t\tselectedBlockClientIds,\n\t\t};\n\t}\n)( MultiBlocksSwitcher );\n","/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport { getBlockType } from '@wordpress/blocks';\n\n/**\n * Renders the block's configured title as a string, or empty if the title\n * cannot be determined.\n *\n * @example\n *\n * ```jsx\n * \n * ```\n *\n * @param {?string} props.name Block name.\n *\n * @return {?string} Block title.\n */\nexport function BlockTitle( { name } ) {\n\tif ( ! name ) {\n\t\treturn null;\n\t}\n\n\tconst blockType = getBlockType( name );\n\tif ( ! blockType ) {\n\t\treturn null;\n\t}\n\n\treturn blockType.title;\n}\n\nexport default withSelect( ( select, ownProps ) => {\n\tconst { getBlockName } = select( 'core/editor' );\n\tconst { clientId } = ownProps;\n\n\treturn {\n\t\tname: getBlockName( clientId ),\n\t};\n} )( BlockTitle );\n","/**\n * WordPress Dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport { Fragment } from '@wordpress/element';\n\n/**\n * Internal Dependencies\n */\nimport BlockSwitcher from '../block-switcher';\nimport MultiBlocksSwitcher from '../block-switcher/multi-blocks-switcher';\nimport BlockControls from '../block-controls';\nimport BlockFormatControls from '../block-format-controls';\nimport BlockSettingsMenu from '../block-settings-menu';\n\nfunction BlockToolbar( { blockClientIds, isValid, mode } ) {\n\tif ( blockClientIds.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tif ( blockClientIds.length > 1 ) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n\n\treturn (\n\t\t
\n\t\t\t{ mode === 'visual' && isValid && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t) }\n\t\t\t\n\t\t
\n\t);\n}\n\nexport default withSelect( ( select ) => {\n\tconst {\n\t\tgetSelectedBlock,\n\t\tgetBlockMode,\n\t\tgetMultiSelectedBlockClientIds,\n\t} = select( 'core/editor' );\n\tconst block = getSelectedBlock();\n\tconst blockClientIds = block ?\n\t\t[ block.clientId ] :\n\t\tgetMultiSelectedBlockClientIds();\n\n\treturn {\n\t\tblockClientIds,\n\t\tisValid: block ? block.isValid : null,\n\t\tmode: block ? getBlockMode( block.clientId ) : null,\n\t};\n} )( BlockToolbar );\n","/**\n * WordPress dependencies\n */\nimport { getBlockMenuDefaultClassName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport InserterListItem from '../inserter-list-item';\n\nfunction BlockTypesList( { items, onSelect, onHover = () => {}, children } ) {\n\treturn (\n\t\t/*\n\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t */\n\t\t/* eslint-disable jsx-a11y/no-redundant-roles */\n\t\t
    \n\t\t\t{ items && items.map( ( item ) =>\n\t\t\t\t {\n\t\t\t\t\t\tonSelect( item );\n\t\t\t\t\t\tonHover( null );\n\t\t\t\t\t} }\n\t\t\t\t\tonFocus={ () => onHover( item ) }\n\t\t\t\t\tonMouseEnter={ () => onHover( item ) }\n\t\t\t\t\tonMouseLeave={ () => onHover( null ) }\n\t\t\t\t\tonBlur={ () => onHover( null ) }\n\t\t\t\t\tisDisabled={ item.isDisabled }\n\t\t\t\t\ttitle={ item.title }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ children }\n\t\t
\n\t\t/* eslint-enable jsx-a11y/no-redundant-roles */\n\t);\n}\n\nexport default BlockTypesList;\n","/**\n * WordPress dependencies\n */\nimport { BaseControl, ColorIndicator } from '@wordpress/components';\nimport { ifCondition, compose } from '@wordpress/compose';\nimport { Fragment } from '@wordpress/element';\nimport { sprintf, __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ColorPalette from './';\nimport withColorContext from './with-color-context';\nimport { getColorObjectByColorValue } from '../colors';\n\n// translators: first %s: The type of color (e.g. background color), second %s: the color name or value (e.g. red or #ff0000)\nconst colorIndicatorAriaLabel = __( '(current %s: %s)' );\n\nexport function ColorPaletteControl( {\n\tcolors,\n\tdisableCustomColors,\n\tlabel,\n\tonChange,\n\tvalue,\n} ) {\n\tconst colorObject = getColorObjectByColorValue( colors, value );\n\tconst colorName = colorObject && colorObject.name;\n\tconst ariaLabel = sprintf( colorIndicatorAriaLabel, label.toLowerCase(), colorName || value );\n\n\tconst labelElement = (\n\t\t\n\t\t\t{ label }\n\t\t\t{ value && (\n\t\t\t\t\n\t\t\t) }\n\t\t\n\t);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default compose( [\n\twithColorContext,\n\tifCondition( ( { hasColorsToChoose } ) => hasColorsToChoose ),\n] )( ColorPaletteControl );\n","/**\n * WordPress dependencies\n */\nimport { ColorPalette } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport withColorContext from './with-color-context';\n\nexport default withColorContext( ColorPalette );\n","\n/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\n\nexport default createHigherOrderComponent(\n\twithSelect(\n\t\t( select, ownProps ) => {\n\t\t\tconst settings = select( 'core/editor' ).getEditorSettings();\n\t\t\tconst colors = ownProps.colors === undefined ?\n\t\t\t\tsettings.colors : ownProps.colors;\n\n\t\t\tconst disableCustomColors = ownProps.disableCustomColors === undefined ?\n\t\t\t\tsettings.disableCustomColors : ownProps.disableCustomColors;\n\t\t\treturn {\n\t\t\t\tcolors,\n\t\t\t\tdisableCustomColors,\n\t\t\t\thasColorsToChoose: ! isEmpty( colors ) || ! disableCustomColors,\n\t\t\t};\n\t\t}\n\t),\n\t'withColorContext'\n);\n","export {\n\tgetColorClassName,\n\tgetColorObjectByAttributeValues,\n\tgetColorObjectByColorValue,\n} from './utils';\nexport { default as withColors } from './with-colors';\n","/**\n * External dependencies\n */\nimport { find, kebabCase, map } from 'lodash';\nimport tinycolor from 'tinycolor2';\n\n/**\n * Provided an array of color objects as set by the theme or by the editor defaults,\n * and the values of the defined color or custom color returns a color object describing the color.\n *\n * @param {Array} colors Array of color objects as set by the theme or by the editor defaults.\n * @param {?string} definedColor A string containing the color slug.\n * @param {?string} customColor A string containing the customColor value.\n *\n * @return {?string} If definedColor is passed and the name is found in colors,\n * the color object exactly as set by the theme or editor defaults is returned.\n * Otherwise, an object that just sets the color is defined.\n */\nexport const getColorObjectByAttributeValues = ( colors, definedColor, customColor ) => {\n\tif ( definedColor ) {\n\t\tconst colorObj = find( colors, { slug: definedColor } );\n\n\t\tif ( colorObj ) {\n\t\t\treturn colorObj;\n\t\t}\n\t}\n\treturn {\n\t\tcolor: customColor,\n\t};\n};\n\n/**\n* Provided an array of color objects as set by the theme or by the editor defaults, and a color value returns the color object matching that value or undefined.\n*\n* @param {Array} colors Array of color objects as set by the theme or by the editor defaults.\n* @param {?string} colorValue A string containing the color value.\n*\n* @return {?string} Returns the color object included in the colors array whose color property equals colorValue.\n* Returns undefined if no color object matches this requirement.\n*/\nexport const getColorObjectByColorValue = ( colors, colorValue ) => {\n\treturn find( colors, { color: colorValue } );\n};\n\n/**\n * Returns a class based on the context a color is being used and its slug.\n *\n * @param {string} colorContextName Context/place where color is being used e.g: background, text etc...\n * @param {string} colorSlug Slug of the color.\n *\n * @return {string} String with the class corresponding to the color in the provided context.\n */\nexport function getColorClassName( colorContextName, colorSlug ) {\n\tif ( ! colorContextName || ! colorSlug ) {\n\t\treturn;\n\t}\n\n\treturn `has-${ kebabCase( colorSlug ) }-${ colorContextName }`;\n}\n\n/**\n* Given an array of color objects and a color value returns the color value of the most readable color in the array.\n*\n* @param {Array} colors Array of color objects as set by the theme or by the editor defaults.\n* @param {?string} colorValue A string containing the color value.\n*\n* @return {string} String with the color value of the most readable color.\n*/\nexport function getMostReadableColor( colors, colorValue ) {\n\treturn tinycolor.mostReadable(\n\t\tcolorValue,\n\t\tmap( colors, 'color' )\n\t).toHexString();\n}\n","/**\n * External dependencies\n */\nimport { get, isString, kebabCase, reduce, upperFirst } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\nimport { compose, createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { getColorClassName, getColorObjectByColorValue, getColorObjectByAttributeValues, getMostReadableColor } from './utils';\n\nconst DEFAULT_COLORS = [];\n\n/**\n * Higher-order component, which handles color logic for class generation\n * color value, retrieval and color attribute setting.\n *\n * @param {...(object|string)} args The arguments can be strings or objects. If the argument is an object,\n * it should contain the color attribute name as key and the color context as value.\n * If the argument is a string the value should be the color attribute name,\n * the color context is computed by applying a kebab case transform to the value.\n * Color context represents the context/place where the color is going to be used.\n * The class name of the color is generated using 'has' followed by the color name\n * and ending with the color context all in kebab case e.g: has-green-background-color.\n *\n *\n * @return {Function} Higher-order component.\n */\nexport default ( ...args ) => {\n\tconst colorMap = reduce( args, ( colorObject, arg ) => {\n\t\treturn {\n\t\t\t...colorObject,\n\t\t\t...( isString( arg ) ? { [ arg ]: kebabCase( arg ) } : arg ),\n\t\t};\n\t}, {} );\n\n\treturn createHigherOrderComponent(\n\t\tcompose( [\n\t\t\twithSelect( ( select ) => {\n\t\t\t\tconst settings = select( 'core/editor' ).getEditorSettings();\n\t\t\t\treturn {\n\t\t\t\t\tcolors: get( settings, [ 'colors' ], DEFAULT_COLORS ),\n\t\t\t\t};\n\t\t\t} ),\n\t\t\t( WrappedComponent ) => {\n\t\t\t\treturn class extends Component {\n\t\t\t\t\tconstructor( props ) {\n\t\t\t\t\t\tsuper( props );\n\n\t\t\t\t\t\tthis.setters = this.createSetters();\n\t\t\t\t\t\tthis.colorUtils = {\n\t\t\t\t\t\t\tgetMostReadableColor: this.getMostReadableColor.bind( this ),\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tthis.state = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tgetMostReadableColor( colorValue ) {\n\t\t\t\t\t\tconst { colors } = this.props;\n\t\t\t\t\t\treturn getMostReadableColor( colors, colorValue );\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetters() {\n\t\t\t\t\t\treturn reduce( colorMap, ( settersAccumulator, colorContext, colorAttributeName ) => {\n\t\t\t\t\t\t\tconst upperFirstColorAttributeName = upperFirst( colorAttributeName );\n\t\t\t\t\t\t\tconst customColorAttributeName = `custom${ upperFirstColorAttributeName }`;\n\t\t\t\t\t\t\tsettersAccumulator[ `set${ upperFirstColorAttributeName }` ] =\n\t\t\t\t\t\t\t\tthis.createSetColor( colorAttributeName, customColorAttributeName );\n\t\t\t\t\t\t\treturn settersAccumulator;\n\t\t\t\t\t\t}, {} );\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetColor( colorAttributeName, customColorAttributeName ) {\n\t\t\t\t\t\treturn ( colorValue ) => {\n\t\t\t\t\t\t\tconst colorObject = getColorObjectByColorValue( this.props.colors, colorValue );\n\t\t\t\t\t\t\tthis.props.setAttributes( {\n\t\t\t\t\t\t\t\t[ colorAttributeName ]: colorObject && colorObject.slug ? colorObject.slug : undefined,\n\t\t\t\t\t\t\t\t[ customColorAttributeName ]: colorObject && colorObject.slug ? undefined : colorValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tstatic getDerivedStateFromProps( { attributes, colors }, previousState ) {\n\t\t\t\t\t\treturn reduce( colorMap, ( newState, colorContext, colorAttributeName ) => {\n\t\t\t\t\t\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\t\t\t\t\t\tcolors,\n\t\t\t\t\t\t\t\tattributes[ colorAttributeName ],\n\t\t\t\t\t\t\t\tattributes[ `custom${ upperFirst( colorAttributeName ) }` ],\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tconst previousColorObject = previousState[ colorAttributeName ];\n\t\t\t\t\t\t\tconst previousColor = get( previousColorObject, [ 'color' ] );\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t* The \"and previousColorObject\" condition checks that a previous color object was already computed.\n\t\t\t\t\t\t\t* At the start previousColorObject and colorValue are both equal to undefined\n\t\t\t\t\t\t\t* bus as previousColorObject does not exist we should compute the object.\n\t\t\t\t\t\t\t*/\n\t\t\t\t\t\t\tif ( previousColor === colorObject.color && previousColorObject ) {\n\t\t\t\t\t\t\t\tnewState[ colorAttributeName ] = previousColorObject;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tnewState[ colorAttributeName ] = {\n\t\t\t\t\t\t\t\t\t...colorObject,\n\t\t\t\t\t\t\t\t\tclass: getColorClassName( colorContext, colorObject.slug ),\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn newState;\n\t\t\t\t\t\t}, {} );\n\t\t\t\t\t}\n\n\t\t\t\t\trender() {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t] ),\n\t\t'withColors'\n\t);\n};\n","/**\n * External dependencies\n */\nimport tinycolor from 'tinycolor2';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Notice } from '@wordpress/components';\n\nfunction ContrastChecker( {\n\tbackgroundColor,\n\tfallbackBackgroundColor,\n\tfallbackTextColor,\n\tfontSize,\n\tisLargeText,\n\ttextColor,\n} ) {\n\tif ( ! ( backgroundColor || fallbackBackgroundColor ) || ! ( textColor || fallbackTextColor ) ) {\n\t\treturn null;\n\t}\n\tconst tinyBackgroundColor = tinycolor( backgroundColor || fallbackBackgroundColor );\n\tconst tinyTextColor = tinycolor( textColor || fallbackTextColor );\n\tconst hasTransparency = tinyBackgroundColor.getAlpha() !== 1 || tinyTextColor.getAlpha() !== 1;\n\n\tif ( hasTransparency || tinycolor.isReadable(\n\t\ttinyBackgroundColor,\n\t\ttinyTextColor,\n\t\t{ level: 'AA', size: ( isLargeText || ( isLargeText !== false && fontSize >= 18 ) ? 'large' : 'small' ) }\n\t) ) {\n\t\treturn null;\n\t}\n\tconst msg = tinyBackgroundColor.getBrightness() < tinyTextColor.getBrightness() ?\n\t\t__( 'This color combination may be hard for people to read. Try using a darker background color and/or a brighter text color.' ) :\n\t\t__( 'This color combination may be hard for people to read. Try using a brighter background color and/or a darker text color.' );\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t{ msg }\n\t\t\t\n\t\t
\n\t);\n}\n\nexport default ContrastChecker;\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { serialize } from '@wordpress/blocks';\nimport { documentHasSelection } from '@wordpress/dom';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\nclass CopyHandler extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onCopy = this.onCopy.bind( this );\n\t\tthis.onCut = this.onCut.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tdocument.addEventListener( 'copy', this.onCopy );\n\t\tdocument.addEventListener( 'cut', this.onCut );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tdocument.removeEventListener( 'copy', this.onCopy );\n\t\tdocument.removeEventListener( 'cut', this.onCut );\n\t}\n\n\tonCopy( event ) {\n\t\tconst { multiSelectedBlocks, selectedBlock } = this.props;\n\n\t\tif ( ! multiSelectedBlocks.length && ! selectedBlock ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Let native copy behaviour take over in input fields.\n\t\tif ( selectedBlock && documentHasSelection() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst serialized = serialize( selectedBlock || multiSelectedBlocks );\n\n\t\tevent.clipboardData.setData( 'text/plain', serialized );\n\t\tevent.clipboardData.setData( 'text/html', serialized );\n\n\t\tevent.preventDefault();\n\t}\n\n\tonCut( event ) {\n\t\tconst { multiSelectedBlockClientIds } = this.props;\n\n\t\tthis.onCopy( event );\n\n\t\tif ( multiSelectedBlockClientIds.length ) {\n\t\t\tthis.props.onRemove( multiSelectedBlockClientIds );\n\t\t}\n\t}\n\n\trender() {\n\t\treturn null;\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetMultiSelectedBlocks,\n\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\tgetSelectedBlock,\n\t\t} = select( 'core/editor' );\n\t\treturn {\n\t\t\tmultiSelectedBlocks: getMultiSelectedBlocks(),\n\t\t\tmultiSelectedBlockClientIds: getMultiSelectedBlockClientIds(),\n\t\t\tselectedBlock: getSelectedBlock(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tonRemove: dispatch( 'core/editor' ).removeBlocks,\n\t} ) ),\n] )( CopyHandler );\n","/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { compose } from '@wordpress/compose';\nimport { getDefaultBlockName } from '@wordpress/blocks';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockDropZone from '../block-drop-zone';\nimport InserterWithShortcuts from '../inserter-with-shortcuts';\nimport Inserter from '../inserter';\n\nexport function DefaultBlockAppender( {\n\tisLocked,\n\tisVisible,\n\tonAppend,\n\tshowPrompt,\n\tplaceholder,\n\trootClientId,\n} ) {\n\tif ( isLocked || ! isVisible ) {\n\t\treturn null;\n\t}\n\n\tconst value = decodeEntities( placeholder ) || __( 'Write your story' );\n\n\t// The appender \"button\" is in-fact a text field so as to support\n\t// transitions by WritingFlow occurring by arrow key press. WritingFlow\n\t// only supports tab transitions into text fields and to the block focus\n\t// boundary.\n\t//\n\t// See: https://github.com/WordPress/gutenberg/issues/4829#issuecomment-374213658\n\t//\n\t// If it were ever to be made to be a proper `button` element, it is\n\t// important to note that `onFocus` alone would not be sufficient to\n\t// capture click events, notably in Firefox.\n\t//\n\t// See: https://gist.github.com/cvrebert/68659d0333a578d75372\n\n\t// The wp-block className is important for editor styles.\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\t);\n}\nexport default compose(\n\twithSelect( ( select, ownProps ) => {\n\t\tconst { getBlockCount, getBlock, getEditorSettings, getTemplateLock } = select( 'core/editor' );\n\n\t\tconst isEmpty = ! getBlockCount( ownProps.rootClientId );\n\t\tconst lastBlock = getBlock( ownProps.lastBlockClientId );\n\t\tconst isLastBlockDefault = get( lastBlock, [ 'name' ] ) === getDefaultBlockName();\n\t\tconst isLastBlockValid = get( lastBlock, [ 'isValid' ] );\n\t\tconst { bodyPlaceholder } = getEditorSettings();\n\n\t\treturn {\n\t\t\tisVisible: isEmpty || ! isLastBlockDefault || ! isLastBlockValid,\n\t\t\tshowPrompt: isEmpty,\n\t\t\tisLocked: !! getTemplateLock( ownProps.rootClientId ),\n\t\t\tplaceholder: bodyPlaceholder,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps ) => {\n\t\tconst {\n\t\t\tinsertDefaultBlock,\n\t\t\tstartTyping,\n\t\t} = dispatch( 'core/editor' );\n\n\t\treturn {\n\t\t\tonAppend() {\n\t\t\t\tconst { rootClientId } = ownProps;\n\n\t\t\t\tinsertDefaultBlock( undefined, rootClientId );\n\t\t\t\tstartTyping();\n\t\t\t},\n\t\t};\n\t} ),\n)( DefaultBlockAppender );\n","/**\n * External dependencies\n */\nimport { filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\n\nfunction DocumentOutlineCheck( { blocks, children } ) {\n\tconst headings = filter( blocks, ( block ) => block.name === 'core/heading' );\n\n\tif ( headings.length < 1 ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n\nexport default withSelect( ( select ) => ( {\n\tblocks: select( 'core/editor' ).getBlocks(),\n} ) )( DocumentOutlineCheck );\n","/**\n * External dependencies\n */\nimport { countBy, flatMap, get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport DocumentOutlineItem from './item';\nimport RichText from './../rich-text';\n\n/**\n * Module constants\n */\nconst emptyHeadingContent = { __( '(Empty heading)' ) };\nconst incorrectLevelContent = [\n\t
,\n\t{ __( '(Incorrect heading level)' ) },\n];\nconst singleH1Headings = [\n\t
,\n\t{ __( '(Your theme may already use a H1 for the post title)' ) },\n];\nconst multipleH1Headings = [\n\t
,\n\t{ __( '(Multiple H1 headings are not recommended)' ) },\n];\n\n/**\n * Returns an array of heading blocks enhanced with the following properties:\n * path - An array of blocks that are ancestors of the heading starting from a top-level node.\n * Can be an empty array if the heading is a top-level node (is not nested inside another block).\n * level - An integer with the heading level.\n * isEmpty - Flag indicating if the heading has no content.\n *\n * @param {?Array} blocks An array of blocks.\n * @param {?Array} path An array of blocks that are ancestors of the blocks passed as blocks.\n *\n * @return {Array} An array of heading blocks enhanced with the properties described above.\n */\nconst computeOutlineHeadings = ( blocks = [], path = [] ) => {\n\treturn flatMap( blocks, ( block = {} ) => {\n\t\tif ( block.name === 'core/heading' ) {\n\t\t\treturn {\n\t\t\t\t...block,\n\t\t\t\tpath,\n\t\t\t\tlevel: block.attributes.level,\n\t\t\t\tisEmpty: isEmptyHeading( block ),\n\t\t\t};\n\t\t}\n\t\treturn computeOutlineHeadings( block.innerBlocks, [ ...path, block ] );\n\t} );\n};\n\nconst isEmptyHeading = ( heading ) => ! heading.attributes.content || heading.attributes.content.length === 0;\n\nexport const DocumentOutline = ( { blocks = [], title, onSelect, isTitleSupported } ) => {\n\tconst headings = computeOutlineHeadings( blocks );\n\n\tif ( headings.length < 1 ) {\n\t\treturn null;\n\t}\n\n\tlet prevHeadingLevel = 1;\n\n\t// Select the corresponding block in the main editor\n\t// when clicking on a heading item from the list.\n\tconst onSelectHeading = ( clientId ) => onSelect( clientId );\n\tconst focusTitle = () => {\n\t\t// Not great but it's the simplest way to focus the title right now.\n\t\tconst titleNode = document.querySelector( '.editor-post-title__input' );\n\t\tif ( titleNode ) {\n\t\t\ttitleNode.focus();\n\t\t}\n\t};\n\n\tconst hasTitle = isTitleSupported && title;\n\tconst countByLevel = countBy( headings, 'level' );\n\tconst hasMultipleH1 = countByLevel[ 1 ] > 1;\n\n\treturn (\n\t\t
\n\t\t\t
    \n\t\t\t\t{ hasTitle && (\n\t\t\t\t\t\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t\t{ headings.map( ( item, index ) => {\n\t\t\t\t\t// Headings remain the same, go up by one, or down by any amount.\n\t\t\t\t\t// Otherwise there are missing levels.\n\t\t\t\t\tconst isIncorrectLevel = item.level > prevHeadingLevel + 1;\n\n\t\t\t\t\tconst isValid = (\n\t\t\t\t\t\t! item.isEmpty &&\n\t\t\t\t\t\t! isIncorrectLevel &&\n\t\t\t\t\t\t!! item.level &&\n\t\t\t\t\t\t( item.level !== 1 || ( ! hasMultipleH1 && ! hasTitle ) )\n\t\t\t\t\t);\n\t\t\t\t\tprevHeadingLevel = item.level;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t onSelectHeading( item.clientId ) }\n\t\t\t\t\t\t\tpath={ item.path }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ item.isEmpty ?\n\t\t\t\t\t\t\t\temptyHeadingContent :\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{ isIncorrectLevel && incorrectLevelContent }\n\t\t\t\t\t\t\t{ item.level === 1 && hasMultipleH1 && multipleH1Headings }\n\t\t\t\t\t\t\t{ hasTitle && item.level === 1 && ! hasMultipleH1 && singleH1Headings }\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default compose(\n\twithSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute, getBlocks } = select( 'core/editor' );\n\t\tconst { getPostType } = select( 'core' );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn {\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tblocks: getBlocks(),\n\t\t\tisTitleSupported: get( postType, [ 'supports', 'title' ], false ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { selectBlock } = dispatch( 'core/editor' );\n\t\treturn {\n\t\t\tonSelect: selectBlock,\n\t\t};\n\t} )\n)( DocumentOutline );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockTitle from '../block-title';\n\nconst TableOfContentsItem = ( {\n\tchildren,\n\tisValid,\n\tlevel,\n\tonClick,\n\tpath = [],\n} ) => (\n\t\n\t\t\n\t\t\t\n\t\t\t{\n\t\t\t\t// path is an array of nodes that are ancestors of the heading starting in the top level node.\n\t\t\t\t// This mapping renders each ancestor to make it easier for the user to know where the headings are nested.\n\t\t\t\tpath.map( ( { clientId }, index ) => (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) )\n\t\t\t}\n\t\t\t\n\t\t\t\t{ level }\n\t\t\t\n\t\t\t\n\t\t\t\t{ children }\n\t\t\t\n\t\t\t{ __( '(Click to focus this heading)' ) }\n\t\t\n\t\n);\n\nexport default TableOfContentsItem;\n","/**\n * External dependencies\n */\nimport { first, last, some, flow } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, Fragment } from '@wordpress/element';\nimport { KeyboardShortcuts } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { rawShortcut, displayShortcut } from '@wordpress/keycodes';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockActions from '../block-actions';\n\nconst preventDefault = ( event ) => {\n\tevent.preventDefault();\n\treturn event;\n};\n\nexport const shortcuts = {\n\tduplicate: {\n\t\traw: rawShortcut.primaryShift( 'd' ),\n\t\tdisplay: displayShortcut.primaryShift( 'd' ),\n\t},\n\tremoveBlock: {\n\t\traw: rawShortcut.access( 'z' ),\n\t\tdisplay: displayShortcut.access( 'z' ),\n\t},\n\tinsertBefore: {\n\t\traw: rawShortcut.primaryAlt( 't' ),\n\t\tdisplay: displayShortcut.primaryAlt( 't' ),\n\t},\n\tinsertAfter: {\n\t\traw: rawShortcut.primaryAlt( 'y' ),\n\t\tdisplay: displayShortcut.primaryAlt( 'y' ),\n\t},\n};\n\nclass EditorGlobalKeyboardShortcuts extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.selectAll = this.selectAll.bind( this );\n\t\tthis.undoOrRedo = this.undoOrRedo.bind( this );\n\t\tthis.save = this.save.bind( this );\n\t\tthis.deleteSelectedBlocks = this.deleteSelectedBlocks.bind( this );\n\t\tthis.clearMultiSelection = this.clearMultiSelection.bind( this );\n\t}\n\n\tselectAll( event ) {\n\t\tconst { rootBlocksClientIds, onMultiSelect } = this.props;\n\t\tevent.preventDefault();\n\t\tonMultiSelect( first( rootBlocksClientIds ), last( rootBlocksClientIds ) );\n\t}\n\n\tundoOrRedo( event ) {\n\t\tconst { onRedo, onUndo } = this.props;\n\n\t\tif ( event.shiftKey ) {\n\t\t\tonRedo();\n\t\t} else {\n\t\t\tonUndo();\n\t\t}\n\n\t\tevent.preventDefault();\n\t}\n\n\tsave( event ) {\n\t\tevent.preventDefault();\n\t\tthis.props.onSave();\n\t}\n\n\tdeleteSelectedBlocks( event ) {\n\t\tconst { selectedBlockClientIds, hasMultiSelection, onRemove, isLocked } = this.props;\n\t\tif ( hasMultiSelection ) {\n\t\t\tevent.preventDefault();\n\t\t\tif ( ! isLocked ) {\n\t\t\t\tonRemove( selectedBlockClientIds );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Clears current multi-selection, if one exists.\n\t */\n\tclearMultiSelection() {\n\t\tconst { hasMultiSelection, clearSelectedBlock } = this.props;\n\t\tif ( hasMultiSelection ) {\n\t\t\tclearSelectedBlock();\n\t\t\twindow.getSelection().removeAllRanges();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { selectedBlockClientIds } = this.props;\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t{ selectedBlockClientIds.length > 0 && (\n\t\t\t\t\t\n\t\t\t\t\t\t{ ( { onDuplicate, onRemove, onInsertAfter, onInsertBefore } ) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) }\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockOrder,\n\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\thasMultiSelection,\n\t\t\tisEditedPostDirty,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetTemplateLock,\n\t\t\tgetSelectedBlock,\n\t\t} = select( 'core/editor' );\n\t\tconst block = getSelectedBlock();\n\t\tconst selectedBlockClientIds = block ? [ block.clientId ] : getMultiSelectedBlockClientIds();\n\n\t\treturn {\n\t\t\trootBlocksClientIds: getBlockOrder(),\n\t\t\thasMultiSelection: hasMultiSelection(),\n\t\t\tisLocked: some(\n\t\t\t\tselectedBlockClientIds,\n\t\t\t\t( clientId ) => !! getTemplateLock( getBlockRootClientId( clientId ) )\n\t\t\t),\n\t\t\tisDirty: isEditedPostDirty(),\n\t\t\tselectedBlockClientIds,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps ) => {\n\t\tconst {\n\t\t\tclearSelectedBlock,\n\t\t\tmultiSelect,\n\t\t\tredo,\n\t\t\tundo,\n\t\t\tremoveBlocks,\n\t\t\tsavePost,\n\t\t} = dispatch( 'core/editor' );\n\n\t\treturn {\n\t\t\tonSave() {\n\t\t\t\t// TODO: This should be handled in the `savePost` effect in\n\t\t\t\t// considering `isSaveable`. See note on `isEditedPostSaveable`\n\t\t\t\t// selector about dirtiness and meta-boxes. When removing, also\n\t\t\t\t// remember to remove `isDirty` prop passing from `withSelect`.\n\t\t\t\t//\n\t\t\t\t// See: `isEditedPostSaveable`\n\t\t\t\tif ( ! ownProps.isDirty ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsavePost();\n\t\t\t},\n\t\t\tclearSelectedBlock,\n\t\t\tonMultiSelect: multiSelect,\n\t\t\tonRedo: redo,\n\t\t\tonUndo: undo,\n\t\t\tonRemove: removeBlocks,\n\t\t};\n\t} ),\n] )( EditorGlobalKeyboardShortcuts );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { IconButton } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { displayShortcut } from '@wordpress/keycodes';\n\nfunction EditorHistoryRedo( { hasRedo, redo } ) {\n\treturn (\n\t\t\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => ( {\n\t\thasRedo: select( 'core/editor' ).hasEditorRedo(),\n\t} ) ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tredo: () => dispatch( 'core/editor' ).redo(),\n\t} ) ),\n] )( EditorHistoryRedo );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { IconButton } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { displayShortcut } from '@wordpress/keycodes';\n\nfunction EditorHistoryUndo( { hasUndo, undo } ) {\n\treturn (\n\t\t\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => ( {\n\t\thasUndo: select( 'core/editor' ).hasEditorUndo(),\n\t} ) ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tundo: () => dispatch( 'core/editor' ).undo(),\n\t} ) ),\n] )( EditorHistoryUndo );\n","/**\n * WordPress dependencies\n */\nimport { NoticeList } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport TemplateValidationNotice from '../template-validation-notice';\n\nfunction EditorNotices( props ) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => ( {\n\t\tnotices: select( 'core/notices' ).getNotices(),\n\t} ) ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tonRemove: dispatch( 'core/notices' ).removeNotice,\n\t} ) ),\n] )( EditorNotices );\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Button, ClipboardButton } from '@wordpress/components';\nimport { select } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { Warning } from '../';\n\nclass ErrorBoundary extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.reboot = this.reboot.bind( this );\n\t\tthis.getContent = this.getContent.bind( this );\n\n\t\tthis.state = {\n\t\t\terror: null,\n\t\t};\n\t}\n\n\tcomponentDidCatch( error ) {\n\t\tthis.setState( { error } );\n\t}\n\n\treboot() {\n\t\tthis.props.onError();\n\t}\n\n\tgetContent() {\n\t\ttry {\n\t\t\t// While `select` in a component is generally discouraged, it is\n\t\t\t// used here because it (a) reduces the chance of data loss in the\n\t\t\t// case of additional errors by performing a direct retrieval and\n\t\t\t// (b) avoids the performance cost associated with unnecessary\n\t\t\t// content serialization throughout the lifetime of a non-erroring\n\t\t\t// application.\n\t\t\treturn select( 'core/editor' ).getEditedPostContent();\n\t\t} catch ( error ) {}\n\t}\n\n\trender() {\n\t\tconst { error } = this.state;\n\t\tif ( ! error ) {\n\t\t\treturn this.props.children;\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\t\t{ __( 'Attempt Recovery' ) }\n\t\t\t\t\t,\n\t\t\t\t\t\n\t\t\t\t\t\t{ __( 'Copy Post Text' ) }\n\t\t\t\t\t,\n\t\t\t\t\t\n\t\t\t\t\t\t{ __( 'Copy Error' ) }\n\t\t\t\t\t,\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t{ __( 'The editor has encountered an unexpected error.' ) }\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default ErrorBoundary;\n","/**\n * WordPress dependencies\n */\nimport { FontSizePicker } from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\n\nexport default withSelect(\n\t( select ) => {\n\t\tconst {\n\t\t\tdisableCustomFontSizes,\n\t\t\tfontSizes,\n\t\t} = select( 'core/editor' ).getEditorSettings();\n\n\t\treturn {\n\t\t\tdisableCustomFontSizes,\n\t\t\tfontSizes,\n\t\t};\n\t}\n)( FontSizePicker );\n","export { getFontSize, getFontSizeClass } from './utils';\nexport { default as FontSizePicker } from './font-size-picker';\nexport { default as withFontSizes } from './with-font-sizes';\n","/**\n * External dependencies\n */\nimport { find, kebabCase } from 'lodash';\n\n/**\n * Returns the font size object based on an array of named font sizes and the namedFontSize and customFontSize values.\n * \tIf namedFontSize is undefined or not found in fontSizes an object with just the size value based on customFontSize is returned.\n *\n * @param {Array} fontSizes Array of font size objects containing at least the \"name\" and \"size\" values as properties.\n * @param {?string} fontSizeAttribute Content of the font size attribute (slug).\n * @param {?number} customFontSizeAttribute Contents of the custom font size attribute (value).\n *\n * @return {?string} If fontSizeAttribute is set and an equal slug is found in fontSizes it returns the font size object for that slug.\n * \t\t\t\t\t Otherwise, an object with just the size value based on customFontSize is returned.\n */\nexport const getFontSize = ( fontSizes, fontSizeAttribute, customFontSizeAttribute ) => {\n\tif ( fontSizeAttribute ) {\n\t\tconst fontSizeObject = find( fontSizes, { slug: fontSizeAttribute } );\n\t\tif ( fontSizeObject ) {\n\t\t\treturn fontSizeObject;\n\t\t}\n\t}\n\treturn {\n\t\tsize: customFontSizeAttribute,\n\t};\n};\n\n/**\n * Returns a class based on fontSizeName.\n *\n * @param {string} fontSizeSlug Slug of the fontSize.\n *\n * @return {string} String with the class corresponding to the fontSize passed.\n * The class is generated by appending 'has-' followed by fontSizeSlug in kebabCase and ending with '-font-size'.\n */\nexport function getFontSizeClass( fontSizeSlug ) {\n\tif ( ! fontSizeSlug ) {\n\t\treturn;\n\t}\n\n\treturn `has-${ kebabCase( fontSizeSlug ) }-font-size`;\n}\n","/**\n * External dependencies\n */\nimport { find, pickBy, reduce, some, upperFirst } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, compose } from '@wordpress/compose';\nimport { Component } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { getFontSize, getFontSizeClass } from './utils';\n\n/**\n * Higher-order component, which handles font size logic for class generation,\n * font size value retrieval, and font size change handling.\n *\n * @param {...(object|string)} args The arguments should all be strings\n * Each string contains the font size attribute name e.g: 'fontSize'.\n *\n * @return {Function} Higher-order component.\n */\nexport default ( ...fontSizeNames ) => {\n\t/*\n\t* Computes an object whose key is the font size attribute name as passed in the array,\n\t* and the value is the custom font size attribute name.\n\t* Custom font size is automatically compted by appending custom followed by the font size attribute name in with the first letter capitalized.\n\t*/\n\tconst fontSizeAttributeNames = reduce( fontSizeNames, ( fontSizeAttributeNamesAccumulator, fontSizeAttributeName ) => {\n\t\tfontSizeAttributeNamesAccumulator[ fontSizeAttributeName ] = `custom${ upperFirst( fontSizeAttributeName ) }`;\n\t\treturn fontSizeAttributeNamesAccumulator;\n\t}, {} );\n\n\treturn createHigherOrderComponent(\n\t\tcompose( [\n\t\t\twithSelect( ( select ) => {\n\t\t\t\tconst { fontSizes } = select( 'core/editor' ).getEditorSettings();\n\t\t\t\treturn {\n\t\t\t\t\tfontSizes,\n\t\t\t\t};\n\t\t\t} ),\n\t\t\t( WrappedComponent ) => {\n\t\t\t\treturn class extends Component {\n\t\t\t\t\tconstructor( props ) {\n\t\t\t\t\t\tsuper( props );\n\n\t\t\t\t\t\tthis.setters = this.createSetters();\n\n\t\t\t\t\t\tthis.state = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetters() {\n\t\t\t\t\t\treturn reduce( fontSizeAttributeNames, ( settersAccumulator, customFontSizeAttributeName, fontSizeAttributeName ) => {\n\t\t\t\t\t\t\tconst upperFirstFontSizeAttributeName = upperFirst( fontSizeAttributeName );\n\t\t\t\t\t\t\tsettersAccumulator[ `set${ upperFirstFontSizeAttributeName }` ] =\n\t\t\t\t\t\t\t\tthis.createSetFontSize( fontSizeAttributeName, customFontSizeAttributeName );\n\t\t\t\t\t\t\treturn settersAccumulator;\n\t\t\t\t\t\t}, {} );\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSetFontSize( fontSizeAttributeName, customFontSizeAttributeName ) {\n\t\t\t\t\t\treturn ( fontSizeValue ) => {\n\t\t\t\t\t\t\tconst fontSizeObject = find( this.props.fontSizes, { size: fontSizeValue } );\n\t\t\t\t\t\t\tthis.props.setAttributes( {\n\t\t\t\t\t\t\t\t[ fontSizeAttributeName ]: fontSizeObject && fontSizeObject.slug ? fontSizeObject.slug : undefined,\n\t\t\t\t\t\t\t\t[ customFontSizeAttributeName ]: fontSizeObject && fontSizeObject.slug ? undefined : fontSizeValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tstatic getDerivedStateFromProps( { attributes, fontSizes }, previousState ) {\n\t\t\t\t\t\tconst didAttributesChange = ( customFontSizeAttributeName, fontSizeAttributeName ) => {\n\t\t\t\t\t\t\tif ( previousState[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t// if new font size is name compare with the previous slug\n\t\t\t\t\t\t\t\tif ( attributes[ fontSizeAttributeName ] ) {\n\t\t\t\t\t\t\t\t\treturn attributes[ fontSizeAttributeName ] !== previousState[ fontSizeAttributeName ].slug;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// if font size is not named, update when the font size value changes.\n\t\t\t\t\t\t\t\treturn previousState[ fontSizeAttributeName ].size !== attributes[ customFontSizeAttributeName ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// in this case we need to build the font size object\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif ( ! some( fontSizeAttributeNames, didAttributesChange ) ) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst newState = reduce(\n\t\t\t\t\t\t\tpickBy( fontSizeAttributeNames, didAttributesChange ),\n\t\t\t\t\t\t\t( newStateAccumulator, customFontSizeAttributeName, fontSizeAttributeName ) => {\n\t\t\t\t\t\t\t\tconst fontSizeAttributeValue = attributes[ fontSizeAttributeName ];\n\t\t\t\t\t\t\t\tconst fontSizeObject = getFontSize(\n\t\t\t\t\t\t\t\t\tfontSizes,\n\t\t\t\t\t\t\t\t\tfontSizeAttributeValue,\n\t\t\t\t\t\t\t\t\tattributes[ customFontSizeAttributeName ]\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tnewStateAccumulator[ fontSizeAttributeName ] = {\n\t\t\t\t\t\t\t\t\t...fontSizeObject,\n\t\t\t\t\t\t\t\t\tclass: getFontSizeClass( fontSizeAttributeValue ),\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\treturn newStateAccumulator;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...previousState,\n\t\t\t\t\t\t\t...newState,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\trender() {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t] ),\n\t\t'withFontSizes'\n\t);\n};\n","/**\n * External dependencies\n */\nimport { reduce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Component which renders a div with passed props applied except the optional\n * `childHandledEvents` prop. Event prop handlers are replaced with a proxying\n * event handler to capture and prevent events from being handled by ancestor\n * `IgnoreNestedEvents` elements by testing the presence of a private property\n * assigned on the event object.\n *\n * Optionally accepts an `childHandledEvents` prop array, which can be used in\n * instances where an inner `IgnoreNestedEvents` element exists and the outer\n * element should stop propagation but not invoke a callback handler, since it\n * would be assumed these are invoked by the child element.\n *\n * @type {Component}\n */\nclass IgnoreNestedEvents extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.proxyEvent = this.proxyEvent.bind( this );\n\n\t\t// The event map is responsible for tracking an event type to a React\n\t\t// component prop name, since it is easy to determine event type from\n\t\t// a React prop name, but not the other way around.\n\t\tthis.eventMap = {};\n\t}\n\n\t/**\n\t * General event handler which only calls to its original props callback if\n\t * it has not already been handled by a descendant IgnoreNestedEvents.\n\t *\n\t * @param {Event} event Event object.\n\t *\n\t * @return {void}\n\t */\n\tproxyEvent( event ) {\n\t\tconst isHandled = !! event.nativeEvent._blockHandled;\n\n\t\t// Assign into the native event, since React will reuse their synthetic\n\t\t// event objects and this property assignment could otherwise leak.\n\t\t//\n\t\t// See: https://reactjs.org/docs/events.html#event-pooling\n\t\tevent.nativeEvent._blockHandled = true;\n\n\t\t// Invoke original prop handler\n\t\tlet propKey = this.eventMap[ event.type ];\n\n\t\t// If already handled (i.e. assume nested block), only invoke a\n\t\t// corresponding \"Handled\"-suffixed prop callback.\n\t\tif ( isHandled ) {\n\t\t\tpropKey += 'Handled';\n\t\t}\n\n\t\tif ( this.props[ propKey ] ) {\n\t\t\tthis.props[ propKey ]( event );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { childHandledEvents = [], ...props } = this.props;\n\n\t\tconst eventHandlers = reduce( [\n\t\t\t...childHandledEvents,\n\t\t\t...Object.keys( props ),\n\t\t], ( result, key ) => {\n\t\t\t// Try to match prop key as event handler\n\t\t\tconst match = key.match( /^on([A-Z][a-zA-Z]+?)(Handled)?$/ );\n\t\t\tif ( match ) {\n\t\t\t\tconst isHandledProp = !! match[ 2 ];\n\t\t\t\tif ( isHandledProp ) {\n\t\t\t\t\t// Avoid assigning through the invalid prop key. This\n\t\t\t\t\t// assumes mutation of shallow clone by above spread.\n\t\t\t\t\tdelete props[ key ];\n\t\t\t\t}\n\n\t\t\t\t// Re-map the prop to the local proxy handler to check whether\n\t\t\t\t// the event has already been handled.\n\t\t\t\tconst proxiedPropName = 'on' + match[ 1 ];\n\t\t\t\tresult[ proxiedPropName ] = this.proxyEvent;\n\n\t\t\t\t// Assign event -> propName into an instance variable, so as to\n\t\t\t\t// avoid re-renders which could be incurred either by setState\n\t\t\t\t// or in mapping values to a newly created function.\n\t\t\t\tthis.eventMap[ match[ 1 ].toLowerCase() ] = proxiedPropName;\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}, {} );\n\n\t\treturn
;\n\t}\n}\n\nexport default IgnoreNestedEvents;\n","// Block Creation Components\nexport { default as Autocomplete } from './autocomplete';\nexport * from './autocompleters';\nexport { default as AlignmentToolbar } from './alignment-toolbar';\nexport { default as BlockAlignmentToolbar } from './block-alignment-toolbar';\nexport { default as BlockControls } from './block-controls';\nexport { default as BlockEdit } from './block-edit';\nexport { default as BlockFormatControls } from './block-format-controls';\nexport { default as BlockNavigationDropdown } from './block-navigation/dropdown';\nexport { default as BlockIcon } from './block-icon';\nexport { default as ColorPalette } from './color-palette';\nexport { default as withColorContext } from './color-palette/with-color-context';\nexport * from './colors';\nexport { default as ContrastChecker } from './contrast-checker';\nexport * from './font-sizes';\nexport { default as InnerBlocks } from './inner-blocks';\nexport { default as InspectorAdvancedControls } from './inspector-advanced-controls';\nexport { default as InspectorControls } from './inspector-controls';\nexport { default as PanelColor } from './panel-color';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as PlainText } from './plain-text';\nexport { default as RichText } from './rich-text';\nexport { default as ServerSideRender } from './server-side-render';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport { default as MediaUpload } from './media-upload';\nexport { default as URLInput } from './url-input';\nexport { default as URLInputButton } from './url-input/button';\nexport { default as URLPopover } from './url-popover';\n\n// Post Related Components\nexport { default as AutosaveMonitor } from './autosave-monitor';\nexport { default as DocumentOutline } from './document-outline';\nexport { default as DocumentOutlineCheck } from './document-outline/check';\nexport { default as EditorGlobalKeyboardShortcuts } from './editor-global-keyboard-shortcuts';\nexport { default as EditorHistoryRedo } from './editor-history/redo';\nexport { default as EditorHistoryUndo } from './editor-history/undo';\nexport { default as EditorNotices } from './editor-notices';\nexport { default as PageAttributesCheck } from './page-attributes/check';\nexport { default as PageAttributesOrder } from './page-attributes/order';\nexport { default as PageAttributesParent } from './page-attributes/parent';\nexport { default as PageTemplate } from './page-attributes/template';\nexport { default as PostAuthor } from './post-author';\nexport { default as PostAuthorCheck } from './post-author/check';\nexport { default as PostComments } from './post-comments';\nexport { default as PostExcerpt } from './post-excerpt';\nexport { default as PostExcerptCheck } from './post-excerpt/check';\nexport { default as PostFeaturedImage } from './post-featured-image';\nexport { default as PostFeaturedImageCheck } from './post-featured-image/check';\nexport { default as PostFormat } from './post-format';\nexport { default as PostFormatCheck } from './post-format/check';\nexport { default as PostLastRevision } from './post-last-revision';\nexport { default as PostLastRevisionCheck } from './post-last-revision/check';\nexport { default as PostLockedModal } from './post-locked-modal';\nexport { default as PostPendingStatus } from './post-pending-status';\nexport { default as PostPendingStatusCheck } from './post-pending-status/check';\nexport { default as PostPingbacks } from './post-pingbacks';\nexport { default as PostPreviewButton } from './post-preview-button';\nexport { default as PostPublishButton } from './post-publish-button';\nexport { default as PostPublishButtonLabel } from './post-publish-button/label';\nexport { default as PostPublishPanel } from './post-publish-panel';\nexport { default as PostPublishPanelToggle } from './post-publish-panel/toggle';\nexport { default as PostSavedState } from './post-saved-state';\nexport { default as PostSchedule } from './post-schedule';\nexport { default as PostScheduleCheck } from './post-schedule/check';\nexport { default as PostScheduleLabel } from './post-schedule/label';\nexport { default as PostSticky } from './post-sticky';\nexport { default as PostStickyCheck } from './post-sticky/check';\nexport { default as PostSwitchToDraftButton } from './post-switch-to-draft-button';\nexport { default as PostTaxonomies } from './post-taxonomies';\nexport { default as PostTaxonomiesCheck } from './post-taxonomies/check';\nexport { default as PostTextEditor } from './post-text-editor';\nexport { default as PostTitle } from './post-title';\nexport { default as PostTrash } from './post-trash';\nexport { default as PostTrashCheck } from './post-trash/check';\nexport { default as PostTypeSupportCheck } from './post-type-support-check';\nexport { default as PostVisibility } from './post-visibility';\nexport { default as PostVisibilityLabel } from './post-visibility/label';\nexport { default as PostVisibilityCheck } from './post-visibility/check';\nexport { default as TableOfContents } from './table-of-contents';\nexport { default as UnsavedChangesWarning } from './unsaved-changes-warning';\nexport { default as WordCount } from './word-count';\n\n// Content Related Components\nexport { default as BlockInspector } from './block-inspector';\nexport { default as BlockList } from './block-list';\nexport { default as BlockMover } from './block-mover';\nexport { default as BlockSelectionClearer } from './block-selection-clearer';\nexport { default as BlockSettingsMenu } from './block-settings-menu';\nexport { default as _BlockSettingsMenuFirstItem } from './block-settings-menu/block-settings-menu-first-item';\nexport { default as _BlockSettingsMenuPluginsExtension } from './block-settings-menu/block-settings-menu-plugins-extension';\nexport { default as BlockTitle } from './block-title';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as CopyHandler } from './copy-handler';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as ErrorBoundary } from './error-boundary';\nexport { default as Inserter } from './inserter';\nexport { default as MultiBlocksSwitcher } from './block-switcher/multi-blocks-switcher';\nexport { default as MultiSelectScrollIntoView } from './multi-select-scroll-into-view';\nexport { default as NavigableToolbar } from './navigable-toolbar';\nexport { default as ObserveTyping } from './observe-typing';\nexport { default as PreserveScrollInReorder } from './preserve-scroll-in-reorder';\nexport { default as SkipToSelectedBlock } from './skip-to-selected-block';\nexport { default as Warning } from './warning';\nexport { default as WritingFlow } from './writing-flow';\n\n// State Related Components\nexport { default as EditorProvider } from './provider';\n","/**\n * External dependencies\n */\nimport { pick, isEqual, map } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { Component } from '@wordpress/element';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { synchronizeBlocksWithTemplate, withBlockContentContext } from '@wordpress/blocks';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockList from '../block-list';\nimport { withBlockEditContext } from '../block-edit/context';\n\nclass InnerBlocks extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.updateNestedSettings();\n\t}\n\n\tgetTemplateLock() {\n\t\tconst {\n\t\t\ttemplateLock,\n\t\t\tparentLock,\n\t\t} = this.props;\n\t\treturn templateLock === undefined ? parentLock : templateLock;\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { innerBlocks } = this.props.block;\n\t\t// only synchronize innerBlocks with template if innerBlocks are empty or a locking all exists\n\t\tif ( innerBlocks.length === 0 || this.getTemplateLock() === 'all' ) {\n\t\t\treturn \tthis.synchronizeBlocksWithTemplate();\n\t\t}\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tconst { template, block } = this.props;\n\t\tconst { innerBlocks } = block;\n\n\t\tthis.updateNestedSettings();\n\t\t// only synchronize innerBlocks with template if innerBlocks are empty or a locking all exists\n\t\tif ( innerBlocks.length === 0 || this.getTemplateLock() === 'all' ) {\n\t\t\tconst hasTemplateChanged = ! isEqual( template, prevProps.template );\n\t\t\tif ( hasTemplateChanged ) {\n\t\t\t\tthis.synchronizeBlocksWithTemplate();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Called on mount or when a mismatch exists between the templates and\n\t * inner blocks, synchronizes inner blocks with the template, replacing\n\t * current blocks.\n\t */\n\tsynchronizeBlocksWithTemplate() {\n\t\tconst { template, block, replaceInnerBlocks } = this.props;\n\t\tconst { innerBlocks } = block;\n\n\t\t// Synchronize with templates. If the next set differs, replace.\n\t\tconst nextBlocks = synchronizeBlocksWithTemplate( innerBlocks, template );\n\t\tif ( ! isEqual( nextBlocks, innerBlocks\t) ) {\n\t\t\treplaceInnerBlocks( nextBlocks );\n\t\t}\n\t}\n\n\tupdateNestedSettings() {\n\t\tconst {\n\t\t\tblockListSettings,\n\t\t\tallowedBlocks,\n\t\t\tupdateNestedSettings,\n\t\t} = this.props;\n\n\t\tconst newSettings = {\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock: this.getTemplateLock(),\n\t\t};\n\n\t\tif ( ! isShallowEqual( blockListSettings, newSettings ) ) {\n\t\t\tupdateNestedSettings( newSettings );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tclientId,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t\ttemplate,\n\t\t\tisSmallScreen,\n\t\t\tisSelectedBlockInRoot,\n\t\t} = this.props;\n\n\t\tconst classes = classnames( 'editor-inner-blocks', {\n\t\t\t'has-overlay': isSmallScreen && ! isSelectedBlockInRoot,\n\t\t} );\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n}\n\nInnerBlocks = compose( [\n\twithBlockEditContext( ( context ) => pick( context, [ 'clientId' ] ) ),\n\twithViewportMatch( { isSmallScreen: '< medium' } ),\n\twithSelect( ( select, ownProps ) => {\n\t\tconst {\n\t\t\tisBlockSelected,\n\t\t\thasSelectedInnerBlock,\n\t\t\tgetBlock,\n\t\t\tgetBlockListSettings,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetTemplateLock,\n\t\t} = select( 'core/editor' );\n\t\tconst { clientId } = ownProps;\n\t\tconst parentClientId = getBlockRootClientId( clientId );\n\t\treturn {\n\t\t\tisSelectedBlockInRoot: isBlockSelected( clientId ) || hasSelectedInnerBlock( clientId ),\n\t\t\tblock: getBlock( clientId ),\n\t\t\tblockListSettings: getBlockListSettings( clientId ),\n\t\t\tparentLock: getTemplateLock( parentClientId ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps ) => {\n\t\tconst {\n\t\t\treplaceBlocks,\n\t\t\tinsertBlocks,\n\t\t\tupdateBlockListSettings,\n\t\t} = dispatch( 'core/editor' );\n\t\tconst { block, clientId } = ownProps;\n\n\t\treturn {\n\t\t\treplaceInnerBlocks( blocks ) {\n\t\t\t\tconst clientIds = map( block.innerBlocks, 'clientId' );\n\t\t\t\tif ( clientIds.length ) {\n\t\t\t\t\treplaceBlocks( clientIds, blocks );\n\t\t\t\t} else {\n\t\t\t\t\tinsertBlocks( blocks, undefined, clientId );\n\t\t\t\t}\n\t\t\t},\n\t\t\tupdateNestedSettings( settings ) {\n\t\t\t\tdispatch( updateBlockListSettings( clientId, settings ) );\n\t\t\t},\n\t\t};\n\t} ),\n] )( InnerBlocks );\n\nInnerBlocks.Content = withBlockContentContext(\n\t( { BlockContent } ) => \n);\n\nexport default InnerBlocks;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\n\nfunction InserterListItem( {\n\ticon,\n\thasChildBlocksWithInserterSupport,\n\tonClick,\n\tisDisabled,\n\ttitle,\n\tclassName,\n\t...props\n} ) {\n\tconst itemIconStyle = icon ? {\n\t\tbackgroundColor: icon.background,\n\t\tcolor: icon.foreground,\n\t} : {};\n\tconst itemIconStackStyle = icon && icon.shadowColor ? {\n\t\tbackgroundColor: icon.shadowColor,\n\t} : {};\n\n\treturn (\n\t\t
  • \n\t\t\t {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tonClick();\n\t\t\t\t} }\n\t\t\t\tdisabled={ isDisabled }\n\t\t\t\taria-label={ title } // Fix for IE11 and JAWS 2018.\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{ hasChildBlocksWithInserterSupport &&\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{ title }\n\t\t\t\t\n\t\t\t\n\t\t
  • \n\t);\n}\n\nexport default InserterListItem;\n","/**\n * External dependencies\n */\nimport { filter, isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { compose } from '@wordpress/compose';\nimport { IconButton } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { withDispatch, withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\n\nfunction InserterWithShortcuts( { items, isLocked, onInsert } ) {\n\tif ( isLocked ) {\n\t\treturn null;\n\t}\n\n\tconst itemsWithoutDefaultBlock = filter( items, ( item ) => {\n\t\treturn ! item.isDisabled && (\n\t\t\titem.name !== getDefaultBlockName() ||\n\t\t\t! isEmpty( item.initialAttributes )\n\t\t);\n\t} ).slice( 0, 3 );\n\n\treturn (\n\t\t
    \n\t\t\t{ itemsWithoutDefaultBlock.map( ( item ) => (\n\t\t\t\t onInsert( item ) }\n\t\t\t\t\t// translators: %s: block title/name to be added\n\t\t\t\t\tlabel={ sprintf( __( 'Add %s' ), item.title ) }\n\t\t\t\t\ticon={ (\n\t\t\t\t\t\t\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t
    \n\t);\n}\n\nexport default compose(\n\twithSelect( ( select, { rootClientId } ) => {\n\t\tconst { getInserterItems, getTemplateLock } = select( 'core/editor' );\n\t\treturn {\n\t\t\titems: getInserterItems( rootClientId ),\n\t\t\tisLocked: !! getTemplateLock( rootClientId ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps ) => {\n\t\tconst { clientId, rootClientId } = ownProps;\n\n\t\treturn {\n\t\t\tonInsert( { name, initialAttributes } ) {\n\t\t\t\tconst block = createBlock( name, initialAttributes );\n\t\t\t\tif ( clientId ) {\n\t\t\t\t\tdispatch( 'core/editor' ).replaceBlocks( clientId, block );\n\t\t\t\t} else {\n\t\t\t\t\tdispatch( 'core/editor' ).insertBlock( block, undefined, rootClientId );\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t} ),\n)( InserterWithShortcuts );\n","/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport { ifCondition, compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockTypesList from '../block-types-list';\nimport BlockIcon from '../block-icon';\n\nfunction ChildBlocks( { rootBlockIcon, rootBlockTitle, items, ...props } ) {\n\treturn (\n\t\t
    \n\t\t\t{ ( rootBlockIcon || rootBlockTitle ) && (\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t{ rootBlockTitle &&

    { rootBlockTitle }

    }\n\t\t\t\t
    \n\t\t\t) }\n\t\t\t\n\t\t
    \n\t);\n}\n\nexport default compose(\n\tifCondition( ( { items } ) => items && items.length > 0 ),\n\twithSelect( ( select, { rootClientId } ) => {\n\t\tconst {\n\t\t\tgetBlockType,\n\t\t} = select( 'core/blocks' );\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t} = select( 'core/editor' );\n\t\tconst rootBlockName = getBlockName( rootClientId );\n\t\tconst rootBlockType = getBlockType( rootBlockName );\n\t\treturn {\n\t\t\trootBlockTitle: rootBlockType && rootBlockType.title,\n\t\t\trootBlockIcon: rootBlockType && rootBlockType.icon,\n\t\t};\n\t} ),\n)( ChildBlocks );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Dropdown, IconButton } from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\nimport { compose, ifCondition } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport InserterMenu from './menu';\n\nconst defaultRenderToggle = ( { onToggle, disabled, isOpen } ) => (\n\t\n);\n\nclass Inserter extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderToggle = this.renderToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { onToggle } = this.props;\n\n\t\t// Surface toggle callback to parent component\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {WPElement} Dropdown toggle element.\n\t */\n\trenderToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t} = this.props;\n\n\t\treturn renderToggle( { onToggle, isOpen, disabled } );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t *\n\t * @return {WPElement} Dropdown content element.\n\t */\n\trenderContent( { onClose } ) {\n\t\tconst { rootClientId, index } = this.props;\n\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { position, title } = this.props;\n\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { rootClientId, index } ) => {\n\t\tconst {\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetBlockInsertionPoint,\n\t\t\tgetInserterItems,\n\t\t} = select( 'core/editor' );\n\n\t\tif ( rootClientId === undefined && index === undefined ) {\n\t\t\t// Unless explicitly provided, the default insertion point provided\n\t\t\t// by the store occurs immediately following the selected block.\n\t\t\t// Otherwise, the default behavior for an undefined index is to\n\t\t\t// append block to the end of the rootClientId context.\n\t\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\t\t( { rootClientId, index } = insertionPoint );\n\t\t}\n\n\t\treturn {\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\thasItems: getInserterItems( rootClientId ).length > 0,\n\t\t\trootClientId,\n\t\t\tindex,\n\t\t};\n\t} ),\n\tifCondition( ( { hasItems } ) => hasItems ),\n] )( Inserter );\n","/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PanelBody, Slot } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockTypesList from '../block-types-list';\n\nconst InserterInlineElements = ( { filterValue } ) => {\n\treturn (\n\t\t\n\t\t\t{ ( fills ) => ! isEmpty( fills ) && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t) }\n\t\t\n\t);\n};\n\nexport default InserterInlineElements;\n","/**\n * External dependencies\n */\nimport {\n\tfilter,\n\tfind,\n\tfindIndex,\n\tflow,\n\tgroupBy,\n\tisEmpty,\n\tmap,\n\tsome,\n\tsortBy,\n\twithout,\n\tincludes,\n\tdeburr,\n} from 'lodash';\nimport scrollIntoView from 'dom-scroll-into-view';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, _x, sprintf } from '@wordpress/i18n';\nimport { Component, findDOMNode, createRef } from '@wordpress/element';\nimport { withSpokenMessages, PanelBody } from '@wordpress/components';\nimport {\n\tgetCategories,\n\tisReusableBlock,\n\tcreateBlock,\n\tisUnmodifiedDefaultBlock,\n} from '@wordpress/blocks';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { withInstanceId, compose, withSafeTimeout } from '@wordpress/compose';\nimport { LEFT, RIGHT, UP, DOWN, BACKSPACE, ENTER } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport BlockPreview from '../block-preview';\nimport BlockTypesList from '../block-types-list';\nimport ChildBlocks from './child-blocks';\nimport InserterInlineElements from './inline-elements';\n\nconst MAX_SUGGESTED_ITEMS = 9;\n\nconst stopKeyPropagation = ( event ) => event.stopPropagation();\n\n/**\n * Filters an item list given a search term.\n *\n * @param {Array} items Item list\n * @param {string} searchTerm Search term.\n *\n * @return {Array} Filtered item list.\n */\nexport const searchItems = ( items, searchTerm ) => {\n\tconst normalizedSearchTerm = normalizeTerm( searchTerm );\n\tconst matchSearch = ( string ) => normalizeTerm( string ).indexOf( normalizedSearchTerm ) !== -1;\n\tconst categories = getCategories();\n\n\treturn items.filter( ( item ) => {\n\t\tconst itemCategory = find( categories, { slug: item.category } );\n\t\treturn matchSearch( item.title ) || some( item.keywords, matchSearch ) || ( itemCategory && matchSearch( itemCategory.title ) );\n\t} );\n};\n\n/**\n * Converts the search term into a normalized term.\n *\n * @param {string} term The search term to normalize.\n *\n * @return {string} The normalized search term.\n */\nexport const normalizeTerm = ( term ) => {\n\t// Disregard diacritics.\n\t// Input: \"média\"\n\tterm = deburr( term );\n\n\t// Accommodate leading slash, matching autocomplete expectations.\n\t// Input: \"/media\"\n\tterm = term.replace( /^\\//, '' );\n\n\t// Lowercase.\n\t// Input: \"MEDIA\"\n\tterm = term.toLowerCase();\n\n\t// Strip leading and trailing whitespace.\n\t// Input: \" media \"\n\tterm = term.trim();\n\n\treturn term;\n};\n\nexport class InserterMenu extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\tchildItems: [],\n\t\t\tfilterValue: '',\n\t\t\thoveredItem: null,\n\t\t\tsuggestedItems: [],\n\t\t\treusableItems: [],\n\t\t\titemsPerCategory: {},\n\t\t\topenPanels: [ 'suggested' ],\n\t\t};\n\t\tthis.onChangeSearchInput = this.onChangeSearchInput.bind( this );\n\t\tthis.onHover = this.onHover.bind( this );\n\t\tthis.panels = {};\n\t\tthis.inserterResults = createRef();\n\t}\n\n\tcomponentDidMount() {\n\t\t// This could be replaced by a resolver.\n\t\tthis.props.fetchReusableBlocks();\n\t\tthis.filter();\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( prevProps.items !== this.props.items ) {\n\t\t\tthis.filter( this.state.filterValue );\n\t\t}\n\t}\n\n\tonChangeSearchInput( event ) {\n\t\tthis.filter( event.target.value );\n\t}\n\n\tonHover( item ) {\n\t\tthis.setState( {\n\t\t\thoveredItem: item,\n\t\t} );\n\n\t\tconst { showInsertionPoint, hideInsertionPoint } = this.props;\n\t\tif ( item ) {\n\t\t\tconst { rootClientId, index } = this.props;\n\t\t\tshowInsertionPoint( rootClientId, index );\n\t\t} else {\n\t\t\thideInsertionPoint();\n\t\t}\n\t}\n\n\tbindPanel( name ) {\n\t\treturn ( ref ) => {\n\t\t\tthis.panels[ name ] = ref;\n\t\t};\n\t}\n\n\tonTogglePanel( panel ) {\n\t\treturn () => {\n\t\t\tconst isOpened = this.state.openPanels.indexOf( panel ) !== -1;\n\t\t\tif ( isOpened ) {\n\t\t\t\tthis.setState( {\n\t\t\t\t\topenPanels: without( this.state.openPanels, panel ),\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tthis.setState( {\n\t\t\t\t\topenPanels: [\n\t\t\t\t\t\t...this.state.openPanels,\n\t\t\t\t\t\tpanel,\n\t\t\t\t\t],\n\t\t\t\t} );\n\n\t\t\t\tthis.props.setTimeout( () => {\n\t\t\t\t\t// We need a generic way to access the panel's container\n\t\t\t\t\t// eslint-disable-next-line react/no-find-dom-node\n\t\t\t\t\tscrollIntoView( findDOMNode( this.panels[ panel ] ), this.inserterResults.current, {\n\t\t\t\t\t\talignWithTop: true,\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t}\n\t\t};\n\t}\n\n\tfilter( filterValue = '' ) {\n\t\tconst { debouncedSpeak, items, rootChildBlocks } = this.props;\n\t\tconst filteredItems = searchItems( items, filterValue );\n\n\t\tconst childItems = filter( filteredItems, ( { name } ) => includes( rootChildBlocks, name ) );\n\n\t\tlet suggestedItems = [];\n\t\tif ( ! filterValue ) {\n\t\t\tconst maxSuggestedItems = this.props.maxSuggestedItems || MAX_SUGGESTED_ITEMS;\n\t\t\tsuggestedItems = filter( items, ( item ) => item.utility > 0 ).slice( 0, maxSuggestedItems );\n\t\t}\n\n\t\tconst reusableItems = filter( filteredItems, { category: 'reusable' } );\n\n\t\tconst getCategoryIndex = ( item ) => {\n\t\t\treturn findIndex( getCategories(), ( category ) => category.slug === item.category );\n\t\t};\n\t\tconst itemsPerCategory = flow(\n\t\t\t( itemList ) => filter( itemList, ( item ) => item.category !== 'reusable' ),\n\t\t\t( itemList ) => sortBy( itemList, getCategoryIndex ),\n\t\t\t( itemList ) => groupBy( itemList, 'category' )\n\t\t)( filteredItems );\n\n\t\tlet openPanels = this.state.openPanels;\n\t\tif ( filterValue !== this.state.filterValue ) {\n\t\t\tif ( ! filterValue ) {\n\t\t\t\topenPanels = [ 'suggested' ];\n\t\t\t} else if ( reusableItems.length ) {\n\t\t\t\topenPanels = [ 'reusable' ];\n\t\t\t} else if ( filteredItems.length ) {\n\t\t\t\tconst firstCategory = find( getCategories(), ( { slug } ) => itemsPerCategory[ slug ] && itemsPerCategory[ slug ].length );\n\t\t\t\topenPanels = [ firstCategory.slug ];\n\t\t\t}\n\t\t}\n\n\t\tthis.setState( {\n\t\t\thoveredItem: null,\n\t\t\tchildItems,\n\t\t\tfilterValue,\n\t\t\tsuggestedItems,\n\t\t\treusableItems,\n\t\t\titemsPerCategory,\n\t\t\topenPanels,\n\t\t} );\n\n\t\tconst resultCount = Object.keys( itemsPerCategory ).reduce( ( accumulator, currentCategorySlug ) => {\n\t\t\treturn accumulator + itemsPerCategory[ currentCategorySlug ].length;\n\t\t}, 0 );\n\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t_n( '%d result found.', '%d results found.', resultCount ),\n\t\t\tresultCount\n\t\t);\n\n\t\tdebouncedSpeak( resultsFoundMessage, 'assertive' );\n\t}\n\n\tonKeyDown( event ) {\n\t\tif ( includes( [ LEFT, DOWN, RIGHT, UP, BACKSPACE, ENTER ], event.keyCode ) ) {\n\t\t\t// Stop the key event from propagating up to ObserveTyping.startTypingInTextField.\n\t\t\tevent.stopPropagation();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { instanceId, onSelect, rootClientId } = this.props;\n\t\tconst { childItems, filterValue, hoveredItem, suggestedItems, reusableItems, itemsPerCategory, openPanels } = this.state;\n\t\tconst isPanelOpen = ( panel ) => openPanels.indexOf( panel ) !== -1;\n\t\tconst isSearching = !! filterValue;\n\n\t\t// Disable reason (no-autofocus): The inserter menu is a modal display, not one which\n\t\t// is always visible, and one which already incurs this behavior of autoFocus via\n\t\t// Popover's focusOnMount.\n\t\t// Disable reason (no-static-element-interactions): Navigational key-presses within\n\t\t// the menu are prevented from triggering WritingFlow and ObserveTyping interactions.\n\t\t/* eslint-disable jsx-a11y/no-autofocus, jsx-a11y/no-static-element-interactions */\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\n\t\t\t\t\t\n\n\t\t\t\t\t{ !! suggestedItems.length &&\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\t\n\n\t\t\t\t\t{ map( getCategories(), ( category ) => {\n\t\t\t\t\t\tconst categoryItems = itemsPerCategory[ category.slug ];\n\t\t\t\t\t\tif ( ! categoryItems || ! categoryItems.length ) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\n\t\t\t\t\t{ !! reusableItems.length && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{ __( 'Manage All Reusable Blocks' ) }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t) }\n\t\t\t\t\t{ isEmpty( suggestedItems ) && isEmpty( reusableItems ) && isEmpty( itemsPerCategory ) && (\n\t\t\t\t\t\t

    { __( 'No blocks found.' ) }

    \n\t\t\t\t\t) }\n\t\t\t\t
    \n\n\t\t\t\t{ hoveredItem && isReusableBlock( hoveredItem ) &&\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-autofocus, jsx-a11y/no-noninteractive-element-interactions */\n\t}\n}\n\nexport default compose(\n\twithSelect( ( select, { rootClientId } ) => {\n\t\tconst {\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetSelectedBlock,\n\t\t\tgetInserterItems,\n\t\t\tgetBlockName,\n\t\t} = select( 'core/editor' );\n\t\tconst {\n\t\t\tgetChildBlockNames,\n\t\t} = select( 'core/blocks' );\n\n\t\tconst rootBlockName = getBlockName( rootClientId );\n\n\t\treturn {\n\t\t\tselectedBlock: getSelectedBlock(),\n\t\t\trootChildBlocks: getChildBlockNames( rootBlockName ),\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\titems: getInserterItems( rootClientId ),\n\t\t\trootClientId,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps ) => {\n\t\tconst {\n\t\t\t__experimentalFetchReusableBlocks: fetchReusableBlocks,\n\t\t\tshowInsertionPoint,\n\t\t\thideInsertionPoint,\n\t\t} = dispatch( 'core/editor' );\n\n\t\treturn {\n\t\t\tfetchReusableBlocks,\n\t\t\tshowInsertionPoint,\n\t\t\thideInsertionPoint,\n\t\t\tonSelect( item ) {\n\t\t\t\tconst {\n\t\t\t\t\treplaceBlocks,\n\t\t\t\t\tinsertBlock,\n\t\t\t\t} = dispatch( 'core/editor' );\n\t\t\t\tconst { selectedBlock, index, rootClientId } = ownProps;\n\t\t\t\tconst { name, initialAttributes } = item;\n\n\t\t\t\tconst insertedBlock = createBlock( name, initialAttributes );\n\t\t\t\tif ( selectedBlock && isUnmodifiedDefaultBlock( selectedBlock ) ) {\n\t\t\t\t\treplaceBlocks( selectedBlock.clientId, insertedBlock );\n\t\t\t\t} else {\n\t\t\t\t\tinsertBlock( insertedBlock, index, rootClientId );\n\t\t\t\t}\n\n\t\t\t\townProps.onSelect();\n\t\t\t},\n\t\t};\n\t} ),\n\twithSpokenMessages,\n\twithInstanceId,\n\twithSafeTimeout\n)( InserterMenu );\n","/**\n * WordPress dependencies\n */\nimport { createSlotFill } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { ifBlockEditSelected } from '../block-edit/context';\n\nconst { Fill, Slot } = createSlotFill( 'InspectorAdvancedControls' );\n\nconst InspectorAdvancedControls = ifBlockEditSelected( Fill );\n\nInspectorAdvancedControls.Slot = Slot;\n\nexport default InspectorAdvancedControls;\n","/**\n * WordPress dependencies\n */\nimport { createSlotFill } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { ifBlockEditSelected } from '../block-edit/context';\n\nconst { Fill, Slot } = createSlotFill( 'InspectorControls' );\n\nconst InspectorControls = ifBlockEditSelected( Fill );\n\nInspectorControls.Slot = Slot;\n\nexport default InspectorControls;\n","/**\n * External dependencies\n */\nimport { every, get, noop, startsWith } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFormFileUpload,\n\tPlaceholder,\n\tDropZone,\n\tIconButton,\n\twithFilters,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport URLPopover from '../url-popover';\nimport { mediaUpload } from '../../utils/';\n\nconst InsertFromURLPopover = ( { src, onChange, onSubmit, onClose } ) => (\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n);\n\nclass MediaPlaceholder extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\tsrc: '',\n\t\t\tisURLInputVisible: false,\n\t\t};\n\t\tthis.onChangeSrc = this.onChangeSrc.bind( this );\n\t\tthis.onSubmitSrc = this.onSubmitSrc.bind( this );\n\t\tthis.onUpload = this.onUpload.bind( this );\n\t\tthis.onFilesUpload = this.onFilesUpload.bind( this );\n\t\tthis.openURLInput = this.openURLInput.bind( this );\n\t\tthis.closeURLInput = this.closeURLInput.bind( this );\n\t}\n\n\tonlyAllowsImages() {\n\t\tconst { allowedTypes } = this.props;\n\t\tif ( ! allowedTypes ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn every( allowedTypes, ( allowedType ) => {\n\t\t\treturn allowedType === 'image' || startsWith( allowedType, 'image/' );\n\t\t} );\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.setState( { src: get( this.props.value, [ 'src' ], '' ) } );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( get( prevProps.value, [ 'src' ], '' ) !== get( this.props.value, [ 'src' ], '' ) ) {\n\t\t\tthis.setState( { src: get( this.props.value, [ 'src' ], '' ) } );\n\t\t}\n\t}\n\n\tonChangeSrc( event ) {\n\t\tthis.setState( { src: event.target.value } );\n\t}\n\n\tonSubmitSrc( event ) {\n\t\tevent.preventDefault();\n\t\tif ( this.state.src && this.props.onSelectURL ) {\n\t\t\tthis.props.onSelectURL( this.state.src );\n\t\t\tthis.closeURLInput();\n\t\t}\n\t}\n\n\tonUpload( event ) {\n\t\tthis.onFilesUpload( event.target.files );\n\t}\n\n\tonFilesUpload( files ) {\n\t\tconst { onSelect, multiple, onError, allowedTypes } = this.props;\n\t\tconst setMedia = multiple ? onSelect : ( [ media ] ) => onSelect( media );\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: setMedia,\n\t\t\tonError,\n\t\t} );\n\t}\n\n\topenURLInput() {\n\t\tthis.setState( { isURLInputVisible: true } );\n\t}\n\n\tcloseURLInput() {\n\t\tthis.setState( { isURLInputVisible: false } );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\taccept,\n\t\t\ticon,\n\t\t\tclassName,\n\t\t\tlabels = {},\n\t\t\tonSelect,\n\t\t\tvalue = {},\n\t\t\tonSelectURL,\n\t\t\tonHTMLDrop = noop,\n\t\t\tmultiple = false,\n\t\t\tnotices,\n\t\t\tallowedTypes,\n\t\t} = this.props;\n\n\t\tconst {\n\t\t\tisURLInputVisible,\n\t\t\tsrc,\n\t\t} = this.state;\n\n\t\tlet instructions = labels.instructions || '';\n\t\tlet title = labels.title || '';\n\t\tif ( ! instructions || ! title ) {\n\t\t\tconst isOneType = 1 === allowedTypes.length;\n\t\t\tconst isAudio = isOneType && 'audio' === allowedTypes[ 0 ];\n\t\t\tconst isImage = isOneType && 'image' === allowedTypes[ 0 ];\n\t\t\tconst isVideo = isOneType && 'video' === allowedTypes[ 0 ];\n\n\t\t\tif ( ! instructions ) {\n\t\t\t\tinstructions = __( 'Drag a media file, upload a new one or select a file from your library.' );\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\tinstructions = __( 'Drag an audio, upload a new one or select a file from your library.' );\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\tinstructions = __( 'Drag an image, upload a new one or select a file from your library.' );\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\tinstructions = __( 'Drag a video, upload a new one or select a file from your library.' );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( ! title ) {\n\t\t\t\ttitle = __( 'Media' );\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\ttitle = __( 'Audio' );\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\ttitle = __( 'Image' );\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\ttitle = __( 'Video' );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\n\t\t\t\t (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ __( 'Media Library' ) }\n\t\t\t\t\t\t\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t{ onSelectURL && (\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ __( 'Insert from URL' ) }\n\t\t\t\t\t\t\n\t\t\t\t\t\t{ isURLInputVisible && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) }\n\t\t\t\t\t
    \n\t\t\t\t) }\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default withFilters( 'editor.MediaPlaceholder' )( MediaPlaceholder );\n","/**\n * WordPress dependencies\n */\nimport { withFilters } from '@wordpress/components';\n\n/**\n * This is a placeholder for the media upload component necessary to make it possible to provide\n * an integration with the core blocks that handle media files. By default it renders nothing but\n * it provides a way to have it overridden with the `editor.MediaUpload` filter.\n *\n * @return {WPElement} Media upload element.\n */\nconst MediaUpload = () => null;\n\n// Todo: rename the filter\nexport default withFilters( 'editor.MediaUpload' )( MediaUpload );\n","/**\n * External dependencies\n */\nimport scrollIntoView from 'dom-scroll-into-view';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\nimport { getScrollContainer } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { getBlockDOMNode } from '../../utils/dom';\n\nclass MultiSelectScrollIntoView extends Component {\n\tcomponentDidUpdate() {\n\t\t// Relies on expectation that `componentDidUpdate` will only be called\n\t\t// if value of `extentClientId` changes.\n\t\tthis.scrollIntoView();\n\t}\n\n\t/**\n\t * Ensures that if a multi-selection exists, the extent of the selection is\n\t * visible within the nearest scrollable container.\n\t *\n\t * @return {void}\n\t */\n\tscrollIntoView() {\n\t\tconst { extentClientId } = this.props;\n\t\tif ( ! extentClientId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst extentNode = getBlockDOMNode( extentClientId );\n\t\tif ( ! extentNode ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst scrollContainer = getScrollContainer( extentNode );\n\n\t\t// If there's no scroll container, it follows that there's no scrollbar\n\t\t// and thus there's no need to try to scroll into view.\n\t\tif ( ! scrollContainer ) {\n\t\t\treturn;\n\t\t}\n\n\t\tscrollIntoView( extentNode, scrollContainer, {\n\t\t\tonlyScrollIfNeeded: true,\n\t\t} );\n\t}\n\n\trender() {\n\t\treturn null;\n\t}\n}\n\nexport default withSelect( ( select ) => {\n\tconst { getLastMultiSelectedBlockClientId } = select( 'core/editor' );\n\n\treturn {\n\t\textentClientId: getLastMultiSelectedBlockClientId(),\n\t};\n} )( MultiSelectScrollIntoView );\n","/**\n * External dependencies\n */\nimport { cond, matchesProperty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { NavigableMenu, KeyboardShortcuts } from '@wordpress/components';\nimport { Component, findDOMNode } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Browser dependencies\n */\n\nconst { Node, getSelection } = window;\n\nclass NavigableToolbar extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.bindNode = this.bindNode.bind( this );\n\t\tthis.focusToolbar = this.focusToolbar.bind( this );\n\t\tthis.focusSelection = this.focusSelection.bind( this );\n\n\t\tthis.switchOnKeyDown = cond( [\n\t\t\t[ matchesProperty( [ 'keyCode' ], ESCAPE ), this.focusSelection ],\n\t\t] );\n\t}\n\n\tbindNode( ref ) {\n\t\t// Disable reason: Need DOM node for finding first focusable element\n\t\t// on keyboard interaction to shift to toolbar.\n\t\t// eslint-disable-next-line react/no-find-dom-node\n\t\tthis.toolbar = findDOMNode( ref );\n\t}\n\n\tfocusToolbar() {\n\t\tconst tabbables = focus.tabbable.find( this.toolbar );\n\t\tif ( tabbables.length ) {\n\t\t\ttabbables[ 0 ].focus();\n\t\t}\n\t}\n\n\t/**\n\t * Programmatically shifts focus to the element where the current selection\n\t * exists, if there is a selection.\n\t */\n\tfocusSelection() {\n\t\t// Ensure that a selection exists.\n\t\tconst selection = getSelection();\n\t\tif ( ! selection ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Focus node may be a text node, which cannot be focused directly.\n\t\t// Find its parent element instead.\n\t\tconst { focusNode } = selection;\n\t\tlet focusElement = focusNode;\n\t\tif ( focusElement.nodeType !== Node.ELEMENT_NODE ) {\n\t\t\tfocusElement = focusElement.parentElement;\n\t\t}\n\n\t\tif ( focusElement ) {\n\t\t\tfocusElement.focus();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { children, ...props } = this.props;\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t{ children }\n\t\t\t
    \n\t\t);\n\t}\n}\n\nexport default NavigableToolbar;\n","/**\n * External dependencies\n */\nimport { over, includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { isTextField } from '@wordpress/dom';\nimport {\n\tUP,\n\tRIGHT,\n\tDOWN,\n\tLEFT,\n\tENTER,\n\tBACKSPACE,\n\tESCAPE,\n} from '@wordpress/keycodes';\nimport { withSafeTimeout, compose } from '@wordpress/compose';\n\n/**\n * Set of key codes upon which typing is to be initiated on a keydown event.\n *\n * @type {number[]}\n */\nconst KEY_DOWN_ELIGIBLE_KEY_CODES = [ UP, RIGHT, DOWN, LEFT, ENTER, BACKSPACE ];\n\n/**\n * Returns true if a given keydown event can be inferred as intent to start\n * typing, or false otherwise. A keydown is considered eligible if it is a\n * text navigation without shift active.\n *\n * @param {KeyboardEvent} event Keydown event to test.\n *\n * @return {boolean} Whether event is eligible to start typing.\n */\nfunction isKeyDownEligibleForStartTyping( event ) {\n\tconst { keyCode, shiftKey } = event;\n\treturn ! shiftKey && includes( KEY_DOWN_ELIGIBLE_KEY_CODES, keyCode );\n}\n\nclass ObserveTyping extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.stopTypingOnSelectionUncollapse = this.stopTypingOnSelectionUncollapse.bind( this );\n\t\tthis.stopTypingOnMouseMove = this.stopTypingOnMouseMove.bind( this );\n\t\tthis.startTypingInTextField = this.startTypingInTextField.bind( this );\n\t\tthis.stopTypingOnNonTextField = this.stopTypingOnNonTextField.bind( this );\n\t\tthis.stopTypingOnEscapeKey = this.stopTypingOnEscapeKey.bind( this );\n\n\t\tthis.onKeyDown = over( [\n\t\t\tthis.startTypingInTextField,\n\t\t\tthis.stopTypingOnEscapeKey,\n\t\t] );\n\n\t\tthis.lastMouseMove = null;\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.toggleEventBindings( this.props.isTyping );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( this.props.isTyping !== prevProps.isTyping ) {\n\t\t\tthis.toggleEventBindings( this.props.isTyping );\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.toggleEventBindings( false );\n\t}\n\n\t/**\n\t * Bind or unbind events to the document when typing has started or stopped\n\t * respectively, or when component has become unmounted.\n\t *\n\t * @param {boolean} isBound Whether event bindings should be applied.\n\t */\n\ttoggleEventBindings( isBound ) {\n\t\tconst bindFn = isBound ? 'addEventListener' : 'removeEventListener';\n\t\tdocument[ bindFn ]( 'selectionchange', this.stopTypingOnSelectionUncollapse );\n\t\tdocument[ bindFn ]( 'mousemove', this.stopTypingOnMouseMove );\n\t}\n\n\t/**\n\t * On mouse move, unset typing flag if user has moved cursor.\n\t *\n\t * @param {MouseEvent} event Mousemove event.\n\t */\n\tstopTypingOnMouseMove( event ) {\n\t\tconst { clientX, clientY } = event;\n\n\t\t// We need to check that the mouse really moved because Safari triggers\n\t\t// mousemove events when shift or ctrl are pressed.\n\t\tif ( this.lastMouseMove ) {\n\t\t\tconst {\n\t\t\t\tclientX: lastClientX,\n\t\t\t\tclientY: lastClientY,\n\t\t\t} = this.lastMouseMove;\n\n\t\t\tif ( lastClientX !== clientX || lastClientY !== clientY ) {\n\t\t\t\tthis.props.onStopTyping();\n\t\t\t}\n\t\t}\n\n\t\tthis.lastMouseMove = { clientX, clientY };\n\t}\n\n\t/**\n\t * On selection change, unset typing flag if user has made an uncollapsed\n\t * (shift) selection.\n\t */\n\tstopTypingOnSelectionUncollapse() {\n\t\tconst selection = window.getSelection();\n\t\tconst isCollapsed = selection.rangeCount > 0 && selection.getRangeAt( 0 ).collapsed;\n\n\t\tif ( ! isCollapsed ) {\n\t\t\tthis.props.onStopTyping();\n\t\t}\n\t}\n\n\t/**\n\t * Unsets typing flag if user presses Escape while typing flag is active.\n\t *\n\t * @param {KeyboardEvent} event Keypress or keydown event to interpret.\n\t */\n\tstopTypingOnEscapeKey( event ) {\n\t\tif ( this.props.isTyping && event.keyCode === ESCAPE ) {\n\t\t\tthis.props.onStopTyping();\n\t\t}\n\t}\n\n\t/**\n\t * Handles a keypress or keydown event to infer intention to start typing.\n\t *\n\t * @param {KeyboardEvent} event Keypress or keydown event to interpret.\n\t */\n\tstartTypingInTextField( event ) {\n\t\tconst { isTyping, onStartTyping } = this.props;\n\t\tconst { type, target } = event;\n\n\t\t// Abort early if already typing, or key press is incurred outside a\n\t\t// text field (e.g. arrow-ing through toolbar buttons).\n\t\t// Ignore typing in a block toolbar\n\t\tif ( isTyping || ! isTextField( target ) || target.closest( '.editor-block-toolbar' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Special-case keydown because certain keys do not emit a keypress\n\t\t// event. Conversely avoid keydown as the canonical event since there\n\t\t// are many keydown which are explicitly not targeted for typing.\n\t\tif ( type === 'keydown' && ! isKeyDownEligibleForStartTyping( event ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tonStartTyping();\n\t}\n\n\t/**\n\t * Stops typing when focus transitions to a non-text field element.\n\t *\n\t * @param {FocusEvent} event Focus event.\n\t */\n\tstopTypingOnNonTextField( event ) {\n\t\tevent.persist();\n\n\t\t// Since focus to a non-text field via arrow key will trigger before\n\t\t// the keydown event, wait until after current stack before evaluating\n\t\t// whether typing is to be stopped. Otherwise, typing will re-start.\n\t\tthis.props.setTimeout( () => {\n\t\t\tconst { isTyping, onStopTyping } = this.props;\n\t\t\tconst { target } = event;\n\t\t\tif ( isTyping && ! isTextField( target ) ) {\n\t\t\t\tonStopTyping();\n\t\t\t}\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { children } = this.props;\n\n\t\t// Disable reason: This component is responsible for capturing bubbled\n\t\t// keyboard events which are interpreted as typing intent.\n\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\treturn (\n\t\t\t\n\t\t\t\t{ children }\n\t\t\t\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { isTyping } = select( 'core/editor' );\n\n\t\treturn {\n\t\t\tisTyping: isTyping(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { startTyping, stopTyping } = dispatch( 'core/editor' );\n\n\t\treturn {\n\t\t\tonStartTyping: startTyping,\n\t\t\tonStopTyping: stopTyping,\n\t\t};\n\t} ),\n\twithSafeTimeout,\n] )( ObserveTyping );\n","/**\n * External dependencies\n */\nimport { get, isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\n\nexport function PageAttributesCheck( { availableTemplates, postType, children } ) {\n\tconst supportsPageAttributes = get( postType, [ 'supports', 'page-attributes' ], false );\n\n\t// Only render fields if post type supports page attributes or available templates exist.\n\tif ( ! supportsPageAttributes && isEmpty( availableTemplates ) ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n\nexport default withSelect( ( select ) => {\n\tconst { getEditedPostAttribute, getEditorSettings } = select( 'core/editor' );\n\tconst { getPostType } = select( 'core' );\n\tconst { availableTemplates } = getEditorSettings();\n\treturn {\n\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\tavailableTemplates,\n\t};\n} )( PageAttributesCheck );\n","/**\n * External dependencies\n */\nimport { invoke } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { TextControl } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose, withState } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\n\nexport const PageAttributesOrder = withState( {\n\torderInput: null,\n} )(\n\t( { onUpdateOrder, order = 0, orderInput, setState } ) => {\n\t\tconst setUpdatedOrder = ( value ) => {\n\t\t\tsetState( {\n\t\t\t\torderInput: value,\n\t\t\t} );\n\t\t\tconst newOrder = Number( value );\n\t\t\tif ( Number.isInteger( newOrder ) && invoke( value, [ 'trim' ] ) !== '' ) {\n\t\t\t\tonUpdateOrder( Number( value ) );\n\t\t\t}\n\t\t};\n\t\tconst value = orderInput === null ? order : orderInput;\n\t\treturn (\n\t\t\t {\n\t\t\t\t\tsetState( {\n\t\t\t\t\t\torderInput: null,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n);\n\nfunction PageAttributesOrderWithChecks( props ) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\treturn {\n\t\t\torder: select( 'core/editor' ).getEditedPostAttribute( 'menu_order' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tonUpdateOrder( order ) {\n\t\t\tdispatch( 'core/editor' ).editPost( {\n\t\t\t\tmenu_order: order,\n\t\t\t} );\n\t\t},\n\t} ) ),\n] )( PageAttributesOrderWithChecks );\n","/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { TreeSelect } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { buildTermsTree } from '../../utils/terms';\n\nexport function PageAttributesParent( { parent, postType, items, onUpdateParent } ) {\n\tconst isHierarchical = get( postType, [ 'hierarchical' ], false );\n\tconst parentPageLabel = get( postType, [ 'labels', 'parent_item_colon' ] );\n\tconst pageItems = items || [];\n\tif ( ! isHierarchical || ! parentPageLabel || ! pageItems.length ) {\n\t\treturn null;\n\t}\n\n\tconst pagesTree = buildTermsTree( pageItems.map( ( item ) => ( {\n\t\tid: item.id,\n\t\tparent: item.parent,\n\t\tname: item.title.raw ? item.title.raw : `#${ item.id } (${ __( 'no title' ) })`,\n\t} ) ) );\n\treturn (\n\t\t\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select ) => {\n\tconst { getPostType, getEntityRecords } = select( 'core' );\n\tconst { getCurrentPostId, getEditedPostAttribute } = select( 'core/editor' );\n\tconst postTypeSlug = getEditedPostAttribute( 'type' );\n\tconst postType = getPostType( postTypeSlug );\n\tconst postId = getCurrentPostId();\n\tconst isHierarchical = get( postType, [ 'hierarchical' ], false );\n\tconst query = {\n\t\tper_page: -1,\n\t\texclude: postId,\n\t\tparent_exclude: postId,\n\t\torderby: 'menu_order',\n\t\torder: 'asc',\n\t};\n\n\treturn {\n\t\tparent: getEditedPostAttribute( 'parent' ),\n\t\titems: isHierarchical ? getEntityRecords( 'postType', postTypeSlug, query ) : [],\n\t\tpostType,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch( ( dispatch ) => {\n\tconst { editPost } = dispatch( 'core/editor' );\n\treturn {\n\t\tonUpdateParent( parent ) {\n\t\t\teditPost( { parent: parent || 0 } );\n\t\t},\n\t};\n} );\n\nexport default compose( [\n\tapplyWithSelect,\n\tapplyWithDispatch,\n] )( PageAttributesParent );\n","/**\n * External dependencies\n */\nimport { isEmpty, map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { SelectControl } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\nexport function PageTemplate( { availableTemplates, selectedTemplate, onUpdate } ) {\n\tif ( isEmpty( availableTemplates ) ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t ( {\n\t\t\t\t\tvalue: templateSlug,\n\t\t\t\t\tlabel: templateName,\n\t\t\t\t} ) )\n\t\t\t}\n\t\t/>\n\t);\n}\n\nexport default compose(\n\twithSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute, getEditorSettings } = select( 'core/editor' );\n\t\tconst { availableTemplates } = getEditorSettings();\n\t\treturn {\n\t\t\tselectedTemplate: getEditedPostAttribute( 'template' ),\n\t\t\tavailableTemplates,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tonUpdate( templateSlug ) {\n\t\t\tdispatch( 'core/editor' ).editPost( { template: templateSlug || '' } );\n\t\t},\n\t} ) ),\n)( PageTemplate );\n","/**\n * External dependencies\n */\nimport { some } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { PanelBody, ColorIndicator } from '@wordpress/components';\nimport { ifCondition } from '@wordpress/compose';\nimport { sprintf, __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ColorPaletteControl from '../color-palette/control';\nimport withColorContext from '../color-palette/with-color-context';\nimport { getColorObjectByColorValue } from '../colors';\n\nconst hasCustomColorsDisabledForSetting = ( disableCustomColors, colorSetting ) => {\n\tif ( colorSetting.disableCustomColors !== undefined ) {\n\t\treturn colorSetting.disableCustomColors;\n\t}\n\treturn disableCustomColors;\n};\n\nconst hasColorsToChooseInSetting = (\n\tcolors = [],\n\tdisableCustomColors,\n\tcolorSetting ) => {\n\tif ( ! hasCustomColorsDisabledForSetting( disableCustomColors, colorSetting ) ) {\n\t\treturn true;\n\t}\n\treturn ( colorSetting.colors || colors ).length > 0;\n};\n\nconst hasColorsToChoose = ( { colors, disableCustomColors, colorSettings } ) => {\n\treturn some( colorSettings, ( colorSetting ) => {\n\t\treturn hasColorsToChooseInSetting(\n\t\t\tcolors,\n\t\t\tdisableCustomColors,\n\t\t\tcolorSetting\n\t\t);\n\t} );\n};\n\n// translators: first %s: The type of color (e.g. background color), second %s: the color name or value (e.g. red or #ff0000)\nconst colorIndicatorAriaLabel = __( '(%s: %s)' );\n\nconst renderColorIndicators = ( colorSettings, colors ) => {\n\treturn colorSettings.map(\n\t\t( { value, label, colors: availableColors }, index ) => {\n\t\t\tif ( ! value ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst colorObject = getColorObjectByColorValue(\n\t\t\t\tavailableColors || colors,\n\t\t\t\tvalue\n\t\t\t);\n\t\t\tconst colorName = colorObject && colorObject.name;\n\t\t\tconst ariaLabel = sprintf(\n\t\t\t\tcolorIndicatorAriaLabel,\n\t\t\t\tlabel.toLowerCase(),\n\t\t\t\tcolorName || value\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t);\n};\n\n// colorSettings is passed as an array of props so that it can be used for\n// mapping both ColorIndicator and ColorPaletteControl components. Passing\n// an array of components/nodes here wouldn't be feasible.\nexport const PanelColorSettings = ifCondition( hasColorsToChoose )(\n\t( {\n\t\tchildren,\n\t\tcolors,\n\t\tcolorSettings,\n\t\tdisableCustomColors,\n\t\ttitle,\n\t\t...props\n\t} ) => {\n\t\tconst className = 'editor-panel-color-settings';\n\n\t\tconst titleElement = (\n\t\t\t\n\t\t\t\t{ title }\n\t\t\t\t{ renderColorIndicators( colorSettings, colors ) }\n\t\t\t\n\t\t);\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{ colorSettings.map( ( settings, index ) => (\n\t\t\t\t\t\n\t\t\t\t) ) }\n\n\t\t\t\t{ children }\n\t\t\t\n\t\t);\n\t}\n);\n\nexport default withColorContext( PanelColorSettings );\n","/**\n * External dependencies\n */\nimport { omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { PanelColor as PanelColorComponent } from '@wordpress/components';\nimport { ifCondition, compose } from '@wordpress/compose';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport ColorPalette from '../color-palette';\nimport withColorContext from '../color-palette/with-color-context';\nimport { getColorObjectByColorValue } from '../colors';\n\nfunction PanelColor( { colors, title, colorValue, initialOpen, ...props } ) {\n\tdeprecated( 'wp.editor.PanelColor', {\n\t\tversion: '4.3',\n\t\talternative: 'wp.editor.PanelColorSettings',\n\t\tplugin: 'Gutenberg',\n\t} );\n\n\tconst colorObject = getColorObjectByColorValue( colors, colorValue );\n\tconst colorName = colorObject && colorObject.name;\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default compose( [\n\twithColorContext,\n\tifCondition( ( { hasColorsToChoose } ) => hasColorsToChoose ),\n] )( PanelColor );\n","/**\n * External dependencies\n */\nimport TextareaAutosize from 'react-autosize-textarea';\nimport classnames from 'classnames';\n\nfunction PlainText( { onChange, className, ...props } ) {\n\treturn (\n\t\t onChange( event.target.value ) }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nexport default PlainText;\n","/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\n\nexport function PostAuthorCheck( { hasAssignAuthorAction, authors, children } ) {\n\tif ( ! hasAssignAuthorAction || authors.length < 2 ) {\n\t\treturn null;\n\t}\n\n\treturn { children };\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst post = select( 'core/editor' ).getCurrentPost();\n\t\treturn {\n\t\t\thasAssignAuthorAction: get( post, [ '_links', 'wp:action-assign-author' ], false ),\n\t\t\tpostType: select( 'core/editor' ).getCurrentPostType(),\n\t\t\tauthors: select( 'core' ).getAuthors(),\n\t\t};\n\t} ),\n\twithInstanceId,\n] )( PostAuthorCheck );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { Component } from '@wordpress/element';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport PostAuthorCheck from './check';\n\nexport class PostAuthor extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.setAuthorId = this.setAuthorId.bind( this );\n\t}\n\n\tsetAuthorId( event ) {\n\t\tconst { onUpdateAuthor } = this.props;\n\t\tconst { value } = event.target;\n\t\tonUpdateAuthor( Number( value ) );\n\t}\n\n\trender() {\n\t\tconst { postAuthor, instanceId, authors } = this.props;\n\t\tconst selectId = 'post-author-selector-' + instanceId;\n\n\t\t// Disable reason: A select with an onchange throws a warning\n\n\t\t/* eslint-disable jsx-a11y/no-onchange */\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{ authors.map( ( author ) => (\n\t\t\t\t\t\t\n\t\t\t\t\t) ) }\n\t\t\t\t\n\t\t\t\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-onchange */\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\treturn {\n\t\t\tpostAuthor: select( 'core/editor' ).getEditedPostAttribute( 'author' ),\n\t\t\tauthors: select( 'core' ).getAuthors(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tonUpdateAuthor( author ) {\n\t\t\tdispatch( 'core/editor' ).editPost( { author } );\n\t\t},\n\t} ) ),\n\twithInstanceId,\n] )( PostAuthor );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { CheckboxControl } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\nfunction PostComments( { commentStatus = 'open', ...props } ) {\n\tconst onToggleComments = () => props.editPost( { comment_status: commentStatus === 'open' ? 'closed' : 'open' } );\n\n\treturn (\n\t\t\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\treturn {\n\t\t\tcommentStatus: select( 'core/editor' ).getEditedPostAttribute( 'comment_status' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\teditPost: dispatch( 'core/editor' ).editPost,\n\t} ) ),\n] )( PostComments );\n","/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\n\nfunction PostExcerptCheck( props ) {\n\treturn ;\n}\n\nexport default PostExcerptCheck;\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { ExternalLink, TextareaControl } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\nfunction PostExcerpt( { excerpt, onUpdateExcerpt } ) {\n\treturn (\n\t\t
    \n\t\t\t onUpdateExcerpt( value ) }\n\t\t\t\tvalue={ excerpt }\n\t\t\t/>\n\t\t\t\n\t\t\t\t{ __( 'Learn more about manual excerpts' ) }\n\t\t\t\n\t\t
    \n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\treturn {\n\t\t\texcerpt: select( 'core/editor' ).getEditedPostAttribute( 'excerpt' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tonUpdateExcerpt( excerpt ) {\n\t\t\tdispatch( 'core/editor' ).editPost( { excerpt } );\n\t\t},\n\t} ) ),\n] )( PostExcerpt );\n","/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport ThemeSupportCheck from '../theme-support-check';\n\nfunction PostFeaturedImageCheck( props ) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default PostFeaturedImageCheck;\n","/**\n * External dependencies\n */\nimport { has, get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { applyFilters } from '@wordpress/hooks';\nimport { Button, Spinner, ResponsiveWrapper, withFilters } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport PostFeaturedImageCheck from './check';\nimport MediaUpload from '../media-upload';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\n// Used when labels from post type were not yet loaded or when they are not present.\nconst DEFAULT_FEATURE_IMAGE_LABEL = __( 'Featured Image' );\nconst DEFAULT_SET_FEATURE_IMAGE_LABEL = __( 'Set featured image' );\nconst DEFAULT_REMOVE_FEATURE_IMAGE_LABEL = __( 'Remove image' );\n\nfunction PostFeaturedImage( { currentPostId, featuredImageId, onUpdateImage, onRemoveImage, media, postType } ) {\n\tconst postLabel = get( postType, [ 'labels' ], {} );\n\n\tlet mediaWidth, mediaHeight, mediaSourceUrl;\n\tif ( media ) {\n\t\tconst mediaSize = applyFilters( 'editor.PostFeaturedImage.imageSize', 'post-thumbnail', media.id, currentPostId );\n\t\tif ( has( media, [ 'media_details', 'sizes', mediaSize ] ) ) {\n\t\t\tmediaWidth = media.media_details.sizes[ mediaSize ].width;\n\t\t\tmediaHeight = media.media_details.sizes[ mediaSize ].height;\n\t\t\tmediaSourceUrl = media.media_details.sizes[ mediaSize ].source_url;\n\t\t} else {\n\t\t\tmediaWidth = media.media_details.width;\n\t\t\tmediaHeight = media.media_details.height;\n\t\t\tmediaSourceUrl = media.source_url;\n\t\t}\n\t}\n\n\treturn (\n\t\t\n\t\t\t
    \n\t\t\t\t{ !! featuredImageId &&\n\t\t\t\t\t (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ featuredImageId }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\t{ !! featuredImageId && media && ! media.isLoading &&\n\t\t\t\t (\n\t\t\t\t\t\t\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\t{ ! featuredImageId &&\n\t\t\t\t\t
    \n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t
    \n\t\t\t\t}\n\t\t\t\t{ !! featuredImageId &&\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t
    \n\t\t
    \n\t);\n}\n\nconst applyWithSelect = withSelect( ( select ) => {\n\tconst { getMedia, getPostType } = select( 'core' );\n\tconst { getCurrentPostId, getEditedPostAttribute } = select( 'core/editor' );\n\tconst featuredImageId = getEditedPostAttribute( 'featured_media' );\n\n\treturn {\n\t\tmedia: featuredImageId ? getMedia( featuredImageId ) : null,\n\t\tcurrentPostId: getCurrentPostId(),\n\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\tfeaturedImageId,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch( ( dispatch ) => {\n\tconst { editPost } = dispatch( 'core/editor' );\n\treturn {\n\t\tonUpdateImage( image ) {\n\t\t\teditPost( { featured_media: image.id } );\n\t\t},\n\t\tonRemoveImage() {\n\t\t\teditPost( { featured_media: 0 } );\n\t\t},\n\t};\n} );\n\nexport default compose(\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\twithFilters( 'editor.PostFeaturedImage' ),\n)( PostFeaturedImage );\n","/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\n\nfunction PostFormatCheck( { disablePostFormats, ...props } ) {\n\treturn ! disablePostFormats &&\n\t\t;\n}\n\nexport default withSelect(\n\t( select ) => {\n\t\tconst editorSettings = select( 'core/editor' ).getEditorSettings();\n\t\treturn {\n\t\t\tdisablePostFormats: editorSettings.disablePostFormats,\n\t\t};\n\t}\n)( PostFormatCheck );\n\n","/**\n * External dependencies\n */\nimport { find, get, includes, union } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Button, SelectControl } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { withInstanceId, compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PostFormatCheck from './check';\n\nexport const POST_FORMATS = [\n\t{ id: 'aside', caption: __( 'Aside' ) },\n\t{ id: 'gallery', caption: __( 'Gallery' ) },\n\t{ id: 'link', caption: __( 'Link' ) },\n\t{ id: 'image', caption: __( 'Image' ) },\n\t{ id: 'quote', caption: __( 'Quote' ) },\n\t{ id: 'standard', caption: __( 'Standard' ) },\n\t{ id: 'status', caption: __( 'Status' ) },\n\t{ id: 'video', caption: __( 'Video' ) },\n\t{ id: 'audio', caption: __( 'Audio' ) },\n\t{ id: 'chat', caption: __( 'Chat' ) },\n];\n\nfunction PostFormat( { onUpdatePostFormat, postFormat = 'standard', supportedFormats, suggestedFormat, instanceId } ) {\n\tconst postFormatSelectorId = 'post-format-selector-' + instanceId;\n\tconst formats = POST_FORMATS.filter( ( format ) => includes( supportedFormats, format.id ) );\n\tconst suggestion = find( formats, ( format ) => format.id === suggestedFormat );\n\n\t// Disable reason: We need to change the value immiediately to show/hide the suggestion if needed\n\n\t/* eslint-disable jsx-a11y/no-onchange */\n\treturn (\n\t\t\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t onUpdatePostFormat( format ) }\n\t\t\t\t\t\tid={ postFormatSelectorId }\n\t\t\t\t\t\toptions={ formats.map( ( format ) => ( {\n\t\t\t\t\t\t\tlabel: format.caption,\n\t\t\t\t\t\t\tvalue: format.id,\n\t\t\t\t\t\t} ) ) }\n\t\t\t\t\t/>\n\t\t\t\t
    \n\n\t\t\t\t{ suggestion && suggestion.id !== postFormat && (\n\t\t\t\t\t
    \n\t\t\t\t\t\t{ __( 'Suggestion:' ) }{ ' ' }\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t) }\n\t\t\t
    \n\t\t
    \n\t);\n\t/* eslint-enable jsx-a11y/no-onchange */\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute, getSuggestedPostFormat } = select( 'core/editor' );\n\t\tconst postFormat = getEditedPostAttribute( 'format' );\n\t\tconst themeSupports = select( 'core' ).getThemeSupports();\n\t\t// Ensure current format is always in the set.\n\t\t// The current format may not be a format supported by the theme.\n\t\tconst supportedFormats = union( [ postFormat ], get( themeSupports, [ 'formats' ], [] ) );\n\t\treturn {\n\t\t\tpostFormat,\n\t\t\tsupportedFormats,\n\t\t\tsuggestedFormat: getSuggestedPostFormat(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tonUpdatePostFormat( postFormat ) {\n\t\t\tdispatch( 'core/editor' ).editPost( { format: postFormat } );\n\t\t},\n\t} ) ),\n\twithInstanceId,\n] )( PostFormat );\n","/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\n\nexport function PostLastRevisionCheck( { lastRevisionId, revisionsCount, children } ) {\n\tif ( ! lastRevisionId || revisionsCount < 2 ) {\n\t\treturn null;\n\t}\n\n\treturn { children };\n}\n\nexport default withSelect(\n\t( select ) => {\n\t\tconst { getCurrentPostLastRevisionId, getCurrentPostRevisionsCount } = select( 'core/editor' );\n\t\treturn {\n\t\t\tlastRevisionId: getCurrentPostLastRevisionId(),\n\t\t\trevisionsCount: getCurrentPostRevisionsCount(),\n\t\t};\n\t}\n)( PostLastRevisionCheck );\n","/**\n * WordPress dependencies\n */\nimport { sprintf, _n } from '@wordpress/i18n';\nimport { IconButton } from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport PostLastRevisionCheck from './check';\nimport { getWPAdminURL } from '../../utils/url';\n\nfunction LastRevision( { lastRevisionId, revisionsCount } ) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t_n( '%d Revision', '%d Revisions', revisionsCount ),\n\t\t\t\t\t\trevisionsCount\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\n\t\t\n\t);\n}\n\nexport default withSelect(\n\t( select ) => {\n\t\tconst {\n\t\t\tgetCurrentPostLastRevisionId,\n\t\t\tgetCurrentPostRevisionsCount,\n\t\t} = select( 'core/editor' );\n\t\treturn {\n\t\t\tlastRevisionId: getCurrentPostLastRevisionId(),\n\t\t\trevisionsCount: getCurrentPostRevisionsCount(),\n\t\t};\n\t}\n)( LastRevision );\n","/**\n * External dependencies\n */\nimport jQuery from 'jquery';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Modal, Button } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { addQueryArgs } from '@wordpress/url';\nimport { Component } from '@wordpress/element';\nimport { compose, withGlobalEvents } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { getWPAdminURL } from '../../utils/url';\nimport PostPreviewButton from '../post-preview-button';\n\nclass PostLockedModal extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.sendPostLock = this.sendPostLock.bind( this );\n\t\tthis.receivePostLock = this.receivePostLock.bind( this );\n\t\tthis.releasePostLock = this.releasePostLock.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\t// Details on these events on the Heartbeat API docs\n\t\t// https://developer.wordpress.org/plugins/javascript/heartbeat-api/\n\t\tjQuery( document )\n\t\t\t.on( 'heartbeat-send.refresh-lock', this.sendPostLock )\n\t\t\t.on( 'heartbeat-tick.refresh-lock', this.receivePostLock );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tjQuery( document )\n\t\t\t.off( 'heartbeat-send.refresh-lock', this.sendPostLock )\n\t\t\t.off( 'heartbeat-tick.refresh-lock', this.receivePostLock );\n\t}\n\n\t/**\n\t * Keep the lock refreshed.\n\t *\n\t * When the user does not send a heartbeat in a heartbeat-tick\n\t * the user is no longer editing and another user can start editing.\n\t *\n\t * @param {Object} event Event.\n\t * @param {Object} data Data to send in the heartbeat request.\n\t */\n\tsendPostLock( event, data ) {\n\t\tconst { isLocked, activePostLock, postId } = this.props;\n\t\tif ( isLocked ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdata[ 'wp-refresh-post-lock' ] = {\n\t\t\tlock: activePostLock,\n\t\t\tpost_id: postId,\n\t\t};\n\t}\n\n\t/**\n\t * Refresh post locks: update the lock string or show the dialog if somebody has taken over editing.\n\t *\n\t * @param {Object} event Event.\n\t * @param {Object} data Data received in the heartbeat request\n\t */\n\treceivePostLock( event, data ) {\n\t\tif ( ! data[ 'wp-refresh-post-lock' ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { autosave, updatePostLock } = this.props;\n\t\tconst received = data[ 'wp-refresh-post-lock' ];\n\t\tif ( received.lock_error ) {\n\t\t\t// Auto save and display the takeover modal.\n\t\t\tautosave();\n\t\t\tupdatePostLock( {\n\t\t\t\tisLocked: true,\n\t\t\t\tisTakeover: true,\n\t\t\t\tuser: {\n\t\t\t\t\tavatar: received.lock_error.avatar_src,\n\t\t\t\t},\n\t\t\t} );\n\t\t} else if ( received.new_lock ) {\n\t\t\tupdatePostLock( {\n\t\t\t\tisLocked: false,\n\t\t\t\tactivePostLock: received.new_lock,\n\t\t\t} );\n\t\t}\n\t}\n\n\t/**\n\t * Unlock the post before the window is exited.\n\t */\n\treleasePostLock() {\n\t\tconst { isLocked, activePostLock, postLockUtils, postId } = this.props;\n\t\tif ( isLocked || ! activePostLock ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst data = {\n\t\t\taction: 'wp-remove-post-lock',\n\t\t\t_wpnonce: postLockUtils.unlockNonce,\n\t\t\tpost_ID: postId,\n\t\t\tactive_post_lock: activePostLock,\n\t\t};\n\n\t\tjQuery.post( {\n\t\t\tasync: false,\n\t\t\turl: postLockUtils.ajaxUrl,\n\t\t\tdata,\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { user, postId, isLocked, isTakeover, postLockUtils } = this.props;\n\t\tif ( ! isLocked ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst userDisplayName = user.name;\n\t\tconst userAvatar = user.avatar;\n\n\t\tconst unlockUrl = addQueryArgs( 'post.php', {\n\t\t\t'get-post-lock': '1',\n\t\t\tlockKey: true,\n\t\t\tpost: postId,\n\t\t\taction: 'edit',\n\t\t\t_wpnonce: postLockUtils.nonce,\n\t\t} );\n\t\tconst allPosts = getWPAdminURL( 'edit.php' );\n\t\treturn (\n\t\t\t\n\t\t\t\t{ !! userAvatar && (\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t\t{ !! isTakeover && (\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{ userDisplayName ?\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 'post' is generic and may be of any type (post, page, etc.). */\n\t\t\t\t\t\t\t\t\t__( '%s now has editing control of this post. Don\\'t worry, your changes up to this moment have been saved' ),\n\t\t\t\t\t\t\t\t\tuserDisplayName\n\t\t\t\t\t\t\t\t) :\n\t\t\t\t\t\t\t\t/* translators: 'post' is generic and may be of any type (post, page, etc.). */\n\t\t\t\t\t\t\t\t__( 'Another user now has editing control of this post. Don\\'t worry, your changes up to this moment have been saved' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{ __( 'View all posts' ) }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t

    \n\t\t\t\t\t
    \n\t\t\t\t) }\n\t\t\t\t{ ! isTakeover && (\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{ userDisplayName ?\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 'post' is generic and may be of any type (post, page, etc.). */\n\t\t\t\t\t\t\t\t\t__( '%s is currently working on this post, which means you cannot make changes, unless you take over.' ),\n\t\t\t\t\t\t\t\t\tuserDisplayName\n\t\t\t\t\t\t\t\t) :\n\t\t\t\t\t\t\t\t/* translators: 'post' is generic and may be of any type (post, page, etc.). */\n\t\t\t\t\t\t\t\t__( 'Another user is currently working on this post, which means you cannot make changes, unless you take over.' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t) }\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetEditorSettings,\n\t\t\tisPostLocked,\n\t\t\tisPostLockTakeover,\n\t\t\tgetPostLockUser,\n\t\t\tgetCurrentPostId,\n\t\t\tgetActivePostLock,\n\t\t} = select( 'core/editor' );\n\t\treturn {\n\t\t\tisLocked: isPostLocked(),\n\t\t\tisTakeover: isPostLockTakeover(),\n\t\t\tuser: getPostLockUser(),\n\t\t\tpostId: getCurrentPostId(),\n\t\t\tpostLockUtils: getEditorSettings().postLockUtils,\n\t\t\tactivePostLock: getActivePostLock(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { autosave, updatePostLock } = dispatch( 'core/editor' );\n\t\treturn {\n\t\t\tautosave,\n\t\t\tupdatePostLock,\n\t\t};\n\t} ),\n\twithGlobalEvents( {\n\t\tbeforeunload: 'releasePostLock',\n\t} )\n)( PostLockedModal );\n","/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\n\nexport function PostPendingStatusCheck( { hasPublishAction, isPublished, children } ) {\n\tif ( isPublished || ! hasPublishAction ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n\nexport default compose(\n\twithSelect( ( select ) => {\n\t\tconst { isCurrentPostPublished, getCurrentPostType, getCurrentPost } = select( 'core/editor' );\n\t\treturn {\n\t\t\thasPublishAction: get( getCurrentPost(), [ '_links', 'wp:action-publish' ], false ),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tpostType: getCurrentPostType(),\n\t\t};\n\t} )\n)( PostPendingStatusCheck );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { CheckboxControl } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PostPendingStatusCheck from './check';\n\nexport function PostPendingStatus( { status, onUpdateStatus } ) {\n\tconst togglePendingStatus = () => {\n\t\tconst updatedStatus = status === 'pending' ? 'draft' : 'pending';\n\t\tonUpdateStatus( updatedStatus );\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default compose(\n\twithSelect( ( select ) => ( {\n\t\tstatus: select( 'core/editor' ).getEditedPostAttribute( 'status' ),\n\t} ) ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tonUpdateStatus( status ) {\n\t\t\tdispatch( 'core/editor' ).editPost( { status } );\n\t\t},\n\t} ) ),\n)( PostPendingStatus );\n","/**\n * WordPress dependencies\n */\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\n\nclass PostPermalinkEditor extends Component {\n\tconstructor( { permalinkParts } ) {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\teditedPostName: permalinkParts.postName,\n\t\t};\n\n\t\tthis.onSavePermalink = this.onSavePermalink.bind( this );\n\t}\n\n\tonSavePermalink( event ) {\n\t\tconst postName = this.state.editedPostName.replace( /\\s+/g, '-' );\n\n\t\tevent.preventDefault();\n\n\t\tthis.props.onSave();\n\n\t\tif ( postName === this.props.postName ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.props.editPost( {\n\t\t\tslug: postName,\n\t\t} );\n\n\t\tthis.setState( {\n\t\t\teditedPostName: postName,\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { prefix, suffix } = this.props.permalinkParts;\n\t\tconst { editedPostName } = this.state;\n\n\t\t/* eslint-disable jsx-a11y/no-autofocus */\n\t\t// Autofocus is allowed here, as this mini-UI is only loaded when the user clicks to open it.\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{ prefix }\n\t\t\t\t\t\n\t\t\t\t\t this.setState( { editedPostName: event.target.value } ) }\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tautoFocus\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\t\t{ suffix }\n\t\t\t\t\t\n\t\t\t\t\t‎\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\n\t\t\t\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-autofocus */\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getPermalinkParts } = select( 'core/editor' );\n\t\treturn {\n\t\t\tpermalinkParts: getPermalinkParts(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost } = dispatch( 'core/editor' );\n\t\treturn { editPost };\n\t} ),\n] )( PostPermalinkEditor );\n\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { compose } from '@wordpress/compose';\nimport { ClipboardButton, Button, ExternalLink } from '@wordpress/components';\nimport { safeDecodeURI } from '@wordpress/url';\n\n/**\n * Internal Dependencies\n */\nimport PostPermalinkEditor from './editor.js';\nimport { getWPAdminURL } from '../../utils/url';\n\nclass PostPermalink extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.addVisibilityCheck = this.addVisibilityCheck.bind( this );\n\t\tthis.onVisibilityChange = this.onVisibilityChange.bind( this );\n\n\t\tthis.state = {\n\t\t\tisCopied: false,\n\t\t\tisEditingPermalink: false,\n\t\t};\n\t}\n\n\taddVisibilityCheck() {\n\t\twindow.addEventListener( 'visibilitychange', this.onVisibilityChange );\n\t}\n\n\tonVisibilityChange() {\n\t\tconst { isEditable, refreshPost } = this.props;\n\t\t// If the user just returned after having clicked the \"Change Permalinks\" button,\n\t\t// fetch a new copy of the post from the server, just in case they enabled permalinks.\n\t\tif ( ! isEditable && 'visible' === document.visibilityState ) {\n\t\t\trefreshPost();\n\t\t}\n\t}\n\n\tcomponentDidUpdate( prevProps, prevState ) {\n\t\t// If we've just stopped editing the permalink, focus on the new permalink.\n\t\tif ( prevState.isEditingPermalink && ! this.state.isEditingPermalink ) {\n\t\t\tthis.linkElement.focus();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener( 'visibilitychange', this.addVisibilityCheck );\n\t}\n\n\trender() {\n\t\tconst { isNew, postLink, isEditable, samplePermalink, isPublished } = this.props;\n\t\tconst { isCopied, isEditingPermalink } = this.state;\n\t\tconst ariaLabel = isCopied ? __( 'Permalink copied' ) : __( 'Copy the permalink' );\n\n\t\tif ( isNew || ! postLink ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t this.setState( { isCopied: true } ) }\n\t\t\t\t\taria-disabled={ isCopied }\n\t\t\t\t\ticon=\"admin-links\"\n\t\t\t\t/>\n\n\t\t\t\t{ __( 'Permalink:' ) }\n\n\t\t\t\t{ ! isEditingPermalink &&\n\t\t\t\t\t this.linkElement = linkElement }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ safeDecodeURI( samplePermalink ) }\n\t\t\t\t\t\t‎\n\t\t\t\t\t\n\t\t\t\t}\n\n\t\t\t\t{ isEditingPermalink &&\n\t\t\t\t\t this.setState( { isEditingPermalink: false } ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\n\t\t\t\t{ isEditable && ! isEditingPermalink &&\n\t\t\t\t\t this.setState( { isEditingPermalink: true } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\n\t\t\t\t}\n\n\t\t\t\t{ ! isEditable &&\n\t\t\t\t\t\n\t\t\t\t\t\t{ __( 'Change Permalinks' ) }\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t
    \n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tisEditedPostNew,\n\t\t\tisPermalinkEditable,\n\t\t\tgetCurrentPost,\n\t\t\tgetPermalink,\n\t\t\tisCurrentPostPublished,\n\t\t} = select( 'core/editor' );\n\n\t\tconst { link } = getCurrentPost();\n\n\t\treturn {\n\t\t\tisNew: isEditedPostNew(),\n\t\t\tpostLink: link,\n\t\t\tisEditable: isPermalinkEditable(),\n\t\t\tsamplePermalink: getPermalink(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { refreshPost } = dispatch( 'core/editor' );\n\t\treturn { refreshPost };\n\t} ),\n] )( PostPermalink );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { CheckboxControl } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\nfunction PostPingbacks( { pingStatus = 'open', ...props } ) {\n\tconst onTogglePingback = () => props.editPost( { ping_status: pingStatus === 'open' ? 'closed' : 'open' } );\n\n\treturn (\n\t\t\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\treturn {\n\t\t\tpingStatus: select( 'core/editor' ).getEditedPostAttribute( 'ping_status' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\teditPost: dispatch( 'core/editor' ).editPost,\n\t} ) ),\n] )( PostPingbacks );\n","/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, renderToString } from '@wordpress/element';\nimport { Button, Path, SVG } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { DotTip } from '@wordpress/nux';\nimport { ifCondition, compose } from '@wordpress/compose';\n\nexport class PostPreviewButton extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.openPreviewWindow = this.openPreviewWindow.bind( this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tconst { previewLink } = this.props;\n\n\t\t// This relies on the window being responsible to unset itself when\n\t\t// navigation occurs or a new preview window is opened, to avoid\n\t\t// unintentional forceful redirects.\n\t\tif ( previewLink && ! prevProps.previewLink ) {\n\t\t\tthis.setPreviewWindowLink( previewLink );\n\n\t\t\t// Once popup redirect is evaluated, even if already closed, delete\n\t\t\t// reference to avoid later assignment of location in post update.\n\t\t\tdelete this.previewWindow;\n\t\t}\n\t}\n\n\t/**\n\t * Sets the preview window's location to the given URL, if a preview window\n\t * exists and is not closed.\n\t *\n\t * @param {string} url URL to assign as preview window location.\n\t */\n\tsetPreviewWindowLink( url ) {\n\t\tconst { previewWindow } = this;\n\n\t\tif ( previewWindow && ! previewWindow.closed ) {\n\t\t\tpreviewWindow.location = url;\n\t\t}\n\t}\n\n\tgetWindowTarget() {\n\t\tconst { postId } = this.props;\n\t\treturn `wp-preview-${ postId }`;\n\t}\n\n\t/**\n\t * Opens a popup window, navigating user to a preview of the current post.\n\t * Triggers autosave if post is autosaveable.\n\t */\n\topenPreviewWindow() {\n\t\tconst { isAutosaveable, previewLink, currentPostLink } = this.props;\n\n\t\t// Open a popup, BUT: Set it to a blank page until save completes. This\n\t\t// is necessary because popups can only be opened in response to user\n\t\t// interaction (click), but we must still wait for the post to save.\n\t\tif ( ! this.previewWindow || this.previewWindow.closed ) {\n\t\t\tthis.previewWindow = window.open( '', this.getWindowTarget() );\n\t\t}\n\n\t\t// Ask the browser to bring the preview tab to the front\n\t\t// This can work or not depending on the browser's user preferences\n\t\t// https://html.spec.whatwg.org/multipage/interaction.html#dom-window-focus\n\t\tthis.previewWindow.focus();\n\n\t\t// If there are no changes to autosave, we cannot perform the save, but\n\t\t// if there is an existing preview link (e.g. previous published post\n\t\t// autosave), it should be reused as the popup destination.\n\t\tif ( ! isAutosaveable && ! previewLink && currentPostLink ) {\n\t\t\tthis.setPreviewWindowLink( currentPostLink );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! isAutosaveable ) {\n\t\t\tthis.setPreviewWindowLink( previewLink );\n\t\t\treturn;\n\t\t}\n\n\t\tthis.props.autosave();\n\n\t\tlet markup = renderToString(\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t

    { __( 'Generating preview…' ) }

    \n\t\t\t
    \n\t\t);\n\n\t\tmarkup += `\n\t\t\t`;\n\n\t\tthis.previewWindow.document.write( markup );\n\t\tthis.previewWindow.document.close();\n\t}\n\n\trender() {\n\t\tconst { isSaveable } = this.props;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{ _x( 'Preview', 'imperative verb' ) }\n\t\t\t\t\n\t\t\t\t\t{ __( 'Click “Preview” to load a preview of this page, so you can make sure you’re happy with your blocks.' ) }\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetCurrentPostId,\n\t\t\tgetCurrentPostAttribute,\n\t\t\tgetAutosaveAttribute,\n\t\t\tgetEditedPostAttribute,\n\t\t\tisEditedPostDirty,\n\t\t\tisEditedPostNew,\n\t\t\tisEditedPostSaveable,\n\t\t\tisEditedPostAutosaveable,\n\t\t} = select( 'core/editor' );\n\t\tconst {\n\t\t\tgetPostType,\n\t\t} = select( 'core' );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\t\treturn {\n\t\t\tpostId: getCurrentPostId(),\n\t\t\tcurrentPostLink: getCurrentPostAttribute( 'link' ),\n\t\t\tpreviewLink: getAutosaveAttribute( 'preview_link' ),\n\t\t\tisDirty: isEditedPostDirty(),\n\t\t\tisNew: isEditedPostNew(),\n\t\t\tisSaveable: isEditedPostSaveable(),\n\t\t\tisAutosaveable: isEditedPostAutosaveable(),\n\t\t\tisViewable: get( postType, [ 'viewable' ], false ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tautosave: dispatch( 'core/editor' ).autosave,\n\t} ) ),\n\tifCondition( ( { isViewable } ) => isViewable ),\n] )( PostPreviewButton );\n","/**\n * External dependencies\n */\nimport { noop, get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { Component, createRef } from '@wordpress/element';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PublishButtonLabel from './label';\nexport class PostPublishButton extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.buttonNode = createRef();\n\t}\n\tcomponentDidMount() {\n\t\tif ( this.props.focusOnMount ) {\n\t\t\tthis.buttonNode.current.focus();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tisSaving,\n\t\t\tonStatusChange,\n\t\t\tonSave,\n\t\t\tisBeingScheduled,\n\t\t\tvisibility,\n\t\t\tisPublishable,\n\t\t\tisSaveable,\n\t\t\thasPublishAction,\n\t\t\tonSubmit = noop,\n\t\t\tforceIsSaving,\n\t\t} = this.props;\n\t\tconst isButtonEnabled = isPublishable && isSaveable;\n\n\t\tlet publishStatus;\n\t\tif ( ! hasPublishAction ) {\n\t\t\tpublishStatus = 'pending';\n\t\t} else if ( isBeingScheduled ) {\n\t\t\tpublishStatus = 'future';\n\t\t} else if ( visibility === 'private' ) {\n\t\t\tpublishStatus = 'private';\n\t\t} else {\n\t\t\tpublishStatus = 'publish';\n\t\t}\n\n\t\tconst onClick = () => {\n\t\t\tonSubmit();\n\t\t\tonStatusChange( publishStatus );\n\t\t\tonSave();\n\t\t};\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { forceIsSaving, forceIsDirty } ) => {\n\t\tconst {\n\t\t\tisSavingPost,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tgetEditedPostVisibility,\n\t\t\tisEditedPostSaveable,\n\t\t\tisEditedPostPublishable,\n\t\t\tisPostSavingLocked,\n\t\t\tgetCurrentPost,\n\t\t\tgetCurrentPostType,\n\t\t} = select( 'core/editor' );\n\t\treturn {\n\t\t\tisSaving: forceIsSaving || isSavingPost(),\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tvisibility: getEditedPostVisibility(),\n\t\t\tisSaveable: isEditedPostSaveable() && ! isPostSavingLocked(),\n\t\t\tisPublishable: forceIsDirty || isEditedPostPublishable(),\n\t\t\thasPublishAction: get( getCurrentPost(), [ '_links', 'wp:action-publish' ], false ),\n\t\t\tpostType: getCurrentPostType(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost, savePost } = dispatch( 'core/editor' );\n\t\treturn {\n\t\t\tonStatusChange: ( status ) => editPost( { status } ),\n\t\t\tonSave: savePost,\n\t\t};\n\t} ),\n] )( PostPublishButton );\n","/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\n\nexport function PublishButtonLabel( {\n\tisPublished,\n\tisBeingScheduled,\n\tisSaving,\n\tisPublishing,\n\thasPublishAction,\n\tisAutosaving,\n} ) {\n\tif ( isPublishing ) {\n\t\treturn __( 'Publishing…' );\n\t} else if ( isPublished && isSaving && ! isAutosaving ) {\n\t\treturn __( 'Updating…' );\n\t} else if ( isBeingScheduled && isSaving && ! isAutosaving ) {\n\t\treturn __( 'Scheduling…' );\n\t}\n\n\tif ( ! hasPublishAction ) {\n\t\treturn __( 'Submit for Review' );\n\t} else if ( isPublished ) {\n\t\treturn __( 'Update' );\n\t} else if ( isBeingScheduled ) {\n\t\treturn __( 'Schedule' );\n\t}\n\n\treturn __( 'Publish' );\n}\n\nexport default compose( [\n\twithSelect( ( select, { forceIsSaving } ) => {\n\t\tconst {\n\t\t\tisCurrentPostPublished,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tisSavingPost,\n\t\t\tisPublishingPost,\n\t\t\tgetCurrentPost,\n\t\t\tgetCurrentPostType,\n\t\t\tisAutosavingPost,\n\t\t} = select( 'core/editor' );\n\t\treturn {\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tisSaving: forceIsSaving || isSavingPost(),\n\t\t\tisPublishing: isPublishingPost(),\n\t\t\thasPublishAction: get( getCurrentPost(), [ '_links', 'wp:action-publish' ], false ),\n\t\t\tpostType: getCurrentPostType(),\n\t\t\tisAutosaving: isAutosavingPost(),\n\t\t};\n\t} ),\n] )( PublishButtonLabel );\n","/**\n * External dependencies\n */\nimport { get, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { IconButton, Spinner, CheckboxControl } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal Dependencies\n */\nimport PostPublishButton from '../post-publish-button';\nimport PostPublishPanelPrepublish from './prepublish';\nimport PostPublishPanelPostpublish from './postpublish';\n\nexport class PostPublishPanel extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onSubmit = this.onSubmit.bind( this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Automatically collapse the publish sidebar when a post\n\t\t// is published and the user makes an edit.\n\t\tif ( prevProps.isPublished && ! this.props.isSaving && this.props.isDirty ) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t}\n\n\tonSubmit() {\n\t\tconst { onClose, hasPublishAction } = this.props;\n\t\tif ( ! hasPublishAction ) {\n\t\t\tonClose();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tforceIsDirty,\n\t\t\tforceIsSaving,\n\t\t\tisBeingScheduled,\n\t\t\tisPublished,\n\t\t\tisPublishSidebarEnabled,\n\t\t\tisScheduled,\n\t\t\tisSaving,\n\t\t\tonClose,\n\t\t\tonTogglePublishSidebar,\n\t\t\tPostPublishExtension,\n\t\t\tPrePublishExtension,\n\t\t\t...additionalProps\n\t\t} = this.props;\n\t\tconst isPublishedOrScheduled = isPublished || ( isScheduled && isBeingScheduled );\n\t\tconst propsForPanel = omit( additionalProps, [ 'hasPublishAction', 'isDirty' ] );\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t{ isPublishedOrScheduled && ! isSaving ? (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{ isScheduled ? __( 'Scheduled' ) : __( 'Published' ) }\n\t\t\t\t\t\t
    \n\t\t\t\t\t) : (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t) }\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t{ ! isSaving && ! isPublishedOrScheduled && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ PrePublishExtension && }\n\t\t\t\t\t\t\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isSaving && isPublishedOrScheduled && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ PostPublishExtension && }\n\t\t\t\t\t\t\n\t\t\t\t\t) }\n\t\t\t\t\t{ isSaving && ( ) }\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t
    \n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetCurrentPost,\n\t\t\tisCurrentPostPublished,\n\t\t\tisCurrentPostScheduled,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tisEditedPostDirty,\n\t\t\tisSavingPost,\n\t\t} = select( 'core/editor' );\n\t\tconst { isPublishSidebarEnabled } = select( 'core/editor' );\n\t\treturn {\n\t\t\thasPublishAction: get( getCurrentPost(), [ '_links', 'wp:action-publish' ], false ),\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tisDirty: isEditedPostDirty(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisPublishSidebarEnabled: isPublishSidebarEnabled(),\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { isPublishSidebarEnabled } ) => {\n\t\tconst { disablePublishSidebar, enablePublishSidebar } = dispatch( 'core/editor' );\n\t\treturn {\n\t\t\tonTogglePublishSidebar: ( ) => {\n\t\t\t\tif ( isPublishSidebarEnabled ) {\n\t\t\t\t\tdisablePublishSidebar();\n\t\t\t\t} else {\n\t\t\t\t\tenablePublishSidebar();\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t} ),\n] )( PostPublishPanel );\n","/**\n * External dependencies\n */\nimport { find, get, includes } from 'lodash';\n\n/**\n * WordPress dependencies.\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { ifCondition, compose } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { Button, PanelBody } from '@wordpress/components';\n\n/**\n * Internal dependencies.\n */\nimport { POST_FORMATS } from '../post-format';\n\nconst PostFormatSuggestion = ( { suggestedPostFormat, suggestionText, onUpdatePostFormat } ) => (\n\t\n);\n\nconst PostFormatPanel = ( { suggestion, onUpdatePostFormat } ) => {\n\tconst panelBodyTitle = [\n\t\t__( 'Suggestion:' ),\n\t\t(\n\t\t\t\n\t\t\t\t{ __( 'Use a post format' ) }\n\t\t\t\n\t\t),\n\t];\n\n\treturn (\n\t\t\n\t\t\t

    \n\t\t\t\t{ __( 'Your theme uses post formats to highlight different kinds of content, like images or videos. Apply a post format to see this special styling.' ) }\n\t\t\t

    \n\t\t\t

    \n\t\t\t\t\n\t\t\t

    \n\t\t
    \n\t);\n};\n\nconst getSuggestion = ( supportedFormats, suggestedPostFormat ) => {\n\tconst formats = POST_FORMATS.filter( ( format ) => includes( supportedFormats, format.id ) );\n\treturn find( formats, ( format ) => format.id === suggestedPostFormat );\n};\n\nexport default compose(\n\twithSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute, getSuggestedPostFormat } = select( 'core/editor' );\n\t\tconst supportedFormats = get( select( 'core' ).getThemeSupports(), [ 'formats' ], [] );\n\t\treturn {\n\t\t\tcurrentPostFormat: getEditedPostAttribute( 'format' ),\n\t\t\tsuggestion: getSuggestion( supportedFormats, getSuggestedPostFormat() ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tonUpdatePostFormat( postFormat ) {\n\t\t\tdispatch( 'core/editor' ).editPost( { format: postFormat } );\n\t\t},\n\t} ) ),\n\tifCondition( ( { suggestion, currentPostFormat } ) => suggestion && suggestion.id !== currentPostFormat ),\n)( PostFormatPanel );\n","/**\n * External dependencies\n */\nimport { some } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { compose, ifCondition } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\nimport { PanelBody } from '@wordpress/components';\n\nimport FlatTermSelector from '../post-taxonomies/flat-term-selector';\n\nconst TagsPanel = () => {\n\tconst panelBodyTitle = [\n\t\t__( 'Suggestion:' ),\n\t\t(\n\t\t\t\n\t\t\t\t{ __( 'Add tags' ) }\n\t\t\t\n\t\t),\n\t];\n\n\treturn (\n\t\t\n\t\t\t

    \n\t\t\t\t{ __( 'Tags help users and search engines navigate your site and find your content. Add a few keywords to describe your post.' ) }\n\t\t\t

    \n\t\t\t\n\t\t
    \n\t);\n};\n\nclass MaybeTagsPanel extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.state = {\n\t\t\thadTagsWhenOpeningThePanel: props.hasTags,\n\t\t};\n\t}\n\n\t/*\n\t * We only want to show the tag panel if the post didn't have\n\t * any tags when the user hit the Publish button.\n\t *\n\t * We can't use the prop.hasTags because it'll change to true\n\t * if the user adds a new tag within the pre-publish panel.\n\t * This would force a re-render and a new prop.hasTags check,\n\t * hiding this panel and keeping the user from adding\n\t * more than one tag.\n\t */\n\trender() {\n\t\tif ( ! this.state.hadTagsWhenOpeningThePanel ) {\n\t\t\treturn ;\n\t\t}\n\n\t\treturn null;\n\t}\n}\n\nexport default compose(\n\twithSelect( ( select ) => {\n\t\tconst postType = select( 'core/editor' ).getCurrentPostType();\n\t\tconst tagsTaxonomy = select( 'core' ).getTaxonomy( 'post_tag' );\n\t\tconst tags = tagsTaxonomy && select( 'core/editor' ).getEditedPostAttribute( tagsTaxonomy.rest_base );\n\t\treturn {\n\t\t\tareTagsFetched: tagsTaxonomy !== undefined,\n\t\t\tisPostTypeSupported: tagsTaxonomy && some( tagsTaxonomy.types, ( type ) => type === postType ),\n\t\t\thasTags: tags && tags.length,\n\t\t};\n\t} ),\n\tifCondition( ( { areTagsFetched, isPostTypeSupported } ) => isPostTypeSupported && areTagsFetched ),\n)( MaybeTagsPanel );\n","/**\n * External Dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress Dependencies\n */\nimport { PanelBody, Button, ClipboardButton, TextControl } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Component, Fragment } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport PostScheduleLabel from '../post-schedule/label';\n\nclass PostPublishPanelPostpublish extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\tshowCopyConfirmation: false,\n\t\t};\n\t\tthis.onCopy = this.onCopy.bind( this );\n\t\tthis.onSelectInput = this.onSelectInput.bind( this );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.dismissCopyConfirmation );\n\t}\n\n\tonCopy() {\n\t\tthis.setState( {\n\t\t\tshowCopyConfirmation: true,\n\t\t} );\n\n\t\tclearTimeout( this.dismissCopyConfirmation );\n\t\tthis.dismissCopyConfirmation = setTimeout( () => {\n\t\t\tthis.setState( {\n\t\t\t\tshowCopyConfirmation: false,\n\t\t\t} );\n\t\t}, 4000 );\n\t}\n\n\tonSelectInput( event ) {\n\t\tevent.target.select();\n\t}\n\n\trender() {\n\t\tconst { children, isScheduled, post, postType } = this.props;\n\t\tconst postLabel = get( postType, [ 'labels', 'singular_name' ] );\n\t\tconst viewPostLabel = get( postType, [ 'labels', 'view_item' ] );\n\n\t\tconst postPublishNonLinkHeader = isScheduled ?\n\t\t\t{ __( 'is now scheduled. It will go live on' ) } . :\n\t\t\t__( 'is now live.' );\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t{ post.title || __( '(no title)' ) } { postPublishNonLinkHeader }\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t

    \n\t\t\t\t\t\t{ __( 'What’s next?' ) }\n\t\t\t\t\t

    \n\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t{ ! isScheduled && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ this.state.showCopyConfirmation ? __( 'Copied!' ) : __( 'Copy Link' ) }\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t{ children }\n\t\t\t
    \n\t\t);\n\t}\n}\n\nexport default withSelect( ( select ) => {\n\tconst { getEditedPostAttribute, getCurrentPost, isCurrentPostScheduled } = select( 'core/editor' );\n\tconst { getPostType } = select( 'core' );\n\n\treturn {\n\t\tpost: getCurrentPost(),\n\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\tisScheduled: isCurrentPostScheduled(),\n\t};\n} )( PostPublishPanelPostpublish );\n","/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Fragment } from '@wordpress/element';\nimport { PanelBody } from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal Dependencies\n */\nimport PostVisibility from '../post-visibility';\nimport PostVisibilityLabel from '../post-visibility/label';\nimport PostSchedule from '../post-schedule';\nimport PostScheduleLabel from '../post-schedule/label';\nimport MaybeTagsPanel from './maybe-tags-panel';\nimport MaybePostFormatPanel from './maybe-post-format-panel';\n\nfunction PostPublishPanelPrepublish( {\n\thasPublishAction,\n\tisBeingScheduled,\n\tchildren,\n} ) {\n\tlet prePublishTitle, prePublishBodyText;\n\n\tif ( ! hasPublishAction ) {\n\t\tprePublishTitle = __( 'Are you ready to submit for review?' );\n\t\tprePublishBodyText = __( 'When you’re ready, submit your work for review, and an Editor will be able to approve it for you.' );\n\t} else if ( isBeingScheduled ) {\n\t\tprePublishTitle = __( 'Are you ready to schedule?' );\n\t\tprePublishBodyText = __( 'Your work will be published at the specified date and time.' );\n\t} else {\n\t\tprePublishTitle = __( 'Are you ready to publish?' );\n\t\tprePublishBodyText = __( 'Double-check your settings before publishing.' );\n\t}\n\n\treturn (\n\t\t
    \n\t\t\t
    { prePublishTitle }
    \n\t\t\t

    { prePublishBodyText }

    \n\t\t\t{ hasPublishAction && (\n\t\t\t\t\n\t\t\t\t\t,\n\t\t\t\t\t] }>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t,\n\t\t\t\t\t] }>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{ children }\n\t\t\t\t\n\t\t\t) }\n\t\t
    \n\t);\n}\n\nexport default withSelect(\n\t( select ) => {\n\t\tconst {\n\t\t\tgetCurrentPost,\n\t\t\tisEditedPostBeingScheduled,\n\t\t} = select( 'core/editor' );\n\t\treturn {\n\t\t\thasPublishAction: get( getCurrentPost(), [ '_links', 'wp:action-publish' ], false ),\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t};\n\t}\n)( PostPublishPanelPrepublish );\n","/**\n * WordPress Dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { withSelect } from '@wordpress/data';\nimport { DotTip } from '@wordpress/nux';\n\nexport function PostPublishPanelToggle( {\n\tisSaving,\n\tisPublishable,\n\tisSaveable,\n\tisPublished,\n\tisBeingScheduled,\n\tonToggle,\n\tisOpen,\n\tforceIsSaving,\n} ) {\n\tconst isButtonEnabled = (\n\t\t! isSaving && ! forceIsSaving && isPublishable && isSaveable\n\t) || isPublished;\n\n\treturn (\n\t\t\n\t\t\t{ isBeingScheduled ? __( 'Schedule…' ) : __( 'Publish…' ) }\n\t\t\t\n\t\t\t\t{ __( 'Finished writing? That’s great, let’s get this published right now. Just click “Publish” and you’re good to go.' ) }\n\t\t\t\n\t\t\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tisSavingPost,\n\t\t\tisEditedPostSaveable,\n\t\t\tisEditedPostPublishable,\n\t\t\tisCurrentPostPublished,\n\t\t\tisEditedPostBeingScheduled,\n\t\t} = select( 'core/editor' );\n\t\treturn {\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisSaveable: isEditedPostSaveable(),\n\t\t\tisPublishable: isEditedPostPublishable(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t};\n\t} ),\n] )( PostPublishPanelToggle );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Dashicon, Button, IconButton } from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { withSafeTimeout, compose } from '@wordpress/compose';\nimport { withViewportMatch } from '@wordpress/viewport';\n\n/**\n * Internal dependencies\n */\nimport PostSwitchToDraftButton from '../post-switch-to-draft-button';\n\n/**\n * Component showing whether the post is saved or not and displaying save links.\n *\n * @param {Object} Props Component Props.\n */\nexport class PostSavedState extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\tforceSavedMessage: false,\n\t\t};\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( prevProps.isSaving && ! this.props.isSaving ) {\n\t\t\tthis.setState( { forceSavedMessage: true } );\n\t\t\tthis.props.setTimeout( () => {\n\t\t\t\tthis.setState( { forceSavedMessage: false } );\n\t\t\t}, 1000 );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tpost,\n\t\t\tisNew,\n\t\t\tisScheduled,\n\t\t\tisPublished,\n\t\t\tisDirty,\n\t\t\tisSaving,\n\t\t\tisSaveable,\n\t\t\tonSave,\n\t\t\tisAutosaving,\n\t\t\tisPending,\n\t\t\tisLargeViewport,\n\t\t} = this.props;\n\t\tconst { forceSavedMessage } = this.state;\n\t\tconst hasPublishAction = get( post, [ '_links', 'wp:action-publish' ], false );\n\t\tif ( isSaving ) {\n\t\t\t// TODO: Classes generation should be common across all return\n\t\t\t// paths of this function, including proper naming convention for\n\t\t\t// the \"Save Draft\" button.\n\t\t\tconst classes = classnames( 'editor-post-saved-state', 'is-saving', {\n\t\t\t\t'is-autosaving': isAutosaving,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{ isAutosaving ? __( 'Autosaving' ) : __( 'Saving' ) }\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\tif ( isPublished || isScheduled ) {\n\t\t\treturn ;\n\t\t}\n\n\t\tif ( ! isSaveable ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif ( forceSavedMessage || ( ! isNew && ! isDirty ) ) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{ __( 'Saved' ) }\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\t// Once the post has been submitted for review this button\n\t\t// is not needed for the contributor role.\n\t\tif ( ! hasPublishAction && isPending ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst label = isPending ? __( 'Save as Pending' ) : __( 'Save Draft' );\n\t\tif ( ! isLargeViewport ) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{ label }\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { forceIsDirty, forceIsSaving } ) => {\n\t\tconst {\n\t\t\tisEditedPostNew,\n\t\t\tisCurrentPostPublished,\n\t\t\tisCurrentPostScheduled,\n\t\t\tisEditedPostDirty,\n\t\t\tisSavingPost,\n\t\t\tisEditedPostSaveable,\n\t\t\tgetCurrentPost,\n\t\t\tisAutosavingPost,\n\t\t\tgetEditedPostAttribute,\n\t\t} = select( 'core/editor' );\n\t\treturn {\n\t\t\tpost: getCurrentPost(),\n\t\t\tisNew: isEditedPostNew(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t\tisDirty: forceIsDirty || isEditedPostDirty(),\n\t\t\tisSaving: forceIsSaving || isSavingPost(),\n\t\t\tisSaveable: isEditedPostSaveable(),\n\t\t\tisAutosaving: isAutosavingPost(),\n\t\t\tisPending: 'pending' === getEditedPostAttribute( 'status' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tonSave: dispatch( 'core/editor' ).savePost,\n\t} ) ),\n\twithSafeTimeout,\n\twithViewportMatch( { isLargeViewport: 'medium' } ),\n] )( PostSavedState );\n","/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\n\nexport function PostScheduleCheck( { hasPublishAction, children } ) {\n\tif ( ! hasPublishAction ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getCurrentPost, getCurrentPostType } = select( 'core/editor' );\n\t\treturn {\n\t\t\thasPublishAction: get( getCurrentPost(), [ '_links', 'wp:action-publish' ], false ),\n\t\t\tpostType: getCurrentPostType(),\n\t\t};\n\t} ),\n] )( PostScheduleCheck );\n","/**\n * WordPress dependencies\n */\nimport { __experimentalGetSettings } from '@wordpress/date';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { DateTimePicker } from '@wordpress/components';\n\nexport function PostSchedule( { date, onUpdateDate } ) {\n\tconst settings = __experimentalGetSettings();\n\t// To know if the current timezone is a 12 hour time with look for \"a\" in the time format\n\t// We also make sure this a is not escaped by a \"/\"\n\tconst is12HourTime = /a(?!\\\\)/i.test(\n\t\tsettings.formats.time\n\t\t\t.toLowerCase() // Test only the lower case a\n\t\t\t.replace( /\\\\\\\\/g, '' ) // Replace \"//\" with empty strings\n\t\t\t.split( '' ).reverse().join( '' ) // Reverse the string and test for \"a\" not followed by a slash\n\t);\n\n\treturn (\n\t\t\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\treturn {\n\t\t\tdate: select( 'core/editor' ).getEditedPostAttribute( 'date' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\treturn {\n\t\t\tonUpdateDate( date ) {\n\t\t\t\tdispatch( 'core/editor' ).editPost( { date } );\n\t\t\t},\n\t\t};\n\t} ),\n] )( PostSchedule );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { dateI18n, __experimentalGetSettings } from '@wordpress/date';\nimport { withSelect } from '@wordpress/data';\n\nexport function PostScheduleLabel( { date, isFloating } ) {\n\tconst settings = __experimentalGetSettings();\n\n\treturn date && ! isFloating ?\n\t\tdateI18n( settings.formats.datetimeAbbreviated, date ) :\n\t\t__( 'Immediately' );\n}\n\nexport default withSelect( ( select ) => {\n\treturn {\n\t\tdate: select( 'core/editor' ).getEditedPostAttribute( 'date' ),\n\t\tisFloating: select( 'core/editor' ).isEditedPostDateFloating(),\n\t};\n} )( PostScheduleLabel );\n","/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\n\nexport function PostStickyCheck( { hasStickyAction, postType, children } ) {\n\tif (\n\t\tpostType !== 'post' ||\n\t\t! hasStickyAction\n\t) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst post = select( 'core/editor' ).getCurrentPost();\n\t\treturn {\n\t\t\thasStickyAction: get( post, [ '_links', 'wp:action-sticky' ], false ),\n\t\t\tpostType: select( 'core/editor' ).getCurrentPostType(),\n\t\t};\n\t} ),\n] )( PostStickyCheck );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { CheckboxControl } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PostStickyCheck from './check';\n\nexport function PostSticky( { onUpdateSticky, postSticky = false } ) {\n\treturn (\n\t\t\n\t\t\t onUpdateSticky( ! postSticky ) }\n\t\t\t/>\n\t\t\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\treturn {\n\t\t\tpostSticky: select( 'core/editor' ).getEditedPostAttribute( 'sticky' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\treturn {\n\t\t\tonUpdateSticky( postSticky ) {\n\t\t\t\tdispatch( 'core/editor' ).editPost( { sticky: postSticky } );\n\t\t\t},\n\t\t};\n\t} ),\n] )( PostSticky );\n","/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\nfunction PostSwitchToDraftButton( { isSaving, isPublished, isScheduled, onClick } ) {\n\tif ( ! isPublished && ! isScheduled ) {\n\t\treturn null;\n\t}\n\n\tconst onSwitch = () => {\n\t\tlet alertMessage;\n\t\tif ( isPublished ) {\n\t\t\talertMessage = __( 'Are you sure you want to unpublish this post?' );\n\t\t} else if ( isScheduled ) {\n\t\t\talertMessage = __( 'Are you sure you want to unschedule this post?' );\n\t\t}\n\t\t// eslint-disable-next-line no-alert\n\t\tif ( window.confirm( alertMessage ) ) {\n\t\t\tonClick();\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t{ __( 'Switch to Draft' ) }\n\t\t\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { isSavingPost, isCurrentPostPublished, isCurrentPostScheduled } = select( 'core/editor' );\n\t\treturn {\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost, savePost } = dispatch( 'core/editor' );\n\t\treturn {\n\t\t\tonClick: () => {\n\t\t\t\teditPost( { status: 'draft' } );\n\t\t\t\tsavePost();\n\t\t\t},\n\t\t};\n\t} ),\n] )( PostSwitchToDraftButton );\n\n","/**\n * External Dependencies\n */\nimport { some, includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\n\nexport function PostTaxonomiesCheck( { postType, taxonomies, children } ) {\n\tconst hasTaxonomies = some( taxonomies, ( taxonomy ) => includes( taxonomy.types, postType ) );\n\tif ( ! hasTaxonomies ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\treturn {\n\t\t\tpostType: select( 'core/editor' ).getCurrentPostType(),\n\t\t\ttaxonomies: select( 'core' ).getTaxonomies(),\n\t\t};\n\t} ),\n] )( PostTaxonomiesCheck );\n\n","/**\n * External dependencies\n */\nimport { isEmpty, get, unescape as unescapeString, find, throttle, uniqBy, invoke } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { FormTokenField, withFilters } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport apiFetch from '@wordpress/api-fetch';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Module constants\n */\nconst DEFAULT_QUERY = {\n\tper_page: -1,\n\torderby: 'count',\n\torder: 'desc',\n\t_fields: 'id,name',\n};\nconst MAX_TERMS_SUGGESTIONS = 20;\nconst isSameTermName = ( termA, termB ) => termA.toLowerCase() === termB.toLowerCase();\n\nclass FlatTermSelector extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onChange = this.onChange.bind( this );\n\t\tthis.searchTerms = throttle( this.searchTerms.bind( this ), 500 );\n\t\tthis.findOrCreateTerm = this.findOrCreateTerm.bind( this );\n\t\tthis.state = {\n\t\t\tloading: false,\n\t\t\tavailableTerms: [],\n\t\t\tselectedTerms: [],\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( ! isEmpty( this.props.terms ) ) {\n\t\t\tthis.setState( { loading: false } );\n\t\t\tthis.initRequest = this.fetchTerms( {\n\t\t\t\tinclude: this.props.terms.join( ',' ),\n\t\t\t\tper_page: 100,\n\t\t\t} );\n\t\t\tthis.initRequest.then(\n\t\t\t\t() => {\n\t\t\t\t\tthis.setState( { loading: false } );\n\t\t\t\t},\n\t\t\t\t( xhr ) => {\n\t\t\t\t\tif ( xhr.statusText === 'abort' ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\tloading: false,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tinvoke( this.initRequest, [ 'abort' ] );\n\t\tinvoke( this.searchRequest, [ 'abort' ] );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( prevProps.terms !== this.props.terms ) {\n\t\t\tthis.updateSelectedTerms( this.props.terms );\n\t\t}\n\t}\n\n\tfetchTerms( params = {} ) {\n\t\tconst { taxonomy } = this.props;\n\t\tconst query = { ...DEFAULT_QUERY, ...params };\n\t\tconst request = apiFetch( {\n\t\t\tpath: addQueryArgs( `/wp/v2/${ taxonomy.rest_base }`, query ),\n\t\t} );\n\t\trequest.then( ( terms ) => {\n\t\t\tthis.setState( ( state ) => ( {\n\t\t\t\tavailableTerms: state.availableTerms.concat(\n\t\t\t\t\tterms.filter( ( term ) => ! find( state.availableTerms, ( availableTerm ) => availableTerm.id === term.id ) )\n\t\t\t\t),\n\t\t\t} ) );\n\t\t\tthis.updateSelectedTerms( this.props.terms );\n\t\t} );\n\n\t\treturn request;\n\t}\n\n\tupdateSelectedTerms( terms = [] ) {\n\t\tconst selectedTerms = terms.reduce( ( result, termId ) => {\n\t\t\tconst termObject = find( this.state.availableTerms, ( term ) => term.id === termId );\n\t\t\tif ( termObject ) {\n\t\t\t\tresult.push( termObject.name );\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}, [] );\n\t\tthis.setState( {\n\t\t\tselectedTerms,\n\t\t} );\n\t}\n\n\tfindOrCreateTerm( termName ) {\n\t\tconst { taxonomy } = this.props;\n\t\t// Tries to create a term or fetch it if it already exists.\n\t\treturn apiFetch( {\n\t\t\tpath: `/wp/v2/${ taxonomy.rest_base }`,\n\t\t\tmethod: 'POST',\n\t\t\tdata: { name: termName },\n\t\t} ).catch( ( error ) => {\n\t\t\tconst errorCode = error.code;\n\t\t\tif ( errorCode === 'term_exists' ) {\n\t\t\t\t// If the terms exist, fetch it instead of creating a new one.\n\t\t\t\tthis.addRequest = apiFetch( {\n\t\t\t\t\tpath: addQueryArgs( `/wp/v2/${ taxonomy.rest_base }`, { ...DEFAULT_QUERY, search: termName } ),\n\t\t\t\t} );\n\t\t\t\treturn this.addRequest.then( ( searchResult ) => {\n\t\t\t\t\treturn find( searchResult, ( result ) => isSameTermName( result.name, termName ) );\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn Promise.reject( error );\n\t\t} );\n\t}\n\n\tonChange( termNames ) {\n\t\tconst uniqueTerms = uniqBy( termNames, ( term ) => term.toLowerCase() );\n\t\tthis.setState( { selectedTerms: uniqueTerms } );\n\t\tconst newTermNames = uniqueTerms.filter( ( termName ) =>\n\t\t\t! find( this.state.availableTerms, ( term ) => isSameTermName( term.name, termName ) )\n\t\t);\n\t\tconst termNamesToIds = ( names, availableTerms ) => {\n\t\t\treturn names\n\t\t\t\t.map( ( termName ) =>\n\t\t\t\t\tfind( availableTerms, ( term ) => isSameTermName( term.name, termName ) ).id\n\t\t\t\t);\n\t\t};\n\n\t\tif ( newTermNames.length === 0 ) {\n\t\t\treturn this.props.onUpdateTerms(\n\t\t\t\ttermNamesToIds( uniqueTerms, this.state.availableTerms ),\n\t\t\t\tthis.props.taxonomy.rest_base\n\t\t\t);\n\t\t}\n\t\tPromise\n\t\t\t.all( newTermNames.map( this.findOrCreateTerm ) )\n\t\t\t.then( ( newTerms ) => {\n\t\t\t\tconst newAvailableTerms = this.state.availableTerms.concat( newTerms );\n\t\t\t\tthis.setState( { availableTerms: newAvailableTerms } );\n\t\t\t\treturn this.props.onUpdateTerms(\n\t\t\t\t\ttermNamesToIds( uniqueTerms, newAvailableTerms ),\n\t\t\t\t\tthis.props.taxonomy.rest_base\n\t\t\t\t);\n\t\t\t} );\n\t}\n\n\tsearchTerms( search = '' ) {\n\t\tinvoke( this.searchRequest, [ 'abort' ] );\n\t\tthis.searchRequest = this.fetchTerms( { search } );\n\t}\n\n\trender() {\n\t\tconst { slug, taxonomy, hasAssignAction } = this.props;\n\n\t\tif ( ! hasAssignAction ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst { loading, availableTerms, selectedTerms } = this.state;\n\t\tconst termNames = availableTerms.map( ( term ) => term.name );\n\t\tconst newTermLabel = get(\n\t\t\ttaxonomy,\n\t\t\t[ 'data', 'labels', 'add_new_item' ],\n\t\t\tslug === 'post_tag' ? __( 'Add New Tag' ) : __( 'Add New Term' )\n\t\t);\n\t\tconst singularName = get(\n\t\t\ttaxonomy,\n\t\t\t[ 'data', 'labels', 'singular_name' ],\n\t\t\tslug === 'post_tag' ? __( 'Tag' ) : __( 'Term' )\n\t\t);\n\t\tconst termAddedLabel = sprintf( _x( '%s added', 'term' ), singularName );\n\t\tconst termRemovedLabel = sprintf( _x( '%s removed', 'term' ), singularName );\n\t\tconst removeTermLabel = sprintf( _x( 'Remove %s', 'term' ), singularName );\n\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithSelect( ( select, { slug } ) => {\n\t\tconst { getCurrentPost } = select( 'core/editor' );\n\t\tconst { getTaxonomy } = select( 'core' );\n\t\tconst taxonomy = getTaxonomy( slug );\n\t\treturn {\n\t\t\thasCreateAction: taxonomy ? get( getCurrentPost(), [ '_links', 'wp:action-create-' + taxonomy.rest_base ], false ) : false,\n\t\t\thasAssignAction: taxonomy ? get( getCurrentPost(), [ '_links', 'wp:action-assign-' + taxonomy.rest_base ], false ) : false,\n\t\t\tterms: taxonomy ? select( 'core/editor' ).getEditedPostAttribute( taxonomy.rest_base ) : [],\n\t\t\ttaxonomy,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\treturn {\n\t\t\tonUpdateTerms( terms, restBase ) {\n\t\t\t\tdispatch( 'core/editor' ).editPost( { [ restBase ]: terms } );\n\t\t\t},\n\t\t};\n\t} ),\n\twithFilters( 'editor.PostTaxonomyType' ),\n)( FlatTermSelector );\n","/**\n * External dependencies\n */\nimport { get, unescape as unescapeString, without, find, some } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, _n, sprintf } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { TreeSelect, withSpokenMessages, withFilters, Button } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { withInstanceId, compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { buildTermsTree } from '../../utils/terms';\n\n/**\n * Module Constants\n */\nconst DEFAULT_QUERY = {\n\tper_page: -1,\n\torderby: 'name',\n\torder: 'asc',\n};\n\nconst MIN_TERMS_COUNT_FOR_FILTER = 8;\n\nclass HierarchicalTermSelector extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.findTerm = this.findTerm.bind( this );\n\t\tthis.onChange = this.onChange.bind( this );\n\t\tthis.onChangeFormName = this.onChangeFormName.bind( this );\n\t\tthis.onChangeFormParent = this.onChangeFormParent.bind( this );\n\t\tthis.onAddTerm = this.onAddTerm.bind( this );\n\t\tthis.onToggleForm = this.onToggleForm.bind( this );\n\t\tthis.setFilterValue = this.setFilterValue.bind( this );\n\t\tthis.state = {\n\t\t\tformName: '',\n\t\t\tformParent: '',\n\t\t\tshowForm: false,\n\t\t\tfilterValue: '',\n\t\t\tfilteredTermsTree: [],\n\t\t};\n\t}\n\n\tonChange( event ) {\n\t\tconst { onUpdateTerms, terms = [] } = this.props;\n\t\tconst termId = parseInt( event.target.value, 10 );\n\t\tconst hasTerm = terms.indexOf( termId ) !== -1;\n\t\tconst newTerms = hasTerm ?\n\t\t\twithout( terms, termId ) :\n\t\t\t[ ...terms, termId ];\n\t\tonUpdateTerms( newTerms );\n\t}\n\n\tonChangeFormName( event ) {\n\t\tconst newValue = event.target.value.trim() === '' ? '' : event.target.value;\n\t\tthis.setState( { formName: newValue } );\n\t}\n\n\tonChangeFormParent( newParent ) {\n\t\tthis.setState( { formParent: newParent } );\n\t}\n\n\tonToggleForm() {\n\t\tthis.setState( ( state ) => ( {\n\t\t\tshowForm: ! state.showForm,\n\t\t} ) );\n\t}\n\n\tfindTerm( terms, parent, name ) {\n\t\treturn find( terms, ( term ) => {\n\t\t\treturn ( ( ! term.parent && ! parent ) || parseInt( term.parent ) === parseInt( parent ) ) &&\n\t\t\t\tterm.name.toLowerCase() === name.toLowerCase();\n\t\t} );\n\t}\n\n\tonAddTerm( event ) {\n\t\tevent.preventDefault();\n\t\tconst { onUpdateTerms, addTermToEditedPost, terms, availableTerms } = this.props;\n\t\tconst { formName, formParent } = this.state;\n\t\tif ( formName === '' ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// check if the term we are adding already exists\n\t\tconst existingTerm = this.findTerm( availableTerms, formParent, formName );\n\t\tif ( existingTerm ) {\n\t\t\t// if the term we are adding exists but is not selected select it\n\t\t\tif ( ! some( terms, ( term ) => term === existingTerm.id ) ) {\n\t\t\t\tonUpdateTerms( [ ...terms, existingTerm.id ] );\n\t\t\t}\n\t\t\tthis.setState( {\n\t\t\t\tformName: '',\n\t\t\t\tformParent: '',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\taddTermToEditedPost( {\n\t\t\tname: formName,\n\t\t\tparent: formParent ? formParent : undefined,\n\t\t} );\n\t\tthis.setState( {\n\t\t\tformName: '',\n\t\t\tformParent: '',\n\t\t} );\n\t}\n\n\tsortBySelected( termsTree ) {\n\t\tconst { terms } = this.props;\n\t\tconst treeHasSelection = ( termTree ) => {\n\t\t\tif ( terms.indexOf( termTree.id ) !== -1 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif ( undefined === termTree.children ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst anyChildIsSelected = termTree.children.map( treeHasSelection ).filter( ( child ) => child ).length > 0;\n\t\t\tif ( anyChildIsSelected ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t\tconst termOrChildIsSelected = ( termA, termB ) => {\n\t\t\tconst termASelected = treeHasSelection( termA );\n\t\t\tconst termBSelected = treeHasSelection( termB );\n\n\t\t\tif ( termASelected === termBSelected ) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tif ( termASelected && ! termBSelected ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\tif ( ! termASelected && termBSelected ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\treturn 0;\n\t\t};\n\t\ttermsTree.sort( termOrChildIsSelected );\n\t\treturn termsTree;\n\t}\n\n\tsetFilterValue( event ) {\n\t\tconst { availableTermsTree } = this.props;\n\t\tconst filterValue = event.target.value;\n\t\tconst filteredTermsTree = availableTermsTree.map( this.getFilterMatcher( filterValue ) ).filter( ( term ) => term );\n\t\tconst getResultCount = ( terms ) => {\n\t\t\tlet count = 0;\n\t\t\tfor ( let i = 0; i < terms.length; i++ ) {\n\t\t\t\tcount++;\n\t\t\t\tif ( undefined !== terms[ i ].children ) {\n\t\t\t\t\tcount += getResultCount( terms[ i ].children );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn count;\n\t\t};\n\t\tthis.setState( {\n\t\t\tfilterValue,\n\t\t\tfilteredTermsTree,\n\t\t} );\n\n\t\tconst resultCount = getResultCount( filteredTermsTree );\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t_n( '%d result found.', '%d results found.', resultCount ),\n\t\t\tresultCount\n\t\t);\n\t\tthis.props.debouncedSpeak( resultsFoundMessage, 'assertive' );\n\t}\n\n\tgetFilterMatcher( filterValue ) {\n\t\tconst matchTermsForFilter = ( originalTerm ) => {\n\t\t\tif ( '' === filterValue ) {\n\t\t\t\treturn originalTerm;\n\t\t\t}\n\n\t\t\t// Shallow clone, because we'll be filtering the term's children and\n\t\t\t// don't want to modify the original term.\n\t\t\tconst term = { ...originalTerm };\n\n\t\t\t// Map and filter the children, recursive so we deal with grandchildren\n\t\t\t// and any deeper levels.\n\t\t\tif ( term.children.length > 0 ) {\n\t\t\t\tterm.children = term.children.map( matchTermsForFilter ).filter( ( child ) => child );\n\t\t\t}\n\n\t\t\t// If the term's name contains the filterValue, or it has children\n\t\t\t// (i.e. some child matched at some point in the tree) then return it.\n\t\t\tif ( -1 !== term.name.toLowerCase().indexOf( filterValue ) || term.children.length > 0 ) {\n\t\t\t\treturn term;\n\t\t\t}\n\n\t\t\t// Otherwise, return false. After mapping, the list of terms will need\n\t\t\t// to have false values filtered out.\n\t\t\treturn false;\n\t\t};\n\t\treturn matchTermsForFilter;\n\t}\n\n\trenderTerms( renderedTerms ) {\n\t\tconst { terms = [] } = this.props;\n\t\treturn renderedTerms.map( ( term ) => {\n\t\t\tconst id = `editor-post-taxonomies-hierarchical-term-${ term.id }`;\n\t\t\treturn (\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{ !! term.children.length && (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{ this.renderTerms( term.children ) }\n\t\t\t\t\t\t
    \n\t\t\t\t\t) }\n\t\t\t\t
    \n\t\t\t);\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tslug,\n\t\t\ttaxonomy,\n\t\t\tinstanceId,\n\t\t\thasCreateAction,\n\t\t\thasAssignAction,\n\t\t\tavailableTermsTree,\n\t\t\tavailableTerms,\n\t\t} = this.props;\n\n\t\tif ( ! hasAssignAction ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst { filteredTermsTree, formName, formParent, isRequestingTerms, showForm, filterValue } = this.state;\n\t\tconst labelWithFallback = ( labelProperty, fallbackIsCategory, fallbackIsNotCategory ) => get(\n\t\t\ttaxonomy,\n\t\t\t[ 'data', 'labels', labelProperty ],\n\t\t\tslug === 'category' ? fallbackIsCategory : fallbackIsNotCategory\n\t\t);\n\t\tconst newTermButtonLabel = labelWithFallback(\n\t\t\t'add_new_item',\n\t\t\t__( 'Add new category' ),\n\t\t\t__( 'Add new term' )\n\t\t);\n\t\tconst newTermLabel = labelWithFallback(\n\t\t\t'new_item_name',\n\t\t\t__( 'Add new category' ),\n\t\t\t__( 'Add new term' )\n\t\t);\n\t\tconst parentSelectLabel = labelWithFallback(\n\t\t\t'parent_item',\n\t\t\t__( 'Parent Category' ),\n\t\t\t__( 'Parent Term' )\n\t\t);\n\t\tconst noParentOption = `— ${ parentSelectLabel } —`;\n\t\tconst newTermSubmitLabel = newTermButtonLabel;\n\t\tconst inputId = `editor-post-taxonomies__hierarchical-terms-input-${ instanceId }`;\n\t\tconst filterInputId = `editor-post-taxonomies__hierarchical-terms-filter-${ instanceId }`;\n\t\tconst filterLabel = sprintf(\n\t\t\t_x( 'Search %s', 'term' ),\n\t\t\tget(\n\t\t\t\tthis.props.taxonomy,\n\t\t\t\t[ 'name' ],\n\t\t\t\tslug === 'category' ? __( 'Categories' ) : __( 'Terms' )\n\t\t\t)\n\t\t);\n\t\tconst groupLabel = sprintf(\n\t\t\t_x( 'Available %s', 'term' ),\n\t\t\tget(\n\t\t\t\tthis.props.taxonomy,\n\t\t\t\t[ 'name' ],\n\t\t\t\tslug === 'category' ? __( 'Categories' ) : __( 'Terms' )\n\t\t\t)\n\t\t);\n\t\tconst showFilter = availableTerms && ( availableTerms.length >= MIN_TERMS_COUNT_FOR_FILTER );\n\n\t\treturn [\n\t\t\tshowFilter && \n\t\t\t\t{ filterLabel }\n\t\t\t,\n\t\t\tshowFilter && ,\n\t\t\t\n\t\t\t\t{ this.renderTerms( '' !== filterValue ? filteredTermsTree : this.sortBySelected( availableTermsTree ) ) }\n\t\t\t,\n\t\t\t! isRequestingTerms && hasCreateAction && (\n\t\t\t\t\n\t\t\t\t\t{ newTermButtonLabel }\n\t\t\t\t\n\t\t\t),\n\t\t\tshowForm && (\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t{ newTermLabel }\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{ !! availableTerms.length &&\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\t{ newTermSubmitLabel }\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t];\n\t\t/* eslint-enable jsx-a11y/no-onchange */\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { slug } ) => {\n\t\tconst { getCurrentPost } = select( 'core/editor' );\n\t\tconst { getTaxonomy, getEntityRecords } = select( 'core' );\n\t\tconst { isResolving } = select( 'core/data' );\n\t\tconst taxonomy = getTaxonomy( slug );\n\t\tconst availableTerms = getEntityRecords( 'taxonomy', slug, DEFAULT_QUERY );\n\t\tconst availableTermsTree = buildTermsTree( availableTerms );\n\t\treturn {\n\t\t\thasCreateAction: taxonomy ? get( getCurrentPost(), [ '_links', 'wp:action-create-' + taxonomy.rest_base ], false ) : false,\n\t\t\thasAssignAction: taxonomy ? get( getCurrentPost(), [ '_links', 'wp:action-assign-' + taxonomy.rest_base ], false ) : false,\n\t\t\tterms: taxonomy ? select( 'core/editor' ).getEditedPostAttribute( taxonomy.rest_base ) : [],\n\t\t\tisRequestingTerms: isResolving( 'core', 'getEntityRecords', [ 'taxonomy', slug, DEFAULT_QUERY ] ),\n\t\t\ttaxonomy,\n\t\t\tavailableTerms,\n\t\t\tavailableTermsTree,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { slug, taxonomy } ) => ( {\n\t\tonUpdateTerms( terms ) {\n\t\t\tdispatch( 'core/editor' ).editPost( { [ taxonomy.rest_base ]: terms } );\n\t\t},\n\t\taddTermToEditedPost( term ) {\n\t\t\treturn dispatch( 'core/editor' ).addTermToEditedPost( slug, term );\n\t\t},\n\t} ) ),\n\twithSpokenMessages,\n\twithInstanceId,\n\twithFilters( 'editor.PostTaxonomyType' ),\n] )( HierarchicalTermSelector );\n","/**\n * External Dependencies\n */\nimport { filter, identity, includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Fragment } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport HierarchicalTermSelector from './hierarchical-term-selector';\nimport FlatTermSelector from './flat-term-selector';\n\nexport function PostTaxonomies( { postType, taxonomies, taxonomyWrapper = identity } ) {\n\tconst availableTaxonomies = filter( taxonomies, ( taxonomy ) => includes( taxonomy.types, postType ) );\n\tconst visibleTaxonomies = filter( availableTaxonomies, ( taxonomy ) => taxonomy.visibility.show_ui );\n\treturn visibleTaxonomies.map( ( taxonomy ) => {\n\t\tconst TaxonomyComponent = taxonomy.hierarchical ? HierarchicalTermSelector : FlatTermSelector;\n\t\treturn (\n\t\t\t\n\t\t\t\t{\n\t\t\t\t\ttaxonomyWrapper(\n\t\t\t\t\t\t,\n\t\t\t\t\t\ttaxonomy\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\n\t\t);\n\t} );\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\treturn {\n\t\t\tpostType: select( 'core/editor' ).getCurrentPostType(),\n\t\t\ttaxonomies: select( 'core' ).getTaxonomies( { per_page: -1 } ),\n\t\t};\n\t} ),\n] )( PostTaxonomies );\n\n","/**\n * External dependencies\n */\nimport Textarea from 'react-autosize-textarea';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { Component, Fragment } from '@wordpress/element';\nimport { parse } from '@wordpress/blocks';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { withInstanceId, compose } from '@wordpress/compose';\n\nexport class PostTextEditor extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.edit = this.edit.bind( this );\n\t\tthis.stopEditing = this.stopEditing.bind( this );\n\n\t\tthis.state = {};\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\tif ( state.isDirty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn {\n\t\t\tvalue: props.value,\n\t\t\tisDirty: false,\n\t\t};\n\t}\n\n\t/**\n\t * Handles a textarea change event to notify the onChange prop callback and\n\t * reflect the new value in the component's own state. This marks the start\n\t * of the user's edits, if not already changed, preventing future props\n\t * changes to value from replacing the rendered value. This is expected to\n\t * be followed by a reset to dirty state via `stopEditing`.\n\t *\n\t * @see stopEditing\n\t *\n\t * @param {Event} event Change event.\n\t */\n\tedit( event ) {\n\t\tconst value = event.target.value;\n\t\tthis.props.onChange( value );\n\t\tthis.setState( { value, isDirty: true } );\n\t}\n\n\t/**\n\t * Function called when the user has completed their edits, responsible for\n\t * ensuring that changes, if made, are surfaced to the onPersist prop\n\t * callback and resetting dirty state.\n\t */\n\tstopEditing() {\n\t\tif ( this.state.isDirty ) {\n\t\t\tthis.props.onPersist( this.state.value );\n\t\t\tthis.setState( { isDirty: false } );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { value } = this.state;\n\t\tconst { placeholder, instanceId } = this.props;\n\t\tconst decodedPlaceholder = decodeEntities( placeholder );\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getEditedPostContent, getEditorSettings } = select( 'core/editor' );\n\t\tconst { bodyPlaceholder } = getEditorSettings();\n\t\treturn {\n\t\t\tvalue: getEditedPostContent(),\n\t\t\tplaceholder: bodyPlaceholder,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost, resetBlocks } = dispatch( 'core/editor' );\n\t\treturn {\n\t\t\tonChange( content ) {\n\t\t\t\teditPost( { content } );\n\t\t\t},\n\t\t\tonPersist( content ) {\n\t\t\t\tresetBlocks( parse( content ) );\n\t\t\t},\n\t\t};\n\t} ),\n\twithInstanceId,\n] )( PostTextEditor );\n","/**\n * External dependencies\n */\nimport Textarea from 'react-autosize-textarea';\nimport classnames from 'classnames';\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { ENTER } from '@wordpress/keycodes';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { KeyboardShortcuts, withFocusOutside } from '@wordpress/components';\nimport { withInstanceId, compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PostPermalink from '../post-permalink';\nimport PostTypeSupportCheck from '../post-type-support-check';\n\n/**\n * Constants\n */\nconst REGEXP_NEWLINES = /[\\r\\n]+/g;\n\nclass PostTitle extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onChange = this.onChange.bind( this );\n\t\tthis.onSelect = this.onSelect.bind( this );\n\t\tthis.onUnselect = this.onUnselect.bind( this );\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\t\tthis.redirectHistory = this.redirectHistory.bind( this );\n\n\t\tthis.state = {\n\t\t\tisSelected: false,\n\t\t};\n\t}\n\n\thandleFocusOutside() {\n\t\tthis.onUnselect();\n\t}\n\n\tonSelect() {\n\t\tthis.setState( { isSelected: true } );\n\t\tthis.props.clearSelectedBlock();\n\t}\n\n\tonUnselect() {\n\t\tthis.setState( { isSelected: false } );\n\t}\n\n\tonChange( event ) {\n\t\tconst newTitle = event.target.value.replace( REGEXP_NEWLINES, ' ' );\n\t\tthis.props.onUpdate( newTitle );\n\t}\n\n\tonKeyDown( event ) {\n\t\tif ( event.keyCode === ENTER ) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.props.onEnterPress();\n\t\t}\n\t}\n\n\t/**\n\t * Emulates behavior of an undo or redo on its corresponding key press\n\t * combination. This is a workaround to React's treatment of undo in a\n\t * controlled textarea where characters are updated one at a time.\n\t * Instead, leverage the store's undo handling of title changes.\n\t *\n\t * @see https://github.com/facebook/react/issues/8514\n\t *\n\t * @param {KeyboardEvent} event Key event.\n\t */\n\tredirectHistory( event ) {\n\t\tif ( event.shiftKey ) {\n\t\t\tthis.props.onRedo();\n\t\t} else {\n\t\t\tthis.props.onUndo();\n\t\t}\n\n\t\tevent.preventDefault();\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\thasFixedToolbar,\n\t\t\tisCleanNewPost,\n\t\t\tisFocusMode,\n\t\t\tisPostTypeViewable,\n\t\t\tinstanceId,\n\t\t\tplaceholder,\n\t\t\ttitle,\n\t\t} = this.props;\n\t\tconst { isSelected } = this.state;\n\n\t\t// The wp-block className is important for editor styles.\n\t\tconst className = classnames( 'wp-block editor-post-title__block', {\n\t\t\t'is-selected': isSelected,\n\t\t\t'is-focus-mode': isFocusMode,\n\t\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t} );\n\t\tconst decodedPlaceholder = decodeEntities( placeholder );\n\n\t\treturn (\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{ isSelected && isPostTypeViewable && }\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t);\n\t}\n}\n\nconst applyWithSelect = withSelect( ( select ) => {\n\tconst { getEditedPostAttribute, getEditorSettings, isCleanNewPost } = select( 'core/editor' );\n\tconst { getPostType } = select( 'core' );\n\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\tconst { titlePlaceholder, focusMode, hasFixedToolbar } = getEditorSettings();\n\n\treturn {\n\t\tisCleanNewPost: isCleanNewPost(),\n\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\tisPostTypeViewable: get( postType, [ 'viewable' ], false ),\n\t\tplaceholder: titlePlaceholder,\n\t\tisFocusMode: focusMode,\n\t\thasFixedToolbar,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch( ( dispatch ) => {\n\tconst {\n\t\tinsertDefaultBlock,\n\t\teditPost,\n\t\tclearSelectedBlock,\n\t\tundo,\n\t\tredo,\n\t} = dispatch( 'core/editor' );\n\n\treturn {\n\t\tonEnterPress() {\n\t\t\tinsertDefaultBlock( undefined, undefined, 0 );\n\t\t},\n\t\tonUpdate( title ) {\n\t\t\teditPost( { title } );\n\t\t},\n\t\tonUndo: undo,\n\t\tonRedo: redo,\n\t\tclearSelectedBlock,\n\t};\n} );\n\nexport default compose(\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\twithInstanceId,\n\twithFocusOutside\n)( PostTitle );\n","/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\n\nfunction PostTrashCheck( { isNew, postId, children } ) {\n\tif ( isNew || ! postId ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n\nexport default withSelect( ( select ) => {\n\tconst { isEditedPostNew, getCurrentPostId } = select( 'core/editor' );\n\treturn {\n\t\tisNew: isEditedPostNew(),\n\t\tpostId: getCurrentPostId(),\n\t};\n} )( PostTrashCheck );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\nfunction PostTrash( { isNew, postId, postType, ...props } ) {\n\tif ( isNew || ! postId ) {\n\t\treturn null;\n\t}\n\n\tconst onClick = () => props.trashPost( postId, postType );\n\n\treturn (\n\t\t\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tisEditedPostNew,\n\t\t\tgetCurrentPostId,\n\t\t\tgetCurrentPostType,\n\t\t} = select( 'core/editor' );\n\t\treturn {\n\t\t\tisNew: isEditedPostNew(),\n\t\t\tpostId: getCurrentPostId(),\n\t\t\tpostType: getCurrentPostType(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\ttrashPost: dispatch( 'core/editor' ).trashPost,\n\t} ) ),\n] )( PostTrash );\n","/**\n * External dependencies\n */\nimport { some, castArray } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\n\n/**\n * A component which renders its own children only if the current editor post\n * type supports one of the given `supportKeys` prop.\n *\n * @param {?Object} props.postType Current post type.\n * @param {WPElement} props.children Children to be rendered if post\n * type supports.\n * @param {(string|string[])} props.supportKeys String or string array of keys\n * to test.\n *\n * @return {WPElement} Rendered element.\n */\nexport function PostTypeSupportCheck( { postType, children, supportKeys } ) {\n\tlet isSupported = true;\n\tif ( postType ) {\n\t\tisSupported = some(\n\t\t\tcastArray( supportKeys ),\n\t\t\t( key ) => !! postType.supports[ key ]\n\t\t);\n\t}\n\n\tif ( ! isSupported ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n\nexport default withSelect( ( select ) => {\n\tconst { getEditedPostAttribute } = select( 'core/editor' );\n\tconst { getPostType } = select( 'core' );\n\treturn {\n\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t};\n} )( PostTypeSupportCheck );\n","/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\n\nexport function PostVisibilityCheck( { hasPublishAction, render } ) {\n\tconst canEdit = hasPublishAction;\n\treturn render( { canEdit } );\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getCurrentPost, getCurrentPostType } = select( 'core/editor' );\n\t\treturn {\n\t\t\thasPublishAction: get( getCurrentPost(), [ '_links', 'wp:action-publish' ], false ),\n\t\t\tpostType: getCurrentPostType(),\n\t\t};\n\t} ),\n] )( PostVisibilityCheck );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\n/**\n * Internal Dependencies\n */\nimport { visibilityOptions } from './utils';\n\nexport class PostVisibility extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\n\t\tthis.setPublic = this.setPublic.bind( this );\n\t\tthis.setPrivate = this.setPrivate.bind( this );\n\t\tthis.setPasswordProtected = this.setPasswordProtected.bind( this );\n\t\tthis.updatePassword = this.updatePassword.bind( this );\n\n\t\tthis.state = {\n\t\t\thasPassword: !! props.password,\n\t\t};\n\t}\n\n\tsetPublic() {\n\t\tconst { visibility, onUpdateVisibility, status } = this.props;\n\n\t\tonUpdateVisibility( visibility === 'private' ? 'draft' : status );\n\t\tthis.setState( { hasPassword: false } );\n\t}\n\n\tsetPrivate() {\n\t\tif ( ! window.confirm( __( 'Would you like to privately publish this post now?' ) ) ) { // eslint-disable-line no-alert\n\t\t\treturn;\n\t\t}\n\n\t\tconst { onUpdateVisibility, onSave } = this.props;\n\n\t\tonUpdateVisibility( 'private' );\n\t\tthis.setState( { hasPassword: false } );\n\t\tonSave();\n\t}\n\n\tsetPasswordProtected() {\n\t\tconst { visibility, onUpdateVisibility, status, password } = this.props;\n\n\t\tonUpdateVisibility( visibility === 'private' ? 'draft' : status, password || '' );\n\t\tthis.setState( { hasPassword: true } );\n\t}\n\n\tupdatePassword( event ) {\n\t\tconst { status, onUpdateVisibility } = this.props;\n\t\tonUpdateVisibility( status, event.target.value );\n\t}\n\n\trender() {\n\t\tconst { visibility, password, instanceId } = this.props;\n\n\t\tconst visibilityHandlers = {\n\t\t\tpublic: {\n\t\t\t\tonSelect: this.setPublic,\n\t\t\t\tchecked: visibility === 'public' && ! this.state.hasPassword,\n\t\t\t},\n\t\t\tprivate: {\n\t\t\t\tonSelect: this.setPrivate,\n\t\t\t\tchecked: visibility === 'private',\n\t\t\t},\n\t\t\tpassword: {\n\t\t\t\tonSelect: this.setPasswordProtected,\n\t\t\t\tchecked: this.state.hasPassword,\n\t\t\t},\n\t\t};\n\n\t\treturn [\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t{ __( 'Post Visibility' ) }\n\t\t\t\t\n\t\t\t\t{ visibilityOptions.map( ( { value, label, info } ) => (\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\n\t\t\t\t\t\t{

    { info }

    }\n\t\t\t\t\t
    \n\t\t\t\t) ) }\n\t\t\t
    ,\n\t\t\tthis.state.hasPassword && (\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t{ __( 'Create password' ) }\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t),\n\t\t];\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditedPostVisibility,\n\t\t} = select( 'core/editor' );\n\t\treturn {\n\t\t\tstatus: getEditedPostAttribute( 'status' ),\n\t\t\tvisibility: getEditedPostVisibility(),\n\t\t\tpassword: getEditedPostAttribute( 'password' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { savePost, editPost } = dispatch( 'core/editor' );\n\t\treturn {\n\t\t\tonSave: savePost,\n\t\t\tonUpdateVisibility( status, password = null ) {\n\t\t\t\teditPost( { status, password } );\n\t\t\t},\n\t\t};\n\t} ),\n\twithInstanceId,\n] )( PostVisibility );\n","/**\n * External dependencies\n */\nimport { find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal Dependencies\n */\nimport { visibilityOptions } from './utils';\n\nfunction PostVisibilityLabel( { visibility } ) {\n\tconst getVisibilityLabel = () => find( visibilityOptions, { value: visibility } ).label;\n\n\treturn getVisibilityLabel( visibility );\n}\n\nexport default withSelect( ( select ) => ( {\n\tvisibility: select( 'core/editor' ).getEditedPostVisibility(),\n} ) )( PostVisibilityLabel );\n","/**\n * WordPress Dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nexport const visibilityOptions = [\n\t{\n\t\tvalue: 'public',\n\t\tlabel: __( 'Public' ),\n\t\tinfo: __( 'Visible to everyone.' ),\n\t},\n\t{\n\t\tvalue: 'private',\n\t\tlabel: __( 'Private' ),\n\t\tinfo: __( 'Only visible to site admins and editors.' ),\n\t},\n\t{\n\t\tvalue: 'password',\n\t\tlabel: __( 'Password Protected' ),\n\t\tinfo: __( 'Protected with a password you choose. Only those with the password can view this post.' ),\n\t},\n];\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\nimport { getScrollContainer } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { getBlockDOMNode } from '../../utils/dom';\n\n/**\n * Non-visual component which preserves offset of selected block within nearest\n * scrollable container while reordering.\n *\n * @example\n *\n * ```jsx\n * \n * ```\n */\nclass PreserveScrollInReorder extends Component {\n\tgetSnapshotBeforeUpdate( prevProps ) {\n\t\tconst { blockOrder, selectionStart } = this.props;\n\t\tif ( blockOrder !== prevProps.blockOrder && selectionStart ) {\n\t\t\treturn this.getOffset( selectionStart );\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tcomponentDidUpdate( prevProps, prevState, snapshot ) {\n\t\tif ( snapshot ) {\n\t\t\tthis.restorePreviousOffset( snapshot );\n\t\t}\n\t}\n\n\t/**\n\t * Given the block client ID of the start of the selection, saves the\n\t * block's top offset as an instance property before a reorder is to occur.\n\t *\n\t * @param {string} selectionStart Client ID of selected block.\n\t *\n\t * @return {number?} The scroll offset.\n\t */\n\tgetOffset( selectionStart ) {\n\t\tconst blockNode = getBlockDOMNode( selectionStart );\n\t\tif ( ! blockNode ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn blockNode.getBoundingClientRect().top;\n\t}\n\n\t/**\n\t * After a block reordering, restores the previous viewport top offset.\n\t *\n\t * @param {number} offset The scroll offset.\n\t */\n\trestorePreviousOffset( offset ) {\n\t\tconst { selectionStart } = this.props;\n\t\tconst blockNode = getBlockDOMNode( selectionStart );\n\t\tif ( blockNode ) {\n\t\t\tconst scrollContainer = getScrollContainer( blockNode );\n\t\t\tif ( scrollContainer ) {\n\t\t\t\tscrollContainer.scrollTop = scrollContainer.scrollTop +\n\t\t\t\t\tblockNode.getBoundingClientRect().top - offset;\n\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\treturn null;\n\t}\n}\n\nexport default withSelect( ( select ) => {\n\treturn {\n\t\tblockOrder: select( 'core/editor' ).getBlockOrder(),\n\t\tselectionStart: select( 'core/editor' ).getBlockSelectionStart(),\n\t};\n} )( PreserveScrollInReorder );\n","/**\n * External dependencies\n */\nimport { flow, map } from 'lodash';\n\n/**\n * WordPress Dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { createElement, Component } from '@wordpress/element';\nimport { DropZoneProvider, SlotFillProvider } from '@wordpress/components';\nimport { withDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { traverse, wrap, urlRewrite } from '../../editor-styles';\n\nclass EditorProvider extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\n\t\t// Assume that we don't need to initialize in the case of an error recovery.\n\t\tif ( props.recovery ) {\n\t\t\treturn;\n\t\t}\n\n\t\tprops.updateEditorSettings( props.settings );\n\t\tprops.updatePostLock( props.settings.postLock );\n\t\tprops.setupEditor( props.post );\n\n\t\tif ( props.settings.autosave ) {\n\t\t\tprops.createWarningNotice(\n\t\t\t\t__( 'There is an autosave of this post that is more recent than the version below.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'autosave-exists',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'View the autosave' ),\n\t\t\t\t\t\t\turl: props.settings.autosave.editLink,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( ! this.props.settings.styles ) {\n\t\t\treturn;\n\t\t}\n\n\t\tmap( this.props.settings.styles, ( { css, baseURL } ) => {\n\t\t\tconst transforms = [\n\t\t\t\twrap( '.editor-styles-wrapper' ),\n\t\t\t];\n\t\t\tif ( baseURL ) {\n\t\t\t\ttransforms.push( urlRewrite( baseURL ) );\n\t\t\t}\n\t\t\tconst updatedCSS = traverse( css, compose( transforms ) );\n\t\t\tif ( updatedCSS ) {\n\t\t\t\tconst node = document.createElement( 'style' );\n\t\t\t\tnode.innerHTML = updatedCSS;\n\t\t\t\tdocument.body.appendChild( node );\n\t\t\t}\n\t\t} );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( this.props.settings !== prevProps.settings ) {\n\t\t\tthis.props.updateEditorSettings( this.props.settings );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tchildren,\n\t\t} = this.props;\n\n\t\tconst providers = [\n\t\t\t// Slot / Fill provider:\n\t\t\t//\n\t\t\t// - context.getSlot\n\t\t\t// - context.registerSlot\n\t\t\t// - context.unregisterSlot\n\t\t\t[\n\t\t\t\tSlotFillProvider,\n\t\t\t],\n\n\t\t\t// DropZone provider:\n\t\t\t[\n\t\t\t\tDropZoneProvider,\n\t\t\t],\n\t\t];\n\n\t\tconst createEditorElement = flow(\n\t\t\tproviders.map( ( [ Provider, props ] ) => (\n\t\t\t\t( arg ) => createElement( Provider, props, arg )\n\t\t\t) )\n\t\t);\n\n\t\treturn createEditorElement( children );\n\t}\n}\n\nexport default withDispatch( ( dispatch ) => {\n\tconst {\n\t\tsetupEditor,\n\t\tupdateEditorSettings,\n\t\tupdatePostLock,\n\t} = dispatch( 'core/editor' );\n\tconst { createWarningNotice } = dispatch( 'core/notices' );\n\n\treturn {\n\t\tsetupEditor,\n\t\tupdateEditorSettings,\n\t\tupdatePostLock,\n\t\tcreateWarningNotice,\n\t};\n} )( EditorProvider );\n","/**\n * External dependencies\n */\n\nimport {\n\tdifference,\n\tisEqual,\n\tisNil,\n\tkeys,\n\tpickBy,\n\tstartsWith,\n} from 'lodash';\n\nconst isAriaPropName = ( name ) =>\n\tstartsWith( name, 'aria-' );\n\nexport const pickAriaProps = ( props ) =>\n\tpickBy( props, ( value, key ) => isAriaPropName( key ) && ! isNil( value ) );\n\nexport const diffAriaProps = ( props, nextProps ) => {\n\tconst prevAriaKeys = keys( pickAriaProps( props ) );\n\tconst nextAriaKeys = keys( pickAriaProps( nextProps ) );\n\tconst removedKeys = difference( prevAriaKeys, nextAriaKeys );\n\tconst updatedKeys = nextAriaKeys.filter( ( key ) =>\n\t\t! isEqual( props[ key ], nextProps[ key ] ) );\n\treturn { removedKeys, updatedKeys };\n};\n","/**\n * WordPress dependencies\n */\nimport { normalizeIconObject } from '@wordpress/blocks';\nimport { Component, Fragment } from '@wordpress/element';\nimport { getActiveFormat, getFormatTypes } from '@wordpress/rich-text';\nimport { Fill, KeyboardShortcuts, ToolbarButton } from '@wordpress/components';\nimport { rawShortcut, displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport InserterListItem from '../inserter-list-item';\nimport { normalizeTerm } from '../inserter/menu';\n\nfunction isResult( { title, keywords = [] }, filterValue ) {\n\tconst normalizedSearchTerm = normalizeTerm( filterValue );\n\tconst matchSearch = ( string ) => normalizeTerm( string ).indexOf( normalizedSearchTerm ) !== -1;\n\treturn matchSearch( title ) || keywords.some( matchSearch );\n}\n\nfunction FillToolbarButton( { name, shortcutType, shortcutCharacter, ...props } ) {\n\tlet shortcut;\n\tlet fillName = 'RichText.ToolbarControls';\n\n\tif ( name ) {\n\t\tfillName += `.${ name }`;\n\t}\n\n\tif ( shortcutType && shortcutCharacter ) {\n\t\tshortcut = displayShortcut[ shortcutType ]( shortcutCharacter );\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nfunction FillInserterListItem( props ) {\n\treturn (\n\t\t\n\t\t\t{ ( { filterValue } ) => {\n\t\t\t\tif ( filterValue && ! isResult( props, filterValue ) ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn ;\n\t\t\t} }\n\t\t\n\t);\n}\n\nclass Shortcut extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onUse = this.onUse.bind( this );\n\t}\n\n\tonUse() {\n\t\tthis.props.onUse();\n\t\treturn false;\n\t}\n\n\trender() {\n\t\tconst { character, type } = this.props;\n\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n}\n\nconst FormatEdit = ( { onChange, value } ) => {\n\treturn (\n\t\t\n\t\t\t{ getFormatTypes().map( ( { name, edit: Edit, keywords } ) => {\n\t\t\t\tif ( ! Edit ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst activeFormat = getActiveFormat( value, name );\n\t\t\t\tconst isActive = activeFormat !== undefined;\n\t\t\t\tconst activeAttributes = isActive ? activeFormat.attributes || {} : {};\n\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\tShortcut={ Shortcut }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\n\t);\n};\n\nexport default FormatEdit;\n","/**\n * WordPress dependencies\n */\n\nimport { Toolbar, Slot } from '@wordpress/components';\n\nconst FormatToolbar = ( { controls } ) => {\n\treturn (\n\t\t
    \n\t\t\t\n\t\t\t\t{ controls.map( ( format ) =>\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t\t\n\t\t\t\n\t\t
    \n\t);\n};\n\nexport default FormatToolbar;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport {\n\tdefer,\n\tfind,\n\tisNil,\n\tnoop,\n\tisEqual,\n\tomit,\n} from 'lodash';\nimport memize from 'memize';\n\n/**\n * WordPress dependencies\n */\nimport { Component, Fragment, RawHTML, createRef } from '@wordpress/element';\nimport {\n\tisHorizontalEdge,\n\tgetRectangleFromRange,\n\tgetScrollContainer,\n} from '@wordpress/dom';\nimport { createBlobURL } from '@wordpress/blob';\nimport { BACKSPACE, DELETE, ENTER, LEFT, RIGHT, rawShortcut } from '@wordpress/keycodes';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { rawHandler, children, getBlockTransforms, findTransform } from '@wordpress/blocks';\nimport { withInstanceId, withSafeTimeout, compose } from '@wordpress/compose';\nimport { isURL } from '@wordpress/url';\nimport {\n\tisEmpty,\n\tcreate,\n\tapply,\n\tapplyFormat,\n\tsplit,\n\ttoHTMLString,\n\tgetTextContent,\n\tinsert,\n\tinsertLineSeparator,\n\tisEmptyLine,\n\tunstableToDom,\n\tgetSelectionStart,\n\tgetSelectionEnd,\n\tcharAt,\n\tLINE_SEPARATOR,\n\tremove,\n\tisCollapsed,\n} from '@wordpress/rich-text';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport Autocomplete from '../autocomplete';\nimport BlockFormatControls from '../block-format-controls';\nimport FormatEdit from './format-edit';\nimport FormatToolbar from './format-toolbar';\nimport TinyMCE from './tinymce';\nimport { pickAriaProps } from './aria';\nimport { getPatterns } from './patterns';\nimport { withBlockEditContext } from '../block-edit/context';\n\n/**\n * Browser dependencies\n */\n\nconst { Node, getSelection } = window;\n\n/**\n * Zero-width space character used by TinyMCE as a caret landing point for\n * inline boundary nodes.\n *\n * @see tinymce/src/core/main/ts/text/Zwsp.ts\n *\n * @type {string}\n */\nconst TINYMCE_ZWSP = '\\uFEFF';\n\nexport class RichText extends Component {\n\tconstructor( { value, onReplace, multiline } ) {\n\t\tsuper( ...arguments );\n\n\t\tif ( multiline === true || multiline === 'p' || multiline === 'li' ) {\n\t\t\tthis.multilineTag = multiline === true ? 'p' : multiline;\n\t\t}\n\n\t\tif ( this.multilineTag === 'li' ) {\n\t\t\tthis.multilineWrapperTags = [ 'ul', 'ol' ];\n\t\t}\n\n\t\tthis.onInit = this.onInit.bind( this );\n\t\tthis.getSettings = this.getSettings.bind( this );\n\t\tthis.onSetup = this.onSetup.bind( this );\n\t\tthis.onFocus = this.onFocus.bind( this );\n\t\tthis.onChange = this.onChange.bind( this );\n\t\tthis.onNodeChange = this.onNodeChange.bind( this );\n\t\tthis.onDeleteKeyDown = this.onDeleteKeyDown.bind( this );\n\t\tthis.onHorizontalNavigationKeyDown = this.onHorizontalNavigationKeyDown.bind( this );\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\t\tthis.onKeyUp = this.onKeyUp.bind( this );\n\t\tthis.onPropagateUndo = this.onPropagateUndo.bind( this );\n\t\tthis.onPaste = this.onPaste.bind( this );\n\t\tthis.onCreateUndoLevel = this.onCreateUndoLevel.bind( this );\n\t\tthis.setFocusedElement = this.setFocusedElement.bind( this );\n\t\tthis.onInput = this.onInput.bind( this );\n\t\tthis.onSelectionChange = this.onSelectionChange.bind( this );\n\t\tthis.getRecord = this.getRecord.bind( this );\n\t\tthis.createRecord = this.createRecord.bind( this );\n\t\tthis.applyRecord = this.applyRecord.bind( this );\n\t\tthis.isEmpty = this.isEmpty.bind( this );\n\t\tthis.valueToFormat = this.valueToFormat.bind( this );\n\t\tthis.setRef = this.setRef.bind( this );\n\t\tthis.isActive = this.isActive.bind( this );\n\n\t\tthis.formatToValue = memize( this.formatToValue.bind( this ), { size: 1 } );\n\n\t\tthis.savedContent = value;\n\t\tthis.containerRef = createRef();\n\t\tthis.patterns = getPatterns( {\n\t\t\tonReplace,\n\t\t\tmultilineTag: this.multilineTag,\n\t\t\tvalueToFormat: this.valueToFormat,\n\t\t} );\n\t\tthis.enterPatterns = getBlockTransforms( 'from' ).filter( ( { type, trigger } ) =>\n\t\t\ttype === 'pattern' && trigger === 'enter'\n\t\t);\n\n\t\tthis.state = {};\n\n\t\tthis.usedDeprecatedChildrenSource = Array.isArray( value );\n\t}\n\n\tcomponentDidMount() {\n\t\tdocument.addEventListener( 'selectionchange', this.onSelectionChange );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tdocument.removeEventListener( 'selectionchange', this.onSelectionChange );\n\t}\n\n\tsetRef( node ) {\n\t\tthis.editableRef = node;\n\t}\n\n\tisActive() {\n\t\treturn this.editableRef === document.activeElement;\n\t}\n\n\t/**\n\t * Retrieves the settings for this block.\n\t *\n\t * Allows passing in settings which will be overwritten.\n\t *\n\t * @param {Object} settings The settings to overwrite.\n\t * @return {Object} The settings for this block.\n\t */\n\tgetSettings( settings ) {\n\t\tsettings = {\n\t\t\t...settings,\n\t\t\tforced_root_block: this.multilineTag || false,\n\t\t\t// Allow TinyMCE to keep one undo level for comparing changes.\n\t\t\t// Prevent it otherwise from accumulating any history.\n\t\t\tcustom_undo_redo_levels: 1,\n\t\t};\n\n\t\tconst { unstableGetSettings } = this.props;\n\t\tif ( unstableGetSettings ) {\n\t\t\tsettings = unstableGetSettings( settings );\n\t\t}\n\n\t\treturn settings;\n\t}\n\n\t/**\n\t * Handles the onSetup event for the TinyMCE component.\n\t *\n\t * Will setup event handlers for the TinyMCE instance.\n\t * An `onSetup` function in the props will be called if it is present.\n\t *\n\t * @param {tinymce} editor The editor instance as passed by TinyMCE.\n\t */\n\tonSetup( editor ) {\n\t\tthis.editor = editor;\n\n\t\teditor.on( 'init', this.onInit );\n\t\teditor.on( 'nodechange', this.onNodeChange );\n\t\teditor.on( 'keydown', this.onKeyDown );\n\t\teditor.on( 'keyup', this.onKeyUp );\n\t\teditor.on( 'BeforeExecCommand', this.onPropagateUndo );\n\t\teditor.on( 'focus', this.onFocus );\n\t\t// The change event in TinyMCE fires every time an undo level is added.\n\t\teditor.on( 'change', this.onCreateUndoLevel );\n\n\t\tconst { unstableOnSetup } = this.props;\n\t\tif ( unstableOnSetup ) {\n\t\t\tunstableOnSetup( editor );\n\t\t}\n\t}\n\n\tsetFocusedElement() {\n\t\tif ( this.props.setFocusedElement ) {\n\t\t\tthis.props.setFocusedElement( this.props.instanceId );\n\t\t}\n\t}\n\n\tonInit() {\n\t\tthis.editor.shortcuts.add( rawShortcut.primary( 'z' ), '', 'Undo' );\n\t\tthis.editor.shortcuts.add( rawShortcut.primaryShift( 'z' ), '', 'Redo' );\n\n\t\t// Remove TinyMCE Core shortcut for consistency with global editor\n\t\t// shortcuts. Also clashes with Mac browsers.\n\t\tthis.editor.shortcuts.remove( 'meta+y', '', 'Redo' );\n\t}\n\n\t/**\n\t * Handles an undo event from TinyMCE.\n\t *\n\t * @param {UndoEvent} event The undo event as triggered by TinyMCE.\n\t */\n\tonPropagateUndo( event ) {\n\t\tconst { onUndo, onRedo } = this.props;\n\t\tconst { command } = event;\n\n\t\tif ( command === 'Undo' && onUndo ) {\n\t\t\tdefer( onUndo );\n\t\t\tevent.preventDefault();\n\t\t}\n\n\t\tif ( command === 'Redo' && onRedo ) {\n\t\t\tdefer( onRedo );\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\t/**\n\t * Get the current record (value and selection) from props and state.\n\t *\n\t * @return {Object} The current record (value and selection).\n\t */\n\tgetRecord() {\n\t\tconst { formats, text } = this.formatToValue( this.props.value );\n\t\tconst { start, end } = this.state;\n\n\t\treturn { formats, text, start, end };\n\t}\n\n\tcreateRecord() {\n\t\tconst range = window.getSelection().getRangeAt( 0 );\n\n\t\treturn create( {\n\t\t\telement: this.editableRef,\n\t\t\trange,\n\t\t\tmultilineTag: this.multilineTag,\n\t\t\tmultilineWrapperTags: this.multilineWrapperTags,\n\t\t\tremoveNode: ( node ) => node.getAttribute( 'data-mce-bogus' ) === 'all',\n\t\t\tunwrapNode: ( node ) => !! node.getAttribute( 'data-mce-bogus' ),\n\t\t\tremoveAttribute: ( attribute ) => attribute.indexOf( 'data-mce-' ) === 0,\n\t\t\tfilterString: ( string ) => string.replace( TINYMCE_ZWSP, '' ),\n\t\t} );\n\t}\n\n\tapplyRecord( record ) {\n\t\tapply( {\n\t\t\tvalue: record,\n\t\t\tcurrent: this.editableRef,\n\t\t\tmultilineTag: this.multilineTag,\n\t\t\tmultilineWrapperTags: this.multilineWrapperTags,\n\t\t\tcreateLinePadding( doc ) {\n\t\t\t\tconst element = doc.createElement( 'br' );\n\t\t\t\telement.setAttribute( 'data-mce-bogus', '1' );\n\t\t\t\treturn element;\n\t\t\t},\n\t\t} );\n\t}\n\n\tisEmpty() {\n\t\treturn isEmpty( this.formatToValue( this.props.value ) );\n\t}\n\n\t/**\n\t * Handles a paste event from TinyMCE.\n\t *\n\t * Saves the pasted data as plain text in `pastedPlainText`.\n\t *\n\t * @param {PasteEvent} event The paste event as triggered by TinyMCE.\n\t */\n\tonPaste( event ) {\n\t\tconst clipboardData = event.clipboardData;\n\t\tlet { items, files } = clipboardData;\n\n\t\t// In Edge these properties can be null instead of undefined, so a more\n\t\t// rigorous test is required over using default values.\n\t\titems = isNil( items ) ? [] : items;\n\t\tfiles = isNil( files ) ? [] : files;\n\n\t\tconst item = find( [ ...items, ...files ], ( { type } ) => /^image\\/(?:jpe?g|png|gif)$/.test( type ) );\n\t\tlet plainText = '';\n\t\tlet html = '';\n\n\t\t// IE11 only supports `Text` as an argument for `getData` and will\n\t\t// otherwise throw an invalid argument error, so we try the standard\n\t\t// arguments first, then fallback to `Text` if they fail.\n\t\ttry {\n\t\t\tplainText = clipboardData.getData( 'text/plain' );\n\t\t\thtml = clipboardData.getData( 'text/html' );\n\t\t} catch ( error1 ) {\n\t\t\ttry {\n\t\t\t\thtml = clipboardData.getData( 'Text' );\n\t\t\t} catch ( error2 ) {\n\t\t\t\t// Some browsers like UC Browser paste plain text by default and\n\t\t\t\t// don't support clipboardData at all, so allow default\n\t\t\t\t// behaviour.\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\t// Allows us to ask for this information when we get a report.\n\t\twindow.console.log( 'Received HTML:\\n\\n', html );\n\t\twindow.console.log( 'Received plain text:\\n\\n', plainText );\n\n\t\t// Only process file if no HTML is present.\n\t\t// Note: a pasted file may have the URL as plain text.\n\t\tif ( item && ! html ) {\n\t\t\tconst file = item.getAsFile ? item.getAsFile() : item;\n\t\t\tconst content = rawHandler( {\n\t\t\t\tHTML: ``,\n\t\t\t\tmode: 'BLOCKS',\n\t\t\t\ttagName: this.props.tagName,\n\t\t\t} );\n\t\t\tconst shouldReplace = this.props.onReplace && this.isEmpty();\n\n\t\t\t// Allows us to ask for this information when we get a report.\n\t\t\twindow.console.log( 'Received item:\\n\\n', file );\n\n\t\t\tif ( shouldReplace ) {\n\t\t\t\t// Necessary to allow the paste bin to be removed without errors.\n\t\t\t\tthis.props.setTimeout( () => this.props.onReplace( content ) );\n\t\t\t} else if ( this.props.onSplit ) {\n\t\t\t\t// Necessary to get the right range.\n\t\t\t\t// Also done in the TinyMCE paste plugin.\n\t\t\t\tthis.props.setTimeout( () => this.splitContent( content ) );\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// There is a selection, check if a URL is pasted.\n\t\tif ( ! this.editor.selection.isCollapsed() ) {\n\t\t\tconst pastedText = ( html || plainText ).replace( /<[^>]+>/g, '' ).trim();\n\n\t\t\t// A URL was pasted, turn the selection into a link\n\t\t\tif ( isURL( pastedText ) ) {\n\t\t\t\tthis.onChange( applyFormat( this.getRecord(), {\n\t\t\t\t\ttype: 'a',\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\thref: decodeEntities( pastedText ),\n\t\t\t\t\t},\n\t\t\t\t} ) );\n\n\t\t\t\t// Allows us to ask for this information when we get a report.\n\t\t\t\twindow.console.log( 'Created link:\\n\\n', pastedText );\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tconst shouldReplace = this.props.onReplace && this.isEmpty();\n\n\t\tlet mode = 'INLINE';\n\n\t\tif ( shouldReplace ) {\n\t\t\tmode = 'BLOCKS';\n\t\t} else if ( this.props.onSplit ) {\n\t\t\tmode = 'AUTO';\n\t\t}\n\n\t\tconst content = rawHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t\tmode,\n\t\t\ttagName: this.props.tagName,\n\t\t\tcanUserUseUnfilteredHTML: this.props.canUserUseUnfilteredHTML,\n\t\t} );\n\n\t\tif ( typeof content === 'string' ) {\n\t\t\tconst recordToInsert = create( { html: content } );\n\t\t\tthis.onChange( insert( this.getRecord(), recordToInsert ) );\n\t\t} else if ( this.props.onSplit ) {\n\t\t\tif ( ! content.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( shouldReplace ) {\n\t\t\t\tthis.props.onReplace( content );\n\t\t\t} else {\n\t\t\t\tthis.splitContent( content, { paste: true } );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Handles a focus event on the contenteditable field, calling the\n\t * `unstableOnFocus` prop callback if one is defined. The callback does not\n\t * receive any arguments.\n\t *\n\t * This is marked as a private API and the `unstableOnFocus` prop is not\n\t * documented, as the current requirements where it is used are subject to\n\t * future refactoring following `isSelected` handling.\n\t *\n\t * In contrast with `setFocusedElement`, this is only triggered in response\n\t * to focus within the contenteditable field, whereas `setFocusedElement`\n\t * is triggered on focus within any `RichText` descendent element.\n\t *\n\t * @see setFocusedElement\n\t *\n\t * @private\n\t */\n\tonFocus() {\n\t\tconst { unstableOnFocus } = this.props;\n\t\tif ( unstableOnFocus ) {\n\t\t\tunstableOnFocus();\n\t\t}\n\t}\n\n\t/**\n\t * Handle input on the next selection change event.\n\t */\n\tonInput() {\n\t\tconst record = this.createRecord();\n\t\tconst transformed = this.patterns.reduce( ( accumlator, transform ) => transform( accumlator ), record );\n\n\t\t// Don't apply changes if there's no transform. Content will be up to\n\t\t// date. In the future we could always let it flow back in the live DOM\n\t\t// if there are no performance issues.\n\t\tthis.onChange( transformed, record === transformed );\n\t}\n\n\t/**\n\t * Handles the `selectionchange` event: sync the selection to local state.\n\t */\n\tonSelectionChange() {\n\t\t// Ensure it's the active element. This is a global event.\n\t\tif ( ! this.isActive() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { start, end, formats } = this.createRecord();\n\n\t\tif ( start !== this.state.start || end !== this.state.end ) {\n\t\t\tconst isCaretWithinFormattedText = this.props.isCaretWithinFormattedText;\n\t\t\tif ( ! isCaretWithinFormattedText && formats[ start ] ) {\n\t\t\t\tthis.props.onEnterFormattedText();\n\t\t\t} else if ( isCaretWithinFormattedText && ! formats[ start ] ) {\n\t\t\t\tthis.props.onExitFormattedText();\n\t\t\t}\n\n\t\t\tthis.setState( { start, end } );\n\t\t}\n\t}\n\n\t/**\n\t * Sync the value to global state. The node tree and selection will also be\n\t * updated if differences are found.\n\t *\n\t * @param {Object} record The record to sync and apply.\n\t * @param {boolean} _withoutApply If true, the record won't be applied to\n\t * the live DOM.\n\t */\n\tonChange( record, _withoutApply ) {\n\t\tif ( ! _withoutApply ) {\n\t\t\tthis.applyRecord( record );\n\t\t}\n\n\t\tconst { start, end } = record;\n\n\t\tthis.savedContent = this.valueToFormat( record );\n\t\tthis.props.onChange( this.savedContent );\n\t\tthis.setState( { start, end } );\n\t}\n\n\tonCreateUndoLevel( event ) {\n\t\t// TinyMCE fires a `change` event when the first letter in an instance\n\t\t// is typed. This should not create a history record in Gutenberg.\n\t\t// https://github.com/tinymce/tinymce/blob/4.7.11/src/core/main/ts/api/UndoManager.ts#L116-L125\n\t\t// In other cases TinyMCE won't fire a `change` with at least a previous\n\t\t// record present, so this is a reliable check.\n\t\t// https://github.com/tinymce/tinymce/blob/4.7.11/src/core/main/ts/api/UndoManager.ts#L272-L275\n\t\tif ( event && event.lastLevel === null ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Always ensure the content is up-to-date. This is needed because e.g.\n\t\t// making something bold will trigger a TinyMCE change event but no\n\t\t// input event. Avoid dispatching an action if the original event is\n\t\t// blur because the content will already be up-to-date.\n\t\tif ( ! event || ! event.originalEvent || event.originalEvent.type !== 'blur' ) {\n\t\t\tthis.onChange( this.createRecord(), true );\n\t\t}\n\n\t\tthis.props.onCreateUndoLevel();\n\t}\n\n\t/**\n\t * Handles a delete keyDown event to handle merge or removal for collapsed\n\t * selection where caret is at directional edge: forward for a delete key,\n\t * reverse for a backspace key.\n\t *\n\t * @link https://en.wikipedia.org/wiki/Caret_navigation\n\t *\n\t * @param {tinymce.EditorEvent} event Keydown event.\n\t */\n\tonDeleteKeyDown( event ) {\n\t\tconst { onMerge, onRemove } = this.props;\n\t\tif ( ! onMerge && ! onRemove ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { keyCode } = event;\n\t\tconst isReverse = keyCode === BACKSPACE;\n\n\t\t// Only process delete if the key press occurs at uncollapsed edge.\n\t\tif ( ! getSelection().isCollapsed ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst empty = this.isEmpty();\n\n\t\t// It is important to consider emptiness because an empty container\n\t\t// will include a bogus TinyMCE BR node _after_ the caret, so in a\n\t\t// forward deletion the isHorizontalEdge function will incorrectly\n\t\t// interpret the presence of the bogus node as not being at the edge.\n\t\tconst isEdge = ( empty || isHorizontalEdge( this.editableRef, isReverse ) );\n\n\t\tif ( ! isEdge ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( onMerge ) {\n\t\t\tonMerge( ! isReverse );\n\t\t}\n\n\t\t// Only handle remove on Backspace. This serves dual-purpose of being\n\t\t// an intentional user interaction distinguishing between Backspace and\n\t\t// Delete to remove the empty field, but also to avoid merge & remove\n\t\t// causing destruction of two fields (merge, then removed merged).\n\t\tif ( onRemove && empty && isReverse ) {\n\t\t\tonRemove( ! isReverse );\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\t// Calling onMerge() or onRemove() will destroy the editor, so it's\n\t\t// important that we stop other handlers (e.g. ones registered by\n\t\t// TinyMCE) from also handling this event.\n\t\tevent.stopImmediatePropagation();\n\t}\n\n\t/**\n\t * Handles a horizontal navigation key down event to handle the case where\n\t * TinyMCE attempts to preventDefault when on the outside edge of an inline\n\t * boundary when arrowing _away_ from the boundary, not within it. Replaces\n\t * the TinyMCE event `preventDefault` behavior with a noop, such that those\n\t * relying on `defaultPrevented` are not misinformed about the arrow event.\n\t *\n\t * If TinyMCE#4476 is resolved, this handling may be removed.\n\t *\n\t * @see https://github.com/tinymce/tinymce/issues/4476\n\t *\n\t * @param {tinymce.EditorEvent} event Keydown event.\n\t */\n\tonHorizontalNavigationKeyDown( event ) {\n\t\tconst { focusNode } = getSelection();\n\t\tconst { nodeType, nodeValue } = focusNode;\n\n\t\tif ( nodeType !== Node.TEXT_NODE ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( nodeValue.length !== 1 || nodeValue[ 0 ] !== TINYMCE_ZWSP ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { keyCode } = event;\n\n\t\t// Consider to be moving away from inline boundary based on:\n\t\t//\n\t\t// 1. Within a text fragment consisting only of ZWSP.\n\t\t// 2. If in reverse, there is no previous sibling. If forward, there is\n\t\t// no next sibling (i.e. end of node).\n\t\tconst isReverse = keyCode === LEFT;\n\t\tconst edgeSibling = isReverse ? 'previousSibling' : 'nextSibling';\n\t\tif ( ! focusNode[ edgeSibling ] ) {\n\t\t\t// Note: This is not reassigning on the native event, rather the\n\t\t\t// \"fixed\" TinyMCE copy, which proxies its preventDefault to the\n\t\t\t// native event. By reassigning here, we're effectively preventing\n\t\t\t// the proxied call on the native event, but not otherwise mutating\n\t\t\t// the original event object.\n\t\t\tevent.preventDefault = noop;\n\t\t}\n\t}\n\n\t/**\n\t * Handles a keydown event from TinyMCE.\n\t *\n\t * @param {KeydownEvent} event The keydown event as triggered by TinyMCE.\n\t */\n\tonKeyDown( event ) {\n\t\tconst { keyCode } = event;\n\n\t\tconst isHorizontalNavigation = keyCode === LEFT || keyCode === RIGHT;\n\t\tif ( isHorizontalNavigation ) {\n\t\t\tthis.onHorizontalNavigationKeyDown( event );\n\t\t}\n\n\t\tif ( keyCode === DELETE || keyCode === BACKSPACE ) {\n\t\t\tif ( this.multilineTag ) {\n\t\t\t\tconst value = this.createRecord();\n\t\t\t\tconst start = getSelectionStart( value );\n\t\t\t\tconst end = getSelectionEnd( value );\n\n\t\t\t\tlet newValue;\n\n\t\t\t\tif ( keyCode === BACKSPACE ) {\n\t\t\t\t\tif ( charAt( value, start - 1 ) === LINE_SEPARATOR ) {\n\t\t\t\t\t\tnewValue = remove(\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t// Only remove the line if the selection is\n\t\t\t\t\t\t\t// collapsed.\n\t\t\t\t\t\t\tisCollapsed( value ) ? start - 1 : start,\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else if ( charAt( value, end ) === LINE_SEPARATOR ) {\n\t\t\t\t\tnewValue = remove(\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tstart,\n\t\t\t\t\t\t// Only remove the line if the selection is collapsed.\n\t\t\t\t\t\tisCollapsed( value ) ? end + 1 : end,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif ( newValue ) {\n\t\t\t\t\tthis.onChange( newValue );\n\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t// It's important that we stop other handlers (e.g. ones\n\t\t\t\t\t// registered by TinyMCE) from also handling this event.\n\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.onDeleteKeyDown( event );\n\t\t}\n\n\t\t// If we click shift+Enter on inline RichTexts, we avoid creating two contenteditables\n\t\t// We also split the content and call the onSplit prop if provided.\n\t\tif ( keyCode === ENTER ) {\n\t\t\tevent.preventDefault();\n\t\t\t// It's important that we stop other handlers (e.g. ones registered\n\t\t\t// by TinyMCE) from also handling this event.\n\t\t\tevent.stopImmediatePropagation();\n\n\t\t\tconst record = this.createRecord();\n\n\t\t\tif ( this.props.onReplace ) {\n\t\t\t\tconst text = getTextContent( record );\n\t\t\t\tconst transformation = findTransform( this.enterPatterns, ( item ) => {\n\t\t\t\t\treturn item.regExp.test( text );\n\t\t\t\t} );\n\n\t\t\t\tif ( transformation ) {\n\t\t\t\t\tthis.props.onReplace( [\n\t\t\t\t\t\ttransformation.transform( { content: text } ),\n\t\t\t\t\t] );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( this.multilineTag ) {\n\t\t\t\tif ( this.props.onSplit && isEmptyLine( record ) ) {\n\t\t\t\t\tthis.props.onSplit( ...split( record ).map( this.valueToFormat ) );\n\t\t\t\t} else {\n\t\t\t\t\tthis.onChange( insertLineSeparator( record ) );\n\t\t\t\t}\n\t\t\t} else if ( event.shiftKey || ! this.props.onSplit ) {\n\t\t\t\tconst text = getTextContent( record );\n\t\t\t\tconst length = text.length;\n\t\t\t\tlet toInsert = '\\n';\n\n\t\t\t\t// If the caret is at the end of the text, and there is no\n\t\t\t\t// trailing line break or no text at all, we have to insert two\n\t\t\t\t// line breaks in order to create a new line visually and place\n\t\t\t\t// the caret there.\n\t\t\t\tif ( record.end === length && (\n\t\t\t\t\ttext.charAt( length - 1 ) !== '\\n' || length === 0\n\t\t\t\t) ) {\n\t\t\t\t\ttoInsert = '\\n\\n';\n\t\t\t\t}\n\n\t\t\t\tthis.onChange( insert( record, toInsert ) );\n\t\t\t} else {\n\t\t\t\tthis.splitContent();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Handles TinyMCE key up event.\n\t *\n\t * @param {number} keyCode The key code that has been pressed on the keyboard.\n\t */\n\tonKeyUp( { keyCode } ) {\n\t\t// The input event does not fire when the whole field is selected and\n\t\t// BACKSPACE is pressed.\n\t\tif ( keyCode === BACKSPACE ) {\n\t\t\tthis.onChange( this.createRecord(), true );\n\t\t}\n\n\t\t// `scrollToRect` is called on `nodechange`, whereas calling it on\n\t\t// `keyup` *when* moving to a new RichText element results in incorrect\n\t\t// scrolling. Though the following allows false positives, it results\n\t\t// in much smoother scrolling.\n\t\tif ( this.props.isViewportSmall && keyCode !== BACKSPACE && keyCode !== ENTER ) {\n\t\t\tthis.scrollToRect( getRectangleFromRange( this.editor.selection.getRng() ) );\n\t\t}\n\t}\n\n\tscrollToRect( rect ) {\n\t\tconst { top: caretTop } = rect;\n\t\tconst container = getScrollContainer( this.editableRef );\n\n\t\tif ( ! container ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// When scrolling, avoid positioning the caret at the very top of\n\t\t// the viewport, providing some \"air\" and some textual context for\n\t\t// the user, and avoiding toolbars.\n\t\tconst graceOffset = 100;\n\n\t\t// Avoid pointless scrolling by establishing a threshold under\n\t\t// which scrolling should be skipped;\n\t\tconst epsilon = 10;\n\t\tconst delta = caretTop - graceOffset;\n\n\t\tif ( Math.abs( delta ) > epsilon ) {\n\t\t\tcontainer.scrollTo(\n\t\t\t\tcontainer.scrollLeft,\n\t\t\t\tcontainer.scrollTop + delta,\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Splits the content at the location of the selection.\n\t *\n\t * Replaces the content of the editor inside this element with the contents\n\t * before the selection. Sends the elements after the selection to the `onSplit`\n\t * handler.\n\t *\n\t * @param {Array} blocks The blocks to add after the split point.\n\t * @param {Object} context The context for splitting.\n\t */\n\tsplitContent( blocks = [], context = {} ) {\n\t\tconst { onSplit } = this.props;\n\t\tconst record = this.createRecord();\n\n\t\tif ( ! onSplit ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet [ before, after ] = split( record );\n\n\t\t// In case split occurs at the trailing or leading edge of the field,\n\t\t// assume that the before/after values respectively reflect the current\n\t\t// value. This also provides an opportunity for the parent component to\n\t\t// determine whether the before/after value has changed using a trivial\n\t\t// strict equality operation.\n\t\tif ( isEmpty( after ) ) {\n\t\t\tbefore = record;\n\t\t} else if ( isEmpty( before ) ) {\n\t\t\tafter = record;\n\t\t}\n\n\t\t// If pasting and the split would result in no content other than the\n\t\t// pasted blocks, remove the before and after blocks.\n\t\tif ( context.paste ) {\n\t\t\tbefore = isEmpty( before ) ? null : before;\n\t\t\tafter = isEmpty( after ) ? null : after;\n\t\t}\n\n\t\tif ( before ) {\n\t\t\tbefore = this.valueToFormat( before );\n\t\t}\n\n\t\tif ( after ) {\n\t\t\tafter = this.valueToFormat( after );\n\t\t}\n\n\t\tonSplit( before, after, ...blocks );\n\t}\n\n\tonNodeChange( { parents } ) {\n\t\tif ( ! this.isActive() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.props.isViewportSmall ) {\n\t\t\tlet rect;\n\t\t\tconst selectedAnchor = find( parents, ( node ) => node.tagName === 'A' );\n\t\t\tif ( selectedAnchor ) {\n\t\t\t\t// If we selected a link, position the Link UI below the link\n\t\t\t\trect = selectedAnchor.getBoundingClientRect();\n\t\t\t} else {\n\t\t\t\t// Otherwise, position the Link UI below the cursor or text selection\n\t\t\t\trect = getRectangleFromRange( this.editor.selection.getRng() );\n\t\t\t}\n\n\t\t\t// Originally called on `focusin`, that hook turned out to be\n\t\t\t// premature. On `nodechange` we can work with the finalized TinyMCE\n\t\t\t// instance and scroll to proper position.\n\t\t\tthis.scrollToRect( rect );\n\t\t}\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tconst { tagName, value } = this.props;\n\n\t\tif (\n\t\t\ttagName === prevProps.tagName &&\n\t\t\tvalue !== prevProps.value &&\n\t\t\tvalue !== this.savedContent\n\t\t) {\n\t\t\t// Handle deprecated `children` and `node` sources.\n\t\t\t// The old way of passing a value with the `node` matcher required\n\t\t\t// the value to be mapped first, creating a new array each time, so\n\t\t\t// a shallow check wouldn't work. We need to check deep equality.\n\t\t\t// This is only executed for a deprecated API and will eventually be\n\t\t\t// removed.\n\t\t\tif ( Array.isArray( value ) && isEqual( value, this.savedContent ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst record = this.formatToValue( value );\n\n\t\t\tif ( this.isActive() ) {\n\t\t\t\tconst prevRecord = this.formatToValue( prevProps.value );\n\t\t\t\tconst length = getTextContent( prevRecord ).length;\n\t\t\t\trecord.start = length;\n\t\t\t\trecord.end = length;\n\t\t\t}\n\n\t\t\tthis.applyRecord( record );\n\t\t\tthis.savedContent = value;\n\t\t}\n\t}\n\n\tformatToValue( value ) {\n\t\t// Handle deprecated `children` and `node` sources.\n\t\tif ( Array.isArray( value ) ) {\n\t\t\treturn create( {\n\t\t\t\thtml: children.toHTML( value ),\n\t\t\t\tmultilineTag: this.multilineTag,\n\t\t\t\tmultilineWrapperTags: this.multilineWrapperTags,\n\t\t\t} );\n\t\t}\n\n\t\tif ( this.props.format === 'string' ) {\n\t\t\treturn create( {\n\t\t\t\thtml: value,\n\t\t\t\tmultilineTag: this.multilineTag,\n\t\t\t\tmultilineWrapperTags: this.multilineWrapperTags,\n\t\t\t} );\n\t\t}\n\n\t\t// Guard for blocks passing `null` in onSplit callbacks. May be removed\n\t\t// if onSplit is revised to not pass a `null` value.\n\t\tif ( value === null ) {\n\t\t\treturn create();\n\t\t}\n\n\t\treturn value;\n\t}\n\n\tvalueToFormat( { formats, text } ) {\n\t\t// Handle deprecated `children` and `node` sources.\n\t\tif ( this.usedDeprecatedChildrenSource ) {\n\t\t\treturn children.fromDOM( unstableToDom( {\n\t\t\t\tvalue: { formats, text },\n\t\t\t\tmultilineTag: this.multilineTag,\n\t\t\t\tmultilineWrapperTags: this.multilineWrapperTags,\n\t\t\t} ).body.childNodes );\n\t\t}\n\n\t\tif ( this.props.format === 'string' ) {\n\t\t\treturn toHTMLString( {\n\t\t\t\tvalue: { formats, text },\n\t\t\t\tmultilineTag: this.multilineTag,\n\t\t\t\tmultilineWrapperTags: this.multilineWrapperTags,\n\t\t\t} );\n\t\t}\n\n\t\treturn { formats, text };\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\ttagName: Tagname = 'div',\n\t\t\tstyle,\n\t\t\tvalue,\n\t\t\twrapperClassName,\n\t\t\tclassName,\n\t\t\tinlineToolbar = false,\n\t\t\tformattingControls,\n\t\t\tplaceholder,\n\t\t\tkeepPlaceholderOnFocus = false,\n\t\t\tisSelected,\n\t\t\tautocompleters,\n\t\t} = this.props;\n\n\t\tconst MultilineTag = this.multilineTag;\n\t\tconst ariaProps = pickAriaProps( this.props );\n\n\t\t// Generating a key that includes `tagName` ensures that if the tag\n\t\t// changes, we unmount and destroy the previous TinyMCE element, then\n\t\t// mount and initialize a new child element in its place.\n\t\tconst key = [ 'editor', Tagname ].join();\n\t\tconst isPlaceholderVisible = placeholder && ( ! isSelected || keepPlaceholderOnFocus ) && this.isEmpty();\n\t\tconst classes = classnames( wrapperClassName, 'editor-rich-text' );\n\t\tconst record = this.getRecord();\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t{ isSelected && ! inlineToolbar && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) }\n\t\t\t\t{ isSelected && inlineToolbar && (\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t) }\n\t\t\t\t\n\t\t\t\t\t{ ( { isExpanded, listBoxId, activeId } ) => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ isPlaceholderVisible &&\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{ MultilineTag ? { placeholder } : placeholder }\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{ isSelected && }\n\t\t\t\t\t\t\n\t\t\t\t\t) }\n\t\t\t\t\n\t\t\t
    \n\t\t);\n\t}\n}\n\nRichText.defaultProps = {\n\tformattingControls: [ 'bold', 'italic', 'link', 'strikethrough' ],\n\tformat: 'string',\n\tvalue: '',\n};\n\nconst RichTextContainer = compose( [\n\twithInstanceId,\n\twithBlockEditContext( ( context, ownProps ) => {\n\t\t// When explicitly set as not selected, do nothing.\n\t\tif ( ownProps.isSelected === false ) {\n\t\t\treturn {};\n\t\t}\n\t\t// When explicitly set as selected, use the value stored in the context instead.\n\t\tif ( ownProps.isSelected === true ) {\n\t\t\treturn {\n\t\t\t\tisSelected: context.isSelected,\n\t\t\t};\n\t\t}\n\n\t\t// Ensures that only one RichText component can be focused.\n\t\treturn {\n\t\t\tisSelected: context.isSelected && context.focusedElement === ownProps.instanceId,\n\t\t\tsetFocusedElement: context.setFocusedElement,\n\t\t};\n\t} ),\n\twithSelect( ( select ) => {\n\t\tconst { isViewportMatch } = select( 'core/viewport' );\n\t\tconst { canUserUseUnfilteredHTML, isCaretWithinFormattedText } = select( 'core/editor' );\n\n\t\treturn {\n\t\t\tisViewportSmall: isViewportMatch( '< small' ),\n\t\t\tcanUserUseUnfilteredHTML: canUserUseUnfilteredHTML(),\n\t\t\tisCaretWithinFormattedText: isCaretWithinFormattedText(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst {\n\t\t\tcreateUndoLevel,\n\t\t\tredo,\n\t\t\tundo,\n\t\t\tenterFormattedText,\n\t\t\texitFormattedText,\n\t\t} = dispatch( 'core/editor' );\n\n\t\treturn {\n\t\t\tonCreateUndoLevel: createUndoLevel,\n\t\t\tonRedo: redo,\n\t\t\tonUndo: undo,\n\t\t\tonEnterFormattedText: enterFormattedText,\n\t\t\tonExitFormattedText: exitFormattedText,\n\t\t};\n\t} ),\n\twithSafeTimeout,\n] )( RichText );\n\nRichTextContainer.Content = ( { value, tagName: Tag, multiline, ...props } ) => {\n\tlet html = value;\n\tlet MultilineTag;\n\n\tif ( multiline === true || multiline === 'p' || multiline === 'li' ) {\n\t\tMultilineTag = multiline === true ? 'p' : multiline;\n\t}\n\n\t// Handle deprecated `children` and `node` sources.\n\tif ( Array.isArray( value ) ) {\n\t\thtml = children.toHTML( value );\n\t}\n\n\tif ( ! html && MultilineTag ) {\n\t\thtml = `<${ MultilineTag }>`;\n\t}\n\n\tconst content = { html };\n\n\tif ( Tag ) {\n\t\treturn { content };\n\t}\n\n\treturn content;\n};\n\nRichTextContainer.isEmpty = ( value = '' ) => {\n\t// Handle deprecated `children` and `node` sources.\n\tif ( Array.isArray( value ) ) {\n\t\treturn ! value || value.length === 0;\n\t}\n\n\treturn value.length === 0;\n};\n\nRichTextContainer.Content.defaultProps = {\n\tformat: 'string',\n\tvalue: '',\n};\n\nexport default RichTextContainer;\n","/**\n * External dependencies\n */\nimport { filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { getBlockTransforms, findTransform } from '@wordpress/blocks';\nimport { remove, applyFormat, getTextContent } from '@wordpress/rich-text';\n\nexport function getPatterns( { onReplace, multiline, valueToFormat } ) {\n\tconst patterns = filter( getBlockTransforms( 'from' ), ( { type, trigger } ) => {\n\t\treturn type === 'pattern' && trigger === undefined;\n\t} );\n\n\treturn [\n\t\t( record ) => {\n\t\t\tif ( ! onReplace ) {\n\t\t\t\treturn record;\n\t\t\t}\n\n\t\t\tconst text = getTextContent( record );\n\t\t\tconst transformation = findTransform( patterns, ( item ) => {\n\t\t\t\treturn item.regExp.test( text );\n\t\t\t} );\n\n\t\t\tif ( ! transformation ) {\n\t\t\t\treturn record;\n\t\t\t}\n\n\t\t\tconst result = text.match( transformation.regExp );\n\n\t\t\tconst block = transformation.transform( {\n\t\t\t\tcontent: valueToFormat( remove( record, 0, result[ 0 ].length ) ),\n\t\t\t\tmatch: result,\n\t\t\t} );\n\n\t\t\tonReplace( [ block ] );\n\n\t\t\treturn record;\n\t\t},\n\t\t( record ) => {\n\t\t\tif ( multiline ) {\n\t\t\t\treturn record;\n\t\t\t}\n\n\t\t\tconst text = getTextContent( record );\n\n\t\t\t// Quick check the text for the necessary character.\n\t\t\tif ( text.indexOf( '`' ) === -1 ) {\n\t\t\t\treturn record;\n\t\t\t}\n\n\t\t\tconst match = text.match( /`([^`]+)`/ );\n\n\t\t\tif ( ! match ) {\n\t\t\t\treturn record;\n\t\t\t}\n\n\t\t\tconst start = match.index;\n\t\t\tconst end = start + match[ 1 ].length;\n\n\t\t\trecord = remove( record, start, start + 1 );\n\t\t\trecord = remove( record, end, end + 1 );\n\t\t\trecord = applyFormat( record, { type: 'code' }, start, end );\n\n\t\t\treturn record;\n\t\t},\n\t];\n}\n","/**\n * External dependencies\n */\nimport tinymce from 'tinymce';\nimport { isEqual } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createElement } from '@wordpress/element';\nimport { BACKSPACE, DELETE } from '@wordpress/keycodes';\nimport { toHTMLString } from '@wordpress/rich-text';\nimport { children } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { diffAriaProps, pickAriaProps } from './aria';\n\n/**\n * Determines whether we need a fix to provide `input` events for contenteditable.\n *\n * @param {Element} editorNode The root editor node.\n *\n * @return {boolean} A boolean indicating whether the fix is needed.\n */\nfunction needsInternetExplorerInputFix( editorNode ) {\n\treturn (\n\t\t// Rely on userAgent in the absence of a reasonable feature test for contenteditable `input` events.\n\t\t/Trident/.test( window.navigator.userAgent ) &&\n\t\t// IE11 dispatches input events for `` and `