From 4537033c6794449ce0a10b69d72daf5fa658d553 Mon Sep 17 00:00:00 2001 From: Sergio Cinos Date: Mon, 20 Apr 2020 15:09:38 +0200 Subject: [PATCH] Automatic reformat with `yarn reformat-files` --- apps/full-site-editing/bin/npm-run-build.js | 2 +- .../dotcom-fse/blocks/navigation-menu/edit.js | 4 +- .../dotcom-fse/blocks/post-content/index.js | 4 +- .../dotcom-fse/blocks/site-credit/edit.js | 2 +- .../blocks/site-description/edit.js | 2 +- .../dotcom-fse/blocks/site-title/edit.js | 2 +- .../dotcom-fse/blocks/template/edit.js | 2 +- .../dotcom-fse/blocks/template/index.js | 4 +- .../dotcom-fse/blocks/template/site-logo.js | 4 +- .../post-content-block-appender.js | 4 +- .../editor/suppress-draft-action/index.js | 6 +- .../editor/suppress-trash-action/index.js | 4 +- .../lib/site-options/use-site-options.js | 2 +- .../lib/site-options/with-site-options.js | 10 +- .../plugins/close-button-override/index.js | 2 +- .../plugins/editor-template-classes/index.js | 4 +- .../event-countdown-block/blocks/src/edit.js | 4 +- .../event-countdown-block/blocks/src/index.js | 2 +- .../event-countdown-block/event-countdown.js | 2 +- .../global-styles/index.js | 4 +- .../global-styles/src/dom-updater.js | 6 +- .../global-styles/src/font-pairings-panel.js | 2 +- .../global-styles/src/font-selection-panel.js | 4 +- .../src/global-styles-sidebar.js | 23 +- .../global-styles/src/no-support.js | 6 +- .../global-styles/src/store.js | 2 +- .../blocks/src/block-appender.js | 2 +- .../blocks/src/timeline-item.js | 2 +- .../jetpack-timeline/blocks/src/timeline.js | 2 +- .../blocks/posts-list/index.js | 6 +- .../blocks/posts-list/transforms.js | 6 +- .../components/block-iframe-preview.js | 11 +- .../components/block-preview.js | 2 +- .../components/sidebar-modal-opener.js | 6 +- .../components/template-selector-item.js | 2 +- .../components/template-selector-preview.js | 2 +- .../test/template-selector-control.test.js | 2 +- .../page-template-modal/index.js | 32 +- .../utils/contains-missing-block.js | 2 +- .../utils/ensure-assets.js | 12 +- .../utils/map-blocks-recursively.js | 2 +- .../page-template-modal/utils/tracking.js | 2 +- .../starter-page-templates/store.js | 4 +- .../wpcom-block-editor-nux/src/store.js | 2 +- .../wpcom-block-editor-nux/src/wpcom-nux.js | 2 +- apps/notifications/index.jsx | 10 +- .../notifications/src/panel/Notifications.jsx | 2 +- .../src/panel/comment-replies-cache/index.js | 2 +- .../src/panel/flux/app-actions.js | 2 +- .../src/panel/flux/note-actions.js | 22 +- apps/notifications/src/panel/helpers/input.js | 2 +- apps/notifications/src/panel/helpers/notes.js | 2 +- .../src/panel/rest-client/index.js | 16 +- .../src/panel/rest-client/wpcom.js | 6 +- .../panel/state/action-middleware/index.js | 4 +- .../action-middleware/notes/read-status.js | 2 +- .../action-middleware/suggestions/index.js | 2 +- .../panel/state/action-middleware/utils.js | 2 +- apps/notifications/src/panel/state/index.js | 2 +- .../src/panel/state/notes/actions.js | 10 +- .../panel/state/selectors/get-all-notes.js | 4 +- .../panel/state/selectors/get-filter-name.js | 4 +- .../panel/state/selectors/get-is-loading.js | 4 +- .../state/selectors/get-is-panel-open.js | 4 +- .../src/panel/state/selectors/get-notes.js | 2 +- .../state/selectors/get-selected-note-id.js | 4 +- .../panel/state/selectors/get-suggestions.js | 2 +- .../src/panel/state/selectors/get-ui.js | 2 +- .../src/panel/state/suggestions/actions.js | 2 +- .../src/panel/state/ui/actions.js | 8 +- .../src/panel/suggestions/index.jsx | 20 +- .../src/panel/suggestions/suggestion.jsx | 2 +- .../src/panel/templates/actions.jsx | 5 +- .../src/panel/templates/block-user.jsx | 2 +- .../src/panel/templates/body.jsx | 12 +- .../src/panel/templates/button-back.jsx | 2 +- .../panel/templates/comment-reply-input.jsx | 28 +- .../src/panel/templates/container-hotkey.jsx | 10 +- .../panel/templates/filter-bar-controller.js | 6 +- .../src/panel/templates/filter-bar.jsx | 6 +- .../src/panel/templates/filters.js | 12 +- .../src/panel/templates/follow-link.jsx | 12 +- .../src/panel/templates/functions.jsx | 16 +- .../src/panel/templates/image-loader.jsx | 4 +- .../src/panel/templates/index.jsx | 24 +- .../src/panel/templates/nav-button.jsx | 2 +- .../src/panel/templates/note-list.jsx | 18 +- .../src/panel/templates/note.jsx | 2 +- .../src/panel/templates/status-bar.jsx | 2 +- .../src/panel/templates/summary-in-list.jsx | 4 +- .../src/panel/templates/summary-in-single.jsx | 2 +- .../src/panel/templates/undo-list-item.jsx | 16 +- .../src/panel/utils/link-interceptor.js | 2 +- .../src/panel/utils/noticon2gridicon.js | 2 +- .../src/panel/utils/parse-json.js | 2 +- .../src/standalone/auth-wrapper.jsx | 4 +- apps/notifications/src/standalone/index.js | 2 +- .../notifications/src/standalone/messaging.js | 4 +- .../src/standalone/offline-wrapper.jsx | 2 +- apps/o2-blocks/src/editor-notes/editor.js | 2 +- apps/o2-blocks/src/p2-autocomplete/editor.js | 12 +- apps/o2-blocks/src/project-status/editor.js | 18 +- apps/o2-blocks/src/spoiler/editor.jsx | 2 +- apps/o2-blocks/src/task/editor.js | 16 +- apps/o2-blocks/src/todo/editor.js | 16 +- .../gutenboarding-editor-overrides.js | 2 +- .../calypso/features/iframe-bridge-server.js | 28 +- .../src/calypso/features/tinymce.js | 2 +- .../src/default/features/rich-text.js | 6 +- apps/wpcom-block-editor/src/utils.js | 34 +- .../features/fix-block-invalidation-errors.js | 2 +- .../features/reorder-block-categories.js | 2 +- .../src/wpcom/features/tracking.js | 24 +- .../tracking/delegate-event-tracking.js | 4 +- .../wpcom-navigation-menu-search-handler.js | 4 +- apps/wpcom-block-editor/webpack.config.js | 2 +- bin/audit-svg-colors.js | 20 +- bin/build-languages.js | 30 +- bin/build-metadata.js | 25 +- bin/categorize-component-styles.js | 18 +- bin/codemods/src/guided-tours-render.js | 2 +- bin/codemods/src/unglobalize-selectors.js | 8 +- bin/eslint-branch.js | 9 +- bin/generate-devdocs-search-index.js | 6 +- ...enerate-gutenboarding-design-thumbnails.js | 6 +- bin/generate-style-variants.js | 2 +- bin/get-circle-artifact-url.js | 12 +- .../get-circle-string-artifact-url.js | 5 +- bin/loader-stats.js | 20 +- bin/pre-commit-hook.js | 22 +- bin/pre-push-hook.js | 4 +- bin/stacktrace-translate.js | 12 +- bin/validate-config-keys.js | 16 +- client/auth/auth-code-button.jsx | 2 +- client/auth/controller.js | 8 +- client/auth/login.jsx | 12 +- client/auth/test/login.jsx | 16 +- client/blocks/all-sites/all-sites-icon.jsx | 6 +- client/blocks/all-sites/index.jsx | 2 +- client/blocks/app-banner/index.jsx | 10 +- client/blocks/app-banner/test/app-banner.jsx | 4 +- client/blocks/app-promo/index.jsx | 4 +- client/blocks/app-promo/test/index.jsx | 4 +- .../blocks/author-selector/docs/example.jsx | 2 +- client/blocks/author-selector/index.jsx | 4 +- .../blocks/author-selector/switcher-shell.jsx | 12 +- client/blocks/blog-stickers/list.jsx | 2 +- client/blocks/calendar-button/index.jsx | 2 +- .../blocks/calendar-popover/docs/example.jsx | 2 +- client/blocks/calendar-popover/index.jsx | 2 +- .../blocks/color-scheme-picker/constants.js | 2 +- .../color-scheme-picker/docs/example.jsx | 2 +- client/blocks/color-scheme-picker/index.jsx | 4 +- client/blocks/comments/comment-edit-form.jsx | 8 +- client/blocks/comments/comment-likes.jsx | 2 +- client/blocks/comments/form-root.jsx | 2 +- client/blocks/comments/form.jsx | 8 +- client/blocks/comments/post-comment-list.jsx | 24 +- client/blocks/comments/post-comment.jsx | 22 +- .../blocks/conversation-caterpillar/index.jsx | 6 +- .../conversation-follow-button/button.jsx | 2 +- .../conversation-follow-button/index.jsx | 2 +- client/blocks/conversations/list.jsx | 28 +- client/blocks/credit-card-form/helpers.js | 6 +- client/blocks/credit-card-form/index.jsx | 14 +- client/blocks/daily-post-button/index.jsx | 6 +- .../blocks/daily-post-button/test/index.jsx | 2 +- client/blocks/disconnect-jetpack/index.jsx | 2 +- client/blocks/domain-tip/docs/example.jsx | 2 +- .../ecommerce-manage-nudge/selectors.js | 2 +- client/blocks/edit-gravatar/index.jsx | 11 +- client/blocks/edit-gravatar/test/index.jsx | 4 +- .../has-localized-text.js | 2 +- .../blocks/eligibility-warnings/hold-list.tsx | 8 +- .../eligibility-warnings/test/index.tsx | 2 +- client/blocks/follow-button/button.jsx | 2 +- client/blocks/follow-button/index.jsx | 2 +- client/blocks/followers-count/index.jsx | 2 +- client/blocks/get-apps/apps-badge.jsx | 2 +- .../blocks/get-apps/mobile-download-card.jsx | 10 +- client/blocks/gsuite-stats-nudge/index.js | 4 +- client/blocks/image-editor/docs/example.jsx | 4 +- .../image-editor/image-editor-buttons.jsx | 2 +- .../image-editor/image-editor-canvas.jsx | 8 +- .../blocks/image-editor/image-editor-crop.jsx | 2 +- .../image-editor/image-editor-toolbar.jsx | 6 +- client/blocks/image-editor/index.jsx | 4 +- .../test/image-editor-toolbar.jsx | 18 +- client/blocks/image-selector/docs/example.jsx | 14 +- client/blocks/image-selector/dropzone.jsx | 2 +- client/blocks/image-selector/index.jsx | 10 +- client/blocks/image-selector/preview.jsx | 22 +- client/blocks/image-selector/test/index.jsx | 10 +- client/blocks/inline-help/index.jsx | 8 +- .../inline-help-compact-result.jsx | 2 +- .../inline-help-compact-results.jsx | 2 +- .../inline-help/inline-help-contact-view.jsx | 2 +- .../inline-help-query-support-types.jsx | 2 +- .../inline-help/inline-help-rich-result.jsx | 2 +- .../inline-help/inline-help-search-card.jsx | 4 +- .../inline-help-search-results.jsx | 2 +- client/blocks/inline-help/popover.jsx | 6 +- .../jetpack-backup-creds-banner/index.jsx | 2 +- client/blocks/keyring-connect-button/index.js | 2 +- client/blocks/legal-updates-banner/index.js | 4 +- client/blocks/like-button/docs/example.jsx | 2 +- client/blocks/like-button/index.jsx | 2 +- .../blocks/location-search/docs/example.jsx | 2 +- client/blocks/location-search/index.jsx | 12 +- client/blocks/location-search/prediction.jsx | 2 +- client/blocks/login/continue-as-user.jsx | 2 +- client/blocks/login/error-notice.jsx | 4 +- client/blocks/login/index.jsx | 2 +- client/blocks/login/login-form.jsx | 20 +- client/blocks/login/social-connect-prompt.jsx | 6 +- client/blocks/login/social.jsx | 18 +- .../push-notification-approval-poller.jsx | 2 +- .../push-notification-illustration.jsx | 2 +- .../security-key-form.jsx | 2 +- .../two-factor-actions.jsx | 8 +- .../verification-code-form.jsx | 12 +- client/blocks/nps-survey/docs/example.jsx | 8 +- client/blocks/nps-survey/index.jsx | 10 +- .../nps-survey/recommendation-select.jsx | 2 +- client/blocks/payment-methods/index.jsx | 2 +- client/blocks/plan-storage/docs/example.jsx | 2 +- client/blocks/plan-storage/test/bar.jsx | 10 +- .../plan-thank-you-card/docs/example.jsx | 2 +- client/blocks/post-item/docs/example.jsx | 2 +- client/blocks/post-item/index.jsx | 4 +- client/blocks/post-likes/index.jsx | 2 +- client/blocks/post-share/connections-list.jsx | 2 +- client/blocks/post-share/docs/example.jsx | 2 +- client/blocks/post-share/index.jsx | 26 +- client/blocks/post-share/nudges.jsx | 2 +- .../post-share/publicize-actions-list.jsx | 4 +- .../post-share/sharing-preview-modal.jsx | 2 +- client/blocks/post-share/test/nudges.jsx | 14 +- client/blocks/post-status/docs/example.jsx | 4 +- client/blocks/post-status/test/index.jsx | 24 +- client/blocks/privacy-policy-banner/index.jsx | 4 +- .../docs/example.jsx | 2 +- .../product-plan-overlap-notices/index.jsx | 12 +- .../product-purchase-features-list/index.jsx | 2 +- .../site-activity.jsx | 2 +- .../test/product-purchase-features-list.jsx | 2 +- .../test/video-audio-posts.jsx | 12 +- .../blocks/product-selector/docs/example.jsx | 2 +- client/blocks/product-selector/index.jsx | 24 +- client/blocks/product-selector/utils.js | 4 +- client/blocks/reader-combined-card/index.jsx | 11 +- client/blocks/reader-combined-card/post.jsx | 2 +- client/blocks/reader-featured-video/index.jsx | 6 +- .../blocks/reader-full-post/header-tags.jsx | 2 +- client/blocks/reader-full-post/index.jsx | 2 +- client/blocks/reader-import-button/index.jsx | 10 +- .../blocks/reader-list-item/docs/example.jsx | 2 +- client/blocks/reader-list-item/index.jsx | 3 +- client/blocks/reader-post-actions/index.jsx | 2 +- client/blocks/reader-post-card/byline.jsx | 2 +- .../blocks/reader-post-card/docs/example.jsx | 2 +- client/blocks/reader-post-card/index.jsx | 4 +- client/blocks/reader-post-card/photo.jsx | 4 +- .../blog-stickers.jsx | 2 +- .../blocks/reader-post-options-menu/index.jsx | 4 +- .../blocks/reader-recommended-sites/index.jsx | 2 +- client/blocks/reader-share/index.jsx | 10 +- .../index.jsx | 2 +- .../docs/example.jsx | 2 +- .../reader-subscription-list-item/index.jsx | 3 +- .../sharing-preview-pane/docs/example.jsx | 2 +- client/blocks/sharing-preview-pane/index.jsx | 8 +- client/blocks/sharing-preview-pane/utils.js | 4 +- client/blocks/shortcode/frame.js | 4 +- client/blocks/shortcode/index.js | 2 +- client/blocks/signup-form/index.jsx | 24 +- client/blocks/signup-form/passwordless.jsx | 6 +- client/blocks/signup-form/social.jsx | 6 +- client/blocks/site-address-changer/dialog.jsx | 2 +- client/blocks/site-address-changer/index.jsx | 10 +- client/blocks/site-icon/docs/example.jsx | 2 +- client/blocks/site/docs/example.jsx | 2 +- client/blocks/site/index.jsx | 8 +- client/blocks/stats-navigation/index.js | 8 +- client/blocks/stats-navigation/intervals.js | 4 +- .../docs/example.jsx | 4 +- .../subscription-length-picker/option.jsx | 2 +- .../subscription-length-picker/test/index.js | 6 +- .../subscription-length-picker/test/option.js | 2 +- .../blocks/support-article-dialog/dialog.jsx | 4 +- .../blocks/support-article-dialog/index.jsx | 2 +- client/blocks/taxonomy-manager/index.jsx | 4 +- client/blocks/taxonomy-manager/list-item.jsx | 2 +- client/blocks/taxonomy-manager/list.jsx | 6 +- client/blocks/term-form-dialog/index.jsx | 14 +- client/blocks/term-tree-selector/index.jsx | 2 +- client/blocks/term-tree-selector/terms.jsx | 14 +- .../blocks/upgrade-nudge-expanded/index.jsx | 8 +- client/blocks/upload-drop-zone/index.jsx | 4 +- client/blocks/upwork-banner/actions.js | 2 +- client/blocks/upwork-banner/index.jsx | 4 +- client/blocks/upwork-stats-nudge/index.js | 2 +- client/blocks/user-mentions/add.jsx | 11 +- client/blocks/user-mentions/connect.jsx | 2 +- client/blocks/user-mentions/index.jsx | 2 +- .../blocks/user-mentions/suggestion-list.jsx | 2 +- client/blocks/video-editor/index.jsx | 6 +- .../video-editor-upload-button.js | 2 +- client/blocks/visit-site/index.jsx | 5 +- client/boot/common.js | 30 +- client/boot/locale.js | 8 +- client/components/accordion/index.jsx | 2 +- client/components/action-panel/figure.jsx | 2 +- client/components/async-load/index.jsx | 2 +- client/components/async-loader/index.jsx | 10 +- client/components/async-loader/test/index.js | 6 +- client/components/auto-direction/direction.js | 8 +- client/components/auto-direction/index.jsx | 10 +- .../components/back-button/docs/example.jsx | 2 +- client/components/banner/index.jsx | 4 +- client/components/banner/test/index.jsx | 28 +- .../components/bulk-select/docs/example.jsx | 8 +- client/components/bulk-select/test/index.js | 14 +- client/components/button-group/index.jsx | 2 +- client/components/chart/bar.jsx | 6 +- client/components/chart/index.jsx | 6 +- client/components/chart/legend.jsx | 4 +- client/components/chart/x-axis.jsx | 2 +- client/components/checklist/checklist.js | 10 +- client/components/checklist/docs/example.jsx | 8 +- client/components/close-on-escape/index.jsx | 2 +- .../components/close-on-escape/test/index.jsx | 4 +- .../components/community-translator/index.jsx | 2 +- .../community-translator/translatable.jsx | 8 +- .../components/community-translator/utils.js | 14 +- client/components/convert-to-blocks/index.jsx | 2 +- .../credit-card-form-fields/index.jsx | 4 +- client/components/credit-card/index.tsx | 2 +- client/components/d3-base/index.js | 4 +- client/components/d3-base/test/index.js | 4 +- .../components/data/document-head/index.jsx | 4 +- .../data/domain-management/index.jsx | 2 +- .../data/email-followers-data/index.jsx | 6 +- .../components/data/followers-data/index.jsx | 6 +- .../components/data/media-list-data/index.jsx | 2 +- .../components/data/media-list-data/utils.js | 4 +- .../data/moderate-comment/index.jsx | 2 +- .../query-account-recovery-settings/index.jsx | 2 +- .../data/query-billing-transactions/index.jsx | 2 +- .../index.js | 2 +- .../data/query-concierge-initial/index.js | 2 +- .../query-contact-details-cache/index.jsx | 2 +- .../data/query-gsuite-users/index.jsx | 4 +- .../data/query-happiness-engineers/index.jsx | 2 +- .../data/query-jetpack-scan-history/index.tsx | 2 +- .../query-jetpack-scan-history/test/index.js | 4 +- .../data/query-jetpack-scan/index.tsx | 4 +- .../data/query-jetpack-scan/test/index.js | 4 +- client/components/data/query-jitm/index.jsx | 2 +- .../data/query-keyring-connections/index.jsx | 2 +- .../data/query-keyring-services/index.jsx | 2 +- .../data/query-locale-suggestions/index.jsx | 2 +- .../data/query-media-export/index.js | 2 +- .../data/query-media-storage/index.jsx | 2 +- .../index.js | 2 +- client/components/data/query-plans/index.jsx | 2 +- client/components/data/query-posts/index.jsx | 2 +- .../data/query-reader-feed/index.jsx | 2 +- .../data/query-reader-list/index.jsx | 2 +- .../data/query-reader-lists/index.jsx | 4 +- .../data/query-reader-related-posts/index.jsx | 2 +- .../data/query-reader-site/index.jsx | 2 +- .../data/query-reader-tag-images/index.jsx | 2 +- .../data/query-reader-thumbnails/index.jsx | 2 +- .../components/data/query-segments/index.jsx | 2 +- .../data/query-site-checklist/index.js | 2 +- .../data/query-site-domains/index.jsx | 2 +- .../data/query-site-guided-transfer/index.jsx | 2 +- .../data/query-site-plans/index.jsx | 2 +- .../data/query-site-products/index.jsx | 2 +- .../data/query-site-purchases/index.jsx | 2 +- client/components/data/query-sites/index.jsx | 8 +- .../query-stats-recent-post-views/index.jsx | 2 +- .../data/query-stored-cards/index.jsx | 2 +- .../index.jsx | 2 +- .../query-tld-validation-schemas/index.jsx | 2 +- .../data/query-user-purchases/index.jsx | 2 +- .../data/store-connection/index.jsx | 10 +- .../data/sync-reader-follows/index.js | 2 +- client/components/data/viewers-data/index.jsx | 6 +- client/components/date-picker/day.jsx | 4 +- client/components/date-picker/event.jsx | 2 +- client/components/date-picker/index.jsx | 16 +- client/components/date-picker/nav-bar.jsx | 2 +- client/components/date-range/docs/example.jsx | 4 +- client/components/date-range/index.js | 16 +- client/components/date-range/test/index.js | 6 +- client/components/diff-viewer/index.jsx | 2 +- .../eu-address-fieldset.jsx | 2 +- .../region-address-fieldsets.jsx | 2 +- .../test/eu-address-fieldset.js | 6 +- .../test/region-address-fieldsets.js | 8 +- .../test/uk-address-fieldset.js | 6 +- .../test/us-address-fieldset.js | 6 +- .../uk-address-fieldset.jsx | 2 +- .../us-address-fieldset.jsx | 2 +- .../contact-details-form-fields/index.jsx | 22 +- .../contact-details-form-fields/test/index.js | 9 +- .../domains/domain-product-price/index.jsx | 2 +- .../domain-registration-suggestion/index.jsx | 4 +- .../domain-registration-suggestion/utility.js | 4 +- .../domains/domain-search-results/index.jsx | 8 +- .../domains/domain-suggestion/index.jsx | 2 +- .../example-domain-suggestions/index.jsx | 2 +- .../domains/map-domain-step/index.jsx | 6 +- .../domains/register-domain-step/analytics.js | 11 +- .../domains/register-domain-step/index.jsx | 48 +- .../domains/register-domain-step/utility.js | 2 +- .../domains/registrant-extra-info/ca-form.jsx | 6 +- .../domains/registrant-extra-info/fr-form.jsx | 13 +- .../fr-validate-contact-details.js | 9 +- .../domains/registrant-extra-info/index.jsx | 2 +- .../test/with-contact-details-validation.js | 10 +- .../domains/registrant-extra-info/uk-form.jsx | 6 +- .../with-contact-details-validation.jsx | 4 +- .../search-filters/dropdown-filters.jsx | 2 +- .../domains/search-filters/tld-filter-bar.jsx | 12 +- .../domains/trademark-claims-notice/index.jsx | 10 +- .../trademark-claim.jsx | 26 +- .../trademark-notice.jsx | 2 +- .../domains/transfer-domain-step/index.jsx | 22 +- .../transfer-domain-precheck.jsx | 8 +- .../transfer-restriction-message.jsx | 2 +- .../domains/use-your-domain-step/index.jsx | 20 +- client/components/dot-pager/index.jsx | 2 +- client/components/draggable/index.tsx | 4 +- client/components/drop-zone/docs/example.jsx | 4 +- client/components/drop-zone/index.jsx | 12 +- client/components/drop-zone/test/index.jsx | 18 +- client/components/ellipsis-menu/index.jsx | 2 +- .../email-verification-dialog/index.jsx | 2 +- .../email-unverified-notice.jsx | 2 +- .../email-verification-gate/index.jsx | 2 +- client/components/embed-container/index.jsx | 12 +- client/components/emojify/index.jsx | 2 +- .../components/empty-content/docs/example.jsx | 2 +- client/components/external-link/test/index.js | 7 +- .../feature-example/docs/example.jsx | 2 +- .../components/file-picker/docs/example.jsx | 2 +- client/components/focusable/index.jsx | 2 +- .../components/foldable-card/docs/example.jsx | 6 +- .../components/formatted-date/docs/example.js | 8 +- .../forms/counted-textarea/docs/example.jsx | 2 +- client/components/forms/docs/example.jsx | 14 +- .../forms/form-country-select/index.jsx | 2 +- .../forms/form-currency-input/index.jsx | 2 +- .../forms/form-phone-input/index.jsx | 4 +- client/components/forms/form-range/index.jsx | 2 +- .../form-text-input-with-action/index.jsx | 10 +- .../forms/form-text-input/index.jsx | 4 +- client/components/forms/form-toggle/index.jsx | 6 +- .../forms/form-toggle/test/index.jsx | 8 +- .../form-verification-code-input/index.jsx | 2 +- .../components/forms/multi-checkbox/index.tsx | 6 +- .../forms/multi-checkbox/test/index.jsx | 4 +- .../components/forms/range/docs/example.jsx | 2 +- client/components/forms/select-opt-groups.jsx | 6 +- .../components/forms/sortable-list/index.jsx | 14 +- client/components/forms/us-state-selector.jsx | 2 +- client/components/gauge/index.jsx | 4 +- client/components/global-notices/index.jsx | 10 +- client/components/gravatar/docs/example.jsx | 2 +- client/components/gridicon/docs/example.jsx | 2 +- .../components/gsuite/docs/new-user-list.tsx | 4 +- .../gsuite/gsuite-features/test/compact.js | 9 +- .../gsuite/gsuite-features/test/index.js | 10 +- .../gsuite-new-user-list/domains-select.tsx | 2 +- .../gsuite/gsuite-new-user-list/index.tsx | 2 +- .../gsuite/gsuite-new-user-list/new-user.tsx | 8 +- .../components/gsuite/gsuite-price/index.jsx | 2 +- .../gsuite/gsuite-price/test/index.js | 8 +- .../happiness-engineers-tray/index.jsx | 4 +- client/components/happiness-support/index.jsx | 2 +- .../happiness-support/test/index.jsx | 9 +- client/components/happychat/agent-w/index.jsx | 4 +- client/components/happychat/button.jsx | 4 +- .../happychat/connection-connected.jsx | 2 +- client/components/happychat/functional.js | 15 +- client/components/happychat/index.jsx | 4 +- client/components/happychat/timeline.jsx | 6 +- client/components/head/index.jsx | 2 +- client/components/head/test/index.jsx | 6 +- .../components/header-cake/docs/example.jsx | 2 +- client/components/infinite-list/index.jsx | 4 +- .../components/infinite-list/scroll-helper.js | 6 +- .../components/infinite-list/scroll-store.js | 4 +- .../infinite-list/test/scroll-helper.js | 8 +- client/components/infinite-scroll/index.js | 4 +- .../components/info-popover/docs/example.jsx | 2 +- client/components/info-popover/index.jsx | 2 +- .../components/inline-support-link/index.jsx | 2 +- .../components/input-chrono/docs/example.jsx | 2 +- client/components/input-chrono/index.jsx | 10 +- .../jetpack-header/partner-logo-group.jsx | 14 +- client/components/keyed-suggestions/index.jsx | 26 +- .../components/language-picker/constants.js | 12 +- .../language-picker/docs/example.jsx | 2 +- client/components/language-picker/index.jsx | 6 +- client/components/language-picker/modal.jsx | 24 +- .../components/language-picker/test/modal.js | 11 +- client/components/language-picker/utils.js | 8 +- client/components/line-chart/docs/example.js | 10 +- client/components/line-chart/index.js | 44 +- client/components/line-chart/legend.js | 4 +- .../components/locale-suggestions/index.jsx | 8 +- .../locale-suggestions/list-item.jsx | 2 +- .../locale-suggestions/test/index.jsx | 4 +- client/components/localized-moment/context.js | 2 +- client/components/localized-moment/index.js | 4 +- .../components/localized-moment/test/index.js | 10 +- client/components/marked-lines/index.jsx | 2 +- .../cancel-auto-renewal-form/index.jsx | 4 +- .../cancel-purchase-form/index.jsx | 20 +- .../options-for-product.js | 4 +- .../step-components/downgrade-step.jsx | 2 +- .../step-components/test/business-at-step.jsx | 26 +- .../step-components/test/upgrade-at-step.jsx | 2 +- .../step-components/upgrade-at-step.jsx | 2 +- .../gsuite-cancel-purchase-dialog/index.jsx | 4 +- .../multiple-choice-question/index.jsx | 12 +- client/components/pagination/docs/example.jsx | 2 +- .../components/pagination/pagination-page.jsx | 2 +- .../payment-country-select/index.jsx | 8 +- .../components/payment-logo/docs/example.jsx | 8 +- client/components/phone-input/index.jsx | 10 +- client/components/phone-input/phone-number.js | 16 +- .../phone-input/test/test-phone-number.js | 4 +- client/components/pie-chart/docs/example.js | 6 +- client/components/pie-chart/index.js | 12 +- .../pie-chart/legend-placeholder.js | 2 +- client/components/pie-chart/legend.js | 6 +- client/components/pie-chart/placeholder.js | 2 +- client/components/plans/plan-pill/index.jsx | 2 +- client/components/popover/index.jsx | 4 +- client/components/popover/menu-item.jsx | 2 +- client/components/popover/menu.jsx | 8 +- client/components/popover/util.js | 4 +- client/components/post-schedule/clock.jsx | 10 +- .../components/post-schedule/docs/example.jsx | 8 +- client/components/post-schedule/header.jsx | 2 +- client/components/post-schedule/index.jsx | 18 +- client/components/post-schedule/utils.js | 12 +- .../components/product-card/docs/example.jsx | 2 +- client/components/product-card/options.jsx | 2 +- .../components/product-card/price-group.jsx | 2 +- .../promo-section/promo-card/index.tsx | 2 +- client/components/rating/index.jsx | 4 +- client/components/rating/test/index.js | 4 +- client/components/readme-viewer/test/index.js | 2 +- .../redirect-when-logged-in/index.jsx | 4 +- .../redux-forms/redux-form-radio/index.jsx | 2 +- .../redux-forms/redux-form-select/index.jsx | 2 +- .../redux-form-text-input/index.jsx | 2 +- .../redux-forms/redux-form-textarea/index.jsx | 2 +- client/components/related-posts/index.jsx | 4 +- client/components/resizable-iframe/index.jsx | 4 +- client/components/search-sites/index.js | 13 +- client/components/search/index.jsx | 20 +- .../section-header/docs/example.jsx | 2 +- .../components/section-nav/docs/example.jsx | 12 +- client/components/section-nav/index.jsx | 2 +- client/components/section-nav/tabs.jsx | 6 +- client/components/section-nav/test/index.jsx | 14 +- .../segmented-control/docs/example.jsx | 2 +- client/components/segmented-control/item.jsx | 2 +- .../select-dropdown/docs/example.jsx | 2 +- client/components/select-dropdown/index.jsx | 20 +- client/components/select-dropdown/label.jsx | 2 +- .../components/select-dropdown/separator.jsx | 2 +- client/components/seo-preview-pane/index.jsx | 16 +- .../components/seo/facebook-preview/index.jsx | 2 +- client/components/seo/helpers.js | 9 +- .../seo/meta-title-editor/index.jsx | 6 +- .../seo/meta-title-editor/mappings.js | 4 +- .../seo/preview-upgrade-nudge/test/index.jsx | 34 +- .../components/seo/twitter-preview/index.jsx | 2 +- .../components/share-button/docs/example.jsx | 4 +- client/components/share/helpers.js | 9 +- .../components/sidebar-navigation/index.jsx | 9 +- .../signup-site-preview/component.jsx | 4 +- .../components/signup-site-preview/iframe.jsx | 2 +- .../components/signup-site-preview/index.jsx | 2 +- .../components/signup-site-preview/utils.js | 4 +- .../components/site-selector-modal/index.jsx | 6 +- client/components/site-selector/index.jsx | 14 +- client/components/site-title/index.jsx | 4 +- .../components/site-users-fetcher/index.jsx | 10 +- .../index.jsx | 10 +- .../popular-topics.jsx | 4 +- .../test/index.js | 2 +- client/components/sites-dropdown/index.jsx | 2 +- .../components/sites-dropdown/test/index.js | 2 +- client/components/social-buttons/apple.js | 6 +- client/components/social-buttons/facebook.js | 10 +- client/components/social-buttons/google.js | 12 +- .../components/social-logo/docs/example.jsx | 2 +- client/components/sorted-grid/index.jsx | 2 +- client/components/sorted-grid/label.jsx | 6 +- client/components/split-button/index.jsx | 6 +- client/components/sticky-panel/index.jsx | 6 +- client/components/sticky-panel/test/index.js | 4 +- .../components/sub-masterbar-nav/dropdown.jsx | 2 +- client/components/sub-masterbar-nav/index.jsx | 2 +- client/components/sub-masterbar-nav/item.jsx | 2 +- .../components/sub-masterbar-nav/navbar.jsx | 2 +- .../sub-masterbar-nav/test/dropdown.jsx | 14 +- .../suggestion-search/docs/example.jsx | 2 +- client/components/suggestion-search/index.jsx | 6 +- client/components/text-diff/index.jsx | 2 +- client/components/theme/docs/example.jsx | 6 +- client/components/theme/more-button.jsx | 2 +- .../components/themes-list/docs/example.jsx | 8 +- client/components/themes-list/index.jsx | 8 +- client/components/time-since/docs/example.jsx | 12 +- client/components/time-since/index.jsx | 2 +- client/components/timeline/index.jsx | 2 +- client/components/timezone/docs/example.jsx | 2 +- client/components/timezone/index.jsx | 6 +- client/components/tinymce/index.jsx | 24 +- .../tinymce/plugins/advanced/plugin.jsx | 10 +- .../plugins/after-the-deadline/core.js | 62 +- .../plugins/after-the-deadline/plugin.js | 58 +- .../tinymce/plugins/calypso-alert/plugin.jsx | 6 +- .../contact-form/dialog/field-list.jsx | 2 +- .../plugins/contact-form/dialog/field.jsx | 6 +- .../plugins/contact-form/dialog/index.jsx | 2 +- .../plugins/contact-form/dialog/locales.js | 2 +- .../contact-form/dialog/navigation.jsx | 2 +- .../plugins/contact-form/dialog/settings.jsx | 4 +- .../contact-form/dialog/validations.js | 4 +- .../tinymce/plugins/contact-form/plugin.jsx | 2 +- .../plugins/editor-button-analytics/plugin.js | 8 +- .../tinymce/plugins/embed/dialog.jsx | 18 +- .../tinymce/plugins/embed/docs/example.jsx | 4 +- .../tinymce/plugins/embed/plugin.js | 2 +- .../tinymce/plugins/embed/test/dialog.js | 4 +- .../plugins/insert-menu/menu-items.jsx | 2 +- .../tinymce/plugins/insert-menu/plugin.jsx | 4 +- .../tinymce/plugins/markdown/plugin.js | 4 +- .../tinymce/plugins/media/drop-zone.jsx | 6 +- .../tinymce/plugins/media/plugin.jsx | 52 +- .../plugins/media/restrict-size/index.js | 12 +- .../tinymce/plugins/mentions/mentions.jsx | 4 +- .../tinymce/plugins/mentions/plugin.jsx | 2 +- .../simple-payments/dialog/docs/example.jsx | 2 +- .../plugins/simple-payments/dialog/form.jsx | 8 +- .../plugins/simple-payments/dialog/index.jsx | 38 +- .../plugins/simple-payments/dialog/list.jsx | 2 +- .../dialog/membershipProductForm.jsx | 12 +- .../simple-payments/dialog/memberships.jsx | 40 +- .../simple-payments/dialog/navigation.jsx | 2 +- .../dialog/product-image-picker.jsx | 14 +- .../simple-payments/memberships-plugin.jsx | 4 +- .../plugins/simple-payments/plugin.jsx | 2 +- .../tinymce/plugins/toolbar-pin/plugin.js | 4 +- .../plugins/touch-scroll-toolbar/plugin.js | 8 +- .../plugins/wpcom-autoresize/plugin.js | 10 +- .../tinymce/plugins/wpcom-charmap/charmap.jsx | 4 +- .../tinymce/plugins/wpcom-charmap/plugin.js | 8 +- .../tinymce/plugins/wpcom-help/help-modal.jsx | 2 +- .../tinymce/plugins/wpcom-help/plugin.js | 8 +- .../plugins/wpcom-sourcecode/plugin.js | 17 +- .../tinymce/plugins/wpcom-tabindex/plugin.js | 4 +- .../plugins/wpcom-track-paste/plugin.js | 8 +- .../tinymce/plugins/wpcom-view/plugin.js | 82 +- .../plugins/wpcom-view/resizable-view.jsx | 2 +- .../tinymce/plugins/wpcom-view/views.js | 8 +- .../views/contact-form/preview-fields.jsx | 2 +- .../plugins/wpcom-view/views/embed/index.js | 4 +- .../views/simple-payments/index.jsx | 4 +- .../plugins/wpcom-view/views/video/view.jsx | 2 +- .../tinymce/plugins/wpcom/plugin.js | 82 +- .../tinymce/plugins/wpcom/wpcom-utils.js | 2 +- .../tinymce/plugins/wpeditimage/plugin.js | 78 +- .../tinymce/plugins/wpemoji/plugin.js | 22 +- .../tinymce/plugins/wplink/dialog.jsx | 14 +- .../tinymce/plugins/wplink/plugin.js | 25 +- .../tinymce/plugins/wptextpattern/plugin.js | 28 +- .../components/title-format-editor/index.jsx | 10 +- .../components/title-format-editor/parser.js | 4 +- .../components/title-format-editor/token.jsx | 2 +- .../components/token-field/docs/example.jsx | 10 +- client/components/token-field/index.jsx | 50 +- .../token-field/suggestions-list.jsx | 20 +- client/components/token-field/test/index.jsx | 9 +- .../test/lib/token-field-wrapper.jsx | 2 +- client/components/token-field/token-input.jsx | 4 +- .../components/track-input-changes/index.jsx | 6 +- .../track-input-changes/test/index.jsx | 2 +- .../components/translatable/test/proptype.js | 2 +- .../translator-invite/test/index.js | 2 +- .../translator-invite/test/utils.js | 2 +- .../gsuite/gsuite-upsell-card/index.jsx | 8 +- .../gsuite-upsell-card/product-details.jsx | 10 +- client/components/upgrades/gsuite/index.jsx | 4 +- client/components/user/docs/example.jsx | 2 +- .../vertical-menu/items/social-item.jsx | 4 +- client/components/virtual-list/index.jsx | 4 +- client/components/web-preview/content.jsx | 14 +- client/components/web-preview/index.jsx | 2 +- client/components/web-preview/toolbar.jsx | 2 +- .../webpack-build-monitor/webpack-client.ts | 8 +- .../components/wpadmin-auto-login/index.jsx | 2 +- client/config/index.js | 2 +- client/devdocs/controller.js | 28 +- client/devdocs/design/blocks.jsx | 2 +- client/devdocs/design/index.jsx | 2 +- client/devdocs/design/playground-utils.js | 4 +- client/devdocs/design/playground.jsx | 6 +- client/devdocs/design/search-collection.jsx | 10 +- client/devdocs/doc.jsx | 4 +- client/devdocs/docs-example/util.js | 10 +- client/devdocs/docs-selectors/result.jsx | 2 +- client/devdocs/docs-selectors/search.jsx | 2 +- client/devdocs/docs-selectors/single.jsx | 2 +- client/devdocs/form-state-examples/index.jsx | 2 +- client/devdocs/index.js | 4 +- client/devdocs/main.jsx | 14 +- client/devdocs/service.js | 6 +- client/dispatcher/index.js | 4 +- client/document/desktop.jsx | 2 +- client/document/domains-landing.jsx | 30 +- client/document/index.jsx | 34 +- client/document/support-user.jsx | 6 +- client/document/utils/index.jsx | 2 +- client/extensions/hello-dolly/index.js | 2 +- .../extensions/hello-dolly/state/selectors.js | 2 +- .../hello-dolly/state/test/selectors.js | 2 +- client/extensions/index.js | 2 +- client/extensions/sensei/index.js | 2 +- .../woocommerce/app/dashboard/index.js | 2 +- .../app/dashboard/manage-no-orders-view.js | 2 +- .../woocommerce/app/dashboard/setup/index.js | 2 +- .../app/dashboard/setup/store-location.js | 10 +- .../woocommerce/app/dashboard/setup/tasks.js | 2 +- .../widgets/inventory-widget/controls.js | 18 +- .../widgets/inventory-widget/index.js | 19 +- .../dashboard/widgets/stats-widget/index.js | 20 +- .../dashboard/widgets/stats-widget/stat.js | 4 +- .../woocommerce/app/order/create.js | 8 +- .../woocommerce/app/order/header.js | 8 +- .../extensions/woocommerce/app/order/index.js | 2 +- .../app/order/order-activity-log/event.js | 18 +- .../app/order/order-activity-log/events.js | 10 +- .../app/order/order-activity-log/new-note.js | 6 +- .../app/order/order-customer/create.js | 8 +- .../app/order/order-customer/dialog.js | 16 +- .../app/order/order-customer/index.js | 6 +- .../app/order/order-details/add-items.js | 2 +- .../app/order/order-details/fee-dialog.js | 8 +- .../app/order/order-details/index.js | 6 +- .../app/order/order-details/line-item.js | 8 +- .../app/order/order-details/product-dialog.js | 10 +- .../app/order/order-details/table.js | 12 +- .../app/order/order-fulfillment/index.js | 6 +- .../app/order/order-payment/dialog.js | 14 +- .../app/order/order-payment/index.js | 4 +- .../app/order/order-payment/table.js | 18 +- .../woocommerce/app/orders/index.js | 2 +- .../app/orders/orders-filter-nav.js | 6 +- .../woocommerce/app/orders/orders-list.js | 10 +- .../app/product-categories/form.js | 12 +- .../app/product-categories/index.js | 8 +- .../app/product-categories/list.js | 2 +- .../app/product-categories/update.js | 2 +- .../woocommerce/app/products/index.js | 4 +- .../app/products/product-create.js | 10 +- .../product-form-additional-details-card.js | 11 +- .../products/product-form-categories-card.js | 10 +- .../app/products/product-form-details-card.js | 12 +- .../app/products/product-form-images.js | 22 +- .../app/products/product-form-simple-card.js | 10 +- .../products/product-form-variations-card.js | 12 +- .../products/product-form-variations-modal.js | 10 +- .../products/product-form-variations-row.js | 12 +- .../products/product-form-variations-table.js | 12 +- .../woocommerce/app/products/product-form.js | 2 +- .../app/products/product-update.js | 8 +- .../products/product-variation-types-form.js | 17 +- .../app/products/products-list-row.js | 2 +- .../app/promotions/fields/checkbox-field.js | 2 +- .../app/promotions/fields/currency-field.js | 4 +- .../app/promotions/fields/date-field.js | 4 +- .../app/promotions/fields/number-field.js | 4 +- .../app/promotions/fields/percent-field.js | 4 +- .../applies-to-filtered-list.js | 24 +- .../promotion-applies-to-field/index.js | 6 +- .../app/promotions/fields/text-field.js | 4 +- .../app/promotions/promotion-create.js | 4 +- .../app/promotions/promotion-form-card.js | 2 +- .../promotions/promotion-form-type-card.js | 2 +- .../app/promotions/promotion-form.js | 4 +- .../app/promotions/promotion-models.js | 4 +- .../app/promotions/promotion-update.js | 8 +- .../app/promotions/promotions-list.js | 6 +- .../woocommerce/app/reviews/review-card.js | 2 +- .../woocommerce/app/reviews/review-replies.js | 2 +- .../app/reviews/review-reply-create.js | 6 +- .../woocommerce/app/reviews/review-reply.js | 4 +- .../app/reviews/reviews-filter-nav.js | 4 +- .../woocommerce/app/reviews/reviews-list.js | 6 +- .../components/customer-notification.js | 2 +- .../email-settings/components/helpers.js | 10 +- .../components/internal-notification.js | 2 +- .../settings/email/email-settings/index.js | 4 +- .../app/settings/email/mailchimp/index.js | 2 +- .../email/mailchimp/mailchimp_dashboard.js | 6 +- .../email/mailchimp/setup-mailchimp.js | 14 +- .../setup-steps/newsletter-settings.js | 2 +- .../email/mailchimp/setup-steps/store-info.js | 6 +- .../app/settings/email/mailchimp/sync_tab.js | 2 +- .../woocommerce/app/settings/navigation.js | 2 +- .../settings/payments/payment-method-bacs.js | 6 +- .../payments/payment-method-cheque.js | 2 +- .../payments/payment-method-edit-dialog.js | 16 +- .../payment-method-edit-form-toggle.js | 2 +- .../settings/payments/payment-method-item.js | 4 +- .../settings/payments/payment-method-list.js | 4 +- .../payments/payment-method-paypal.js | 2 +- .../payments/payment-method-stripe.js | 2 +- .../payments/payments-location-currency.js | 6 +- .../payment-method-stripe-connect-account.js | 2 +- .../payment-method-stripe-key-based-dialog.js | 2 +- .../stripe/payment-method-stripe-utils.js | 5 +- .../app/settings/shipping/index.js | 4 +- .../app/settings/shipping/save-button.js | 4 +- .../app/settings/shipping/shipping-units.js | 12 +- .../shipping/shipping-zone-list-entry.js | 4 +- .../settings/shipping/shipping-zone-list.js | 6 +- .../settings/shipping/shipping-zone/index.js | 4 +- .../shipping-methods/flat-rate.js | 2 +- .../shipping-methods/free-shipping.js | 4 +- .../shipping-methods/local-pickup.js | 2 +- .../shipping-zone/shipping-zone-header.js | 2 +- ...shipping-zone-location-dialog-countries.js | 4 +- .../shipping-zone-location-dialog-settings.js | 12 +- .../shipping-zone-location-dialog.js | 2 +- .../shipping-zone-location-list.js | 4 +- .../shipping-zone-method-dialog.js | 5 +- .../shipping-zone/shipping-zone-name.js | 2 +- .../woocommerce/app/settings/taxes/index.js | 2 +- .../app/settings/taxes/save-button.js | 2 +- .../app/settings/taxes/taxes-rates.js | 2 +- .../app/settings/taxes/taxes-wcs.js | 6 +- .../woocommerce/app/store-stats/controller.js | 2 +- .../woocommerce/app/store-stats/index.js | 8 +- .../woocommerce/app/store-stats/listview.js | 2 +- .../app/store-stats/referrers/chart/index.js | 2 +- .../app/store-stats/referrers/helpers.js | 2 +- .../app/store-stats/referrers/index.js | 9 +- .../app/store-stats/referrers/test/helpers.js | 2 +- .../store-stats/store-stats-chart/index.js | 18 +- .../store-stats-period-nav/index.js | 4 +- .../store-stats-referrer-conv-widget/index.js | 4 +- .../store-stats-referrer-widget-base/index.js | 6 +- .../store-stats-referrer-widget/index.js | 4 +- .../store-stats-widget-list/index.js | 8 +- .../woocommerce/app/store-stats/test/utils.js | 20 +- .../woocommerce/app/store-stats/utils.js | 26 +- .../components/action-header/actions.js | 8 +- .../components/action-header/index.js | 4 +- .../components/address-view/index.js | 4 +- .../components/api-keys-view/index.js | 2 +- .../components/bulk-select/index.js | 2 +- .../components/compact-tinymce/index.js | 6 +- .../woocommerce/components/d3/base/index.js | 6 +- .../components/d3/base/test/index.js | 4 +- .../components/d3/horizontal-bar/index.js | 6 +- .../d3/horizontal-bar/test/index.js | 20 +- .../components/d3/sparkline/index.js | 9 +- .../components/d3/sparkline/test/index.jsx | 2 +- .../components/dashboard-widget/row.js | 2 +- .../components/filtered-list/index.js | 4 +- .../form-click-to-edit-input/index.js | 2 +- .../form-location-select/countries.js | 8 +- .../components/form-location-select/states.js | 4 +- .../product-image-uploader/index.js | 12 +- .../product-reviews-widget/index.js | 2 +- .../components/product-search/index.js | 12 +- .../components/product-search/row.js | 24 +- .../components/product-search/utils.js | 4 +- .../components/product-search/variations.js | 10 +- .../components/query-locations/index.js | 2 +- .../query-settings-general/index.js | 4 +- .../components/query-shipping-zones/index.js | 2 +- .../components/reading-widget/index.js | 10 +- .../components/share-widget/index.js | 2 +- .../components/store-address/index.js | 6 +- .../components/text-control/index.js | 8 +- client/extensions/woocommerce/index.js | 4 +- .../woocommerce/lib/analytics/index.js | 2 +- .../lib/analytics/test/tracks-utils.js | 6 +- .../woocommerce/lib/countries/index.js | 6 +- .../lib/generate-variations/index.js | 17 +- .../lib/get-address-view-format/index.js | 2 +- .../lib/get-keyboard-handler/index.js | 4 +- .../woocommerce/state/action-list/reducer.js | 4 +- .../state/data-layer/customers/index.js | 2 +- .../state/data-layer/data/counts/index.js | 6 +- .../state/data-layer/data/currencies/index.js | 2 +- .../state/data-layer/data/locations/index.js | 2 +- .../state/data-layer/orders/index.js | 12 +- .../state/data-layer/orders/notes/index.js | 12 +- .../state/data-layer/orders/refunds/index.js | 12 +- .../data-layer/orders/send-invoice/index.js | 6 +- .../state/data-layer/orders/test/index.js | 4 +- .../state/data-layer/payment-methods/index.js | 2 +- .../data-layer/product-categories/index.js | 8 +- .../data-layer/product-variations/index.js | 4 +- .../state/data-layer/products/index.js | 9 +- .../state/data-layer/request/index.js | 4 +- .../state/data-layer/request/test/index.js | 10 +- .../data-layer/shipping-classes/index.js | 6 +- .../data-layer/shipping-classes/test/index.js | 2 +- .../shipping-zone-locations/index.js | 4 +- .../state/data-layer/ui/payments/index.js | 8 +- .../state/data-layer/ui/products/index.js | 30 +- .../data-layer/ui/products/test/index.js | 4 +- .../data-layer/ui/shipping-zones/index.js | 40 +- .../ui/woocommerce-services/index.js | 10 +- .../woocommerce/state/data-layer/utils.js | 2 +- .../woocommerce/state/selectors/plugins.js | 6 +- .../woocommerce/state/selectors/promotions.js | 6 +- .../state/sites/coupons/handlers.js | 3 +- .../state/sites/coupons/reducer.js | 2 +- .../state/sites/customers/reducer.js | 2 +- .../state/sites/customers/selectors.js | 2 +- .../state/sites/data/counts/selectors.js | 4 +- .../state/sites/data/locations/reducer.js | 6 +- .../state/sites/data/locations/selectors.js | 10 +- .../woocommerce/state/sites/http-request.js | 6 +- .../state/sites/meta/taxrates/actions.js | 4 +- .../sites/orders/activity-log/selectors.js | 7 +- .../state/sites/orders/notes/reducer.js | 2 +- .../state/sites/orders/notes/selectors.js | 2 +- .../woocommerce/state/sites/orders/reducer.js | 2 +- .../state/sites/orders/selectors.js | 10 +- .../woocommerce/state/sites/orders/utils.js | 14 +- .../state/sites/payment-methods/actions.js | 8 +- .../state/sites/payment-methods/reducer.js | 2 +- .../sites/payment-methods/test/actions.js | 2 +- .../state/sites/product-categories/actions.js | 2 +- .../state/sites/product-categories/reducer.js | 2 +- .../sites/product-categories/selectors.js | 6 +- .../state/sites/product-variations/reducer.js | 2 +- .../state/sites/products/actions.js | 4 +- .../state/sites/products/reducer.js | 6 +- .../state/sites/products/selectors.js | 4 +- .../state/sites/products/test/actions.js | 2 +- .../state/sites/promotions/handlers.js | 7 +- .../state/sites/promotions/helpers.js | 4 +- .../state/sites/promotions/reducer.js | 8 +- .../woocommerce/state/sites/request.js | 30 +- .../state/sites/review-replies/reducer.js | 2 +- .../state/sites/reviews/handlers.js | 2 +- .../state/sites/reviews/reducer.js | 2 +- .../state/sites/reviews/selectors.js | 2 +- .../state/sites/settings/actions.js | 8 +- .../state/sites/settings/email/actions.js | 22 +- .../state/sites/settings/email/reducer.js | 6 +- .../state/sites/settings/email/selectors.js | 2 +- .../sites/settings/email/test/actions.js | 4 +- .../state/sites/settings/general/actions.js | 6 +- .../state/sites/settings/general/handlers.js | 2 +- .../state/sites/settings/general/reducer.js | 4 +- .../state/sites/settings/general/selectors.js | 4 +- .../state/sites/settings/helpers.js | 4 +- .../state/sites/settings/mailchimp/actions.js | 66 +- .../settings/mailchimp/querySyncStatus.jsx | 2 +- .../sites/settings/mailchimp/selectors.js | 2 +- .../sites/settings/mailchimp/test/actions.js | 10 +- .../state/sites/settings/products/actions.js | 14 +- .../sites/settings/products/selectors.js | 6 +- .../sites/settings/products/test/actions.js | 6 +- .../stripe-connect-account/actions.js | 24 +- .../stripe-connect-account/test/actions.js | 10 +- .../state/sites/settings/tax/actions.js | 10 +- .../state/sites/settings/tax/reducer.js | 4 +- .../state/sites/setup-choices/actions.js | 30 +- .../state/sites/setup-choices/test/actions.js | 20 +- .../state/sites/shipping-classes/actions.js | 4 +- .../state/sites/shipping-classes/reducers.js | 2 +- .../sites/shipping-classes/test/reducers.js | 2 +- .../state/sites/shipping-methods/actions.js | 8 +- .../state/sites/shipping-methods/selectors.js | 6 +- .../sites/shipping-zone-locations/actions.js | 4 +- .../sites/shipping-zone-methods/actions.js | 6 +- .../sites/shipping-zone-methods/reducer.js | 2 +- .../sites/shipping-zone-methods/selectors.js | 4 +- .../state/sites/shipping-zones/actions.js | 10 +- .../state/sites/shipping-zones/reducer.js | 4 +- .../state/sites/shipping-zones/selectors.js | 8 +- .../sites/shipping-zones/test/actions.js | 2 +- .../woocommerce/state/sites/test/request.js | 24 +- .../woocommerce/state/test/helpers/index.js | 2 +- .../woocommerce/state/ui/orders/actions.js | 2 +- .../state/ui/payments/methods/actions.js | 4 +- .../state/ui/payments/methods/reducer.js | 6 +- .../state/ui/payments/methods/selectors.js | 8 +- .../ui/product-categories/edits-reducer.js | 6 +- .../state/ui/product-categories/selectors.js | 2 +- .../woocommerce/state/ui/products/actions.js | 2 +- .../state/ui/products/edits-reducer.js | 14 +- .../state/ui/products/selectors.js | 2 +- .../ui/products/variations/edits-reducer.js | 22 +- .../state/ui/products/variations/selectors.js | 10 +- .../products/variations/test/edits-reducer.js | 6 +- .../state/ui/promotions/edits-reducer.js | 2 +- .../state/ui/shipping/zones/actions.js | 6 +- .../ui/shipping/zones/locations/actions.js | 12 +- .../ui/shipping/zones/locations/selectors.js | 24 +- .../zones/locations/test/selectors.js | 2 +- .../ui/shipping/zones/methods/actions.js | 4 +- .../zones/methods/flat-rate/reducer.js | 2 +- .../zones/methods/free-shipping/reducer.js | 2 +- .../ui/shipping/zones/methods/helpers.js | 4 +- .../zones/methods/local-pickup/reducer.js | 2 +- .../ui/shipping/zones/methods/reducer.js | 4 +- .../ui/shipping/zones/methods/selectors.js | 8 +- .../ui/shipping/zones/methods/test/reducer.js | 2 +- .../state/ui/shipping/zones/reducer.js | 2 +- .../state/ui/shipping/zones/selectors.js | 8 +- .../woocommerce/state/wc-api/utils.js | 4 +- .../woocommerce/store-sidebar/index.js | 4 +- .../store-sidebar/store-ground-control.js | 2 +- .../woocommerce-services/api/index.js | 2 +- .../woocommerce-services/api/url.js | 4 +- .../components/checkbox/index.js | 2 +- .../components/dropdown/index.js | 4 +- .../components/labels-setup-notice/index.js | 2 +- .../components/number-field/index.js | 2 +- .../components/number-field/number-input.js | 4 +- .../components/price-field/index.js | 2 +- .../components/query-label-settings/index.js | 4 +- .../components/query-labels/index.js | 2 +- .../components/query-packages/index.js | 4 +- .../components/radio-buttons/index.js | 2 +- .../shipping-classes-field/index.js | 12 +- .../components/text-field/index.js | 2 +- .../components/text/index.js | 4 +- .../components/weight-field/index.js | 2 +- .../lib/get-default-settings-values/index.js | 2 +- .../lib/initialize-labels-state/index.js | 4 +- .../lib/pdf-label-utils/index.js | 6 +- .../lib/utils/coerce-values.js | 4 +- .../lib/utils/get-address-values.js | 2 +- .../lib/utils/get-box-dimensions.js | 2 +- .../lib/utils/get-packaging-manager-link.js | 2 +- .../lib/utils/parse-number.js | 2 +- .../lib/utils/pdf-support.js | 2 +- .../lib/utils/print-document.js | 4 +- .../lib/utils/sanitize-html.js | 2 +- .../woocommerce-services/lib/utils/tree.js | 2 +- .../state/label-settings/actions.js | 12 +- .../state/label-settings/reducer.js | 6 +- .../state/label-settings/selectors.js | 2 +- .../state/packages/actions.js | 12 +- .../state/packages/reducer.js | 12 +- .../state/packages/selectors.js | 38 +- .../state/packages/test/selectors.js | 2 +- .../service-settings/selectors/errors.js | 10 +- .../state/shipping-label/actions.js | 70 +- .../state/shipping-label/get-rates.js | 8 +- .../state/shipping-label/normalize-address.js | 4 +- .../state/shipping-label/reducer.js | 38 +- .../state/shipping-label/selectors.js | 34 +- .../state/shipping-label/test/actions.js | 4 +- .../state/shipping-label/test/reducer.js | 2 +- .../state/shipping-label/test/selectors.js | 4 +- .../state/shipping-method-schemas/actions.js | 4 +- .../shipping-zone-method-settings/actions.js | 6 +- .../shipping-zone-method-settings/reducer.js | 2 +- .../label-settings/add-credit-card-modal.js | 2 +- .../views/label-settings/label-settings.js | 10 +- .../views/packages/edit-package.js | 10 +- .../views/packages/index.js | 6 +- .../views/packages/input-filters.js | 10 +- .../views/packages/modal-errors.js | 12 +- .../views/packages/package-dialog.js | 12 +- .../views/packages/packages-list-item.js | 4 +- .../views/packages/predefined-packages.js | 8 +- .../service-settings/settings-form/index.js | 4 +- .../settings-form/settings-group.js | 4 +- .../settings-form/settings-item.js | 2 +- .../shipping-services/entry.js | 8 +- .../shipping-services/group.js | 8 +- .../shipping-services/index.js | 14 +- .../shipping-label/label-details-modal.js | 4 +- .../views/shipping-label/label-item.js | 8 +- .../address-step/fields.js | 12 +- .../address-step/index.js | 4 +- .../address-step/suggestion.js | 4 +- .../address-step/summary.js | 2 +- .../customs-step/index.js | 2 +- .../customs-step/item-row.js | 12 +- .../customs-step/package-row.js | 17 +- .../label-purchase-modal/index.js | 4 +- .../packages-step/add-item.js | 12 +- .../packages-step/get-package-descriptions.js | 2 +- .../packages-step/index.js | 6 +- .../packages-step/item-info.js | 4 +- .../packages-step/list.js | 6 +- .../packages-step/move-item.js | 6 +- .../packages-step/package-info.js | 14 +- .../label-purchase-modal/purchase-button.js | 4 +- .../label-purchase-modal/rates-step/index.js | 8 +- .../label-purchase-modal/rates-step/list.js | 6 +- .../label-purchase-modal/sidebar.js | 6 +- .../shipping-label/label-refund-modal.js | 4 +- .../shipping-label/label-reprint-modal.js | 6 +- .../views/shipping-label/tracking-link.js | 4 +- client/extensions/wp-super-cache/app/main.jsx | 8 +- .../advanced/accepted-filenames.jsx | 4 +- .../components/advanced/advanced.jsx | 2 +- .../components/advanced/cache-location.jsx | 2 +- .../components/advanced/caching.jsx | 2 +- .../advanced/directly-cached-files.jsx | 4 +- .../components/advanced/expiry-time.jsx | 14 +- .../components/advanced/fix-config.jsx | 2 +- .../components/advanced/index.jsx | 4 +- .../components/advanced/lock-down.jsx | 2 +- .../components/advanced/miscellaneous.jsx | 2 +- .../advanced/rejected-user-agents.jsx | 2 +- .../wp-super-cache/components/cdn/index.jsx | 2 +- .../components/contents/cache-stats.jsx | 4 +- .../components/contents/index.jsx | 12 +- .../wp-super-cache/components/debug/index.jsx | 6 +- .../wp-super-cache/components/easy/index.jsx | 6 +- .../components/navigation/index.jsx | 2 +- .../components/plugins/index.jsx | 6 +- .../components/preload/index.jsx | 6 +- .../components/wrap-settings-form.jsx | 20 +- client/extensions/wp-super-cache/index.js | 2 +- .../wp-super-cache/state/cache/actions.js | 8 +- .../state/cache/test/actions.js | 10 +- .../state/cache/test/reducer.js | 2 +- .../wp-super-cache/state/plugins/actions.js | 10 +- .../state/plugins/test/actions.js | 6 +- .../state/plugins/test/reducer.js | 2 +- .../wp-super-cache/state/settings/actions.js | 12 +- .../state/settings/test/actions.js | 8 +- .../state/settings/test/reducer.js | 2 +- .../wp-super-cache/state/settings/utils.js | 4 +- .../wp-super-cache/state/stats/actions.js | 4 +- .../state/stats/test/actions.js | 6 +- .../state/stats/test/reducer.js | 2 +- .../wp-super-cache/state/status/actions.js | 4 +- .../state/status/test/actions.js | 4 +- .../state/status/test/reducer.js | 2 +- client/extensions/zoninator/app/controller.js | 2 +- client/extensions/zoninator/app/util.js | 2 +- .../components/data/query-feed/index.jsx | 2 +- .../components/data/zone-lock/index.jsx | 2 +- .../forms/zone-content-form/index.jsx | 2 +- .../forms/zone-content-form/post-card.jsx | 4 +- .../forms/zone-content-form/posts-list.jsx | 10 +- .../forms/zone-details-form/index.jsx | 2 +- .../recent-posts-dropdown/index.jsx | 2 +- .../components/search-autocomplete/index.jsx | 6 +- .../search-autocomplete/post-suggestions.jsx | 4 +- .../zoninator/components/settings/index.jsx | 2 +- .../settings/zone-creator/index.jsx | 2 +- .../zone/zone-lock-warning-notice.jsx | 2 +- .../settings/zones-dashboard/index.jsx | 6 +- .../settings/zones-dashboard/zone-item.jsx | 2 +- client/extensions/zoninator/index.js | 2 +- .../zoninator/state/data-layer/feeds/index.js | 8 +- .../zoninator/state/data-layer/feeds/util.js | 6 +- .../zoninator/state/data-layer/locks/index.js | 2 +- .../zoninator/state/data-layer/zones/index.js | 16 +- .../zoninator/state/data-layer/zones/utils.js | 6 +- .../zoninator/state/feeds/selectors.js | 2 +- .../zoninator/state/locks/selectors.js | 2 +- .../zoninator/state/zones/actions.js | 4 +- .../zoninator/state/zones/selectors.js | 2 +- client/gutenberg/editor/calypsoify-iframe.tsx | 10 +- client/gutenberg/editor/controller.js | 2 +- client/gutenberg/editor/index.js | 4 +- client/gutenberg/editor/media-utils.js | 8 +- client/jetpack-connect/auth-form-header.jsx | 2 +- client/jetpack-connect/authorize.js | 12 +- client/jetpack-connect/controller.js | 6 +- client/jetpack-connect/happychat-button.jsx | 2 +- client/jetpack-connect/index.js | 4 +- .../jetpack-connect/install-instructions.jsx | 2 +- client/jetpack-connect/install-step.jsx | 4 +- .../jetpack-new-site/index.jsx | 2 +- client/jetpack-connect/jetpack-only.js | 4 +- .../jetpack-remote-install-notices.jsx | 4 +- client/jetpack-connect/main-wrapper.jsx | 2 +- client/jetpack-connect/main.jsx | 18 +- client/jetpack-connect/persistence-utils.js | 12 +- client/jetpack-connect/plans-landing.jsx | 4 +- client/jetpack-connect/plans-placeholder.js | 4 +- client/jetpack-connect/plans.jsx | 6 +- client/jetpack-connect/remote-credentials.js | 6 +- client/jetpack-connect/signup.js | 2 +- client/jetpack-connect/site-url-input.jsx | 4 +- client/jetpack-connect/sso.jsx | 28 +- client/jetpack-connect/test/utils.js | 2 +- .../domains/registrant-verification/index.jsx | 14 +- .../transfer-away-confirmation/index.jsx | 8 +- client/landing/domains/utils.js | 5 +- .../components/domain-picker-button/index.tsx | 2 +- .../components/domain-picker/index.tsx | 6 +- .../domain-picker/suggestion-item.tsx | 6 +- .../gutenboarding/components/header/index.tsx | 34 +- .../login-form/enter-password/index.tsx | 2 +- .../components/login-form/index.tsx | 6 +- .../components/signup-form/index.tsx | 8 +- .../hooks/use-domain-suggestions.ts | 4 +- .../hooks/use-free-domain-suggestion.ts | 4 +- client/landing/gutenboarding/index.tsx | 6 +- .../onboarding-block/acquire-intent/arrow.tsx | 2 +- .../onboarding-block/acquire-intent/index.tsx | 2 +- .../acquire-intent/site-title.tsx | 2 +- .../acquire-intent/vertical-select/index.tsx | 10 +- .../create-site/create-and-redirect.tsx | 4 +- .../onboarding-block/create-site/index.tsx | 14 +- .../design-selector/index.tsx | 2 +- .../gutenboarding/onboarding-block/edit.tsx | 26 +- .../style-preview/font-select.tsx | 8 +- .../onboarding-block/style-preview/index.tsx | 4 +- .../style-preview/preview.tsx | 2 +- client/landing/gutenboarding/path.ts | 2 +- .../gutenboarding/stores/onboard/actions.ts | 2 +- .../gutenboarding/stores/onboard/reducer.ts | 2 +- .../gutenboarding/utils/domain-suggestions.ts | 4 +- .../components/activity-card-list/index.jsx | 8 +- .../components/backup-delta/index.jsx | 18 +- .../components/daily-backup-status/index.jsx | 4 +- .../components/date-picker/index.jsx | 4 +- .../fix-all-threats-dialog/index.tsx | 2 +- .../components/masterbar/index.jsx | 6 +- .../components/scan-threats/index.tsx | 10 +- .../components/sidebar/index.jsx | 4 +- .../components/site-offset/context.tsx | 8 +- .../components/site-offset/index.tsx | 6 +- .../test/index.js | 6 +- client/landing/jetpack-cloud/index.js | 4 +- .../backups/backup-activity-log/index.tsx | 2 +- .../sections/backups/detail/index.jsx | 12 +- .../jetpack-cloud/sections/backups/index.js | 2 +- .../jetpack-cloud/sections/backups/main.jsx | 16 +- .../sections/backups/rewind-flow/download.tsx | 8 +- .../sections/backups/rewind-flow/index.tsx | 4 +- .../sections/backups/rewind-flow/restore.tsx | 10 +- .../jetpack-cloud/sections/backups/utils.js | 38 +- .../jetpack-cloud/sections/scan/controller.js | 2 +- .../sections/scan/history/index.jsx | 8 +- .../jetpack-cloud/sections/scan/index.js | 2 +- .../jetpack-cloud/sections/scan/main.jsx | 2 +- .../jetpack-cloud/sections/scan/upsell.jsx | 2 +- .../jetpack-cloud/sections/settings/index.js | 2 +- .../jetpack-cloud/sections/settings/main.jsx | 2 +- client/landing/login/common.js | 8 +- client/landing/login/index.js | 2 +- client/layout/body-section-css-class.js | 6 +- .../layout/community-translator/launcher.jsx | 20 +- client/layout/guided-tours/component.jsx | 6 +- .../guided-tours/config-elements/link-quit.js | 2 +- .../guided-tours/config-elements/make-tour.js | 2 +- .../guided-tours/config-elements/quit.js | 2 +- .../guided-tours/config-elements/site-link.js | 4 +- .../guided-tours/config-elements/step.tsx | 2 +- .../guided-tours/config-elements/tour.js | 2 +- ...-selected-site-premium-or-business-plan.js | 2 +- client/layout/guided-tours/index.js | 2 +- client/layout/guided-tours/tour-branching.js | 8 +- .../jetpack-backups-rewind-tour/index.js | 4 +- .../jetpack-plugin-updates-tour/index.tsx | 4 +- .../tours/simple-payments-email-tour/index.js | 4 +- client/layout/index.jsx | 2 +- client/layout/loader.jsx | 2 +- client/layout/logged-out.jsx | 4 +- client/layout/masterbar/crowdsignal.jsx | 30 +- client/layout/masterbar/drafts-popover.jsx | 2 +- client/layout/masterbar/drafts.jsx | 8 +- client/layout/masterbar/logged-in.jsx | 4 +- client/layout/masterbar/logged-out.jsx | 2 +- client/layout/masterbar/notifications.jsx | 6 +- client/layout/masterbar/publish.jsx | 10 +- .../masterbar/quick-language-switcher.jsx | 6 +- client/layout/nps-survey-notice/index.jsx | 6 +- client/layout/sidebar/expandable.jsx | 4 +- client/layout/sidebar/heading.jsx | 2 +- client/layout/sidebar/index.jsx | 2 +- client/layout/sidebar/skip-navigation.jsx | 2 +- client/lib/abtest/index.js | 36 +- client/lib/abtest/test-helper/index.js | 8 +- client/lib/abtest/utility.js | 2 +- client/lib/accept/dialog.jsx | 2 +- client/lib/accept/index.js | 2 +- client/lib/accept/test/index.js | 10 +- client/lib/accessible-focus/index.js | 4 +- client/lib/account-password-data/index.js | 18 +- client/lib/after-layout-flush/index.ts | 8 +- client/lib/after-layout-flush/test/index.js | 6 +- .../ad-tracking/ad-track-signup-complete.js | 6 +- client/lib/analytics/ad-tracking/criteo.js | 2 +- .../ad-tracking/load-tracking-scripts.js | 6 +- .../lib/analytics/ad-tracking/record-order.js | 36 +- .../lib/analytics/ad-tracking/setup-gtag.js | 2 +- client/lib/analytics/ad-tracking/setup.js | 14 +- client/lib/analytics/ga.js | 2 +- client/lib/analytics/hotjar.js | 4 +- client/lib/analytics/index.js | 34 +- .../lib/analytics/page-view-tracker/index.jsx | 2 +- .../page-view-tracker/test/index.jsx | 2 +- client/lib/analytics/recaptcha.js | 2 +- client/lib/analytics/sem.js | 7 +- client/lib/analytics/super-props.js | 2 +- client/lib/analytics/test/cart.js | 2 +- client/lib/analytics/test/google-analytics.js | 4 +- client/lib/analytics/test/index.js | 6 +- .../lib/analytics/test/mocks/config/index.js | 4 +- client/lib/analytics/utils/hash-pii.js | 4 +- client/lib/analytics/utils/is-pii-url.js | 4 +- .../is-url-blacklisted-for-performance.js | 2 +- .../utils/save-coupon-query-argument.js | 2 +- .../utils/should-report-omit-blog-id.js | 2 +- .../utils/url-parse-amp-compatible.js | 4 +- .../analytics/with-tracking-tool/index.jsx | 8 +- client/lib/automated-transfer/test/index.js | 8 +- client/lib/browser-storage/index.ts | 24 +- client/lib/cart-values/cart-items.js | 48 +- client/lib/cart-values/index.js | 30 +- client/lib/cart-values/test/cart-items.js | 26 +- client/lib/cart/actions.js | 6 +- client/lib/cart/store/cart-synchronizer.js | 34 +- client/lib/cart/store/index.js | 10 +- .../lib/cart/store/test/cart-synchronizer.js | 2 +- .../lib/cart/store/test/fake-wpcom/index.js | 8 +- .../lib/cart/store/test/fixtures/actions.js | 2 +- client/lib/cart/store/test/index.js | 2 +- client/lib/catch-js-errors/index.js | 8 +- client/lib/checklist/index.js | 14 +- client/lib/checkout/index.js | 4 +- client/lib/checkout/masking.js | 10 +- client/lib/checkout/test/validation.js | 12 +- client/lib/checkout/validation.js | 20 +- client/lib/create-config/index.js | 7 +- client/lib/create-config/test/index.js | 2 +- client/lib/create-selector/index.js | 10 +- client/lib/create-selector/test/index.js | 12 +- client/lib/data-poller/poller.js | 14 +- client/lib/desktop/index.js | 30 +- client/lib/detect-history-navigation/index.js | 6 +- client/lib/directly/index.js | 4 +- client/lib/directly/test/index.js | 24 +- client/lib/discounts/index.js | 2 +- client/lib/domains/email-forwarding/index.js | 4 +- client/lib/domains/google-apps-users/index.js | 12 +- client/lib/domains/index.js | 16 +- client/lib/domains/nameservers/actions.js | 4 +- client/lib/domains/nameservers/index.js | 2 +- client/lib/domains/nameservers/store.js | 2 +- .../test/availability-messages.js | 2 +- client/lib/domains/test/index.js | 8 +- .../lib/domains/wapi-domain-info/actions.js | 12 +- client/lib/domains/wapi-domain-info/store.js | 2 +- client/lib/email-followers/actions.js | 4 +- client/lib/email-followers/store.js | 20 +- client/lib/follow-list/index.js | 4 +- client/lib/follow-list/site.js | 8 +- client/lib/follow-list/test/mocks/lib/wp.js | 8 +- client/lib/followers/actions.js | 4 +- client/lib/followers/store.js | 20 +- client/lib/form-state/index.js | 42 +- .../lib/form-state/store/async-initialize.js | 2 +- client/lib/form-state/store/index.js | 2 +- client/lib/form-state/test/index.js | 28 +- client/lib/formatting/index.js | 20 +- client/lib/formatting/test/index.js | 42 +- client/lib/geocoding/index.js | 4 +- client/lib/geocoding/test/index.js | 8 +- .../geocoding/test/mocks/load-script/index.js | 4 +- client/lib/gsuite/constants.js | 9 +- client/lib/gsuite/index.js | 4 +- client/lib/gsuite/new-users.ts | 8 +- client/lib/happychat/connection-async.js | 6 +- client/lib/happychat/connection.js | 28 +- client/lib/happychat/test/index.js | 10 +- client/lib/i18n-utils/glotpress.js | 4 +- client/lib/i18n-utils/switch-locale.js | 10 +- client/lib/i18n-utils/test/utils.js | 18 +- client/lib/i18n-utils/utils.js | 4 +- client/lib/importer/actions.js | 20 +- client/lib/importer/common.js | 4 +- client/lib/importer/importer-config.js | 4 +- client/lib/importer/store.js | 6 +- client/lib/importer/test/api-interaction.js | 6 +- client/lib/importer/url-validation.js | 4 +- client/lib/interval/interval.ts | 2 +- client/lib/invites/actions.js | 6 +- .../reducers/invites-accept-validation.js | 2 +- client/lib/invites/stores/invites-sent.js | 4 +- client/lib/keyboard-shortcuts/global.js | 22 +- client/lib/keyboard-shortcuts/index.js | 18 +- client/lib/keyboard-shortcuts/key-bindings.js | 2 +- client/lib/keyboard-shortcuts/menu.jsx | 4 +- client/lib/keyboard-shortcuts/test/index.js | 2 +- .../index.js | 2 +- client/lib/local-list/index.js | 10 +- client/lib/local-list/test/index.js | 2 +- client/lib/local-storage-bypass/index.js | 14 +- client/lib/local-storage-bypass/test/index.js | 2 +- client/lib/local-storage-polyfill/index.js | 2 +- client/lib/make-json-schema-parser/index.js | 8 +- .../lib/make-json-schema-parser/test/index.js | 2 +- .../create-element-from-string.js | 2 +- .../lib/media-serialization/detect-format.js | 2 +- .../lib/media-serialization/strategies/dom.js | 2 +- client/lib/media-serialization/test/index.js | 6 +- client/lib/media/actions.js | 41 +- client/lib/media/library-selected-store.js | 12 +- client/lib/media/list-store.js | 20 +- client/lib/media/store.js | 8 +- client/lib/media/test/actions.js | 28 +- .../lib/media/test/library-selected-store.js | 10 +- client/lib/media/test/list-store.js | 18 +- client/lib/media/test/mocks/lib/wp.js | 6 +- client/lib/media/test/store.js | 6 +- client/lib/media/test/utils.js | 6 +- client/lib/media/utils.js | 16 +- client/lib/mixins/data-observe/index.js | 16 +- client/lib/mixins/data-observe/test/index.js | 6 +- client/lib/mixins/emitter/index.js | 4 +- client/lib/mshots/index.js | 2 +- client/lib/network-connection/index.js | 14 +- client/lib/notifications/note-block-parser.js | 8 +- client/lib/oauth-store/index.js | 2 +- client/lib/oauth2-clients.js | 4 +- client/lib/paste-to-link/index.jsx | 9 +- client/lib/path-to-section/index.js | 10 +- client/lib/paths/login/test/index.js | 4 +- client/lib/payment-gateway-loader/index.js | 4 +- client/lib/people/actions.js | 2 +- client/lib/people/log-store.js | 12 +- client/lib/perfmon/index.js | 17 +- client/lib/phone-validation/index.jsx | 2 +- client/lib/plans/features-list.js | 4 +- client/lib/plans/index.js | 10 +- client/lib/plans/plans-list.js | 72 +- client/lib/plans/utils.js | 2 +- client/lib/plugins/actions.js | 49 +- client/lib/plugins/log-store.js | 14 +- client/lib/plugins/notices.jsx | 2 +- .../lib/plugins/sanitize-section-content.js | 10 +- client/lib/plugins/store.js | 58 +- client/lib/plugins/test/actions.js | 6 +- client/lib/plugins/test/mocks/mixins/i18n.js | 2 +- client/lib/plugins/test/mocks/redux-bridge.js | 2 +- client/lib/plugins/test/mocks/wp.js | 2 +- client/lib/plugins/test/mocks/wpcom.js | 28 +- .../plugins/test/sanitize-section-content.js | 2 +- client/lib/plugins/utils.js | 12 +- client/lib/plugins/wporg-data/actions.js | 14 +- client/lib/plugins/wporg-data/list-store.js | 10 +- client/lib/plugins/wporg-data/test/actions.js | 2 +- client/lib/popup-monitor/index.js | 12 +- client/lib/post-metadata/index.js | 20 +- .../rule-add-discover-properties.js | 4 +- .../rule-content-detect-media.js | 16 +- .../rule-content-detect-polls.js | 2 +- .../rule-content-detect-surveys.js | 2 +- .../rule-content-disable-autoplay.js | 8 +- .../rule-content-link-jetpack-carousels.js | 4 +- .../rule-content-make-embeds-safe.js | 6 +- .../rule-content-make-images-safe.js | 14 +- .../rule-content-make-links-safe.js | 2 +- .../rule-content-remove-styles.js | 6 +- .../rule-create-better-excerpt.js | 6 +- .../post-normalizer/rule-decode-entities.js | 4 +- .../post-normalizer/rule-keep-valid-images.js | 2 +- .../post-normalizer/rule-pick-primary-tag.js | 2 +- .../post-normalizer/rule-prevent-widows.js | 2 +- .../rule-safe-image-properties.js | 2 +- client/lib/post-normalizer/rule-strip-html.js | 2 +- .../rule-wait-for-images-to-load.js | 22 +- client/lib/post-normalizer/test/index.js | 12 +- .../test/mocks/lib/safe-image-url.js | 4 +- .../utils/iframe-is-whitelisted.js | 2 +- .../utils/image-size-from-attachments.js | 2 +- .../utils/is-featured-image-in-content.js | 2 +- .../utils/is-url-likely-an-image.js | 2 +- .../preferences-helper/object-preference.js | 2 +- .../lib/preferences-helper/preference-list.js | 4 +- client/lib/products-list/index.js | 12 +- client/lib/products-values/constants.js | 6 +- client/lib/products-values/sort.js | 4 +- client/lib/products-values/test/index.js | 50 +- client/lib/protect-form/index.tsx | 2 +- client/lib/purchases/actions.js | 4 +- client/lib/purchases/index.js | 14 +- client/lib/purchases/test/index.js | 32 +- .../lib/query-manager/activity/test/index.js | 2 +- client/lib/query-manager/index.js | 6 +- client/lib/query-manager/key.js | 2 +- client/lib/query-manager/media/index.js | 2 +- client/lib/query-manager/media/test/index.js | 2 +- client/lib/query-manager/paginated/index.js | 14 +- client/lib/query-manager/post/index.js | 2 +- client/lib/query-manager/post/test/index.js | 2 +- client/lib/query-manager/schema.js | 2 +- client/lib/query-manager/term/test/index.js | 2 +- client/lib/query-manager/test/index.js | 4 +- client/lib/react-pass-to-children/index.js | 4 +- .../lib/react-pass-to-children/test/index.js | 4 +- client/lib/react-smart-set-state/index.js | 2 +- client/lib/reader-connect-site/index.js | 2 +- client/lib/redux-bridge/index.js | 2 +- client/lib/resize-image-url/index.js | 11 +- client/lib/route/test/index.js | 134 +- client/lib/route/test/legacy-routes.js | 2 +- client/lib/route/untrailingslashit.ts | 2 +- client/lib/rubberband-scroll-disable/index.js | 2 +- client/lib/safe-image-url/test/index.js | 2 +- client/lib/safe-protocol-url/test/index.js | 2 +- client/lib/scroll-to/index.js | 2 +- client/lib/scroll-to/test/index.js | 4 +- client/lib/search-url/test/index.js | 2 +- client/lib/seo/index.js | 4 +- client/lib/service-worker/service-worker.js | 20 +- client/lib/sharing/index.js | 2 +- client/lib/shortcode/index.js | 16 +- client/lib/siftscience/index.js | 4 +- client/lib/signup/cart.js | 10 +- client/lib/signup/flow-controller.ts | 10 +- client/lib/signup/site-styles.js | 2 +- client/lib/signup/site-theme.js | 2 +- client/lib/signup/site-type.js | 2 +- .../step-actions/fetch-sites-and-user.js | 2 +- client/lib/signup/step-actions/index.js | 26 +- .../lib/signup/step-actions/passwordless.js | 8 +- client/lib/signup/test/flow-controller.js | 30 +- .../test/mocks/signup/config/flows-pure.js | 2 +- .../signup/test/mocks/signup/config/flows.js | 2 +- .../signup/test/mocks/signup/config/steps.js | 14 +- client/lib/signup/test/step-actions.js | 22 +- client/lib/signup/themes.js | 8 +- client/lib/signup/verticals.js | 5 +- client/lib/simple-payments/utils.js | 4 +- client/lib/site/utils.js | 4 +- client/lib/store-transactions/index.js | 52 +- client/lib/store/index.js | 2 +- client/lib/store/test/index.js | 2 +- client/lib/string/test/index.js | 2 +- client/lib/stripe/index.js | 6 +- client/lib/track-element-size/test/index.js | 12 +- client/lib/track-form/index.jsx | 2 +- client/lib/track-scroll-page/index.js | 2 +- client/lib/transaction/store.js | 4 +- client/lib/translator-jumpstart/index.js | 4 +- client/lib/two-step-authorization/index.js | 56 +- client/lib/url-search/index.js | 6 +- client/lib/url/add-query-args.ts | 2 +- client/lib/url/test/add-query-args.js | 8 +- client/lib/url/url-parts.ts | 2 +- client/lib/user-settings/index.js | 36 +- client/lib/user-settings/test/index.js | 4 +- client/lib/user-settings/test/mocks/wp.js | 2 +- client/lib/user/index.js | 4 +- client/lib/user/support-user-interop.js | 6 +- client/lib/user/test/utils.js | 2 +- client/lib/user/user.js | 43 +- client/lib/username/index.js | 18 +- client/lib/users/store.js | 24 +- .../lib/users/test/fixtures/polling-users.js | 2 +- client/lib/users/test/store.js | 4 +- client/lib/version-compare/index.js | 4 +- client/lib/viewers/actions.js | 8 +- client/lib/viewers/store.js | 12 +- client/lib/webauthn/index.js | 10 +- client/lib/with-dimensions/index.jsx | 11 +- client/lib/wp/browser.js | 2 +- .../lib/wp/handlers/guest-sandbox-ticket.js | 2 +- .../wp/handlers/test/guest-sandbox-ticket.js | 4 +- client/lib/wp/localization/index.js | 2 +- client/lib/wp/offline-library/index.js | 8 +- client/lib/wp/support.js | 8 +- client/lib/wpcom-undocumented/index.js | 8 +- .../wpcom-undocumented/lib/mailing-list.js | 4 +- .../wpcom-undocumented/lib/me-preferences.js | 4 +- client/lib/wpcom-undocumented/lib/me.js | 58 +- client/lib/wpcom-undocumented/lib/site.js | 68 +- .../wpcom-undocumented/lib/undocumented.js | 356 ++-- client/lib/wpcom-xhr-wrapper/index.js | 4 +- client/lib/wporg/index.js | 2 +- client/lib/wporg/jsonp.js | 4 +- client/login/controller.js | 2 +- client/login/index.node.js | 2 +- client/login/index.web.js | 2 +- .../emailed-login-link-expired.jsx | 2 +- .../emailed-login-link-successfully.jsx | 4 +- .../magic-login/handle-emailed-link-form.jsx | 4 +- client/login/magic-login/index.jsx | 4 +- .../magic-login/request-login-email-form.jsx | 8 +- client/login/wp-login/login-links.jsx | 6 +- client/mailing-lists/index.js | 2 +- client/mailing-lists/utils.js | 8 +- client/me/account-close/closed.jsx | 2 +- client/me/account-close/confirm-dialog.jsx | 6 +- client/me/account-close/controller.js | 2 +- client/me/account-close/index.js | 2 +- client/me/account-close/main.jsx | 12 +- client/me/account-password/index.jsx | 22 +- client/me/account/index.js | 2 +- client/me/account/main.jsx | 36 +- client/me/application-passwords/index.jsx | 12 +- .../billing-history/billing-history-table.jsx | 14 +- client/me/billing-history/receipt.jsx | 4 +- client/me/billing-history/test/tax.js | 2 +- client/me/billing-history/test/utils.js | 2 +- .../billing-history/transactions-header.jsx | 8 +- .../me/billing-history/transactions-table.jsx | 10 +- .../upcoming-charges-table.jsx | 4 +- client/me/billing-history/utils.jsx | 4 +- client/me/concierge/book/calendar-step.js | 4 +- client/me/concierge/book/info-step.js | 8 +- client/me/concierge/index.js | 2 +- .../me/concierge/reschedule/calendar-step.js | 4 +- .../concierge/shared/available-time-card.js | 4 +- .../concierge/shared/available-time-picker.js | 9 +- .../me/connected-application-item/index.jsx | 4 +- client/me/connected-applications/index.jsx | 6 +- client/me/form-base/index.js | 24 +- client/me/happychat/main.jsx | 4 +- client/me/help/gm-closure-notice/index.jsx | 2 +- client/me/help/help-contact-form/index.jsx | 16 +- client/me/help/help-contact/index.jsx | 24 +- .../help-courses/course-schedule-item.jsx | 2 +- client/me/help/help-courses/course-video.jsx | 2 +- client/me/help/help-courses/course-videos.jsx | 2 +- client/me/help/help-courses/course.jsx | 2 +- client/me/help/help-courses/test/index.jsx | 12 +- client/me/help/help-results/index.jsx | 2 +- client/me/help/help-results/item.jsx | 2 +- client/me/help/help-search/index.jsx | 4 +- .../me/help/help-unverified-warning/index.jsx | 2 +- client/me/help/index.js | 2 +- client/me/help/test/main.jsx | 12 +- client/me/index.js | 2 +- client/me/memberships/main.jsx | 4 +- client/me/memberships/subscription.jsx | 2 +- .../blogs-settings/header.jsx | 2 +- .../blogs-settings/index.jsx | 2 +- .../comment-settings/index.jsx | 2 +- client/me/notification-settings/index.js | 2 +- client/me/notification-settings/main.jsx | 8 +- .../me/notification-settings/navigation.jsx | 2 +- .../push-notification-settings/index.jsx | 2 +- .../reader-subscriptions/index.jsx | 8 +- .../settings-form/device-selector.jsx | 2 +- .../settings-form/locales.js | 4 +- .../settings-form/settings.jsx | 4 +- .../settings-form/stream-selector.jsx | 8 +- .../settings-form/stream.jsx | 2 +- .../wpcom-settings/index.jsx | 4 +- client/me/pending-payments/index.jsx | 12 +- client/me/pending-payments/test/index.js | 12 +- .../test/pending-list-item.js | 4 +- client/me/privacy/index.js | 2 +- client/me/privacy/main.jsx | 8 +- client/me/profile-link/index.jsx | 4 +- client/me/profile-links-add-other/index.jsx | 12 +- .../me/profile-links-add-wordpress/index.jsx | 30 +- .../me/profile-links-add-wordpress/site.jsx | 4 +- client/me/profile-links/add-buttons.jsx | 2 +- client/me/profile-links/index.jsx | 8 +- .../me/purchases/cancel-purchase/button.jsx | 6 +- client/me/purchases/cancel-purchase/index.jsx | 4 +- .../cancel-purchase/refund-information.jsx | 4 +- .../purchases/confirm-cancel-domain/index.jsx | 10 +- .../credit-cards/credit-card-delete.jsx | 2 +- client/me/purchases/credit-cards/index.jsx | 4 +- .../auto-renew-toggle/index.jsx | 2 +- client/me/purchases/manage-purchase/index.jsx | 2 +- .../me/purchases/manage-purchase/notices.jsx | 2 +- .../plan-details/test/billing-period.jsx | 76 +- .../manage-purchase/purchase-meta.jsx | 2 +- client/me/purchases/purchase-item/index.jsx | 2 +- .../purchases/purchases-list/header/index.jsx | 2 +- client/me/purchases/purchases-list/index.jsx | 4 +- client/me/purchases/purchases-site/index.jsx | 6 +- .../purchases-site/reconnect-notice.jsx | 10 +- client/me/purchases/remove-purchase/index.jsx | 30 +- .../remove-domain-dialog/index.jsx | 6 +- client/me/reauth-required/index.jsx | 30 +- .../me/reauth-required/security-key-form.jsx | 6 +- .../me/reauth-required/two-factor-actions.jsx | 2 +- .../security-2fa-backup-codes-list/index.jsx | 8 +- .../index.jsx | 12 +- client/me/security-2fa-code-prompt/index.jsx | 18 +- client/me/security-2fa-enable/index.jsx | 30 +- .../me/security-2fa-initial-setup/index.jsx | 2 +- client/me/security-2fa-key/add.jsx | 8 +- .../security-2fa-key/delete-item-button.jsx | 2 +- client/me/security-2fa-key/index.jsx | 6 +- client/me/security-2fa-key/list.jsx | 2 +- client/me/security-2fa-key/name.jsx | 6 +- client/me/security-2fa-progress/index.jsx | 2 +- .../security-2fa-setup-backup-codes/index.jsx | 2 +- client/me/security-2fa-setup/index.jsx | 2 +- client/me/security-2fa-sms-settings/index.jsx | 36 +- .../security-account-recovery/edit-email.jsx | 4 +- .../security-account-recovery/edit-phone.jsx | 6 +- client/me/security-account-recovery/index.jsx | 4 +- .../manage-contact.jsx | 10 +- .../recovery-email.jsx | 4 +- .../recovery-phone-validation-notice.jsx | 4 +- .../recovery-phone.jsx | 4 +- client/me/security-section-nav/index.jsx | 4 +- client/me/security/index.js | 2 +- client/me/sidebar-navigation/index.jsx | 2 +- client/me/sidebar/index.jsx | 2 +- client/me/site-blocks/index.js | 2 +- client/me/site-blocks/main.jsx | 6 +- client/me/social-login/action-button.jsx | 4 +- client/me/social-login/index.jsx | 2 +- .../activity-log-banner/progress-banner.jsx | 2 +- .../activity-log-banner/success-banner.jsx | 2 +- .../activity/activity-log-example/index.jsx | 4 +- .../activity/activity-log-item/aggregated.jsx | 12 +- .../activity/activity-log-item/index.jsx | 6 +- .../activity/activity-log-tasklist/index.jsx | 54 +- .../activity-log-tasklist/to-update.jsx | 2 +- .../my-sites/activity/activity-log/index.jsx | 24 +- .../activity/activity-log/rewind-alerts.jsx | 2 +- .../activity/activity-log/threat-alert.jsx | 8 +- client/my-sites/activity/controller.jsx | 2 +- .../filterbar/action-type-selector.jsx | 22 +- .../filterbar/date-range-selector.jsx | 33 +- client/my-sites/activity/filterbar/index.jsx | 8 +- client/my-sites/activity/index.js | 2 +- .../my-sites/checkout/cart/cart-buttons.jsx | 2 +- client/my-sites/checkout/cart/cart-coupon.jsx | 14 +- client/my-sites/checkout/cart/cart-empty.jsx | 2 +- .../cart/cart-free-user-plan-upsell.jsx | 4 +- client/my-sites/checkout/cart/cart-item.jsx | 10 +- client/my-sites/checkout/cart/cart-items.jsx | 2 +- .../my-sites/checkout/cart/cart-messages.jsx | 2 +- .../checkout/cart/cart-plan-ad-theme.jsx | 4 +- .../checkout/cart/cart-plan-discount-ad.jsx | 4 +- .../checkout/cart/cart-summary-bar.jsx | 2 +- .../my-sites/checkout/cart/secondary-cart.jsx | 2 +- .../my-sites/checkout/cart/test/cart-item.js | 2 +- .../cart/test/cart-plan-discount-ad.js | 2 +- .../checkout/checkout-system-decider.js | 16 +- .../atomic-store-thank-you-card.jsx | 4 +- .../custom-domain-purchase-detail.jsx | 2 +- .../domain-registration-details.jsx | 6 +- .../google-apps-details.jsx | 2 +- .../checkout/checkout-thank-you/header.jsx | 10 +- .../checkout/checkout-thank-you/index.jsx | 8 +- .../jetpack-plan-details.jsx | 2 +- .../checkout-thank-you/test/header.js | 2 +- .../checkout/checkout-thank-you/test/index.js | 16 +- .../checkout/checkout/cart-toggle.jsx | 2 +- .../checkout/checkout/checkout-container.jsx | 2 +- .../country-specific-payment-fields.jsx | 3 +- .../checkout/credit-card-payment-box.jsx | 2 +- .../checkout/credit-card-selector.jsx | 8 +- .../checkout/checkout/domain-details-form.jsx | 6 +- .../domain-registration-agreement.jsx | 4 +- .../checkout/domain-registration-hsts.jsx | 2 +- client/my-sites/checkout/checkout/index.jsx | 10 +- .../checkout/checkout/new-card-form.jsx | 2 +- .../checkout/checkout/payment-box.jsx | 8 +- .../checkout/payment-request-button.jsx | 2 +- .../checkout/checkout/paypal-payment-box.jsx | 10 +- .../checkout/checkout/recent-renewals.jsx | 8 +- .../checkout/redirect-payment-box.jsx | 12 +- .../checkout/checkout/secure-payment-form.jsx | 12 +- .../checkout/checkout/test/checkout.js | 4 +- .../test/country-specific-payment-fields.js | 14 +- .../checkout/test/credit-card-payment-box.js | 6 +- .../checkout/test/credits-payment-box.js | 6 +- .../checkout/test/paypal-payment-box.js | 6 +- .../checkout/test/pending-payment-blocker.js | 2 +- .../checkout/test/redirect-payment-box.js | 6 +- .../checkout/checkout/test/web-payment-box.js | 4 +- .../checkout/test/wechat-payment-box.js | 20 +- .../checkout/test/wechat-payment-qrcode.js | 2 +- .../checkout/checkout/web-payment-box.jsx | 6 +- .../checkout/checkout/wechat-payment-box.jsx | 8 +- .../composite-checkout/composite-checkout.js | 36 +- .../composite-checkout/contact-validation.js | 2 +- .../payment-method-helpers.js | 8 +- .../composite-checkout/record-analytics.js | 4 +- .../test/composite-checkout-thank-you.js | 12 +- .../test/composite-checkout.js | 22 +- .../types/paypal-express.ts | 2 +- .../types/transaction-endpoint.ts | 6 +- .../use-create-payment-methods.js | 22 +- .../use-get-thank-you-url.js | 6 +- .../use-prepare-product-for-cart.js | 26 +- .../wpcom/components/button.js | 8 +- .../wpcom/components/coupon.js | 6 +- .../wpcom/components/field.js | 21 +- .../components/form-field-annotation.tsx | 8 +- .../wpcom/components/join-classes.js | 2 +- .../wpcom/components/radio-button.js | 10 +- .../components/wp-checkout-error-boundary.tsx | 2 +- .../components/wp-checkout-order-review.js | 2 +- .../components/wp-checkout-order-summary.js | 2 +- .../wpcom/components/wp-checkout.js | 10 +- .../wpcom/components/wp-contact-form.js | 14 +- .../components/wp-order-review-line-items.js | 14 +- .../wpcom/hooks/has-domains.js | 2 +- .../wpcom/hooks/use-shopping-cart.ts | 22 +- .../composite-checkout/wpcom/lib/edit-cart.js | 2 +- .../wpcom/lib/translate-cart.ts | 6 +- .../wpcom/test/shopping-cart-endpoint.js | 20 +- .../wpcom/test/translate-cart.js | 250 +-- .../wpcom/test/wpcom-store-state.ts | 46 +- .../types/backend/shopping-cart-endpoint.ts | 8 +- .../wpcom/types/wpcom-store-state.ts | 10 +- .../my-sites/checkout/gsuite-nudge/index.jsx | 6 +- client/my-sites/checkout/index.js | 2 +- .../my-sites/checkout/upsell-nudge/index.jsx | 4 +- .../comment-list/comment-list-header.jsx | 2 +- .../my-sites/comments/comment-list/index.jsx | 14 +- .../comments/comment-navigation/index.jsx | 22 +- .../my-sites/comments/comment-tree/index.jsx | 18 +- .../comments/comment/comment-actions.jsx | 10 +- .../comment/comment-author-more-info.jsx | 6 +- .../comments/comment/comment-author.jsx | 4 +- .../comments/comment/comment-edit.jsx | 11 +- .../comment-html-editor/add-image-dialog.jsx | 6 +- .../comment-html-editor/add-link-dialog.jsx | 6 +- .../comment/comment-html-editor/index.jsx | 8 +- .../comments/comment/comment-link.jsx | 2 +- .../comments/comment/comment-reply.jsx | 10 +- client/my-sites/comments/comment/index.jsx | 4 +- client/my-sites/comments/comment/utils.js | 2 +- client/my-sites/comments/controller.js | 10 +- client/my-sites/comments/index.js | 2 +- client/my-sites/comments/main.jsx | 2 +- client/my-sites/controller.js | 16 +- .../my-sites/current-site/domain-warnings.jsx | 2 +- client/my-sites/current-site/index.jsx | 4 +- client/my-sites/current-site/notice.jsx | 11 +- .../current-site/sidebar-banner/index.jsx | 2 +- .../current-site/stale-cart-items-notice.js | 2 +- .../cards/actions/quick-links/index.jsx | 8 +- .../wp-for-teams-quick-links/index.jsx | 6 +- .../education/free-photo-library/index.jsx | 2 +- .../cards/features/go-mobile/index.jsx | 4 +- .../cards/features/grow-earn/index.jsx | 4 +- .../cards/features/launch-site/index.jsx | 10 +- .../cards/features/stats/index.jsx | 2 +- .../cards/features/support/index.jsx | 6 +- .../notices/celebrate-site-creation/index.jsx | 2 +- .../wpcom-checklist/component.jsx | 14 +- .../cards/tasks/connect-accounts.jsx | 4 +- client/my-sites/customer-home/controller.jsx | 2 +- client/my-sites/customer-home/index.js | 2 +- .../locations/secondary/index.jsx | 6 +- .../locations/secondary/learn-grow/index.jsx | 2 +- .../locations/tertiary/manage-site/index.jsx | 2 +- .../customer-home/locations/upsells/index.jsx | 2 +- client/my-sites/customer-home/main.jsx | 4 +- client/my-sites/customize/index.js | 2 +- client/my-sites/customize/main.jsx | 14 +- .../components/domain-warnings/index.jsx | 53 +- .../pending-gsuite-tos-notice-action.js | 2 +- .../pending-gsuite-tos-notice-dialog.jsx | 4 +- .../pending-gsuite-tos-notice.jsx | 6 +- .../components/domain-warnings/test/index.js | 54 +- .../components/form/country-select.jsx | 2 +- .../domains/components/form/hidden-input.jsx | 4 +- .../domains/components/form/input.jsx | 4 +- .../domains/components/form/select.jsx | 2 +- .../domains/components/form/state-select.jsx | 4 +- client/my-sites/domains/controller.jsx | 4 +- .../designated-agent-notice/index.jsx | 2 +- .../domain/non-primary-domain-plan-upsell.jsx | 2 +- .../components/domain/primary-flag.jsx | 2 +- .../components/email-verification/index.jsx | 4 +- .../outbound-transfer-confirmation/index.jsx | 4 +- .../domains/domain-management/controller.jsx | 2 +- .../domain-management/dns/dns-add-new.jsx | 22 +- .../domain-management/dns/dns-list.jsx | 8 +- .../domain-management/dns/dns-record.jsx | 2 +- .../dns/domain-connect-record.jsx | 4 +- .../domain-management/dns/email-provider.jsx | 6 +- .../domain-management/dns/srv-record.jsx | 2 +- .../domain-connect-mapping/index.jsx | 2 +- .../domain-connect-authorize-records.jsx | 2 +- .../domain-connect-authorize.jsx | 8 +- .../domain-connect-dns-record.jsx | 6 +- .../domain-connect/index.jsx | 2 +- .../edit-contact-info/form-card.jsx | 13 +- .../card/header/primary-domain-button.jsx | 2 +- .../edit/domain-types/mapped-domain-type.jsx | 4 +- .../domain-types/registered-domain-type.jsx | 2 +- .../domains/domain-management/edit/index.jsx | 2 +- .../edit/navigation/enhanced.jsx | 4 +- .../edit/navigation/index.jsx | 4 +- .../edit/payment-settings-analytics.js | 2 +- .../domains/domain-management/list/index.jsx | 16 +- .../domain-management/list/list-all.jsx | 2 +- .../domain-management/list/test/index.js | 4 +- .../manage-consent/index.jsx | 2 +- .../name-servers/custom-nameservers-form.jsx | 12 +- .../name-servers/custom-nameservers-row.jsx | 8 +- .../name-servers/dns-template-selector.jsx | 4 +- .../name-servers/dns-templates.jsx | 6 +- .../domain-management/name-servers/index.jsx | 6 +- .../name-servers/wpcom-nameservers-toggle.jsx | 2 +- .../domain-management/site-redirect/index.jsx | 10 +- .../transfer-out/icann-verification.jsx | 2 +- .../transfer/transfer-out/locked.jsx | 2 +- .../transfer/transfer-out/select-ips-tag.jsx | 35 +- .../transfer/transfer-out/shared.js | 2 +- .../transfer/transfer-out/transfer-lock.jsx | 2 +- .../transfer/transfer-out/unlocked.jsx | 4 +- .../confirmation-dialog.jsx | 2 +- .../transfer/transfer-to-other-site/index.jsx | 6 +- .../transfer-to-other-site/test/index.jsx | 12 +- .../transfer/transfer-to-other-user/index.jsx | 10 +- .../my-sites/domains/domain-search/index.jsx | 8 +- .../domain-search/site-redirect-step.jsx | 14 +- .../domains/domain-search/site-redirect.jsx | 2 +- client/my-sites/domains/index.js | 4 +- client/my-sites/domains/map-domain/index.jsx | 10 +- .../domains/map-domain/test/map-domain.js | 2 +- .../domains/transfer-domain/index.jsx | 6 +- client/my-sites/earn/ads/form-settings.jsx | 12 +- client/my-sites/earn/ads/wrapper.jsx | 2 +- client/my-sites/earn/controller.js | 6 +- client/my-sites/earn/home.tsx | 6 +- client/my-sites/earn/index.js | 2 +- client/my-sites/earn/main.jsx | 8 +- client/my-sites/earn/memberships/index.jsx | 18 +- client/my-sites/earn/memberships/products.jsx | 38 +- client/my-sites/earn/refer-a-friend/index.tsx | 4 +- .../email-forwarding-add-new.jsx | 16 +- .../email-forwarding-details.jsx | 2 +- .../email-forwarding-list.jsx | 2 +- .../gsuite-user-item/index.jsx | 2 +- .../gsuite-user-item/test/index.js | 2 +- .../gsuite-users-card/index.jsx | 15 +- .../my-sites/email/email-management/index.jsx | 2 +- .../my-sites/email/gsuite-add-users/index.jsx | 20 +- .../email/gsuite-purchase-cta/index.jsx | 4 +- .../email/gsuite-purchase-cta/test/index.js | 4 +- client/my-sites/email/index.js | 4 +- .../export-card/post-type-options.jsx | 4 +- .../my-sites/exporter/export-card/select.jsx | 2 +- .../exporter/export-media-card/index.js | 2 +- .../complete-purchase-notice.jsx | 4 +- .../exporter/guided-transfer-card/index.jsx | 2 +- client/my-sites/exporter/index.js | 4 +- client/my-sites/exporter/notices.jsx | 2 +- client/my-sites/exporter/section-export.jsx | 2 +- client/my-sites/feature-upsell/ads-upsell.jsx | 8 +- client/my-sites/feature-upsell/controller.js | 12 +- client/my-sites/feature-upsell/features.jsx | 2 +- client/my-sites/feature-upsell/index.js | 2 +- .../feature-upsell/plugins-upsell.jsx | 6 +- .../my-sites/feature-upsell/redirect-if.jsx | 10 +- .../my-sites/feature-upsell/store-upsell.jsx | 6 +- .../feature-upsell/test/upsell-redirect.jsx | 2 +- .../my-sites/feature-upsell/themes-upsell.jsx | 6 +- client/my-sites/feature-upsell/utils.js | 4 +- client/my-sites/google-my-business/index.js | 4 +- .../my-sites/google-my-business/logo/index.js | 2 +- .../google-my-business/new-account/index.js | 4 +- .../select-business-type/index.js | 4 +- .../select-location/button.js | 2 +- .../select-location/index.js | 6 +- .../google-my-business/stats/chart.js | 12 +- .../google-my-business/stats/index.js | 2 +- client/my-sites/google-my-business/utils.js | 2 +- .../guided-transfer/guided-transfer.jsx | 4 +- .../host-credentials-page/error-notice.jsx | 2 +- .../host-credentials-page/fields.jsx | 12 +- .../host-credentials-page/index.jsx | 4 +- .../transfer-unavailable-card.jsx | 2 +- client/my-sites/hosting/controller.js | 2 +- client/my-sites/hosting/hosting-activate.js | 2 +- client/my-sites/hosting/index.js | 2 +- client/my-sites/hosting/main.js | 2 +- .../hosting/miscellaneous-card/index.js | 4 +- .../hosting/php-version-card/index.js | 4 +- .../my-sites/hosting/phpmyadmin-card/index.js | 6 +- .../phpmyadmin-card/restore-db-password.js | 4 +- .../my-sites/hosting/sftp-card/test/index.js | 4 +- .../hosting/site-backup-card/index.js | 7 +- client/my-sites/hosting/support-card/index.js | 2 +- .../my-sites/importer/author-mapping-item.jsx | 4 +- .../my-sites/importer/author-mapping-pane.jsx | 6 +- client/my-sites/importer/error-pane.jsx | 4 +- client/my-sites/importer/file-importer.jsx | 2 +- .../importer-action-buttons/done-button.jsx | 2 +- .../importer/importer-header/index.jsx | 2 +- client/my-sites/importer/importing-pane.jsx | 16 +- client/my-sites/importer/index.js | 4 +- client/my-sites/importer/jetpack-importer.jsx | 2 +- client/my-sites/importer/section-import.jsx | 14 +- .../site-importer-input-pane.jsx | 14 +- .../site-importer-site-preview.jsx | 2 +- client/my-sites/importer/uploading-pane.jsx | 10 +- client/my-sites/index.js | 4 +- client/my-sites/invites/controller.js | 2 +- .../invites/invite-accept-logged-in/index.jsx | 4 +- .../invite-accept-logged-out/index.jsx | 4 +- .../my-sites/invites/invite-accept/index.jsx | 2 +- .../my-sites/marketing/buttons/appearance.jsx | 4 +- client/my-sites/marketing/buttons/buttons.jsx | 6 +- .../marketing/buttons/label-editor.jsx | 8 +- client/my-sites/marketing/buttons/options.jsx | 8 +- .../marketing/buttons/preview-action.jsx | 2 +- .../marketing/buttons/preview-button.jsx | 4 +- .../marketing/buttons/preview-buttons.jsx | 10 +- .../marketing/buttons/preview-widget.js | 4 +- client/my-sites/marketing/buttons/preview.jsx | 10 +- client/my-sites/marketing/buttons/style.jsx | 8 +- client/my-sites/marketing/buttons/tray.jsx | 18 +- .../marketing/connections/account-dialog.jsx | 8 +- .../marketing/connections/connection.jsx | 2 +- .../connections/inline-connection-action.jsx | 2 +- .../connections/mailchimp-settings.jsx | 8 +- .../marketing/connections/service-action.jsx | 2 +- .../connections/service-description.jsx | 18 +- .../connections/service-examples.jsx | 2 +- .../marketing/connections/service.jsx | 13 +- .../marketing/connections/services-group.jsx | 6 +- .../services/google-my-business.js | 2 +- .../connections/services/google-photos.js | 2 +- .../marketing/connections/services/index.js | 2 +- .../connections/services/instagram.jsx | 2 +- .../connections/services/mailchimp.js | 2 +- client/my-sites/marketing/controller.js | 6 +- client/my-sites/marketing/index.js | 4 +- client/my-sites/marketing/main.jsx | 2 +- client/my-sites/marketing/paths.ts | 6 +- .../tools/feature-button-with-plan-gate.tsx | 5 +- .../marketing/tools/google-adwords.tsx | 2 +- .../tools/google-my-business-feature.tsx | 6 +- client/my-sites/marketing/tools/index.tsx | 2 +- client/my-sites/marketing/traffic/index.js | 2 +- client/my-sites/media-library/content.jsx | 6 +- client/my-sites/media-library/data-source.jsx | 8 +- client/my-sites/media-library/drop-zone.jsx | 4 +- client/my-sites/media-library/filter-bar.jsx | 4 +- .../media-library/filter-to-mime-prefix.js | 2 +- client/my-sites/media-library/header.jsx | 6 +- client/my-sites/media-library/index.jsx | 4 +- .../media-library/list-item-image.jsx | 2 +- .../my-sites/media-library/list-plan-promo.js | 2 +- client/my-sites/media-library/list.jsx | 18 +- client/my-sites/media-library/scale.jsx | 2 +- .../my-sites/media-library/test/content.jsx | 4 +- .../media-library/test/data-source.jsx | 4 +- client/my-sites/media-library/test/index.jsx | 2 +- .../media-library/test/list-item-video.jsx | 6 +- client/my-sites/media-library/test/list.jsx | 4 +- client/my-sites/media-library/title-item.jsx | 2 +- .../my-sites/media-library/upload-button.jsx | 4 +- client/my-sites/media-library/upload-url.jsx | 6 +- client/my-sites/media/controller.js | 2 +- client/my-sites/media/index.js | 2 +- client/my-sites/media/main.jsx | 12 +- .../components/import-type-choice/index.jsx | 8 +- .../migrate/components/sites-block/index.jsx | 4 +- client/my-sites/migrate/index.js | 2 +- client/my-sites/migrate/migrate-button.jsx | 2 +- client/my-sites/migrate/section-migrate.jsx | 22 +- .../migrate/step-import-or-migrate.jsx | 4 +- .../my-sites/migrate/step-source-select.jsx | 6 +- client/my-sites/migrate/step-upgrade.jsx | 2 +- client/my-sites/navigation/index.jsx | 2 +- .../my-sites/pages/blog-posts-page/index.jsx | 4 +- client/my-sites/pages/helpers.js | 10 +- client/my-sites/pages/index.js | 2 +- client/my-sites/pages/main.jsx | 4 +- client/my-sites/pages/page-list.jsx | 10 +- client/my-sites/pages/page/index.js | 6 +- client/my-sites/people/delete-user/index.jsx | 10 +- .../edit-team-member-form/edit-user-form.jsx | 15 +- .../people/edit-team-member-form/index.jsx | 8 +- .../my-sites/people/followers-list/index.jsx | 8 +- client/my-sites/people/index.js | 2 +- .../my-sites/people/invite-people/index.jsx | 28 +- client/my-sites/people/main.jsx | 2 +- .../people-invite-details/test/index.jsx | 2 +- .../my-sites/people/people-invites/index.jsx | 4 +- .../people/people-list-item/index.jsx | 2 +- .../people-list-section-header/index.jsx | 2 +- .../my-sites/people/people-notices/index.jsx | 6 +- .../my-sites/people/people-profile/index.jsx | 6 +- .../people/people-section-nav/index.jsx | 4 +- client/my-sites/people/role-select/index.jsx | 4 +- client/my-sites/people/team-list/team.jsx | 4 +- .../my-sites/people/viewers-list/viewers.jsx | 8 +- client/my-sites/picker/picker.jsx | 2 +- client/my-sites/plan-features/index.jsx | 24 +- client/my-sites/plan-features/scroller.jsx | 20 +- client/my-sites/plan-features/test/header.jsx | 56 +- client/my-sites/plan-features/test/index.jsx | 33 +- client/my-sites/plan-price/index.jsx | 6 +- client/my-sites/plans-features-main/index.jsx | 18 +- .../plans-features-main/jetpack-faq.jsx | 2 +- .../plans-features-main/products-header.jsx | 2 +- .../plans-features-main/test/index.jsx | 12 +- .../plans-features-main/wpcom-faq.jsx | 2 +- .../paid-plan-thank-you.js | 2 +- .../current-plan-thank-you/thank-you.js | 4 +- .../current-plan/jetpack-checklist/index.tsx | 2 +- .../jetpack-product-install/index.tsx | 14 +- .../plans/current-plan/purchases-listing.jsx | 10 +- client/my-sites/plans/index.js | 2 +- client/my-sites/plans/main.jsx | 2 +- client/my-sites/plans/navigation.jsx | 2 +- client/my-sites/plugins/controller.js | 2 +- client/my-sites/plugins/index.js | 12 +- .../plugins/jetpack-plugins-setup/index.jsx | 30 +- client/my-sites/plugins/main.jsx | 21 +- .../plugins/plugin-action/plugin-action.jsx | 6 +- .../test/fixtures/index.js | 2 +- .../plugin-automated-transfer/index.jsx | 2 +- .../test/fixtures/index.js | 2 +- .../test/mocks/actions.js | 2 +- .../plugins/plugin-eligibility/index.jsx | 4 +- .../plugins/plugin-information/index.jsx | 2 +- .../plugin-install-button-wpcom/index.jsx | 8 +- .../plugins/plugin-install-button/index.jsx | 2 +- .../plugins/plugin-item/plugin-item.jsx | 10 +- .../plugins/plugin-list-header/index.jsx | 6 +- client/my-sites/plugins/plugin-meta/index.jsx | 14 +- .../plugins/plugin-meta/test/index.js | 52 +- .../my-sites/plugins/plugin-ratings/index.jsx | 2 +- .../plugins/plugin-remove-button/index.jsx | 2 +- .../plugins/plugin-sections/index.jsx | 20 +- .../plugins/plugin-site-list/index.jsx | 4 +- .../plugins/plugin-site-network/index.jsx | 4 +- .../plugin-site-update-indicator/index.jsx | 4 +- .../plugins/plugin-site/plugin-site.jsx | 2 +- .../my-sites/plugins/plugin-upload/index.jsx | 2 +- .../plugins/plugins-browser-item/index.jsx | 2 +- .../plugins/plugins-browser-list/index.jsx | 2 +- .../plugins/plugins-browser/index.jsx | 22 +- .../plugins/plugins-browser/test/index.jsx | 28 +- .../my-sites/plugins/plugins-list/index.jsx | 36 +- client/my-sites/plugins/utils.js | 2 +- .../my-sites/post-selector/docs/example.jsx | 4 +- client/my-sites/post-selector/index.jsx | 2 +- client/my-sites/post-selector/selector.jsx | 16 +- client/my-sites/post-type-filter/index.jsx | 2 +- .../my-sites/post-type-list/bulk-edit-bar.jsx | 2 +- client/my-sites/post-type-list/index.jsx | 4 +- .../post-type-list/max-pages-notice.jsx | 2 +- .../post-action-counts/index.jsx | 30 +- .../post-actions-ellipsis-menu/index.jsx | 2 +- .../post-actions-ellipsis-menu/view.jsx | 2 +- client/my-sites/posts/controller.js | 2 +- client/my-sites/posts/index.js | 2 +- client/my-sites/posts/main.jsx | 2 +- client/my-sites/preview/index.js | 2 +- client/my-sites/preview/main.jsx | 4 +- client/my-sites/resume-editing/index.jsx | 2 +- client/my-sites/sidebar-navigation/index.jsx | 2 +- client/my-sites/sidebar/index.jsx | 4 +- client/my-sites/sidebar/site-menu.jsx | 2 +- client/my-sites/sidebar/test/sidebar.js | 6 +- client/my-sites/sidebar/tools-menu.jsx | 2 +- client/my-sites/sidebar/utils.js | 2 +- client/my-sites/site-indicator/index.jsx | 2 +- client/my-sites/site-settings/amp/jetpack.jsx | 2 +- client/my-sites/site-settings/amp/wpcom.jsx | 2 +- .../comment-display-settings/index.jsx | 2 +- .../composing/default-post-format.jsx | 2 +- .../site-settings/composing/index.jsx | 2 +- .../site-settings/composing/latex.jsx | 2 +- .../composing/publish-confirmation.jsx | 4 +- .../site-settings/composing/shortcodes.jsx | 2 +- .../custom-content-types/index.jsx | 2 +- .../date-time-format/date-format-option.jsx | 2 +- .../site-settings/date-time-format/index.jsx | 4 +- .../date-time-format/time-format-option.jsx | 2 +- .../site-settings/date-time-format/utils.js | 6 +- .../site-settings/delete-site/index.jsx | 8 +- .../site-settings/disconnect-site/confirm.jsx | 4 +- .../disconnect-site/disconnect-survey.jsx | 8 +- .../site-settings/disconnect-site/index.jsx | 2 +- .../disconnect-site/troubleshoot.jsx | 2 +- .../site-settings/feed-settings/index.jsx | 2 +- .../site-settings/form-analytics-stores.jsx | 10 +- .../my-sites/site-settings/form-analytics.jsx | 8 +- .../site-settings/form-discussion.jsx | 6 +- .../my-sites/site-settings/form-general.jsx | 8 +- .../site-settings/form-jetpack-monitor.jsx | 6 +- .../my-sites/site-settings/form-security.jsx | 2 +- .../my-sites/site-settings/form-writing.jsx | 4 +- client/my-sites/site-settings/index.js | 4 +- client/my-sites/site-settings/jetpack-ads.jsx | 2 +- .../credentials-configured/index.jsx | 2 +- .../jetpack-credentials/index.jsx | 2 +- .../site-settings/jetpack-dev-mode-notice.jsx | 2 +- .../site-settings/jetpack-site-stats.jsx | 8 +- .../jetpack-sync-panel/index.jsx | 30 +- client/my-sites/site-settings/main.jsx | 2 +- .../manage-connection/api-cache.jsx | 4 +- .../data-synchronization.jsx | 2 +- .../disconnect-site-link.jsx | 2 +- .../ownership-information.jsx | 2 +- .../manage-connection/site-ownership.jsx | 12 +- client/my-sites/site-settings/masterbar.jsx | 2 +- .../media-settings-performance.jsx | 2 +- .../site-settings/media-settings-writing.jsx | 2 +- client/my-sites/site-settings/navigation.jsx | 2 +- .../podcast-cover-image-setting/index.jsx | 10 +- .../podcasting-details/index.jsx | 8 +- .../podcasting-details/private-site.tsx | 42 +- .../site-settings/press-this/index.jsx | 2 +- .../site-settings/press-this/link.jsx | 4 +- client/my-sites/site-settings/protect.jsx | 4 +- .../site-settings/publishing-tools/index.jsx | 2 +- .../redirect-non-jetpack/index.jsx | 4 +- client/my-sites/site-settings/search.jsx | 4 +- .../site-settings/section-general.jsx | 2 +- .../site-settings/seo-settings/form.jsx | 10 +- .../site-settings/seo-settings/help.jsx | 2 +- .../site-settings/seo-settings/main.jsx | 2 +- .../seo-settings/site-verification.jsx | 6 +- .../site-settings/seo-settings/test/form.jsx | 32 +- .../settings-discussion/index.js | 2 +- .../settings-discussion/main.jsx | 2 +- .../settings-performance/index.js | 2 +- .../settings-performance/main.jsx | 2 +- .../site-settings/settings-security/index.js | 2 +- .../site-settings/settings-security/main.jsx | 4 +- .../site-settings/settings-writing/index.js | 2 +- .../site-settings/settings-writing/main.jsx | 2 +- client/my-sites/site-settings/shortlinks.jsx | 2 +- .../site-settings/site-icon-setting/index.jsx | 12 +- .../site-settings/site-tools/index.jsx | 6 +- client/my-sites/site-settings/sitemaps.jsx | 6 +- .../site-settings/speed-up-site-settings.jsx | 2 +- client/my-sites/site-settings/sso.jsx | 2 +- client/my-sites/site-settings/start-over.jsx | 2 +- .../my-sites/site-settings/subscriptions.jsx | 2 +- .../site-settings/test/form-analytics.jsx | 14 +- .../site-settings/test/form-general.jsx | 20 +- .../site-settings/theme-enhancements.jsx | 7 +- .../theme-setup-dialog/index.jsx | 2 +- .../site-settings/theme-setup/index.jsx | 2 +- client/my-sites/site-settings/widgets.jsx | 2 +- .../site-settings/wrap-settings-form.jsx | 26 +- client/my-sites/sites/index.jsx | 2 +- client/my-sites/stats/all-time/index.jsx | 2 +- .../my-sites/stats/annual-site-stats/index.js | 9 +- .../my-sites/stats/comment-follows/index.jsx | 4 +- client/my-sites/stats/controller.jsx | 30 +- client/my-sites/stats/geochart/index.jsx | 10 +- client/my-sites/stats/index.js | 2 +- client/my-sites/stats/most-popular/index.jsx | 2 +- client/my-sites/stats/overview.jsx | 4 +- .../my-sites/stats/post-performance/index.jsx | 4 +- client/my-sites/stats/post-trends/index.jsx | 14 +- client/my-sites/stats/post-trends/week.jsx | 6 +- client/my-sites/stats/site.jsx | 10 +- .../my-sites/stats/stats-chart-tabs/index.jsx | 2 +- .../stats/stats-chart-tabs/utility.js | 4 +- .../stats/stats-comments/comment-tab.jsx | 2 +- .../my-sites/stats/stats-comments/index.jsx | 4 +- .../stats/stats-date-picker/index.jsx | 12 +- .../stats/stats-detail-months/index.jsx | 4 +- .../stats/stats-detail-weeks/index.jsx | 2 +- .../stats/stats-download-csv/index.jsx | 4 +- .../my-sites/stats/stats-followers/index.jsx | 4 +- .../my-sites/stats/stats-insights/index.jsx | 4 +- .../stats/stats-list/action-follow.jsx | 4 +- .../my-sites/stats/stats-list/action-link.jsx | 2 +- .../my-sites/stats/stats-list/action-page.jsx | 2 +- .../my-sites/stats/stats-list/action-spam.jsx | 4 +- client/my-sites/stats/stats-list/index.jsx | 4 +- .../stats/stats-list/stats-list-item.jsx | 14 +- .../stats/stats-module/all-time-nav.jsx | 8 +- client/my-sites/stats/stats-module/header.jsx | 4 +- .../stats/stats-page-placeholder/index.jsx | 2 +- .../stats/stats-period-navigation/index.jsx | 10 +- .../my-sites/stats/stats-post-likes/index.jsx | 2 +- .../stats/stats-post-summary/index.jsx | 14 +- client/my-sites/stats/stats-reach/index.jsx | 4 +- .../stats/stats-site-overview/index.jsx | 2 +- client/my-sites/stats/stats-strings.js | 2 +- client/my-sites/stats/stats-summary/index.jsx | 6 +- client/my-sites/stats/stats-tabs/index.jsx | 2 +- client/my-sites/stats/stats-tabs/tab.jsx | 4 +- .../stats/stats-video-details/index.jsx | 2 +- .../stats/stats-video-summary/index.jsx | 4 +- client/my-sites/stats/stats-views/index.jsx | 4 +- client/my-sites/stats/stats-views/months.jsx | 6 +- client/my-sites/stats/toggle-info.jsx | 4 +- .../stats/wordads-chart-tabs/index.jsx | 2 +- client/my-sites/stats/wordads/earnings.jsx | 6 +- client/my-sites/stats/wordads/index.jsx | 17 +- client/my-sites/theme/index.node.js | 2 +- client/my-sites/theme/index.web.js | 2 +- client/my-sites/theme/main.jsx | 36 +- client/my-sites/theme/theme-features-card.js | 2 +- .../themes/auto-loading-homepage-modal.jsx | 2 +- client/my-sites/themes/controller.jsx | 7 +- .../my-sites/themes/current-theme/index.jsx | 4 +- client/my-sites/themes/helpers.js | 2 +- client/my-sites/themes/index.node.js | 2 +- client/my-sites/themes/index.web.js | 2 +- client/my-sites/themes/logged-out.jsx | 4 +- client/my-sites/themes/multi-site.jsx | 6 +- client/my-sites/themes/recommended-themes.jsx | 2 +- .../my-sites/themes/single-site-jetpack.jsx | 14 +- client/my-sites/themes/single-site-wpcom.jsx | 2 +- client/my-sites/themes/single-site.jsx | 6 +- client/my-sites/themes/thanks-modal.jsx | 10 +- client/my-sites/themes/theme-options.js | 18 +- client/my-sites/themes/theme-preview.jsx | 2 +- client/my-sites/themes/theme-showcase.jsx | 35 +- client/my-sites/themes/theme-upload/index.jsx | 4 +- .../my-sites/themes/themes-banner/index.jsx | 2 +- .../themes/themes-magic-search-card/index.jsx | 26 +- .../themes-magic-search-card/welcome.jsx | 10 +- client/my-sites/themes/themes-selection.jsx | 14 +- .../themes/themes-site-selector-modal.jsx | 16 +- client/my-sites/themes/validate-filters.js | 6 +- client/my-sites/types/index.js | 2 +- .../types/post-type-unsupported/index.jsx | 2 +- client/notices/index.js | 26 +- client/notices/validation-error-list.jsx | 2 +- client/post-editor/controller.js | 34 +- client/post-editor/edit-post-status/index.jsx | 2 +- .../post-editor/editor-action-bar/index.jsx | 2 +- .../editor-action-bar/view-link.jsx | 2 +- client/post-editor/editor-author/index.jsx | 4 +- .../editor-categories-tags/accordion.jsx | 4 +- .../editor-confirmation-sidebar/index.jsx | 5 +- .../post-editor/editor-delete-post/index.jsx | 4 +- .../post-editor/editor-diff-viewer/index.jsx | 13 +- .../post-editor/editor-discussion/index.jsx | 4 +- .../editor-discussion/test/index.jsx | 8 +- .../editor-document-head/index.jsx | 2 +- .../editor-drawer/featured-image.jsx | 2 +- client/post-editor/editor-drawer/index.jsx | 2 +- .../editor-drawer/page-options.jsx | 2 +- .../post-editor/editor-drawer/taxonomies.jsx | 4 +- client/post-editor/editor-excerpt/index.jsx | 4 +- .../editor-featured-image/dropzone.jsx | 4 +- .../editor-featured-image/index.jsx | 6 +- .../preview-container.jsx | 2 +- .../editor-featured-image/preview.jsx | 2 +- client/post-editor/editor-fieldset/index.jsx | 2 +- client/post-editor/editor-forbidden/index.jsx | 2 +- .../editor-ground-control/index.jsx | 2 +- .../quick-save-buttons.jsx | 2 +- .../index.jsx | 6 +- .../editor-gutenberg-dialogs/index.tsx | 23 +- .../editor-gutenberg-opt-in-dialog/index.jsx | 4 +- .../editor-gutenberg-opt-in-notice/index.jsx | 2 +- .../editor-gutenberg-opt-in-sidebar/index.jsx | 4 +- .../editor-html-toolbar/add-image-dialog.jsx | 6 +- .../editor-html-toolbar/add-link-dialog.jsx | 12 +- .../post-editor/editor-html-toolbar/index.jsx | 24 +- client/post-editor/editor-location/index.jsx | 16 +- client/post-editor/editor-location/search.jsx | 6 +- .../post-editor/editor-media-modal/index.jsx | 4 +- .../editor-more-options/copy-post.jsx | 4 +- .../post-editor/editor-more-options/slug.jsx | 2 +- client/post-editor/editor-notice/index.jsx | 2 +- .../post-editor/editor-notice/test/index.jsx | 24 +- .../post-editor/editor-page-order/index.jsx | 2 +- .../post-editor/editor-page-parent/index.jsx | 4 +- client/post-editor/editor-page-slug/index.jsx | 2 +- .../editor-page-templates/index.jsx | 2 +- client/post-editor/editor-permalink/index.jsx | 2 +- .../editor-post-formats/accordion.jsx | 2 +- .../post-editor/editor-post-formats/index.jsx | 4 +- client/post-editor/editor-post-type/index.jsx | 2 +- client/post-editor/editor-preview/index.jsx | 10 +- .../editor-publish-button/index.jsx | 2 +- .../post-editor/editor-publish-date/index.jsx | 4 +- .../editor-publish-date/post-scheduler.jsx | 14 +- .../editor-revisions-list/index.jsx | 4 +- .../editor-revisions-list/view-buttons.jsx | 2 +- .../post-editor/editor-revisions/dialog.jsx | 2 +- client/post-editor/editor-revisions/index.jsx | 2 +- .../editor-seo-accordion/index.jsx | 4 +- .../post-editor/editor-sharing/accordion.jsx | 2 +- .../editor-sharing/publicize-connection.jsx | 2 +- .../editor-sharing/publicize-message.jsx | 2 +- .../editor-sharing/publicize-options.jsx | 6 +- .../editor-sharing/publicize-services.jsx | 4 +- .../editor-sharing/sharing-like-options.jsx | 4 +- client/post-editor/editor-slug/index.jsx | 4 +- .../post-editor/editor-status-label/index.jsx | 2 +- .../editor-status-label/placeholder.jsx | 2 +- client/post-editor/editor-sticky/index.jsx | 2 +- .../editor-term-selector/add-term.jsx | 2 +- .../editor-term-selector/index.jsx | 4 +- .../post-editor/editor-theme-help/index.jsx | 2 +- client/post-editor/editor-title/index.jsx | 6 +- .../post-editor/editor-visibility/index.jsx | 12 +- .../post-editor/editor-word-count/index.jsx | 2 +- client/post-editor/index.js | 4 +- .../media-modal/detail/detail-fields.jsx | 2 +- .../media-modal/detail/detail-file-info.jsx | 2 +- .../media-modal/detail/detail-item.jsx | 10 +- .../detail/detail-preview-videopress.jsx | 6 +- .../post-editor/media-modal/detail/index.jsx | 4 +- .../media-modal/detail/test/index.jsx | 4 +- .../post-editor/media-modal/gallery-help.jsx | 8 +- .../media-modal/gallery/caption.jsx | 4 +- .../post-editor/media-modal/gallery/edit.jsx | 4 +- .../media-modal/gallery/fields.jsx | 6 +- .../post-editor/media-modal/gallery/index.jsx | 8 +- .../gallery/preview-individual.jsx | 4 +- .../media-modal/gallery/remove-button.jsx | 4 +- client/post-editor/media-modal/index.jsx | 26 +- client/post-editor/media-modal/markup.js | 12 +- .../post-editor/media-modal/preload-image.js | 2 +- .../media-modal/secondary-actions.jsx | 4 +- client/post-editor/media-modal/test/index.jsx | 40 +- client/post-editor/media-modal/test/markup.js | 2 +- .../media-modal/test/preload-image.js | 2 +- client/post-editor/post-editor.jsx | 38 +- client/post-editor/restore-post-dialog.jsx | 2 +- .../reader-infinite-stream/index.jsx | 4 +- .../reader/components/reader-main/index.jsx | 2 +- .../components/reader-popover/index.jsx | 2 +- .../reader/components/reader-popover/menu.jsx | 2 +- client/reader/controller.js | 4 +- client/reader/conversations/index.js | 2 +- client/reader/conversations/intro.jsx | 4 +- client/reader/conversations/stream.js | 2 +- client/reader/discover/follow-button.jsx | 2 +- client/reader/discover/index.js | 2 +- client/reader/discover/site-attribution.jsx | 2 +- client/reader/embed-helper.jsx | 6 +- client/reader/feed-stream/index.jsx | 2 +- .../following-manage/feed-search-results.jsx | 6 +- client/reader/following-manage/index.jsx | 12 +- .../reader/following-manage/sort-controls.jsx | 2 +- .../reader/following-manage/subscriptions.jsx | 8 +- client/reader/following/index.js | 2 +- client/reader/following/intro.jsx | 4 +- client/reader/following/main.jsx | 6 +- client/reader/full-post/controller.js | 2 +- client/reader/full-post/index.js | 2 +- client/reader/get-helpers.js | 5 +- client/reader/index.js | 2 +- .../reader/lib/feed-display-helper/index.js | 8 +- .../lib/site-description-blocklist/index.js | 2 +- client/reader/lib/teams/index.js | 2 +- client/reader/like-button/index.jsx | 2 +- client/reader/liked-stream/index.js | 2 +- client/reader/list-stream/index.jsx | 4 +- client/reader/list/index.js | 2 +- client/reader/post-excerpt-link/index.jsx | 2 +- client/reader/search-stream/index.jsx | 14 +- client/reader/search-stream/post-results.jsx | 4 +- client/reader/search-stream/site-results.jsx | 4 +- .../search-stream/suggestion-provider.jsx | 4 +- client/reader/search/controller.js | 2 +- client/reader/search/index.js | 2 +- client/reader/sidebar/helper.js | 8 +- client/reader/sidebar/index.jsx | 6 +- client/reader/sidebar/promo.jsx | 2 +- .../sidebar/reader-sidebar-lists/list.jsx | 2 +- .../sidebar/reader-sidebar-tags/index.jsx | 6 +- .../sidebar/reader-sidebar-tags/list.jsx | 2 +- .../sidebar/reader-sidebar-teams/index.jsx | 2 +- .../reader-sidebar-teams/list-item.jsx | 2 +- client/reader/stream/index.jsx | 6 +- client/reader/stream/post.jsx | 2 +- client/reader/stream/recommended-posts.jsx | 2 +- client/reader/stream/test/utils.js | 24 +- client/reader/stream/utils.js | 2 +- client/reader/stream/x-post.jsx | 14 +- client/reader/tag-stream/index.js | 2 +- client/reader/tag-stream/main.jsx | 6 +- client/reader/team/main.jsx | 2 +- client/reader/test/get-helpers.js | 2 +- client/reader/test/id-helpers.js | 2 +- client/reader/test/utils.js | 2 +- client/reader/update-notice/index.jsx | 6 +- client/root.js | 4 +- client/sections-middleware.js | 2 +- client/server/.eslintrc.js | 2 +- client/server/api/index.js | 4 +- client/server/api/integration/index.js | 19 +- client/server/api/oauth.js | 10 +- client/server/api/sign-in-with-apple.js | 4 +- client/server/boot/index.js | 11 +- client/server/bundler/assets-writer.js | 20 +- client/server/bundler/index.js | 8 +- client/server/bundler/sections-loader.js | 8 +- client/server/config/parser.js | 8 +- client/server/devdocs/index.js | 14 +- client/server/devdocs/selectors/index.js | 14 +- client/server/index.js | 2 +- client/server/isomorphic-routing/index.js | 4 +- .../server/isomorphic-routing/test/index.js | 6 +- client/server/lib/analytics/index.js | 8 +- client/server/lib/analytics/test/index.js | 4 +- client/server/pages/analytics.js | 4 +- client/server/pages/index.js | 82 +- client/server/pages/test/analytics.js | 2 +- client/server/render/test/index.js | 2 +- client/server/sanitize/index.js | 2 +- client/server/user-bootstrap/index.js | 2 +- client/signup/config/flows-pure.js | 4 +- client/signup/config/flows.js | 4 +- client/signup/index.node.js | 2 +- client/signup/index.web.js | 2 +- client/signup/main.jsx | 10 +- client/signup/navigation-link/index.jsx | 6 +- client/signup/navigation-link/test/index.jsx | 2 +- client/signup/site-mockup/index.jsx | 2 +- client/signup/steps/about/index.jsx | 12 +- client/signup/steps/clone-point/index.jsx | 6 +- client/signup/steps/domains/index.jsx | 6 +- client/signup/steps/import-preview/index.jsx | 2 +- .../steps/import-url-onboarding/index.jsx | 19 +- client/signup/steps/import-url/index.jsx | 15 +- client/signup/steps/passwordless/index.jsx | 8 +- .../signup/steps/plans-atomic-store/index.jsx | 4 +- .../steps/plans-atomic-store/test/index.jsx | 8 +- client/signup/steps/plans/index.jsx | 4 +- client/signup/steps/plans/test/index.jsx | 10 +- .../signup/steps/reader-landing/content.jsx | 2 +- .../steps/rebrand-cities-welcome/index.jsx | 2 +- client/signup/steps/site-or-domain/choice.jsx | 2 +- client/signup/steps/site-or-domain/index.jsx | 4 +- client/signup/steps/site-picker/index.jsx | 4 +- .../steps/site-picker/site-picker-submit.jsx | 2 +- .../site-picker/test/site-picker-submit.jsx | 10 +- client/signup/steps/site-style/index.jsx | 6 +- client/signup/steps/site-title/index.jsx | 4 +- client/signup/steps/site-topic/form.jsx | 6 +- client/signup/steps/site-topic/index.jsx | 2 +- client/signup/steps/site-type/form.jsx | 4 +- client/signup/steps/site-type/index.jsx | 4 +- client/signup/steps/site/index.jsx | 18 +- client/signup/steps/survey/index.jsx | 10 +- client/signup/steps/theme-selection/index.jsx | 2 +- .../theme-selection/signup-themes-list.jsx | 2 +- client/signup/steps/user/index.jsx | 8 +- client/signup/steps/user/test/index.js | 8 +- .../signup/steps/wp-for-teams-site/index.jsx | 16 +- client/signup/test/mocks/lib/user/index.js | 6 +- client/signup/test/utils.js | 8 +- client/signup/utils.js | 15 +- .../signup/validation-fieldset/test/index.jsx | 9 +- client/signup/wpcom-login-form/index.jsx | 4 +- client/state/account-recovery/selectors.js | 3 +- .../account-recovery/settings/actions.js | 62 +- .../account-recovery/settings/reducer.js | 4 +- .../account-recovery/settings/selectors.js | 32 +- .../account-recovery/settings/test/actions.js | 2 +- .../settings/test/utils/index.js | 12 +- client/state/account/actions.js | 2 +- client/state/action-log/index.js | 14 +- client/state/action-watchers/test/utils.js | 4 +- client/state/action-watchers/utils.js | 2 +- client/state/active-promotions/actions.js | 4 +- client/state/active-promotions/selectors.js | 4 +- .../state/active-promotions/test/reducer.js | 2 +- .../activity-log/activation/test/reducer.js | 2 +- .../activity-log/restore/test/reducer.js | 4 +- client/state/activity-log/utils.js | 6 +- client/state/analytics/actions/record.js | 2 +- .../state/analytics/actions/with-analytics.js | 2 +- client/state/analytics/middleware.js | 6 +- client/state/analytics/test/actions.js | 6 +- .../analytics/test/helpers/analytics-mock.js | 4 +- client/state/application-passwords/actions.js | 10 +- client/state/application/actions.js | 4 +- client/state/atomic-transfer/actions.js | 6 +- client/state/audio/middleware.js | 6 +- client/state/audio/test/middleware.js | 2 +- client/state/automated-transfer/actions.js | 6 +- .../get-automated-transfer-status.ts | 2 +- .../automated-transfer/selectors/index.ts | 2 +- .../selectors/is-automated-transfer-active.js | 2 +- .../selectors/is-automated-transfer-failed.js | 2 +- client/state/billing-transactions/actions.js | 10 +- .../individual-transactions/actions.js | 8 +- .../individual-transactions/test/actions.js | 4 +- .../billing-transactions/test/actions.js | 10 +- .../billing-transactions/test/reducer.js | 2 +- client/state/checklist/reducer.js | 2 +- client/state/comments/actions.js | 4 +- client/state/comments/from-api.js | 4 +- client/state/comments/reducer.js | 16 +- .../comments/selectors/get-comment-by-id.js | 2 +- .../get-date-sorted-post-comments.js | 2 +- .../selectors/get-hidden-comments-for-post.js | 2 +- .../get-post-comments-count-at-date.js | 2 +- .../selectors/get-post-comments-tree.js | 10 +- .../selectors/get-site-comments-tree.js | 2 +- .../comments/selectors/get-site-comments.js | 8 +- client/state/comments/test/reducer.js | 6 +- client/state/comments/trees/reducer.js | 6 +- client/state/comments/utils.js | 2 +- client/state/concierge/actions.js | 8 +- .../state/connected-applications/actions.js | 6 +- client/state/console-dispatch/index.js | 2 +- client/state/countries/reducer.js | 2 +- client/state/country-states/actions.js | 6 +- client/state/country-states/test/actions.js | 4 +- client/state/country-states/test/reducer.js | 2 +- client/state/current-user/selectors.js | 2 +- client/state/current-user/test/reducer.js | 2 +- client/state/data-getters/index.js | 28 +- client/state/data-layer/handler-registry.js | 2 +- client/state/data-layer/http-data.ts | 4 +- .../data-layer/test/wpcom-api-middleware.js | 36 +- .../data-layer/third-party/directly/index.js | 2 +- .../third-party/directly/test/index.js | 10 +- client/state/data-layer/utils.js | 8 +- .../state/data-layer/wpcom-api-middleware.js | 8 +- client/state/data-layer/wpcom-http/index.js | 8 +- .../data-layer/wpcom-http/pipeline/index.js | 4 +- .../pipeline/remove-duplicate-gets/index.js | 6 +- .../remove-duplicate-gets/test/index.js | 2 +- .../pipeline/retry-on-failure/index.jsx | 4 +- .../pipeline/retry-on-failure/test/index.js | 6 +- .../wpcom-http/pipeline/test/test.js | 8 +- .../state/data-layer/wpcom-http/test/index.js | 18 +- .../state/data-layer/wpcom-http/test/utils.js | 10 +- client/state/data-layer/wpcom-http/utils.js | 18 +- .../wpcom/active-promotions/index.js | 2 +- .../wpcom/activity-log/activate/index.js | 2 +- .../wpcom/activity-log/deactivate/index.js | 2 +- .../activity-log/delete-credentials/index.js | 2 +- .../activity-log/rewind/activate/index.js | 2 +- .../activity-log/rewind/downloads/index.js | 4 +- .../rewind/restore-status/index.js | 2 +- .../wpcom/activity-log/rewind/to/index.js | 6 +- .../activity-log/update-credentials/index.js | 8 +- .../wpcom/auth/send-login-email/index.js | 2 +- .../state/data-layer/wpcom/checklist/index.js | 8 +- .../state/data-layer/wpcom/comments/index.js | 19 +- .../wpcom/concierge/initial/from-api.js | 4 +- .../wpcom/concierge/initial/index.js | 2 +- .../schedules/appointments/book/index.js | 4 +- .../schedules/appointments/cancel/index.js | 2 +- .../schedules/appointments/detail/index.js | 2 +- .../appointments/reschedule/index.js | 2 +- .../wpcom/domains/countries-list/index.js | 2 +- .../data-layer/wpcom/domains/privacy/index.js | 8 +- .../wpcom/domains/transfer/index.js | 2 +- .../wpcom/domains/validation-schemas/index.js | 4 +- .../wpcom/email-forwarding/add/index.js | 2 +- .../wpcom/email-forwarding/get/index.js | 2 +- .../wpcom/email-forwarding/remove/index.js | 2 +- .../resend-email-verification/index.js | 2 +- .../wpcom/email-forwarding/test-utils.js | 4 +- .../data-layer/wpcom/experiments/index.js | 4 +- .../data-layer/wpcom/gravatar-upload/index.js | 2 +- .../wpcom/gravatar-upload/test/index.js | 2 +- .../data-layer/wpcom/gsuite-users/index.js | 2 +- .../wpcom/gsuite-users/test-utils.js | 4 +- .../data-layer/wpcom/help/search/index.js | 2 +- .../wpcom/i18n/language-names/index.js | 2 +- .../product-install-status/index.js | 2 +- .../jetpack-blogs/product-install/index.js | 2 +- .../data-layer/wpcom/jetpack-install/index.js | 2 +- .../wpcom/jetpack/connection/owner/index.js | 2 +- .../wpcom/jetpack/settings/index.js | 8 +- client/state/data-layer/wpcom/legal/index.js | 4 +- .../data-layer/wpcom/locale-guess/index.js | 2 +- .../state/data-layer/wpcom/login-2fa/index.js | 2 +- .../state/data-layer/wpcom/logstash/index.js | 2 +- .../state/data-layer/wpcom/marketing/index.js | 2 +- .../wpcom/me/block/sites/delete/index.js | 2 +- .../wpcom/me/block/sites/new/index.js | 2 +- .../data-layer/wpcom/me/blocks/sites/index.js | 4 +- .../me/connected-applications/delete/index.js | 2 +- .../wpcom/me/connected-applications/index.js | 4 +- .../data-layer/wpcom/me/devices/index.js | 4 +- .../wpcom/me/notification/settings/index.js | 2 +- .../wpcom/me/send-verification-email/index.js | 2 +- .../data-layer/wpcom/me/settings/index.js | 6 +- .../me/settings/profile-links/delete/index.js | 2 +- .../wpcom/me/settings/profile-links/index.js | 2 +- .../me/settings/profile-links/new/index.js | 2 +- .../wpcom/me/transactions/order/from-api.js | 2 +- .../wpcom/me/transactions/order/index.js | 2 +- .../transactions/supported-countries/index.js | 2 +- .../application-passwords/delete/index.js | 2 +- .../two-step/application-passwords/index.js | 4 +- .../application-passwords/new/index.js | 4 +- .../wpcom/meta/sms-country-codes/index.js | 2 +- client/state/data-layer/wpcom/plans/index.js | 2 +- .../data-layer/wpcom/posts/revisions/index.js | 2 +- .../state/data-layer/wpcom/read/feed/index.js | 2 +- .../wpcom/read/following/mine/delete/index.js | 8 +- .../wpcom/read/following/mine/index.js | 4 +- .../wpcom/read/following/mine/utils.js | 6 +- .../wpcom/read/recommendations/sites/index.js | 4 +- .../wpcom/read/sites/posts/follow/index.js | 2 +- .../data-layer/wpcom/read/streams/index.js | 12 +- .../wpcom/read/streams/test/index.js | 2 +- .../state/data-layer/wpcom/read/tags/index.js | 4 +- .../wpcom/read/tags/mine/delete/index.js | 2 +- .../wpcom/read/tags/mine/new/index.js | 5 +- .../data-layer/wpcom/read/tags/test/index.js | 2 +- .../state/data-layer/wpcom/read/tags/utils.js | 2 +- .../data-layer/wpcom/read/teams/index.js | 4 +- .../data-layer/wpcom/signup/segments/index.js | 2 +- .../wpcom/signup/verticals/index.js | 2 +- .../data-layer/wpcom/sites/alerts/fix.js | 4 +- .../data-layer/wpcom/sites/alerts/ignore.js | 4 +- .../automated-transfer/eligibility/index.js | 4 +- .../automated-transfer/initiate/index.js | 4 +- .../sites/automated-transfer/status/index.js | 9 +- .../automated-transfer/status/test/index.js | 2 +- .../wpcom/sites/blog-stickers/add/index.js | 6 +- .../wpcom/sites/blog-stickers/index.js | 2 +- .../wpcom/sites/blog-stickers/remove/index.js | 8 +- .../wpcom/sites/comment-counts/index.js | 4 +- .../wpcom/sites/comments-tree/index.js | 4 +- .../data-layer/wpcom/sites/comments/index.js | 12 +- .../sites/comments/likes/mine/delete/index.js | 2 +- .../wpcom/sites/comments/likes/new/index.js | 2 +- .../wpcom/sites/comments/replies/new/index.js | 2 +- .../data-layer/wpcom/sites/embeds/index.js | 4 +- .../wpcom/sites/embeds/render/index.js | 2 +- .../wpcom/sites/exports/media/index.js | 4 +- .../data-layer/wpcom/sites/gutenberg/index.js | 8 +- .../wpcom/sites/home/layout/index.js | 2 +- .../data-layer/wpcom/sites/homepage/index.js | 4 +- .../wpcom/sites/hosting/clear-cache.js | 4 +- .../wpcom/sites/hosting/php-version.js | 8 +- .../hosting/restore-database-password.js | 2 +- .../wpcom/sites/hosting/sftp-user.js | 8 +- .../data-layer/wpcom/sites/jitm/index.js | 10 +- .../data-layer/wpcom/sites/launch/index.js | 2 +- .../data-layer/wpcom/sites/mailchimp/index.js | 8 +- .../wpcom/sites/memberships/index.js | 12 +- .../sites/memberships/subscriptions/index.js | 2 +- .../wpcom/sites/plan-transfer/index.js | 4 +- .../wpcom/sites/plugins/new/index.js | 4 +- .../wpcom/sites/plugins/recommended/index.js | 2 +- .../wpcom/sites/post-types/index.js | 2 +- .../wpcom/sites/posts/likes/index.js | 4 +- .../sites/posts/likes/mine/delete/index.js | 2 +- .../wpcom/sites/posts/likes/new/index.js | 2 +- .../wpcom/sites/posts/replies/new/index.js | 2 +- .../wpcom/sites/rewind/api-transformer.js | 8 +- .../wpcom/sites/rewind/backups/index.js | 2 +- .../wpcom/sites/rewind/capabilities/index.js | 2 +- .../wpcom/sites/rewind/downloads/index.js | 8 +- .../data-layer/wpcom/sites/rewind/index.js | 6 +- .../wpcom/sites/rewind/restores/index.js | 4 +- .../wpcom/sites/scan/history/index.js | 2 +- .../data-layer/wpcom/sites/scan/index.js | 2 +- .../data-layer/wpcom/sites/scan/test/index.js | 2 +- .../wpcom/sites/simple-payments/index.js | 12 +- .../sites/stats/google-my-business/index.js | 2 +- .../wpcom/sites/stats/views/posts/index.js | 2 +- .../wpcom/sites/stats/visits/index.js | 2 +- .../wpcom/sites/transfers/latest.js | 7 +- .../data-layer/wpcom/sites/users/index.js | 6 +- .../wpcom/sites/users/test/index.js | 4 +- client/state/data-layer/wpcom/sites/utils.js | 9 +- .../data-layer/wpcom/theme-filters/index.js | 2 +- .../state/data-layer/wpcom/timezones/index.js | 8 +- .../wpcom/users/auth-options/index.js | 2 +- .../data-layer/wpcom/videos/poster/index.js | 2 +- .../wpcom/wordads/earnings/index.js | 2 +- .../wpcom/wordads/settings/index.js | 6 +- .../data-layer/wpcom/wordads/status/index.js | 2 +- client/state/document-head/selectors.js | 4 +- client/state/domains/actions.js | 8 +- client/state/domains/dns/actions.js | 4 +- client/state/domains/dns/reducer.js | 4 +- client/state/domains/management/actions.js | 14 +- client/state/domains/management/reducer.js | 2 +- .../state/domains/management/test/reducer.js | 4 +- .../management/validation-schemas/actions.js | 4 +- client/state/domains/site-redirect/actions.js | 10 +- client/state/domains/suggestions/actions.js | 6 +- .../state/domains/suggestions/test/actions.js | 4 +- .../state/domains/suggestions/test/reducer.js | 2 +- client/state/email-forwarding/actions.js | 2 +- client/state/email-forwarding/reducer.js | 10 +- client/state/embeds/test/reducer.js | 2 +- client/state/embeds/utils.js | 4 +- client/state/experiments/reducer.ts | 2 +- client/state/exporter/actions.js | 16 +- client/state/exporter/selectors.js | 2 +- client/state/exporter/test/actions.js | 14 +- client/state/followers/actions.js | 12 +- client/state/followers/reducer.js | 4 +- client/state/followers/selectors.js | 2 +- client/state/google-my-business/actions.js | 10 +- client/state/gsuite-users/actions.js | 2 +- client/state/happiness-engineers/actions.js | 6 +- .../state/happiness-engineers/test/actions.js | 6 +- .../state/happiness-engineers/test/reducer.js | 2 +- client/state/happychat/chat/reducer.js | 9 +- client/state/happychat/connection/actions.js | 26 +- client/state/happychat/middleware-calypso.js | 4 +- client/state/happychat/middleware.js | 2 +- .../selectors/can-user-send-messages.js | 2 +- .../happychat/selectors/get-geolocation.js | 2 +- .../selectors/get-happychat-chat-status.js | 2 +- .../get-happychat-connection-status.js | 2 +- .../get-happychat-current-message.js | 2 +- .../get-happychat-lastactivitytimestamp.js | 2 +- .../selectors/get-happychat-timeline.js | 4 +- .../selectors/get-happychat-userinfo.js | 2 +- .../selectors/get-lostfocus-timestamp.js | 2 +- .../selectors/has-active-happychat-session.js | 4 +- .../has-happychat-localized-support.js | 2 +- .../selectors/has-unread-messages.js | 2 +- .../selectors/is-happychat-available.js | 2 +- .../selectors/is-happychat-chat-assigned.js | 3 +- .../is-happychat-client-connected.js | 2 +- .../is-happychat-connection-uninitialized.js | 2 +- .../selectors/is-happychat-minimizing.js | 2 +- .../happychat/selectors/is-happychat-open.js | 4 +- .../is-happychat-server-reachable.js | 2 +- .../selectors/is-happychat-user-eligible.js | 2 +- .../selectors/test/can-user-send-messages.js | 4 +- .../happychat/selectors/test/get-groups.js | 2 +- .../test/has-active-happychat-session.js | 4 +- .../was-happychat-recently-active.js | 2 +- client/state/happychat/test/middleware.js | 4 +- client/state/happychat/ui/actions.js | 9 +- client/state/happychat/user/actions.js | 10 +- client/state/happychat/utils.js | 6 +- client/state/help/actions.js | 6 +- client/state/help/selectors.js | 6 +- client/state/help/ticket/actions.js | 10 +- client/state/help/ticket/selectors.js | 8 +- client/state/help/ticket/test/actions.js | 14 +- client/state/home/actions.js | 2 +- client/state/hosting/actions.js | 6 +- client/state/hosting/reducer.js | 4 +- client/state/hosting/test/reducer.js | 2 +- client/state/http/index.js | 8 +- client/state/http/test/index.js | 2 +- client/state/i18n/language-names/actions.js | 2 +- .../state/i18n/locale-suggestions/actions.js | 2 +- client/state/immediate-login/selectors.js | 12 +- client/state/immediate-login/utils.js | 4 +- client/state/importer-nux/actions.js | 4 +- client/state/importer-nux/temp-selectors.js | 11 +- client/state/imports/site-importer/actions.js | 38 +- client/state/initial-state.js | 4 +- client/state/inline-help/actions.js | 20 +- client/state/inline-help/selectors.js | 2 +- client/state/invites/actions.js | 16 +- client/state/invites/reducer.js | 4 +- client/state/invites/test/reducer.js | 2 +- .../jetpack-connect/actions/authorize-sso.js | 6 +- .../jetpack-connect/actions/authorize.js | 12 +- .../jetpack-connect/actions/check-url.js | 6 +- .../jetpack-connect/actions/complete-flow.js | 2 +- .../jetpack-connect/actions/create-account.js | 2 +- .../actions/create-social-account.js | 2 +- .../actions/is-user-connected.js | 6 +- .../jetpack-connect/actions/retry-auth.js | 2 +- .../actions/validate-sso-nonce.js | 6 +- .../reducer/test/jetpack-connect-authorize.js | 2 +- .../reducer/test/jetpack-sso.js | 6 +- .../selectors/get-authorization-data.js | 2 +- .../selectors/get-connecting-site.js | 2 +- .../jetpack-connect/selectors/get-sso.js | 2 +- .../selectors/get-user-already-connected.js | 2 +- .../selectors/has-expired-secret-error.js | 2 +- .../selectors/has-xmlrpc-error.js | 2 +- .../selectors/is-site-blacklisted-error.js | 2 +- client/state/jetpack-connect/test/actions.js | 12 +- .../state/jetpack-connect/test/selectors.js | 2 +- .../state/jetpack-product-install/actions.js | 2 +- .../state/jetpack-remote-install/actions.js | 2 +- client/state/jetpack-scan/actions.js | 2 +- client/state/jetpack-scan/history/actions.js | 2 +- client/state/jetpack-sync/actions.js | 12 +- client/state/jetpack-sync/test/actions.js | 10 +- client/state/jetpack/connection/actions.js | 24 +- .../state/jetpack/connection/test/actions.js | 14 +- client/state/jetpack/credentials/actions.js | 2 +- client/state/jetpack/modules/actions.js | 16 +- client/state/jetpack/modules/reducer.js | 6 +- client/state/jetpack/modules/test/actions.js | 14 +- client/state/jetpack/settings/actions.js | 2 +- client/state/jetpack/settings/reducer.js | 4 +- client/state/jetpack/settings/test/reducer.js | 2 +- client/state/jetpack/settings/utils.js | 6 +- client/state/jitm/actions.js | 4 +- client/state/jitm/reducer.js | 2 +- client/state/lasagna/middleware.js | 8 +- .../private-post-channel/actions-to-events.js | 2 +- .../private-post-channel/events-to-actions.js | 2 +- .../public-post-channel/actions-to-events.js | 2 +- .../public-post-channel/events-to-actions.js | 2 +- client/state/lasagna/socket.js | 2 +- .../lasagna/user-channel/actions-to-events.js | 4 +- client/state/legal/actions.js | 2 +- client/state/legal/reducer.js | 2 +- client/state/lib/middleware.js | 2 +- .../state/login/actions/auth-account-type.js | 2 +- .../login/actions/connect-social-user.js | 6 +- .../state/login/actions/create-social-user.js | 6 +- .../login/actions/disconnect-social-user.js | 4 +- .../state/login/actions/login-social-user.js | 6 +- .../actions/login-user-with-security-key.js | 8 +- ...-user-with-two-factor-verification-code.js | 4 +- client/state/login/actions/login-user.js | 6 +- client/state/login/actions/push/impl.js | 2 +- .../state/login/actions/remote-login-user.js | 10 +- client/state/login/actions/send-sms-code.js | 4 +- client/state/login/magic-login/actions.js | 6 +- client/state/login/selectors.js | 50 +- client/state/login/utils.js | 6 +- client/state/logout/actions.js | 6 +- client/state/mailchimp/lists/actions.js | 2 +- client/state/mailchimp/settings/actions.js | 8 +- client/state/media/reducer.js | 12 +- client/state/memberships/actions.js | 4 +- .../memberships/connected-accounts/actions.js | 6 +- client/state/memberships/earnings/actions.js | 2 +- .../state/memberships/product-list/actions.js | 18 +- .../state/memberships/product-list/reducer.js | 6 +- client/state/memberships/settings/actions.js | 6 +- .../state/memberships/subscribers/actions.js | 6 +- .../memberships/subscriptions/actions.js | 6 +- .../memberships/subscriptions/reducer.js | 2 +- client/state/my-sites/sidebar/actions.js | 2 +- client/state/navigation/middleware.js | 4 +- .../state/notices/account-recovery/index.js | 10 +- client/state/notices/actions.js | 2 +- client/state/notices/middleware.js | 12 +- client/state/notices/selectors.js | 6 +- client/state/notices/test/middleware.js | 14 +- client/state/notification-settings/actions.js | 14 +- .../notification-settings/toggle-state.js | 2 +- client/state/notifications/index.js | 2 +- client/state/nps-survey/actions.js | 18 +- client/state/oauth2-clients/actions.js | 4 +- client/state/order-transactions/actions.js | 2 +- client/state/page-templates/actions.js | 4 +- client/state/page-templates/test/actions.js | 4 +- client/state/page-templates/test/reducer.js | 2 +- client/state/plans/actions.js | 4 +- client/state/plans/selectors.js | 8 +- client/state/plans/test/reducer.js | 2 +- client/state/plugins/installed/actions.js | 64 +- client/state/plugins/installed/reducer.js | 4 +- client/state/plugins/installed/selectors.js | 34 +- .../state/plugins/installed/test/actions.js | 18 +- .../state/plugins/installed/test/selectors.js | 2 +- client/state/plugins/premium/actions.js | 20 +- client/state/plugins/premium/reducer.js | 6 +- client/state/plugins/premium/selectors.js | 28 +- client/state/plugins/wporg/selectors.js | 6 +- client/state/plugins/wporg/test/actions.js | 2 +- client/state/post-formats/actions.js | 4 +- client/state/post-formats/test/actions.js | 4 +- client/state/post-formats/test/reducer.js | 2 +- client/state/post-types/taxonomies/actions.js | 4 +- .../post-types/taxonomies/test/actions.js | 2 +- .../post-types/taxonomies/test/reducer.js | 2 +- client/state/post-types/test/reducer.js | 2 +- .../posts/actions/delete-post-metadata.js | 2 +- client/state/posts/actions/delete-post.js | 9 +- client/state/posts/actions/request-posts.js | 4 +- .../state/posts/actions/request-site-post.js | 6 +- client/state/posts/actions/restore-post.js | 11 +- client/state/posts/actions/save-edited.js | 2 +- client/state/posts/actions/save-post.js | 6 +- .../actions/start-editing-existing-post.js | 4 +- .../posts/actions/start-editing-post-copy.js | 6 +- client/state/posts/actions/trash-post.js | 11 +- client/state/posts/counts/actions.js | 6 +- client/state/posts/counts/reducer.js | 2 +- client/state/posts/counts/test/actions.js | 2 +- client/state/posts/counts/test/reducer.js | 2 +- client/state/posts/likes/reducer.js | 8 +- client/state/posts/likes/test/reducer.js | 2 +- client/state/posts/reducer.js | 2 +- client/state/posts/revisions/actions.js | 2 +- client/state/posts/revisions/reducer.js | 2 +- .../state/posts/selectors/get-edited-post.js | 2 +- .../posts/selectors/get-normalized-post.js | 2 +- .../state/posts/selectors/get-post-edits.js | 2 +- .../get-posts-for-query-ignoring-page.js | 2 +- .../posts/selectors/get-posts-for-query.js | 2 +- client/state/posts/selectors/get-site-post.js | 2 +- .../posts/selectors/get-site-posts-by-term.js | 4 +- .../state/posts/selectors/get-site-posts.js | 2 +- .../posts/selectors/is-edited-post-dirty.js | 2 +- .../posts/selectors/is-post-published.js | 2 +- ...equesting-posts-for-query-ignoring-page.js | 2 +- client/state/posts/test/actions.js | 20 +- client/state/posts/test/reducer.js | 6 +- client/state/posts/utils/apply-post-edits.js | 2 +- .../posts/utils/get-term-ids-from-edits.js | 2 +- client/state/posts/utils/merge-post-edits.js | 2 +- client/state/posts/utils/metadata-edits.js | 4 +- .../posts/utils/normalize-terms-for-api.js | 2 +- client/state/preferences/actions.js | 10 +- client/state/preferences/selectors.js | 6 +- client/state/preferences/test/actions.js | 8 +- client/state/products-list/actions.js | 6 +- client/state/products-list/assembler.js | 2 +- client/state/products-list/selectors.js | 10 +- client/state/products-list/test/actions.js | 2 +- client/state/products-list/test/reducer.js | 2 +- client/state/products-list/test/selectors.js | 4 +- client/state/profile-links/actions.js | 14 +- client/state/purchases/actions.js | 16 +- client/state/purchases/reducer.js | 4 +- client/state/purchases/selectors.js | 26 +- client/state/purchases/test/actions.js | 8 +- client/state/purchases/test/selectors.js | 4 +- client/state/push-notifications/actions.js | 56 +- client/state/push-notifications/selectors.js | 18 +- .../state/push-notifications/test/actions.js | 4 +- client/state/reader/conversations/reducer.js | 2 +- client/state/reader/feeds/test/reducer.js | 8 +- client/state/reader/follows/actions.js | 4 +- client/state/reader/follows/reducer.js | 4 +- .../get-reader-aliased-follow-feed-url.js | 2 +- .../selectors/get-reader-follow-for-blog.js | 2 +- .../selectors/get-reader-follows-count.js | 2 +- .../get-reader-follows-last-sync-time.js | 2 +- .../follows/selectors/get-reader-follows.js | 8 +- client/state/reader/follows/test/actions.js | 2 +- client/state/reader/follows/test/reducer.js | 6 +- client/state/reader/full-view/actions.js | 2 +- .../get-reader-full-view-post-key.js | 2 +- client/state/reader/lists/actions.js | 32 +- client/state/reader/lists/reducer.js | 8 +- client/state/reader/lists/selectors.js | 10 +- client/state/reader/lists/test/actions.js | 10 +- client/state/reader/posts/actions.js | 29 +- .../state/reader/posts/normalization-rules.js | 2 +- client/state/reader/posts/selectors.js | 12 +- .../reader/posts/test/normalization-rules.js | 2 +- client/state/reader/posts/test/reducer.js | 4 +- client/state/reader/related-posts/actions.js | 6 +- .../reader/related-posts/test/actions.js | 4 +- .../selectors/get-blocked-sites.js | 4 +- .../selectors/get-site-blocks-current-page.js | 2 +- .../selectors/get-site-blocks-last-page.js | 2 +- .../selectors/is-fetching-site-blocks.js | 2 +- .../state/reader/site-dismissals/actions.js | 2 +- .../state/reader/site-dismissals/selectors.js | 4 +- client/state/reader/sites/test/reducer.js | 8 +- client/state/reader/streams/reducer.js | 16 +- .../get-reader-stream-offset-item.js | 4 +- client/state/reader/streams/utils.js | 2 +- client/state/reader/tags/images/actions.js | 6 +- .../state/reader/tags/images/test/actions.js | 4 +- client/state/reader/tags/items/actions.js | 15 +- client/state/reader/tags/items/reducer.js | 2 +- .../state/reader/tags/items/test/reducer.js | 6 +- .../selectors/get-reader-followed-tags.js | 6 +- client/state/reader/teams/test/reducer.js | 2 +- client/state/reader/thumbnails/actions.js | 6 +- .../state/reader/thumbnails/test/actions.js | 6 +- client/state/receipts/actions.js | 2 +- client/state/receipts/assembler.js | 4 +- client/state/rewind/backups/actions.js | 2 +- client/state/rewind/backups/test/reducer.js | 2 +- client/state/rewind/capabilities/actions.js | 2 +- client/state/rewind/state/actions.js | 2 +- client/state/rewind/state/reducer.js | 2 +- client/state/selected-editor/actions.js | 2 +- .../selectors/are-all-sites-single-user.js | 4 +- .../can-current-user-manage-plugins.js | 6 +- client/state/selectors/can-upgrade-to-plan.js | 2 +- .../selectors/edited-post-has-content.js | 2 +- .../selectors/get-account-closure-sites.js | 4 +- client/state/selectors/get-active-discount.js | 6 +- .../selectors/get-application-passwords.js | 2 +- ...-billing-transaction-date-filter-values.js | 10 +- .../selectors/get-checklist-task-urls.js | 2 +- .../get-concierge-appointment-timespan.js | 2 +- .../get-concierge-available-times.js | 2 +- .../get-concierge-has-available-sessions.js | 2 +- .../get-concierge-next-appointment.js | 2 +- .../selectors/get-concierge-schedule-id.js | 2 +- .../selectors/get-concierge-signup-form.js | 2 +- .../selectors/get-connected-applications.js | 2 +- .../selectors/get-current-query-arguments.js | 2 +- client/state/selectors/get-current-route.js | 2 +- .../selectors/get-current-site-embeds.js | 2 +- .../selectors/get-editor-close-config.js | 2 +- .../get-filtered-billing-transactions.js | 12 +- .../get-google-my-business-locations.js | 2 +- ...e-my-business-stats-nudge-dismiss-count.js | 2 +- client/state/selectors/get-help-links.js | 2 +- .../selectors/get-initial-query-arguments.js | 2 +- ...line-support-article-action-is-external.js | 2 +- ...get-inline-support-article-action-label.js | 3 +- .../get-inline-support-article-action-url.js | 2 +- .../get-inline-support-article-post-id.js | 2 +- ...et-jetpack-modules-requiring-connection.js | 4 +- client/state/selectors/get-jetpack-sites.js | 4 +- .../selectors/get-last-good-rewind-backup.js | 4 +- .../selectors/get-last-non-editor-route.js | 4 +- .../state/selectors/get-media-export-url.js | 2 +- client/state/selectors/get-memberships.js | 7 +- client/state/selectors/get-menu-item-types.js | 4 +- client/state/selectors/get-network-sites.js | 6 +- .../selectors/get-new-application-password.js | 2 +- client/state/selectors/get-newest-site.js | 4 +- .../get-notification-unseen-count.js | 2 +- .../selectors/get-partner-id-from-query.js | 2 +- .../selectors/get-partner-slug-from-query.js | 2 +- client/state/selectors/get-post-revision.js | 2 +- .../get-post-revisions-authors-id.js | 4 +- .../get-post-revisions-comparisons.js | 2 +- .../selectors/get-post-revisions-diff-view.js | 2 +- .../selectors/get-post-revisions-diff.js | 2 +- ...get-post-revisions-selected-revision-id.js | 2 +- client/state/selectors/get-post-revisions.js | 2 +- client/state/selectors/get-previous-path.js | 2 +- client/state/selectors/get-previous-query.js | 2 +- client/state/selectors/get-previous-route.js | 2 +- .../get-primary-domain-by-site-id.js | 2 +- client/state/selectors/get-public-sites.js | 8 +- ...elected-or-all-sites-jetpack-can-manage.js | 7 +- .../get-selected-or-all-sites-with-plugins.js | 6 +- .../selectors/get-selected-or-all-sites.js | 2 +- client/state/selectors/get-simple-payments.js | 4 +- .../get-site-address-availability-pending.js | 2 +- .../get-site-address-validation-error.js | 2 +- ...et-site-slugs-for-upcoming-transactions.js | 4 +- .../state/selectors/get-site-timezone-name.js | 2 +- ...user-connections-for-google-my-business.js | 4 +- client/state/selectors/get-sites.js | 8 +- .../selectors/get-store-referrers-by-date.js | 4 +- .../get-store-referrers-by-referrer.js | 6 +- .../get-timezones-labels-by-continent.js | 2 +- client/state/selectors/get-timezones.js | 4 +- .../get-upgrade-plan-slug-from-path.js | 4 +- .../get-user-purchased-premium-themes.js | 2 +- client/state/selectors/get-visible-sites.js | 8 +- .../has-cancelable-site-purchases.js | 2 +- .../has-cancelable-user-purchases.js | 2 +- client/state/selectors/has-jetpack-sites.js | 4 +- .../selectors/has-pending-comment-requests.js | 4 +- .../selectors/has-unseen-notifications.js | 2 +- .../state/selectors/is-any-plugin-active.js | 2 +- .../state/selectors/is-business-plan-user.js | 4 +- .../is-connected-secondary-network-site.js | 2 +- .../is-eligible-for-upwork-support.ts | 2 +- ...s-google-my-business-location-connected.js | 4 +- ...oogle-my-business-stats-nudge-dismissed.js | 2 +- ...-google-my-business-stats-nudge-visible.js | 2 +- .../is-gsuite-stats-nudge-dismissed.js | 2 +- .../selectors/is-iframe-for-html-element.js | 2 +- .../is-inline-support-article-visible.js | 2 +- .../selectors/is-previous-route-gutenberg.js | 2 +- client/state/selectors/is-private-site.ts | 4 +- .../selectors/is-requesting-reset-password.js | 2 +- .../selectors/is-site-checklist-complete.js | 2 +- .../selectors/is-site-in-profile-links.js | 2 +- client/state/selectors/is-site-upgradeable.js | 2 +- .../selectors/is-upwork-banner-dismissed.js | 2 +- .../is-upwork-stats-nudge-dismissed.js | 2 +- .../should-display-tos-update-banner.js | 2 +- .../site-supports-realtime-backup.js | 7 +- .../selectors/test/can-upgrade-to-plan.js | 8 +- .../selectors/test/get-active-discount.js | 2 +- ...-billing-transaction-date-filter-values.js | 2 +- .../test/get-filtered-billing-transactions.js | 6 +- .../state/selectors/test/get-network-sites.js | 8 +- .../test/get-past-billing-transactions.js | 2 +- .../selectors/test/get-post-revisions.js | 4 +- client/state/selectors/test/get-request.js | 4 +- .../test/get-upcoming-billing-transactions.js | 2 +- .../test/is-eligible-for-upwork-support.js | 4 +- .../is-site-google-my-business-eligible.js | 4 +- .../test/site-supports-realtime-backup.js | 8 +- .../selectors/user-has-any-atomic-sites.js | 4 +- .../selectors/user-has-any-paid-plans.js | 4 +- .../state/selectors/utils/revisions/index.js | 10 +- client/state/sharing/keyring/actions.js | 8 +- client/state/sharing/keyring/selectors.js | 4 +- client/state/sharing/keyring/test/actions.js | 8 +- client/state/sharing/keyring/test/reducer.js | 2 +- client/state/sharing/publicize/actions.js | 32 +- .../publicize/publicize-actions/actions.js | 20 +- .../publicize/publicize-actions/reducer.js | 2 +- client/state/sharing/publicize/selectors.js | 4 +- .../state/sharing/publicize/test/actions.js | 12 +- .../state/sharing/publicize/test/reducer.js | 2 +- client/state/sharing/selectors.js | 2 +- client/state/sharing/services/actions.js | 4 +- client/state/sharing/services/selectors.js | 2 +- client/state/sharing/services/test/actions.js | 6 +- client/state/sharing/services/test/reducer.js | 2 +- client/state/shortcodes/actions.js | 6 +- client/state/shortcodes/reducer.js | 6 +- client/state/shortcodes/test/actions.js | 6 +- client/state/shortcodes/test/reducer.js | 2 +- client/state/signup/flow/reducer.js | 2 +- .../signup/optional-dependencies/actions.js | 4 +- client/state/signup/preview/selectors.js | 2 +- client/state/signup/progress/actions.js | 2 +- client/state/signup/segments/actions.js | 2 +- client/state/signup/segments/selectors.js | 2 +- .../state/signup/steps/site-type/actions.js | 2 +- .../signup/steps/site-vertical/actions.js | 2 +- .../signup/steps/site-vertical/selectors.js | 2 +- .../simple-payments/product-list/actions.js | 2 +- .../simple-payments/product-list/reducer.js | 4 +- client/state/site-address-change/actions.js | 18 +- client/state/site-keyrings/actions.js | 24 +- client/state/site-keyrings/reducer.js | 4 +- client/state/site-keyrings/selectors.js | 2 +- client/state/site-roles/actions.js | 2 +- client/state/site-roles/test/actions.js | 6 +- client/state/site-roles/test/reducer.js | 2 +- client/state/site-settings/actions.js | 10 +- client/state/site-settings/test/actions.js | 6 +- client/state/site-settings/test/reducer.js | 2 +- client/state/sites/actions.js | 18 +- client/state/sites/blog-stickers/reducer.js | 2 +- client/state/sites/connection/actions.js | 8 +- client/state/sites/connection/reducer.js | 2 +- client/state/sites/connection/test/actions.js | 6 +- client/state/sites/connection/test/reducer.js | 2 +- client/state/sites/domains/actions.js | 12 +- client/state/sites/domains/assembler.js | 2 +- client/state/sites/domains/selectors.js | 4 +- client/state/sites/domains/test/actions.js | 6 +- client/state/sites/domains/test/reducer.js | 2 +- client/state/sites/guided-transfer/actions.js | 12 +- .../state/sites/guided-transfer/selectors.js | 4 +- .../sites/guided-transfer/test/actions.js | 4 +- .../sites/guided-transfer/test/reducer.js | 2 +- client/state/sites/launch/actions.js | 4 +- client/state/sites/media-storage/actions.js | 6 +- .../state/sites/media-storage/test/actions.js | 4 +- .../state/sites/media-storage/test/reducer.js | 2 +- client/state/sites/monitor/actions.js | 12 +- client/state/sites/monitor/test/actions.js | 10 +- client/state/sites/monitor/test/reducer.js | 2 +- client/state/sites/plans/actions.js | 8 +- client/state/sites/plans/assembler.js | 2 +- client/state/sites/plans/selectors.js | 2 +- client/state/sites/products/actions.js | 6 +- client/state/sites/products/assembler.js | 2 +- client/state/sites/products/selectors.js | 2 +- ...pack-site-update-files-disabled-reasons.js | 2 +- .../state/sites/selectors/get-site-by-slug.js | 2 +- .../sites/selectors/get-site-collisions.js | 6 +- .../verify-jetpack-modules-active.js | 2 +- client/state/sites/sharing-buttons/actions.js | 8 +- .../sites/sharing-buttons/test/actions.js | 6 +- .../sites/sharing-buttons/test/reducer.js | 2 +- client/state/sites/test/actions.js | 10 +- client/state/sites/test/reducer.js | 2 +- client/state/sites/test/selectors.js | 2 +- client/state/sites/vouchers/actions.js | 16 +- client/state/sites/vouchers/test/actions.js | 10 +- client/state/sites/vouchers/test/reducer.js | 2 +- client/state/stats/chart-tabs/reducer.js | 4 +- client/state/stats/chart-tabs/selectors.js | 2 +- client/state/stats/lists/actions.js | 6 +- client/state/stats/lists/selectors.js | 6 +- client/state/stats/lists/test/actions.js | 2 +- client/state/stats/lists/test/reducer.js | 2 +- client/state/stats/lists/test/utils.js | 4 +- client/state/stats/lists/utils.js | 91 +- client/state/stats/posts/actions.js | 6 +- client/state/stats/posts/test/actions.js | 2 +- client/state/stats/posts/test/reducer.js | 2 +- .../state/stats/recent-post-views/reducer.js | 2 +- client/state/stored-cards/actions.js | 14 +- client/state/stored-cards/reducer.js | 2 +- client/state/stored-cards/selectors.js | 8 +- client/state/stored-cards/test/actions.js | 10 +- client/state/stored-cards/test/reducer.js | 2 +- client/state/terms/actions.js | 30 +- client/state/terms/reducer.js | 4 +- client/state/terms/selectors.js | 2 +- client/state/terms/test/actions.js | 8 +- client/state/terms/test/reducer.js | 2 +- client/state/test/initial-state.js | 6 +- client/state/test/utils.js | 42 +- client/state/themes/actions/activate-theme.js | 6 +- client/state/themes/actions/confirm-delete.js | 2 +- client/state/themes/actions/delete-theme.js | 12 +- .../actions/install-and-activate-theme.js | 2 +- .../install-and-try-and-customize-theme.js | 2 +- client/state/themes/actions/install-theme.js | 10 +- client/state/themes/actions/receive-themes.js | 2 +- .../themes/actions/recommended-themes.js | 4 +- .../themes/actions/request-active-theme.js | 4 +- client/state/themes/actions/request-theme.js | 18 +- client/state/themes/actions/request-themes.js | 2 +- client/state/themes/actions/theme-transfer.js | 12 +- client/state/themes/actions/upload-theme.js | 8 +- .../selectors/find-theme-filter-term.js | 4 +- .../themes/selectors/get-canonical-theme.js | 2 +- .../selectors/get-theme-filter-terms-table.js | 6 +- .../get-theme-filter-to-term-table.js | 6 +- client/state/themes/selectors/get-theme.js | 2 +- .../get-themes-for-query-ignoring-page.js | 6 +- .../themes/selectors/get-themes-for-query.js | 2 +- .../is-ambiguous-theme-filter-term.js | 4 +- ...questing-themes-for-query-ignoring-page.js | 2 +- .../selectors/prepend-theme-filter-keys.js | 2 +- client/state/themes/test/actions.js | 50 +- client/state/themes/test/selectors.js | 2 +- client/state/themes/utils.js | 8 +- client/state/timezones/actions.js | 2 +- client/state/timezones/test/reducer.js | 2 +- client/state/ui/action-log/reducer.js | 10 +- client/state/ui/action-log/selectors.js | 12 +- client/state/ui/actions/index.js | 2 +- client/state/ui/comments/reducer.js | 6 +- client/state/ui/editor/actions.js | 31 +- .../state/ui/editor/contact-form/reducer.js | 2 +- .../state/ui/editor/save-blockers/actions.js | 4 +- client/state/ui/editor/sidebar/actions.js | 4 +- client/state/ui/editor/test/edit-save-flow.js | 4 +- client/state/ui/editor/test/selectors.js | 20 +- .../state/ui/editor/video-editor/actions.js | 4 +- client/state/ui/guided-tours/contexts.js | 40 +- .../selectors/find-ongoing-tour.js | 2 +- .../selectors/get-tours-history.js | 2 +- .../state/ui/guided-tours/selectors/index.js | 39 +- client/state/ui/language/actions.js | 2 +- client/state/ui/nps-survey-notice/actions.js | 4 +- client/state/ui/oauth2-clients/selectors.js | 4 +- client/state/ui/preview/actions.js | 2 +- client/state/ui/reducer.js | 2 +- client/state/ui/route/query/reducer.js | 4 +- client/state/ui/theme-setup/actions.js | 6 +- client/state/user-devices/actions.js | 2 +- client/state/user-settings/actions.js | 6 +- client/state/users/suggestions/actions.js | 6 +- .../state/users/suggestions/test/actions.js | 4 +- client/state/utils/add-reducer-enhancer.js | 2 +- client/state/utils/extend-action.js | 2 +- client/state/utils/keyed-reducer.js | 4 +- client/state/utils/reducer-utils.js | 2 +- client/state/utils/with-enhancers.js | 2 +- client/state/utils/without-persistence.js | 2 +- client/state/wordads/approve/actions.js | 10 +- client/state/wordads/approve/test/actions.js | 4 +- client/state/wordads/earnings/actions.js | 2 +- client/state/wordads/status/actions.js | 2 +- client/support/support-user/index.jsx | 2 +- client/utils.js | 2 +- client/webpack.config.js | 4 +- client/webpack/extensions.js | 4 +- client/webpack/generate-chunks-map-plugin.js | 4 +- .../webpack/require-chunk-callback-plugin.js | 6 +- .../babel-plugin-i18n-calypso/src/index.js | 22 +- .../calypso-analytics/src/page-view-params.ts | 4 +- packages/calypso-build/bin/calypso-build.js | 2 +- packages/calypso-build/webpack/file-loader.js | 2 +- packages/calypso-build/webpack/minify.js | 4 +- packages/calypso-build/webpack/util.js | 6 +- packages/calypso-codemods/api.js | 6 +- packages/calypso-codemods/index.js | 2 +- packages/calypso-codemods/setup-tests.js | 4 +- .../combine-reducer-with-persistence.js | 6 +- .../transforms/combine-state-utils-imports.js | 8 +- .../transforms/i18n-mixin-to-localize.js | 16 +- .../transforms/merge-lodash-imports.js | 10 +- .../transforms/modular-lodash-no-more.js | 4 +- .../modular-lodash-requires-no-more.js | 19 +- .../transforms/remove-create-reducer.js | 27 +- .../transforms/rename-combine-reducers.js | 14 +- .../transforms/replace-lodash-get.js | 18 +- .../transforms/single-tree-rendering.js | 18 +- .../transforms/sort-imports.js | 22 +- .../calypso-polyfills/browser-fallback.js | 2 +- .../components/src/button/index.stories.jsx | 2 +- packages/components/src/card/docs/example.jsx | 2 +- packages/components/src/dialog/index.jsx | 2 +- .../components/src/product-icon/index.jsx | 2 +- .../src/product-icon/index.stories.jsx | 2 +- packages/components/src/ribbon/index.jsx | 2 +- .../components/src/root-child/test/index.jsx | 2 +- .../src/suggestions/docs/example.jsx | 4 +- packages/components/src/suggestions/index.jsx | 16 +- packages/components/src/suggestions/item.jsx | 2 +- .../types/components/button.d.ts | 40 +- .../types/components/coupon.d.ts | 29 +- .../types/components/field.d.ts | 91 +- .../components/form-field-annotation.d.ts | 20 +- .../types/components/ie-fallback.d.ts | 538 ++++- .../types/components/join-classes.d.ts | 2 +- .../types/components/radio-button.d.ts | 51 +- .../types/components/summary-details.d.ts | 1878 ++++++++++++++++- .../types/components/upsell.d.ts | 4 +- .../wp-checkout-error-boundary.d.ts | 16 +- .../components/wp-checkout-order-review.d.ts | 28 +- .../components/wp-checkout-order-summary.d.ts | 4 +- .../types/components/wp-checkout.d.ts | 29 +- .../types/components/wp-contact-form.d.ts | 26 +- .../wp-order-review-line-items.d.ts | 81 +- .../components/wp-terms-and-conditions.d.ts | 4 +- .../types/hooks/has-domains.d.ts | 4 +- .../types/hooks/use-shopping-cart.d.ts | 22 +- .../types/hooks/wpcom-store.d.ts | 2 +- .../composite-checkout-wpcom/types/index.d.ts | 30 +- .../types/lib/edit-cart.d.ts | 2 +- .../types/lib/translate-cart.d.ts | 2 +- .../types/mock/cart-endpoint.d.ts | 11 +- .../composite-checkout-wpcom/types/types.d.ts | 66 +- .../types/types/backend/payment-method.d.ts | 53 +- .../types/backend/shopping-cart-endpoint.d.ts | 92 +- .../types/types/checkout-cart.d.ts | 46 +- .../types/checkout-payment-method-slug.d.ts | 17 +- .../types/types/wpcom-store-state.d.ts | 124 +- packages/composite-checkout/demo/index.js | 33 +- .../src/components/button.js | 10 +- .../src/components/checkout-modal.js | 12 +- .../src/components/checkout-order-summary.js | 4 +- .../components/checkout-payment-methods.js | 4 +- .../src/components/checkout-provider.js | 2 +- .../src/components/checkout-steps.js | 62 +- .../src/components/error-message.js | 4 +- .../src/components/field.js | 23 +- .../src/components/grid-row.js | 6 +- .../src/components/loading-content.js | 20 +- .../src/components/order-review-line-items.js | 10 +- .../src/components/payment-request-button.js | 4 +- .../src/components/radio-button.js | 10 +- .../src/components/spinner.js | 6 +- .../composite-checkout/src/lib/form-status.js | 2 +- .../src/lib/join-classes.js | 2 +- .../composite-checkout/src/lib/localize.js | 4 +- .../src/lib/payment-methods/apple-pay.js | 10 +- .../payment-methods/existing-credit-card.js | 12 +- .../src/lib/payment-methods/free-purchase.js | 10 +- .../src/lib/payment-methods/full-credits.js | 10 +- .../src/lib/payment-methods/payment-logo.js | 12 +- .../src/lib/payment-methods/paypal.js | 8 +- .../stripe-credit-card-fields.js | 62 +- .../composite-checkout/src/lib/registry.js | 2 +- packages/composite-checkout/src/lib/stripe.js | 11 +- .../test/checkout-provider.js | 2 +- packages/composite-checkout/test/checkout.js | 38 +- .../composite-checkout/test/join-classes.js | 10 +- .../composite-checkout/test/line-items.js | 18 +- packages/composite-checkout/test/localize.js | 6 +- packages/data-stores/src/auth/controls.ts | 6 +- packages/data-stores/src/auth/test/flows.ts | 8 +- .../data-stores/src/site/test/selectors.ts | 4 +- .../src/wpcom-request-controls/index.ts | 2 +- packages/effective-module-tree/index.js | 10 +- packages/effective-module-tree/test/test.js | 2 +- .../lib/rules/i18n-ellipsis.js | 8 +- .../lib/rules/i18n-mismatched-placeholders.js | 4 +- .../lib/rules/i18n-named-placeholders.js | 6 +- .../rules/i18n-no-collapsible-whitespace.js | 6 +- .../lib/rules/i18n-no-placeholders-only.js | 6 +- .../lib/rules/i18n-no-this-translate.js | 4 +- .../lib/rules/i18n-no-variables.js | 8 +- .../lib/rules/jsx-classname-namespace.js | 13 +- .../lib/rules/jsx-gridicon-size.js | 4 +- .../rules/post-message-no-wildcard-targets.js | 4 +- .../lib/rules/redux-no-bound-selectors.js | 8 +- .../lib/util/get-callee.js | 2 +- .../lib/util/get-text-content-from-node.js | 2 +- .../util/test/get-i18n-string-from-node.js | 18 +- .../lib/util/test/sequence-callee.js | 8 +- .../test-utils/format-message.js | 2 +- .../test-utils/test/format-message.js | 8 +- packages/i18n-calypso-cli/cli.js | 4 +- packages/i18n-calypso-cli/formatters/php.js | 2 +- packages/i18n-calypso-cli/formatters/pot.js | 10 +- packages/i18n-calypso-cli/index.js | 12 +- .../preprocess-xgettextjs-match.js | 6 +- packages/i18n-calypso-cli/test/i18n.js | 2 +- packages/i18n-calypso-cli/test/multiline.js | 18 +- packages/i18n-calypso-cli/util.js | 2 +- packages/i18n-calypso/src/i18n.js | 46 +- packages/i18n-calypso/src/localize.js | 4 +- packages/i18n-calypso/src/rtl.js | 2 +- packages/i18n-calypso/src/use-translate.js | 2 +- packages/i18n-calypso/test/index.js | 116 +- packages/load-script/src/callback-handler.js | 2 +- packages/load-script/src/index.js | 4 +- packages/load-script/test/callback-handler.js | 14 +- packages/load-script/test/index.js | 6 +- packages/photon/test/index.js | 28 +- packages/react-i18n/src/index.tsx | 4 +- packages/tree-select/src/index.js | 6 +- packages/tree-select/test/index.js | 14 +- packages/viewport-react/src/index.js | 10 +- packages/viewport-react/test/index.js | 8 +- packages/viewport/src/index.js | 6 +- packages/viewport/test/index.js | 6 +- packages/webpack-config-flag-plugin/index.js | 6 +- .../webpack-config-flag-plugin/test/index.js | 4 +- .../index.js | 10 +- .../index.js | 10 +- .../test/index.js | 4 +- .../examples/webpack.config.js | 8 +- packages/wpcom-proxy-request/src/index.js | 6 +- packages/wpcom-proxy-request/test/index.js | 429 ++-- .../examples/browser-cors/package.json | 25 +- .../wpcom.js/examples/media-editor/source.js | 274 ++- .../examples/media-editor/webpack.config.js | 14 +- .../wpcom.js/examples/node/freshlyPressed.js | 17 +- packages/wpcom.js/examples/server/index.js | 43 +- .../wpcom.js/examples/server/package.json | 26 +- packages/wpcom.js/src/index.js | 22 +- packages/wpcom.js/src/lib/batch.js | 4 +- packages/wpcom.js/src/lib/domain.dns.js | 2 +- packages/wpcom.js/src/lib/domain.email.js | 4 +- packages/wpcom.js/src/lib/domains.js | 4 +- packages/wpcom.js/src/lib/marketing.js | 2 +- packages/wpcom.js/src/lib/marketing.survey.js | 12 +- .../src/lib/me.connected-application.js | 1 - packages/wpcom.js/src/lib/me.js | 30 +- .../wpcom.js/src/lib/me.keyring-connection.js | 1 - .../src/lib/me.publicize-connection.js | 26 +- packages/wpcom.js/src/lib/me.settings.js | 8 +- .../wpcom.js/src/lib/me.settings.password.js | 1 - .../src/lib/me.settings.profile-links.js | 6 +- packages/wpcom.js/src/lib/me.two-step.js | 3 +- packages/wpcom.js/src/lib/me.two-step.sms.js | 1 - packages/wpcom.js/src/lib/runtime/site.get.js | 4 +- .../wpcom.js/src/lib/runtime/site.post.get.js | 4 +- packages/wpcom.js/src/lib/site.category.js | 10 +- packages/wpcom.js/src/lib/site.comment.js | 17 +- .../wpcom.js/src/lib/site.comment.like.js | 8 +- .../wpcom.js/src/lib/site.credit-vouchers.js | 5 +- packages/wpcom.js/src/lib/site.domain.js | 10 +- packages/wpcom.js/src/lib/site.follow.js | 9 +- packages/wpcom.js/src/lib/site.media.js | 14 +- packages/wpcom.js/src/lib/site.plugin.js | 15 +- packages/wpcom.js/src/lib/site.post.js | 29 +- packages/wpcom.js/src/lib/site.post.like.js | 8 +- packages/wpcom.js/src/lib/site.post.reblog.js | 7 +- .../wpcom.js/src/lib/site.post.subscriber.js | 8 +- packages/wpcom.js/src/lib/site.settings.js | 2 +- packages/wpcom.js/src/lib/site.tag.js | 10 +- packages/wpcom.js/src/lib/site.taxonomy.js | 6 +- .../wpcom.js/src/lib/site.taxonomy.term.js | 18 +- .../wpcom.js/src/lib/site.wordads.earnings.js | 2 +- packages/wpcom.js/src/lib/site.wordads.js | 6 +- .../wpcom.js/src/lib/site.wordads.settings.js | 4 +- packages/wpcom.js/src/lib/site.wordads.tos.js | 6 +- .../wpcom.js/src/lib/site.wpcom-plugin.js | 7 +- packages/wpcom.js/src/lib/users.js | 2 +- packages/wpcom.js/src/lib/util/pinghub.js | 22 +- packages/wpcom.js/src/lib/util/request.js | 6 +- .../wpcom.js/src/lib/util/runtime-builder.js | 14 +- .../wpcom.js/src/lib/util/send-request.js | 2 +- .../test-whitelist/test.wpcom.domain.js | 153 +- .../test.wpcom.me.connected-application.js | 22 +- .../test-whitelist/test.wpcom.me.settings.js | 12 +- .../test.wpcom.me.settings.password.js | 11 +- .../test.wpcom.me.settings.profile-links.js | 43 +- .../test.wpcom.site.settings.js | 32 +- .../test-whitelist/test.wpcom.site.wordads.js | 52 +- packages/wpcom.js/test/test.apiVersion.js | 11 +- packages/wpcom.js/test/test.fixture.js | 6 +- packages/wpcom.js/test/test.util.req.js | 31 +- packages/wpcom.js/test/test.wpcom.batch.js | 16 +- packages/wpcom.js/test/test.wpcom.domains.js | 45 +- packages/wpcom.js/test/test.wpcom.js | 11 +- packages/wpcom.js/test/test.wpcom.me.js | 46 +- .../test.wpcom.me.publicize-connection.js | 23 +- .../wpcom.js/test/test.wpcom.me.two-step.js | 6 +- packages/wpcom.js/test/test.wpcom.plans.js | 14 +- packages/wpcom.js/test/test.wpcom.promises.js | 21 +- .../wpcom.js/test/test.wpcom.site.category.js | 56 +- .../wpcom.js/test/test.wpcom.site.domain.js | 11 +- .../wpcom.js/test/test.wpcom.site.embeds.js | 11 +- .../wpcom.js/test/test.wpcom.site.follow.js | 29 +- packages/wpcom.js/test/test.wpcom.site.js | 395 ++-- .../wpcom.js/test/test.wpcom.site.media.js | 69 +- .../test/test.wpcom.site.post-type.js | 34 +- .../test/test.wpcom.site.post.comment.js | 78 +- .../wpcom.js/test/test.wpcom.site.post.js | 98 +- .../test/test.wpcom.site.post.like.js | 55 +- .../test/test.wpcom.site.post.reblog.js | 58 +- .../test/test.wpcom.site.post.subscriber.js | 60 +- .../wpcom.js/test/test.wpcom.site.settings.js | 14 +- .../test/test.wpcom.site.shortcodes.js | 25 +- packages/wpcom.js/test/test.wpcom.site.tag.js | 54 +- .../wpcom.js/test/test.wpcom.site.taxonomy.js | 7 +- .../test/test.wpcom.site.taxonomy.term.js | 54 +- .../test/test.wpcom.site.wpcom-plugin.js | 38 +- packages/wpcom.js/test/test.wpcom.users.js | 11 +- packages/wpcom.js/test/util.js | 38 +- packages/wpcom.js/webapp/tests/mocha.js | 1113 +++++----- packages/wpcom.js/webapp/webpack.config.js | 15 +- .../lib/components/find-a-domain-component.js | 4 +- test/e2e/lib/components/nav-bar-component.js | 2 +- .../components/secure-payment-component.js | 2 +- test/e2e/lib/data-helper.js | 12 +- test/e2e/lib/driver-helper.js | 144 +- test/e2e/lib/driver-manager.js | 27 +- test/e2e/lib/email-client.js | 8 +- test/e2e/lib/flows/delete-account-flow.js | 2 +- test/e2e/lib/flows/delete-plan-flow.js | 2 +- test/e2e/lib/login-cookie-helper.js | 2 +- test/e2e/lib/mocha-hooks.js | 34 +- test/e2e/lib/override-abtest.js | 24 +- test/e2e/lib/pages/add-new-site-page.js | 2 +- test/e2e/lib/pages/comments-page.js | 4 +- test/e2e/lib/pages/customizer-page.js | 10 +- test/e2e/lib/pages/landing-page.js | 2 +- test/e2e/lib/pages/login-page.js | 12 +- test/e2e/lib/pages/pages-page.js | 4 +- test/e2e/lib/pages/plugins-browser-page.js | 2 +- test/e2e/lib/pages/twitter-feed-page.js | 6 +- test/e2e/lib/pages/view-post-page.js | 2 +- .../pages/wp-admin/wp-admin-dashboard-page.js | 5 +- .../lib/pages/wp-admin/wp-admin-sidebar.js | 2 +- test/e2e/lib/pages/wp-home-page.js | 4 +- test/e2e/lib/push-client.js | 10 +- test/e2e/lib/reporter/magellan-reporter.js | 30 +- test/e2e/lib/shared-steps/wp-signup-spec.js | 6 +- test/e2e/lib/video-recorder.js | 14 +- test/e2e/lib/xmpp-client.js | 6 +- .../scripts/jetpack/wp-jetpack-activate.js | 20 +- .../scripts/jetpack/wp-jetpack-deactivate.js | 16 +- .../scripts/jetpack/wp-jetpack-jn-activate.js | 16 +- test/e2e/scripts/pre-commit-hook.js | 6 +- .../gutenberg-markdown-block-spec.js | 20 +- .../logged-out-redirect-i18n-spec.js | 6 +- .../specs-i18n/search-wordpress-on-google.js | 18 +- .../wp-jetpack-connect-spec.js | 134 +- .../wp-jetpack-plans-spec.js | 30 +- .../wp-jetpack-plugins-spec.js | 18 +- .../wp-jetpack-settings-writing-media-spec.js | 18 +- .../wp-pressable-nux-spec.js | 43 +- .../specs-jetpack/connect-disconnect-spec.js | 36 +- .../specs-woocommerce/wp-woocommerce-spec.js | 54 +- .../wp-calypso-gutenberg-coblocks-spec.js | 60 +- .../wp-calypso-gutenberg-page-editor-spec.js | 143 +- .../wp-calypso-gutenberg-post-editor-spec.js | 325 +-- test/e2e/specs/wp-comments-spec.js | 28 +- test/e2e/specs/wp-gutenboarding-spec.js | 16 +- test/e2e/specs/wp-import-site-spec.js | 16 +- test/e2e/specs/wp-invite-users-spec.js | 102 +- test/e2e/specs/wp-log-in-out-spec.js | 150 +- test/e2e/specs/wp-manage-domains-spec.js | 74 +- test/e2e/specs/wp-media-editor-spec.js | 16 +- test/e2e/specs/wp-media-upload-spec.js | 52 +- test/e2e/specs/wp-notifications-spec.js | 22 +- test/e2e/specs/wp-page-editor-spec.js | 154 +- test/e2e/specs/wp-plan-purchase-spec.js | 58 +- test/e2e/specs/wp-post-editor-spec.js | 330 +-- test/e2e/specs/wp-reader-spec.js | 22 +- test/e2e/specs/wp-signup-spec.js | 371 ++-- test/e2e/specs/wp-stats-insights-spec.js | 16 +- test/e2e/specs/wp-theme-multisite-spec.js | 58 +- test/e2e/specs/wp-theme-switch-spec.js | 36 +- test/e2e/specs/wp-view-site-spec.js | 22 +- test/test/helpers/config/index.js | 2 +- test/test/helpers/console/index.js | 2 +- test/test/helpers/use-nock/index.js | 2 +- .../helpers/use-nock/integration/index.js | 10 +- 3679 files changed, 18662 insertions(+), 16110 deletions(-) diff --git a/apps/full-site-editing/bin/npm-run-build.js b/apps/full-site-editing/bin/npm-run-build.js index 6b3dd0efa0302..037e3418e3660 100644 --- a/apps/full-site-editing/bin/npm-run-build.js +++ b/apps/full-site-editing/bin/npm-run-build.js @@ -15,7 +15,7 @@ const argsToCommands = { '--sync': 'wpcom-sync', }; -const commands = args.map( arg => argsToCommands[ arg ] ).filter( val => !! val ); +const commands = args.map( ( arg ) => argsToCommands[ arg ] ).filter( ( val ) => !! val ); console.log( `Running the following commands: ${ commands.toString() }` ); diff --git a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/navigation-menu/edit.js b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/navigation-menu/edit.js index 8c95b6258ba5a..175abddd574e7 100644 --- a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/navigation-menu/edit.js +++ b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/navigation-menu/edit.js @@ -44,7 +44,7 @@ const NavigationMenuEdit = ( { { + onChange={ ( nextAlign ) => { setAttributes( { textAlign: nextAlign } ); } } /> @@ -90,7 +90,7 @@ const NavigationMenuEdit = ( { export default compose( [ withColors( 'backgroundColor', { textColor: 'color' } ), withFontSizes( 'fontSize' ), - withSelect( select => { + withSelect( ( select ) => { return { isPublished: select( 'core/editor' ).isCurrentPostPublished(), }; diff --git a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/post-content/index.js b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/post-content/index.js index 6e9f2957dd7ed..41a73c2188d4d 100644 --- a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/post-content/index.js +++ b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/post-content/index.js @@ -38,8 +38,8 @@ registerBlockType( 'a8c/post-content', { save, } ); -const addContentSlotClassname = createHigherOrderComponent( BlockListBlock => { - return props => { +const addContentSlotClassname = createHigherOrderComponent( ( BlockListBlock ) => { + return ( props ) => { if ( props.name !== 'a8c/post-content' ) { return ; } diff --git a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/site-credit/edit.js b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/site-credit/edit.js index c427d7f2c18c6..b4d717a53f22f 100644 --- a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/site-credit/edit.js +++ b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/site-credit/edit.js @@ -36,7 +36,7 @@ function SiteCreditEdit( { { + onChange={ ( nextAlign ) => { setAttributes( { textAlign: nextAlign } ); } } /> diff --git a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/site-description/edit.js b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/site-description/edit.js index e7c1203eeb69d..069e317918e2e 100644 --- a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/site-description/edit.js +++ b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/site-description/edit.js @@ -55,7 +55,7 @@ function SiteDescriptionEdit( { { + onChange={ ( nextAlign ) => { setAttributes( { textAlign: nextAlign } ); } } /> diff --git a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/site-title/edit.js b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/site-title/edit.js index 25db7549409f0..e76495fada6b7 100644 --- a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/site-title/edit.js +++ b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/site-title/edit.js @@ -52,7 +52,7 @@ function SiteTitleEdit( { { + onChange={ ( nextAlign ) => { setAttributes( { textAlign: nextAlign } ); } } /> diff --git a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/template/edit.js b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/template/edit.js index 8df4b25064c80..98b6fd12d5889 100644 --- a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/template/edit.js +++ b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/template/edit.js @@ -123,7 +123,7 @@ const TemplateEdit = compose( const { align, className } = attributes; - const save = event => { + const save = ( event ) => { event.stopPropagation(); setNavigateToTemplate( true ); if ( ! isDirty ) { diff --git a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/template/index.js b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/template/index.js index 1893622921a0d..ff2f99195a60e 100644 --- a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/template/index.js +++ b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/template/index.js @@ -41,8 +41,8 @@ if ( 'wp_template_part' !== fullSiteEditing.editorPostType ) { } ); } -const addFSETemplateClassname = createHigherOrderComponent( BlockListBlock => { - return props => { +const addFSETemplateClassname = createHigherOrderComponent( ( BlockListBlock ) => { + return ( props ) => { if ( props.name !== 'a8c/template' ) { return ; } diff --git a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/template/site-logo.js b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/template/site-logo.js index a2b9a24deeb21..5777344dc0097 100644 --- a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/template/site-logo.js +++ b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/blocks/template/site-logo.js @@ -5,8 +5,8 @@ import { createHigherOrderComponent } from '@wordpress/compose'; import { addFilter } from '@wordpress/hooks'; -const addFSESiteLogoClassname = createHigherOrderComponent( BlockListBlock => { - return props => { +const addFSESiteLogoClassname = createHigherOrderComponent( ( BlockListBlock ) => { + return ( props ) => { if ( props.attributes.className !== 'fse-site-logo' ) { return ; } diff --git a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/editor/block-inserter/post-content-block-appender.js b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/editor/block-inserter/post-content-block-appender.js index 7f49b123fa688..6dea08fb6ea6a 100644 --- a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/editor/block-inserter/post-content-block-appender.js +++ b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/editor/block-inserter/post-content-block-appender.js @@ -6,12 +6,12 @@ import { compose } from '@wordpress/compose'; import { withSelect } from '@wordpress/data'; const PostContentBlockAppender = compose( - withSelect( select => { + withSelect( ( select ) => { const { getEditorSettings } = select( 'core/editor' ); const { getBlocks } = select( 'core/block-editor' ); const { getEditorMode } = select( 'core/edit-post' ); - const postContentBlock = getBlocks().find( block => block.name === 'a8c/post-content' ); + const postContentBlock = getBlocks().find( ( block ) => block.name === 'a8c/post-content' ); return { rootClientId: postContentBlock ? postContentBlock.clientId : '', diff --git a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/editor/suppress-draft-action/index.js b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/editor/suppress-draft-action/index.js index bf1af8b97ba31..97958fb6e20e1 100644 --- a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/editor/suppress-draft-action/index.js +++ b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/editor/suppress-draft-action/index.js @@ -6,9 +6,9 @@ import { use } from '@wordpress/data'; // The purpose of this override is to prevent Switch to Draft action for template CPTs. -use( registry => { +use( ( registry ) => { return { - dispatch: namespace => { + dispatch: ( namespace ) => { const actions = { ...registry.dispatch( namespace ) }; const { editorPostType } = fullSiteEditing; @@ -19,7 +19,7 @@ use( registry => { ) { const originalEditPost = actions.editPost; - actions.editPost = edits => { + actions.editPost = ( edits ) => { const { status } = edits; // Bail if editPost is attempting to set draft as status. diff --git a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/editor/suppress-trash-action/index.js b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/editor/suppress-trash-action/index.js index 05dbd87fc6054..13a2e34bb3edd 100644 --- a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/editor/suppress-trash-action/index.js +++ b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/editor/suppress-trash-action/index.js @@ -6,9 +6,9 @@ import { use } from '@wordpress/data'; // The purpose of this override is to prevent trash action from deleting template CPTs. -use( registry => { +use( ( registry ) => { return { - dispatch: namespace => { + dispatch: ( namespace ) => { const actions = { ...registry.dispatch( namespace ) }; const { editorPostType } = fullSiteEditing; diff --git a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/lib/site-options/use-site-options.js b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/lib/site-options/use-site-options.js index ade06763229df..c2f2af259853c 100644 --- a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/lib/site-options/use-site-options.js +++ b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/lib/site-options/use-site-options.js @@ -41,7 +41,7 @@ export function useSiteOptions( function loadSiteOption() { apiFetch( { path: '/wp/v2/settings' } ) - .then( result => + .then( ( result ) => setSiteOptions( { ...siteOptions, option: decodeEntities( result[ siteOption ] ), diff --git a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/lib/site-options/with-site-options.js b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/lib/site-options/with-site-options.js index f5961fc52e591..6931957bb3efd 100644 --- a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/lib/site-options/with-site-options.js +++ b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/lib/site-options/with-site-options.js @@ -53,11 +53,11 @@ import { useSiteOptions } from './use-site-options'; * ] )( Component ); * */ -export const withSiteOptions = options => +export const withSiteOptions = ( options ) => createHigherOrderComponent( - WrappedComponent => - pure( ownProps => { - const shouldUpdateSiteOption = useSelect( select => { + ( WrappedComponent ) => + pure( ( ownProps ) => { + const shouldUpdateSiteOption = useSelect( ( select ) => { const { isSavingPost, isPublishingPost, @@ -71,7 +71,7 @@ export const withSiteOptions = options => } ); const createErrorNotice = useDispatch( - dispatch => dispatch( 'core/notices' ).createErrorNotice + ( dispatch ) => dispatch( 'core/notices' ).createErrorNotice ); const { isSelected, setAttributes } = ownProps; diff --git a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/plugins/close-button-override/index.js b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/plugins/close-button-override/index.js index 0777e1b7c47a7..b805d3fd5d475 100644 --- a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/plugins/close-button-override/index.js +++ b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/plugins/close-button-override/index.js @@ -19,7 +19,7 @@ import './style.scss'; function BackButtonOverride( { defaultLabel, defaultUrl } ) { const [ label, updateLabel ] = useState( defaultLabel ); const [ url, updateUrl ] = useState( defaultUrl ); - window.wp.hooks.addAction( 'updateCloseButtonOverrides', 'a8c-fse', data => { + window.wp.hooks.addAction( 'updateCloseButtonOverrides', 'a8c-fse', ( data ) => { updateLabel( data.label ); updateUrl( data.closeUrl ); } ); diff --git a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/plugins/editor-template-classes/index.js b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/plugins/editor-template-classes/index.js index da316e1b3e4bb..e48204bd8f8de 100644 --- a/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/plugins/editor-template-classes/index.js +++ b/apps/full-site-editing/full-site-editing-plugin/dotcom-fse/plugins/editor-template-classes/index.js @@ -12,10 +12,10 @@ import { endsWith, get, map } from 'lodash'; import { withSelect } from '@wordpress/data'; import { registerPlugin } from '@wordpress/plugins'; -const EditorTemplateClasses = withSelect( select => { +const EditorTemplateClasses = withSelect( ( select ) => { const { getEntityRecord } = select( 'core' ); const { getEditedPostAttribute } = select( 'core/editor' ); - const templateClasses = map( getEditedPostAttribute( 'template_part_types' ), typeId => { + const templateClasses = map( getEditedPostAttribute( 'template_part_types' ), ( typeId ) => { const typeName = get( getEntityRecord( 'taxonomy', 'wp_template_part_type', typeId ), 'name', diff --git a/apps/full-site-editing/full-site-editing-plugin/event-countdown-block/blocks/src/edit.js b/apps/full-site-editing/full-site-editing-plugin/event-countdown-block/blocks/src/edit.js index 7f6463845f6f9..24a3e25556d19 100644 --- a/apps/full-site-editing/full-site-editing-plugin/event-countdown-block/blocks/src/edit.js +++ b/apps/full-site-editing/full-site-editing-plugin/event-countdown-block/blocks/src/edit.js @@ -38,7 +38,7 @@ const edit = ( { attributes, setAttributes, className } ) => { setAttributes( { eventTitle: evt.target.value } ) } + onChange={ ( evt ) => setAttributes( { eventTitle: evt.target.value } ) } placeholder={ __( 'Event Title', 'full-site-editing' ) } className="event-countdown__event-title" aria-label={ __( 'Event Title', 'full-site-editing' ) } @@ -62,7 +62,7 @@ const edit = ( { attributes, setAttributes, className } ) => { renderContent={ () => ( setAttributes( { eventDate } ) } + onChange={ ( eventDate ) => setAttributes( { eventDate } ) } currentDate={ attributes.eventDate } /> ) } diff --git a/apps/full-site-editing/full-site-editing-plugin/event-countdown-block/blocks/src/index.js b/apps/full-site-editing/full-site-editing-plugin/event-countdown-block/blocks/src/index.js index 3ee3c65dcee9d..cb4f53a140251 100644 --- a/apps/full-site-editing/full-site-editing-plugin/event-countdown-block/blocks/src/index.js +++ b/apps/full-site-editing/full-site-editing-plugin/event-countdown-block/blocks/src/index.js @@ -41,7 +41,7 @@ registerBlockType( 'jetpack/event-countdown', { }, }, - edit: props => { + edit: ( props ) => { if ( props.isSelected ) { return edit( props ); } diff --git a/apps/full-site-editing/full-site-editing-plugin/event-countdown-block/event-countdown.js b/apps/full-site-editing/full-site-editing-plugin/event-countdown-block/event-countdown.js index 787203c9680b9..749e7bcbc598d 100644 --- a/apps/full-site-editing/full-site-editing-plugin/event-countdown-block/event-countdown.js +++ b/apps/full-site-editing/full-site-editing-plugin/event-countdown-block/event-countdown.js @@ -1,6 +1,6 @@ // Event Countdown Block // JavaScript that loads on front-end to update the block -( function() { +( function () { // loop through all event countdown blocks on page const intervalIds = []; const cals = document.getElementsByClassName( 'wp-block-jetpack-event-countdown' ); diff --git a/apps/full-site-editing/full-site-editing-plugin/global-styles/index.js b/apps/full-site-editing/full-site-editing-plugin/global-styles/index.js index 7515b69c57de3..82ee541a32e4c 100644 --- a/apps/full-site-editing/full-site-editing-plugin/global-styles/index.js +++ b/apps/full-site-editing/full-site-editing-plugin/global-styles/index.js @@ -32,7 +32,7 @@ registerDOMUpdater( [ FONT_BASE, FONT_HEADINGS ], select( STORE_NAME ).getOption registerPlugin( PLUGIN_NAME, { render: compose( - withSelect( getSelectors => ( { + withSelect( ( getSelectors ) => ( { siteName: getSelectors( STORE_NAME ).getOption( SITE_NAME ), fontHeadings: getSelectors( STORE_NAME ).getOption( FONT_HEADINGS ), fontHeadingsDefault: getSelectors( STORE_NAME ).getOption( FONT_HEADINGS_DEFAULT ), @@ -42,7 +42,7 @@ registerPlugin( PLUGIN_NAME, { fontOptions: getSelectors( STORE_NAME ).getOption( FONT_OPTIONS ), hasLocalChanges: getSelectors( STORE_NAME ).hasLocalChanges(), } ) ), - withDispatch( dispatch => ( { + withDispatch( ( dispatch ) => ( { updateOptions: dispatch( STORE_NAME ).updateOptions, publishOptions: dispatch( STORE_NAME ).publishOptions, resetLocalChanges: dispatch( STORE_NAME ).resetLocalChanges, diff --git a/apps/full-site-editing/full-site-editing-plugin/global-styles/src/dom-updater.js b/apps/full-site-editing/full-site-editing-plugin/global-styles/src/dom-updater.js index 9d4094ce7166b..37fe0dc3569c3 100644 --- a/apps/full-site-editing/full-site-editing-plugin/global-styles/src/dom-updater.js +++ b/apps/full-site-editing/full-site-editing-plugin/global-styles/src/dom-updater.js @@ -17,7 +17,7 @@ export default ( options, getOptionValue ) => { const currentOptions = {}; let previousOptions = {}; const cssVariables = {}; - options.forEach( option => { + options.forEach( ( option ) => { cssVariables[ option ] = `--${ option.replace( '_', '-' ) }`; } ); @@ -44,7 +44,7 @@ export default ( options, getOptionValue ) => { } // Maybe bail-out early. - options.forEach( option => { + options.forEach( ( option ) => { currentOptions[ option ] = getOptionValue( option ); } ); if ( isEmpty( currentOptions ) || isEqual( currentOptions, previousOptions ) ) { @@ -55,7 +55,7 @@ export default ( options, getOptionValue ) => { // Update style node. We need this to be a stylesheet rather than inline styles // so the styles apply to all editor instances incl. previews. let declarationList = ''; - Object.keys( currentOptions ).forEach( key => { + Object.keys( currentOptions ).forEach( ( key ) => { declarationList += `${ cssVariables[ key ] }:${ currentOptions[ key ] };`; } ); styleElement.textContent = `.editor-styles-wrapper{${ declarationList }}`; diff --git a/apps/full-site-editing/full-site-editing-plugin/global-styles/src/font-pairings-panel.js b/apps/full-site-editing/full-site-editing-plugin/global-styles/src/font-pairings-panel.js index b18ad894d74d2..6061069655a8c 100644 --- a/apps/full-site-editing/full-site-editing-plugin/global-styles/src/font-pairings-panel.js +++ b/apps/full-site-editing/full-site-editing-plugin/global-styles/src/font-pairings-panel.js @@ -30,7 +30,7 @@ export default ( { fontPairings, fontBase, fontHeadings, update } ) => { aria-selected={ isSelected } className={ classes } onClick={ () => update( { headings, base } ) } - onKeyDown={ event => + onKeyDown={ ( event ) => event.keyCode === ENTER ? update( { headings, base } ) : null } > diff --git a/apps/full-site-editing/full-site-editing-plugin/global-styles/src/font-selection-panel.js b/apps/full-site-editing/full-site-editing-plugin/global-styles/src/font-selection-panel.js index df7cfb09cbd41..ea000051cb94e 100644 --- a/apps/full-site-editing/full-site-editing-plugin/global-styles/src/font-selection-panel.js +++ b/apps/full-site-editing/full-site-editing-plugin/global-styles/src/font-selection-panel.js @@ -33,14 +33,14 @@ export default ( { label={ __( 'Heading Font' ) } value={ fontHeadings } options={ fontHeadingsOptions } - onChange={ newValue => updateHeadingsFont( newValue ) } + onChange={ ( newValue ) => updateHeadingsFont( newValue ) } style={ { fontFamily: fontHeadings !== 'unset' ? fontHeadings : fontHeadingsDefault } } /> updateBaseFont( newValue ) } + onChange={ ( newValue ) => updateBaseFont( newValue ) } style={ { fontFamily: fontBase !== 'unset' ? fontBase : fontBaseDefault } } />
diff --git a/apps/full-site-editing/full-site-editing-plugin/global-styles/src/global-styles-sidebar.js b/apps/full-site-editing/full-site-editing-plugin/global-styles/src/global-styles-sidebar.js index cdeb3c531a0ab..4288c3c699a2b 100644 --- a/apps/full-site-editing/full-site-editing-plugin/global-styles/src/global-styles-sidebar.js +++ b/apps/full-site-editing/full-site-editing-plugin/global-styles/src/global-styles-sidebar.js @@ -16,25 +16,20 @@ import { FONT_BASE, FONT_HEADINGS } from './constants'; const ANY_PROPERTY = 'ANY_PROPERTY'; -const isFor = filterProperty => option => +const isFor = ( filterProperty ) => ( option ) => option.prop === ANY_PROPERTY || option.prop === filterProperty; -const toOption = font => { +const toOption = ( font ) => { if ( typeof font === 'object' ) { const { label, value, prop = ANY_PROPERTY } = font; return { label, value, prop }; } return { label: font, value: font, prop: ANY_PROPERTY }; }; -const isNotNull = option => option.value !== null && option.label !== null; +const isNotNull = ( option ) => option.value !== null && option.label !== null; const toOptions = ( options, filterProperty ) => - ! options - ? [] - : options - .map( toOption ) - .filter( isNotNull ) - .filter( isFor( filterProperty ) ); + ! options ? [] : options.map( toOption ).filter( isNotNull ).filter( isFor( filterProperty ) ); const PanelActionButtons = ( { hasLocalChanges, @@ -88,8 +83,10 @@ export default ( { >

- { /* translators: %s: Name of site. */ - sprintf( __( 'You are customizing %s.' ), siteName ) } + { + /* translators: %s: Name of site. */ + sprintf( __( 'You are customizing %s.' ), siteName ) + }

{ __( 'Any change you make here will apply to the entire website.' ) }

{ hasLocalChanges ? ( @@ -113,8 +110,8 @@ export default ( { fontHeadingsDefault={ fontHeadingsDefault } fontBaseOptions={ toOptions( fontOptions, FONT_BASE ) } fontHeadingsOptions={ toOptions( fontOptions, FONT_HEADINGS ) } - updateBaseFont={ value => updateOptions( { [ FONT_BASE ]: value } ) } - updateHeadingsFont={ value => updateOptions( { [ FONT_HEADINGS ]: value } ) } + updateBaseFont={ ( value ) => updateOptions( { [ FONT_BASE ]: value } ) } + updateHeadingsFont={ ( value ) => updateOptions( { [ FONT_HEADINGS ]: value } ) } /> (

- { /* translators: %s: feature name (i.e. font pairings, etc) */ - sprintf( __( "Your active theme doesn't support %s." ), unsupportedFeature ) } + { + /* translators: %s: feature name (i.e. font pairings, etc) */ + sprintf( __( "Your active theme doesn't support %s." ), unsupportedFeature ) + }

); diff --git a/apps/full-site-editing/full-site-editing-plugin/global-styles/src/store.js b/apps/full-site-editing/full-site-editing-plugin/global-styles/src/store.js index 11c52d4a4b82d..38c675e85f795 100644 --- a/apps/full-site-editing/full-site-editing-plugin/global-styles/src/store.js +++ b/apps/full-site-editing/full-site-editing-plugin/global-styles/src/store.js @@ -77,7 +77,7 @@ export default ( storeName, optionsPath ) => { return state ? state[ key ] : undefined; }, hasLocalChanges( state ) { - return !! state && Object.keys( cache ).some( key => cache[ key ] !== state[ key ] ); + return !! state && Object.keys( cache ).some( ( key ) => cache[ key ] !== state[ key ] ); }, }, diff --git a/apps/full-site-editing/full-site-editing-plugin/jetpack-timeline/blocks/src/block-appender.js b/apps/full-site-editing/full-site-editing-plugin/jetpack-timeline/blocks/src/block-appender.js index 131ea0ee19dce..00a403ba4e740 100644 --- a/apps/full-site-editing/full-site-editing-plugin/jetpack-timeline/blocks/src/block-appender.js +++ b/apps/full-site-editing/full-site-editing-plugin/jetpack-timeline/blocks/src/block-appender.js @@ -12,7 +12,7 @@ import { __ } from '@wordpress/i18n'; * WordPress dependencies */ -export const BlockAppender = props => { +export const BlockAppender = ( props ) => { const { onClick } = props; return ( @@ -113,7 +113,7 @@ SupportArticleDialog.propTypes = { postId: PropTypes.number, }; -const mapStateToProps = state => { +const mapStateToProps = ( state ) => { const postId = getInlineSupportArticlePostId( state ); const actionUrl = getInlineSupportArticleActionUrl( state ); const actionLabel = getInlineSupportArticleActionLabel( state ); diff --git a/client/blocks/support-article-dialog/index.jsx b/client/blocks/support-article-dialog/index.jsx index b3a76b78adc07..e9262c66bb6c4 100644 --- a/client/blocks/support-article-dialog/index.jsx +++ b/client/blocks/support-article-dialog/index.jsx @@ -16,6 +16,6 @@ function SupportArticleDialogLoader( { isVisible } ) { ); } -export default connect( state => ( { +export default connect( ( state ) => ( { isVisible: isInlineSupportArticleVisible( state ), } ) )( SupportArticleDialogLoader ); diff --git a/client/blocks/taxonomy-manager/index.jsx b/client/blocks/taxonomy-manager/index.jsx index b606d987da0ea..cf387f4f08e8c 100644 --- a/client/blocks/taxonomy-manager/index.jsx +++ b/client/blocks/taxonomy-manager/index.jsx @@ -57,7 +57,7 @@ export class TaxonomyManager extends Component { } ); }; - editTerm = term => { + editTerm = ( term ) => { const { taxonomy } = this.props; this.props.recordGoogleEvent( 'Taxonomy Manager', `Clicked Edit ${ taxonomy }` ); this.props.bumpStat( 'taxonomy_manager', `clicked_edit_${ taxonomy }` ); @@ -67,7 +67,7 @@ export class TaxonomyManager extends Component { } ); }; - onSearch = searchTerm => { + onSearch = ( searchTerm ) => { if ( searchTerm !== this.state.search ) { this.setState( { search: searchTerm, diff --git a/client/blocks/taxonomy-manager/list-item.jsx b/client/blocks/taxonomy-manager/list-item.jsx index dc192ae7eb7ff..a0015f3dab6e4 100644 --- a/client/blocks/taxonomy-manager/list-item.jsx +++ b/client/blocks/taxonomy-manager/list-item.jsx @@ -70,7 +70,7 @@ class TaxonomyManagerListItem extends Component { page( `/posts/${ siteSlug }?${ taxonomy }=${ term.slug }` ); }; - closeDeleteDialog = action => { + closeDeleteDialog = ( action ) => { if ( action === 'delete' ) { const { siteId, taxonomy, term } = this.props; this.props.recordGoogleEvent( 'Taxonomy Manager', `Deleted ${ taxonomy }` ); diff --git a/client/blocks/taxonomy-manager/list.jsx b/client/blocks/taxonomy-manager/list.jsx index bd4424924afab..b6bcfc2a654cf 100644 --- a/client/blocks/taxonomy-manager/list.jsx +++ b/client/blocks/taxonomy-manager/list.jsx @@ -115,7 +115,7 @@ export class TaxonomyManagerList extends Component { { children.length > 0 && (
- { children.map( child => this.renderItem( child, true ) ) } + { children.map( ( child ) => this.renderItem( child, true ) ) }
) } @@ -135,7 +135,7 @@ export class TaxonomyManagerList extends Component { ); }; - requestPages = pages => { + requestPages = ( pages ) => { this.setState( { requestedPages: union( this.state.requestedPages, pages ), } ); @@ -150,7 +150,7 @@ export class TaxonomyManagerList extends Component { return (
- { this.state.requestedPages.map( page => ( + { this.state.requestedPages.map( ( page ) => ( { + onSearch = ( searchTerm ) => { this.setState( { searchTerm: searchTerm } ); }; @@ -77,7 +77,7 @@ class TermFormDialog extends Component { this.props.onClose(); }; - onParentChange = item => { + onParentChange = ( item ) => { this.setState( { selectedParent: [ item.ID ], @@ -99,19 +99,19 @@ class TermFormDialog extends Component { ); }; - onNameChange = event => { + onNameChange = ( event ) => { this.setState( { name: event.target.value, } ); }; - onDescriptionChange = event => { + onDescriptionChange = ( event ) => { this.setState( { description: event.target.value, } ); }; - validateInput = event => { + validateInput = ( event ) => { if ( 13 === event.keyCode ) { this.saveTerm(); } else { @@ -144,7 +144,7 @@ class TermFormDialog extends Component { this.props.bumpStat( 'taxonomy_manager', statLabels.mc ); this.props.recordGoogleEvent( 'Taxonomy Manager', statLabels.ga ); - savePromise.then( savedTerm => { + savePromise.then( ( savedTerm ) => { this.setState( { saving: false } ); this.props.onSuccess( savedTerm ); this.closeDialog(); @@ -219,7 +219,7 @@ class TermFormDialog extends Component { errors.name = this.props.translate( 'Name required', { textOnly: true } ); } const lowerCasedTermName = values.name.toLowerCase(); - const matchingTerm = find( this.props.terms, term => { + const matchingTerm = find( this.props.terms, ( term ) => { return ( term.name.toLowerCase() === lowerCasedTermName && ( ! this.props.term || term.ID !== this.props.term.ID ) diff --git a/client/blocks/term-tree-selector/index.jsx b/client/blocks/term-tree-selector/index.jsx index ccc2d1bb3d3f6..486e54df1dd94 100644 --- a/client/blocks/term-tree-selector/index.jsx +++ b/client/blocks/term-tree-selector/index.jsx @@ -43,7 +43,7 @@ export default class TermTreeSelector extends React.Component { search: '', }; - onSearch = searchTerm => { + onSearch = ( searchTerm ) => { if ( searchTerm !== this.state.search ) { this.setState( { search: searchTerm, diff --git a/client/blocks/term-tree-selector/terms.jsx b/client/blocks/term-tree-selector/terms.jsx index b622889523738..410efc67d2d8e 100644 --- a/client/blocks/term-tree-selector/terms.jsx +++ b/client/blocks/term-tree-selector/terms.jsx @@ -140,7 +140,7 @@ class TermTreeSelectorList extends Component { } }; - getPageForIndex = index => { + getPageForIndex = ( index ) => { const { query, lastPage } = this.props; const perPage = query.number || DEFAULT_TERMS_PER_PAGE; const page = Math.ceil( index / perPage ); @@ -199,7 +199,7 @@ class TermTreeSelectorList extends Component { return ! this.props.loading && this.props.terms && ! this.props.terms.length; }; - getItem = index => { + getItem = ( index ) => { if ( this.props.terms ) { return this.props.terms[ index ]; } @@ -217,7 +217,7 @@ class TermTreeSelectorList extends Component { return this.props.lastPage || !! this.getItem( index ); }; - getTermChildren = termId => { + getTermChildren = ( termId ) => { const { terms } = this.props; return filter( terms, ( { parent } ) => parent === termId ); }; @@ -274,7 +274,7 @@ class TermTreeSelectorList extends Component { return count; }; - onSearch = event => { + onSearch = ( event ) => { const searchTerm = event.target.value; if ( this.state.searchTerm && ! searchTerm ) { this.props.onSearch( '' ); @@ -293,7 +293,7 @@ class TermTreeSelectorList extends Component { this.debouncedSearch(); }; - setListRef = ref => { + setListRef = ( ref ) => { this.list = ref; }; @@ -349,7 +349,7 @@ class TermTreeSelectorList extends Component { { children.length > 0 && (
- { children.map( child => this.renderItem( child, true ) ) } + { children.map( ( child ) => this.renderItem( child, true ) ) }
) }
@@ -414,7 +414,7 @@ class TermTreeSelectorList extends Component { return (
- { this.state.requestedPages.map( page => ( + { this.state.requestedPages.map( ( page ) => ( feature !== this.props.highlightedFeature ) + .filter( ( feature ) => feature !== this.props.highlightedFeature ) .slice( 0, 6 ); return ( @@ -86,7 +86,7 @@ class UpgradeNudgeExpanded extends Component { { getFeatureTitle( this.props.highlightedFeature ) } ) } - { features.map( feature => ( + { features.map( ( feature ) => ( { getFeatureTitle( feature ) } @@ -161,6 +161,6 @@ const mapStateToProps = ( state, { plan = PLAN_PERSONAL } ) => ( { siteSlug: getSiteSlug( state, getSelectedSiteId( state ) ), } ); -const mapDispatchToProps = dispatch => bindActionCreators( { recordTracksEvent }, dispatch ); +const mapDispatchToProps = ( dispatch ) => bindActionCreators( { recordTracksEvent }, dispatch ); export default connect( mapStateToProps, mapDispatchToProps )( localize( UpgradeNudgeExpanded ) ); diff --git a/client/blocks/upload-drop-zone/index.jsx b/client/blocks/upload-drop-zone/index.jsx index 7e27c793160fc..7678259055e80 100644 --- a/client/blocks/upload-drop-zone/index.jsx +++ b/client/blocks/upload-drop-zone/index.jsx @@ -34,7 +34,7 @@ class UploadDropZone extends Component { siteId: PropTypes.number, }; - onFileSelect = files => { + onFileSelect = ( files ) => { const { translate, siteId, doUpload } = this.props; if ( files.length !== 1 ) { @@ -78,6 +78,6 @@ class UploadDropZone extends Component { } } -export default connect( state => ( { +export default connect( ( state ) => ( { siteId: getSelectedSiteId( state ), } ) )( localize( UploadDropZone ) ); diff --git a/client/blocks/upwork-banner/actions.js b/client/blocks/upwork-banner/actions.js index ce83ba5bf7c79..9128aa4638094 100644 --- a/client/blocks/upwork-banner/actions.js +++ b/client/blocks/upwork-banner/actions.js @@ -4,7 +4,7 @@ import { getPreference } from 'state/preferences/selectors'; import { savePreference } from 'state/preferences/actions'; -export const dismissBanner = location => ( dispatch, getState ) => { +export const dismissBanner = ( location ) => ( dispatch, getState ) => { const preference = getPreference( getState(), 'upwork-dismissible-banner' ) || {}; return dispatch( savePreference( 'upwork-dismissible-banner', { diff --git a/client/blocks/upwork-banner/index.jsx b/client/blocks/upwork-banner/index.jsx index 757d91880096d..f8e795dac03c9 100644 --- a/client/blocks/upwork-banner/index.jsx +++ b/client/blocks/upwork-banner/index.jsx @@ -45,7 +45,7 @@ class UpworkBanner extends PureComponent { } } - onDismissClick = event => { + onDismissClick = ( event ) => { event.preventDefault(); event.stopPropagation(); this.recordEvent( 'calypso_upwork_banner_dismiss_icon_click' ); @@ -56,7 +56,7 @@ class UpworkBanner extends PureComponent { this.recordEvent( 'calypso_upwork_banner_start_now_button_click' ); }; - recordEvent = eventName => { + recordEvent = ( eventName ) => { const { currentPlan, location } = this.props; const plan = currentPlan ? currentPlan.productSlug : ''; this.props.recordTracksEvent( eventName, { location, ...( plan && { plan } ) } ); diff --git a/client/blocks/upwork-stats-nudge/index.js b/client/blocks/upwork-stats-nudge/index.js index 0fa0a96528260..639ced5b1b8fb 100644 --- a/client/blocks/upwork-stats-nudge/index.js +++ b/client/blocks/upwork-stats-nudge/index.js @@ -50,7 +50,7 @@ class UpworkStatsNudge extends Component { } } - recordClick = eventName => { + recordClick = ( eventName ) => { const plan = this.props.plan ? this.props.plan.productSlug : ''; this.props.recordTracksEvent( eventName, { plan } ); diff --git a/client/blocks/user-mentions/add.jsx b/client/blocks/user-mentions/add.jsx index 6de81b2e36732..35fac84efd784 100644 --- a/client/blocks/user-mentions/add.jsx +++ b/client/blocks/user-mentions/add.jsx @@ -22,12 +22,13 @@ const keys = { tab: 9, enter: 13, esc: 27, spaceBar: 32, upArrow: 38, downArrow: * @param {object} WrappedComponent - React component to wrap * @returns {object} the enhanced component */ -export default WrappedComponent => +export default ( WrappedComponent ) => class AddUserMentions extends React.Component { matchingSuggestions = []; - static displayName = `withUserMentions( ${ WrappedComponent.displayName || - WrappedComponent.name } )`; + static displayName = `withUserMentions( ${ + WrappedComponent.displayName || WrappedComponent.name + } )`; static propTypes = {}; state = { @@ -79,7 +80,7 @@ export default WrappedComponent => } } - handleKeyDown = event => { + handleKeyDown = ( event ) => { if ( ! this.state.showPopover ) { return; } @@ -115,7 +116,7 @@ export default WrappedComponent => this.setState( { selectedSuggestionId: this.matchingSuggestions[ nextIndex ].ID } ); }; - handleKeyUp = event => { + handleKeyUp = ( event ) => { if ( includes( [ keys.downArrow, keys.upArrow ], event.keyCode ) ) { return; } diff --git a/client/blocks/user-mentions/connect.jsx b/client/blocks/user-mentions/connect.jsx index 32fa8c54ba543..667f08e718b0a 100644 --- a/client/blocks/user-mentions/connect.jsx +++ b/client/blocks/user-mentions/connect.jsx @@ -15,7 +15,7 @@ import PropTypes from 'prop-types'; * @param {object} WrappedComponent - React component to wrap * @returns {object} the enhanced component */ -const connectUserMentions = WrappedComponent => { +const connectUserMentions = ( WrappedComponent ) => { class connectUserMentionsFetcher extends React.PureComponent { static propTypes = { siteId: PropTypes.number, diff --git a/client/blocks/user-mentions/index.jsx b/client/blocks/user-mentions/index.jsx index bb7259849ac4a..1bb3c028814f6 100644 --- a/client/blocks/user-mentions/index.jsx +++ b/client/blocks/user-mentions/index.jsx @@ -18,7 +18,7 @@ import addUserMentions from './add'; * @param {object} WrappedComponent - React component to wrap * @returns {object} the enhanced component */ -const withUserMentions = WrappedComponent => { +const withUserMentions = ( WrappedComponent ) => { class TextInputWrapper extends React.PureComponent { static propTypes = { siteId: PropTypes.number, diff --git a/client/blocks/user-mentions/suggestion-list.jsx b/client/blocks/user-mentions/suggestion-list.jsx index 978ead12a0f99..6c35596bfdc45 100644 --- a/client/blocks/user-mentions/suggestion-list.jsx +++ b/client/blocks/user-mentions/suggestion-list.jsx @@ -36,7 +36,7 @@ const UserMentionsSuggestionList = ( { onClose={ onClose } customPosition={ popoverPosition } > - { suggestions.map( suggestion => ( + { suggestions.map( ( suggestion ) => ( { + updatePoster = ( currentTime ) => { if ( ! this.state.isSelectingFrame ) { return; } @@ -118,7 +118,7 @@ class VideoEditor extends Component { * Uploads an image to use as the poster for the video. * @param {object} file - Uploaded image */ - uploadImage = file => { + uploadImage = ( file ) => { if ( ! file ) { return; } @@ -206,7 +206,7 @@ class VideoEditor extends Component { } export default connect( - state => { + ( state ) => { return { posterUrl: getPosterUrl( state ), shouldShowError: shouldShowVideoEditorError( state ), diff --git a/client/blocks/video-editor/video-editor-upload-button.js b/client/blocks/video-editor/video-editor-upload-button.js index 28dab29bd93ac..f181971709ef0 100644 --- a/client/blocks/video-editor/video-editor-upload-button.js +++ b/client/blocks/video-editor/video-editor-upload-button.js @@ -25,7 +25,7 @@ class VideoEditorUploadButton extends Component { onUploadImage: noop, }; - uploadImage = files => { + uploadImage = ( files ) => { const file = files[ 0 ]; if ( file ) { diff --git a/client/blocks/visit-site/index.jsx b/client/blocks/visit-site/index.jsx index 057aaeba067fd..992a1ee2f7a15 100644 --- a/client/blocks/visit-site/index.jsx +++ b/client/blocks/visit-site/index.jsx @@ -18,10 +18,7 @@ function useSite( siteSlug ) { const [ site, setSite ] = useState( null ); useEffect( () => { - wpcom - .site( siteSlug ) - .get( { apiVersion: '1.2' } ) - .then( setSite ); + wpcom.site( siteSlug ).get( { apiVersion: '1.2' } ).then( setSite ); }, [ siteSlug ] ); return site; diff --git a/client/boot/common.js b/client/boot/common.js index ef326c3ff63f7..27770bcbbfafc 100644 --- a/client/boot/common.js +++ b/client/boot/common.js @@ -54,7 +54,7 @@ import { setStore } from 'state/redux-store'; const debug = debugFactory( 'calypso' ); -const setupContextMiddleware = reduxStore => { +const setupContextMiddleware = ( reduxStore ) => { page( '*', ( context, next ) => { // page.js url parsing is broken so we had to disable it with `decodeURLComponents: false` const parsed = getUrlParts( context.canonicalPath ); @@ -123,8 +123,8 @@ const oauthTokenMiddleware = () => { ]; // Forces OAuth users to the /login page if no token is present - page( '*', function( context, next ) { - const isValidSection = loggedOutRoutes.some( route => startsWith( context.path, route ) ); + page( '*', function ( context, next ) { + const isValidSection = loggedOutRoutes.some( ( route ) => startsWith( context.path, route ) ); // Check we have an OAuth token, otherwise redirect to auth/login page if ( getToken() === false && ! isValidSection ) { @@ -189,7 +189,7 @@ const configureReduxStore = ( currentUser, reduxStore ) => { } if ( config.isEnabled( 'network-connection' ) ) { - asyncRequire( 'lib/network-connection', networkConnection => + asyncRequire( 'lib/network-connection', ( networkConnection ) => networkConnection.init( reduxStore ) ); } @@ -221,7 +221,7 @@ function setupErrorLogger( reduxStore ) { calypso_env: config( 'env_id' ), } ); - errorLogger.saveDiagnosticReducer( function() { + errorLogger.saveDiagnosticReducer( function () { const state = reduxStore.getState(); return { blog_id: getSelectedSiteId( state ), @@ -235,7 +235,7 @@ function setupErrorLogger( reduxStore ) { errorLogger.saveExtraData( { lastTracksEvent } ) ); - page( '*', function( context, next ) { + page( '*', function ( context, next ) { errorLogger.saveNewPath( context.canonicalPath.replace( getSiteFragment( context.canonicalPath ), ':siteId' ) ); @@ -261,7 +261,7 @@ const setupMiddlewares = ( currentUser, reduxStore ) => { // If `?sb` or `?sp` are present on the path set the focus of layout // This can be removed when the legacy version is retired. - page( '*', function( context, next ) { + page( '*', function ( context, next ) { if ( [ 'sb', 'sp' ].indexOf( context.querystring ) !== -1 ) { const layoutSection = context.querystring === 'sb' ? 'sidebar' : 'sites'; reduxStore.dispatch( setNextLayoutFocus( layoutSection ) ); @@ -271,7 +271,7 @@ const setupMiddlewares = ( currentUser, reduxStore ) => { next(); } ); - page( '*', function( context, next ) { + page( '*', function ( context, next ) { // Don't normalize legacy routes - let them fall through and be unhandled // so that page redirects away from Calypso if ( isLegacyRoute( context.pathname ) ) { @@ -281,7 +281,7 @@ const setupMiddlewares = ( currentUser, reduxStore ) => { return normalize( context, next ); } ); - page( '*', function( context, next ) { + page( '*', function ( context, next ) { const path = context.pathname; // Bypass this global handler for legacy routes @@ -301,7 +301,7 @@ const setupMiddlewares = ( currentUser, reduxStore ) => { next(); } ); - page( '*', function( context, next ) { + page( '*', function ( context, next ) { if ( '/me/account' !== context.path && currentUser.get().phone_account ) { page( '/me/account' ); } @@ -313,12 +313,12 @@ const setupMiddlewares = ( currentUser, reduxStore ) => { // delete any lingering local storage data from signup if ( ! startsWith( window.location.pathname, '/start' ) ) { - [ 'signupProgress', 'signupDependencies' ].forEach( item => store.remove( item ) ); + [ 'signupProgress', 'signupDependencies' ].forEach( ( item ) => store.remove( item ) ); } if ( ! currentUser.get() ) { // Dead-end the sections the user can't access when logged out - page( '*', function( context, next ) { + page( '*', function ( context, next ) { //see server/pages/index for prod redirect if ( '/plans' === context.pathname ) { const queryFor = context.query && context.query.for; @@ -353,7 +353,7 @@ const setupMiddlewares = ( currentUser, reduxStore ) => { } if ( config.isEnabled( 'rubberband-scroll-disable' ) ) { - asyncRequire( 'lib/rubberband-scroll-disable', disableRubberbandScroll => { + asyncRequire( 'lib/rubberband-scroll-disable', ( disableRubberbandScroll ) => { disableRubberbandScroll( document.body ); } ); } @@ -362,7 +362,7 @@ const setupMiddlewares = ( currentUser, reduxStore ) => { config.isEnabled( 'dev/test-helper' ) && document.querySelector( '.environment.is-tests' ) ) { - asyncRequire( 'lib/abtest/test-helper', testHelper => { + asyncRequire( 'lib/abtest/test-helper', ( testHelper ) => { testHelper( document.querySelector( '.environment.is-tests' ) ); } ); } @@ -370,7 +370,7 @@ const setupMiddlewares = ( currentUser, reduxStore ) => { config.isEnabled( 'dev/preferences-helper' ) && document.querySelector( '.environment.is-prefs' ) ) { - asyncRequire( 'lib/preferences-helper', prefHelper => { + asyncRequire( 'lib/preferences-helper', ( prefHelper ) => { prefHelper( document.querySelector( '.environment.is-prefs' ), reduxStore ); } ); } diff --git a/client/boot/locale.js b/client/boot/locale.js index c8eb8bd271211..347e276997d30 100644 --- a/client/boot/locale.js +++ b/client/boot/locale.js @@ -16,18 +16,18 @@ import { } from 'lib/i18n-utils/switch-locale'; import { setLocale, setLocaleRawData } from 'state/ui/language/actions'; -const setupTranslationChunks = async localeSlug => { +const setupTranslationChunks = async ( localeSlug ) => { const { translatedChunks, locale } = await getLanguageManifestFile( localeSlug ); i18n.setLocale( locale ); const loadedTranslationChunks = {}; - const loadTranslationForChunkIfNeeded = chunkId => { + const loadTranslationForChunkIfNeeded = ( chunkId ) => { if ( ! translatedChunks.includes( chunkId ) || loadedTranslationChunks[ chunkId ] ) { return; } - return getTranslationChunkFile( chunkId, localeSlug ).then( translations => { + return getTranslationChunkFile( chunkId, localeSlug ).then( ( translations ) => { i18n.addTranslations( translations ); loadedTranslationChunks[ chunkId ] = true; } ); @@ -36,7 +36,7 @@ const setupTranslationChunks = async localeSlug => { ( window.installedChunks || [] ).concat( window.__requireChunkCallback__.getInstalledChunks() ) ); - installedChunks.forEach( chunkId => { + installedChunks.forEach( ( chunkId ) => { loadTranslationForChunkIfNeeded( chunkId ); } ); diff --git a/client/components/accordion/index.jsx b/client/components/accordion/index.jsx index 00e433fc248a5..d36e5ea076153 100644 --- a/client/components/accordion/index.jsx +++ b/client/components/accordion/index.jsx @@ -61,7 +61,7 @@ export default class Accordion extends Component { this.setExpandedStatus( ! this.state.isExpanded ); }; - setExpandedStatus = isExpanded => { + setExpandedStatus = ( isExpanded ) => { this.setState( { isExpanded } ); this.props.onToggle( isExpanded ); }; diff --git a/client/components/action-panel/figure.jsx b/client/components/action-panel/figure.jsx index 6083e4e000564..76f819f9fc1d2 100644 --- a/client/components/action-panel/figure.jsx +++ b/client/components/action-panel/figure.jsx @@ -9,7 +9,7 @@ import classNames from 'classnames'; const ActionPanelFigure = ( { inlineBodyText, align, children } ) => { const figureClasses = classNames( { 'action-panel__figure': true, - [ `align-${ 'left' === align ? 'left' : 'right' }` ]: true, + [ `align-${ 'left' === align ? 'left' : 'right'}` ]: true, 'is-inline-body-text': inlineBodyText, } ); diff --git a/client/components/async-load/index.jsx b/client/components/async-load/index.jsx index e2319a6fe781c..4dbc408caa91b 100644 --- a/client/components/async-load/index.jsx +++ b/client/components/async-load/index.jsx @@ -56,7 +56,7 @@ export default class AsyncLoad extends Component { require() { const requireFunction = this.props.require; - requireFunction( component => { + requireFunction( ( component ) => { if ( this.mounted && this.props.require === requireFunction ) { this.setState( { component } ); } diff --git a/client/components/async-loader/index.jsx b/client/components/async-loader/index.jsx index bffee53203032..0792b1420b91a 100644 --- a/client/components/async-loader/index.jsx +++ b/client/components/async-loader/index.jsx @@ -20,20 +20,20 @@ export const asyncLoader = ( { promises, loading, success, failure } ) => // we wait for all promises to fulfill const runners = map( promises, ( promise, key ) => promise - .then( a => { + .then( ( a ) => { if ( this._isMounted ) { - this.setState( state => ( { results: { ...state.results, [ key ]: a } } ) ); + this.setState( ( state ) => ( { results: { ...state.results, [ key ]: a } } ) ); } return a; } ) .then( - a => [ true, a, key ], - a => [ false, a, key ] + ( a ) => [ true, a, key ], + ( a ) => [ false, a, key ] ) ); - Promise.all( runners ).then( resolutions => { + Promise.all( runners ).then( ( resolutions ) => { const [ results, successful ] = resolutions.reduce( ( [ output, allSuccess ], [ wasSuccess, data, key ] ) => [ { ...output, [ key ]: data }, diff --git a/client/components/async-loader/test/index.js b/client/components/async-loader/test/index.js index d5177fc258832..ee3af12a28b99 100644 --- a/client/components/async-loader/test/index.js +++ b/client/components/async-loader/test/index.js @@ -13,8 +13,8 @@ import { mount } from 'enzyme'; */ import { asyncLoader } from '../'; -const runAfterEvents = f => - new Promise( r => +const runAfterEvents = ( f ) => + new Promise( ( r ) => setTimeout( () => { f(); r(); @@ -39,7 +39,7 @@ test( 'creates wrapped components only on state change', async () => { let resolver; const Loader = asyncLoader( { - promises: { yes: new Promise( r => ( resolver = r ) ) }, + promises: { yes: new Promise( ( r ) => ( resolver = r ) ) }, loading: () => null, success: () => , failure: () => null, diff --git a/client/components/auto-direction/direction.js b/client/components/auto-direction/direction.js index 7fdd4a73770c9..c5540526c608b 100644 --- a/client/components/auto-direction/direction.js +++ b/client/components/auto-direction/direction.js @@ -790,10 +790,10 @@ const LEFT_TO_RIGHT = [ [ 0x10fffd, 0x10fffd ], ]; -const createLookUpMap = charactersRangeArray => { +const createLookUpMap = ( charactersRangeArray ) => { const set = new Set(); - charactersRangeArray.forEach( range => { + charactersRangeArray.forEach( ( range ) => { for ( let i = range[ 0 ]; i <= range[ 1 ]; i++ ) { set.add( i ); } @@ -805,5 +805,5 @@ const createLookUpMap = charactersRangeArray => { const RTL_SET = createLookUpMap( RIGHT_TO_LEFT ); const LTR_SET = createLookUpMap( LEFT_TO_RIGHT ); -export const isRTLCharacter = character => RTL_SET.has( character.charCodeAt( 0 ) ); -export const isLTRCharacter = character => LTR_SET.has( character.charCodeAt( 0 ) ); +export const isRTLCharacter = ( character ) => RTL_SET.has( character.charCodeAt( 0 ) ); +export const isLTRCharacter = ( character ) => LTR_SET.has( character.charCodeAt( 0 ) ); diff --git a/client/components/auto-direction/index.jsx b/client/components/auto-direction/index.jsx index bd1f263d97e7f..2caed47a15d41 100644 --- a/client/components/auto-direction/index.jsx +++ b/client/components/auto-direction/index.jsx @@ -27,14 +27,14 @@ const SPACE_CHARACTERS = { * @param {string} character character to examine * @returns {bool} true if character is a space character, false otherwise */ -const isSpaceCharacter = character => !! SPACE_CHARACTERS[ character ]; +const isSpaceCharacter = ( character ) => !! SPACE_CHARACTERS[ character ]; /** * Get index of the first character that is not within a tag * @param {string} text text to examine * @returns {number} index not within a tag */ -const getTaglessIndex = text => { +const getTaglessIndex = ( text ) => { let isTagOpen = false; for ( let i = 0; i < text.length; i++ ) { @@ -60,7 +60,7 @@ const getTaglessIndex = text => { * @param {React.Element} reactElement react element * @returns {string|null} returns a text content of the react element or null if it's not a leaf element */ -const getContent = reactElement => { +const getContent = ( reactElement ) => { if ( ! reactElement ) { return null; } @@ -172,7 +172,7 @@ const setChildDirection = ( child, isRtl ) => { if ( child && child.props.children ) { let innerChildDirection = null; - const children = React.Children.map( child.props.children, innerChild => { + const children = React.Children.map( child.props.children, ( innerChild ) => { if ( ! innerChild ) { return innerChild; } @@ -184,7 +184,7 @@ const setChildDirection = ( child, isRtl ) => { return innerChild; } - if ( inlineComponents.some( inlineComponent => innerChild.type === inlineComponent ) ) { + if ( inlineComponents.some( ( inlineComponent ) => innerChild.type === inlineComponent ) ) { innerChildDirection = getChildDirection( innerChild, isRtl ); return innerChild; } diff --git a/client/components/back-button/docs/example.jsx b/client/components/back-button/docs/example.jsx index 23a9ba11563af..c9436b94580df 100644 --- a/client/components/back-button/docs/example.jsx +++ b/client/components/back-button/docs/example.jsx @@ -8,7 +8,7 @@ import React from 'react'; */ import BackButton from 'components/back-button'; -const BackButtonExample = props => props.exampleCode; +const BackButtonExample = ( props ) => props.exampleCode; BackButtonExample.displayName = 'BackButton'; diff --git a/client/components/banner/index.jsx b/client/components/banner/index.jsx index 6ddaec7927977..86c9c1ebf7ba8 100644 --- a/client/components/banner/index.jsx +++ b/client/components/banner/index.jsx @@ -111,7 +111,7 @@ export class Banner extends Component { return href; } - handleClick = e => { + handleClick = ( e ) => { const { event, feature, compact, onClick, tracksClickName, tracksClickProperties } = this.props; if ( event && tracksClickName ) { @@ -126,7 +126,7 @@ export class Banner extends Component { onClick( e ); }; - handleDismiss = e => { + handleDismiss = ( e ) => { const { event, feature, onDismiss, tracksDismissName, tracksDismissProperties } = this.props; if ( event && tracksDismissName ) { diff --git a/client/components/banner/test/index.jsx b/client/components/banner/test/index.jsx index 20065ef185069..348af440eadb6 100644 --- a/client/components/banner/test/index.jsx +++ b/client/components/banner/test/index.jsx @@ -13,16 +13,16 @@ jest.mock( 'lib/analytics/track-component-view', () => { } ); jest.mock( 'i18n-calypso', () => ( { - localize: Comp => props => ( + localize: ( Comp ) => ( props ) => ( ), - numberFormat: x => x, - translate: x => x, + numberFormat: ( x ) => x, + translate: ( x ) => x, } ) ); /** @@ -137,18 +137,8 @@ describe( 'Banner basic tests', () => { const comp = shallow( ); expect( comp.find( '.banner__list' ) ).toHaveLength( 1 ); expect( comp.find( '.banner__list li' ) ).toHaveLength( 2 ); - expect( - comp - .find( '.banner__list li' ) - .at( 0 ) - .text() - ).toContain( 'test1' ); - expect( - comp - .find( '.banner__list li' ) - .at( 1 ) - .text() - ).toContain( 'test2' ); + expect( comp.find( '.banner__list li' ).at( 0 ).text() ).toContain( 'test1' ); + expect( comp.find( '.banner__list li' ).at( 1 ).text() ).toContain( 'test2' ); } ); test( 'should not render a .banner__list when description is not specified', () => { @@ -218,7 +208,7 @@ describe( 'Banner should have a class name corresponding to appropriate plan', ( PLAN_PERSONAL_2_YEARS, PLAN_JETPACK_PERSONAL, PLAN_JETPACK_PERSONAL_MONTHLY, - ].forEach( plan => { + ].forEach( ( plan ) => { test( 'Personal', () => { const comp = shallow( ); expect( comp.find( '.is-upgrade-personal' ) ).toHaveLength( 1 ); @@ -230,7 +220,7 @@ describe( 'Banner should have a class name corresponding to appropriate plan', ( PLAN_PREMIUM_2_YEARS, PLAN_JETPACK_PREMIUM, PLAN_JETPACK_PREMIUM_MONTHLY, - ].forEach( plan => { + ].forEach( ( plan ) => { test( 'Premium', () => { const comp = shallow( ); expect( comp.find( '.is-upgrade-premium' ) ).toHaveLength( 1 ); @@ -242,7 +232,7 @@ describe( 'Banner should have a class name corresponding to appropriate plan', ( PLAN_BUSINESS_2_YEARS, PLAN_JETPACK_BUSINESS, PLAN_JETPACK_BUSINESS_MONTHLY, - ].forEach( plan => { + ].forEach( ( plan ) => { test( 'Business', () => { const comp = shallow( ); expect( comp.find( '.is-upgrade-business' ) ).toHaveLength( 1 ); diff --git a/client/components/bulk-select/docs/example.jsx b/client/components/bulk-select/docs/example.jsx index 61ebca3c60ad0..bf076918534a4 100644 --- a/client/components/bulk-select/docs/example.jsx +++ b/client/components/bulk-select/docs/example.jsx @@ -20,9 +20,9 @@ export default class extends React.Component { ], }; - handleToggleAll = checkedState => { + handleToggleAll = ( checkedState ) => { let newElements = []; - this.state.elements.forEach( element => { + this.state.elements.forEach( ( element ) => { if ( typeof checkedState !== 'undefined' ) { element.selected = checkedState; } else { @@ -34,14 +34,14 @@ export default class extends React.Component { }; getSelectedElementsNumber = () => { - return this.state.elements.filter( function( element ) { + return this.state.elements.filter( function ( element ) { return element.selected; } ).length; }; renderElements = () => { return this.state.elements.map( ( element, index ) => { - const onClick = function() { + const onClick = function () { element.selected = ! element.selected; this.forceUpdate(); }.bind( this ); diff --git a/client/components/bulk-select/test/index.js b/client/components/bulk-select/test/index.js index ecb090dcb278c..aeddb60549ff7 100644 --- a/client/components/bulk-select/test/index.js +++ b/client/components/bulk-select/test/index.js @@ -104,7 +104,7 @@ describe( 'index', () => { test( 'should be call onToggle when clicked', () => { let hasBeenCalled = false; - const callback = function() { + const callback = function () { hasBeenCalled = true; }; const bulkSelect = shallow( @@ -119,8 +119,8 @@ describe( 'index', () => { assert.equal( hasBeenCalled, true ); } ); - test( 'should be call onToggle with the new state when there are no selected elements', done => { - const callback = function( newState ) { + test( 'should be call onToggle with the new state when there are no selected elements', ( done ) => { + const callback = function ( newState ) { assert.equal( newState, true ); done(); }; @@ -135,8 +135,8 @@ describe( 'index', () => { bulkSelect.find( 'input' ).simulate( 'change' ); } ); - test( 'should be call onToggle with the new state when there are some selected elements', done => { - const callback = function( newState ) { + test( 'should be call onToggle with the new state when there are some selected elements', ( done ) => { + const callback = function ( newState ) { assert.equal( newState, false ); done(); }; @@ -151,8 +151,8 @@ describe( 'index', () => { bulkSelect.find( 'input' ).simulate( 'change' ); } ); - test( 'should be call onToggle with the new state when there all elements are selected', done => { - const callback = function( newState ) { + test( 'should be call onToggle with the new state when there all elements are selected', ( done ) => { + const callback = function ( newState ) { assert.equal( newState, false ); done(); }; diff --git a/client/components/button-group/index.jsx b/client/components/button-group/index.jsx index 595034d48b08f..10eae485cb886 100644 --- a/client/components/button-group/index.jsx +++ b/client/components/button-group/index.jsx @@ -14,7 +14,7 @@ class ButtonGroup extends PureComponent { static propTypes = { children( props ) { let error = null; - React.Children.forEach( props.children, child => { + React.Children.forEach( props.children, ( child ) => { if ( child && ( ! child.props || child.props.type !== 'button' ) ) { error = new Error( 'All children elements should be a Button.' ); } diff --git a/client/components/chart/bar.jsx b/client/components/chart/bar.jsx index 4e59f6bac79c2..595dfb7b52926 100644 --- a/client/components/chart/bar.jsx +++ b/client/components/chart/bar.jsx @@ -60,7 +60,7 @@ export default class ChartBar extends React.PureComponent { }; getTooltipData() { - return this.props.data.tooltipData.map( function( options, i ) { + return this.props.data.tooltipData.map( function ( options, i ) { return ; } ); } @@ -76,7 +76,7 @@ export default class ChartBar extends React.PureComponent { return value && nestedValue ? Math.ceil( ( nestedValue / value ) * 10000 ) / 100 : 0; } - setRef = ref => ( this.bar = ref ); + setRef = ( ref ) => ( this.bar = ref ); renderNestedBar() { const { @@ -101,7 +101,7 @@ export default class ChartBar extends React.PureComponent { ref={ this.setRef } key="value" className="chart__bar-section is-bar" - style={ { transform: `scaleY( ${ percentage / 100 } )` } } + style={ { transform: `scaleY( ${ percentage / 100} )` } } > { this.renderNestedBar() }
diff --git a/client/components/chart/index.jsx b/client/components/chart/index.jsx index f7597c763e665..c14aa7684a2cd 100644 --- a/client/components/chart/index.jsx +++ b/client/components/chart/index.jsx @@ -78,8 +78,8 @@ function Chart( { // Callback to handle element size changes. // Needs to be memoized to avoid causing the `useWindowResizeCallback` custom hook to re-subscribe. - const handleContentRectChange = useCallback( contentRect => { - setSizing( prevSizing => { + const handleContentRectChange = useCallback( ( contentRect ) => { + setSizing( ( prevSizing ) => { const clientWidth = contentRect.width - 82; if ( ! prevSizing.hasResized || clientWidth !== prevSizing.clientWidth ) { @@ -107,7 +107,7 @@ function Chart( { return { chartData: nextData, - isEmptyChart: Boolean( nextVals.length && ! nextVals.some( a => a > 0 ) ), + isEmptyChart: Boolean( nextVals.length && ! nextVals.some( ( a ) => a > 0 ) ), yMax: getYAxisMax( nextVals ), }; }, [ data, maxBars, hasResized ] ); diff --git a/client/components/chart/legend.jsx b/client/components/chart/legend.jsx index caa97efdadce4..69655781381c5 100644 --- a/client/components/chart/legend.jsx +++ b/client/components/chart/legend.jsx @@ -26,7 +26,7 @@ export default class ChartLegend extends React.Component { tabs: [], }; - onFilterChange = chartItem => { + onFilterChange = ( chartItem ) => { this.props.clickHandler( chartItem ); }; @@ -34,7 +34,7 @@ export default class ChartLegend extends React.Component { const legendColors = [ 'chart__legend-color is-dark-blue' ], activeTab = this.props.activeTab; - const legendItems = this.props.availableCharts.map( function( legendItem, index ) { + const legendItems = this.props.availableCharts.map( function ( legendItem, index ) { const colorClass = legendColors[ index ], checked = -1 !== this.props.activeCharts.indexOf( legendItem ), tab = find( this.props.tabs, { attr: legendItem } ); diff --git a/client/components/chart/x-axis.jsx b/client/components/chart/x-axis.jsx index 9aec47d62c562..3c2d7b4d52b6a 100644 --- a/client/components/chart/x-axis.jsx +++ b/client/components/chart/x-axis.jsx @@ -37,7 +37,7 @@ const ModuleChartXAxis = ( { data, isRtl, labelWidth } ) => { }; }, [ dataCount, labelWidth ] ); - const labels = data.map( function( item, index ) { + const labels = data.map( function ( item, index ) { const x = index * spacing + ( spacing - labelWidth ) / 2, rightIndex = data.length - index - 1; let label; diff --git a/client/components/checklist/checklist.js b/client/components/checklist/checklist.js index 2d4da740e942c..01a38e35de791 100644 --- a/client/components/checklist/checklist.js +++ b/client/components/checklist/checklist.js @@ -56,7 +56,7 @@ class Checklist extends PureComponent { const { children } = this.props; const childrenArray = Children.toArray( children ).filter( Boolean ); const completedCount = childrenArray.reduce( - ( count, task ) => ( true === task.props.completed ? count + 1 : count ), + ( count, task ) => ( true === task.props.completed ? count + 1 : count) , 0 ); const total = childrenArray.length; @@ -71,11 +71,11 @@ class Checklist extends PureComponent { // If the user hasn't expanded any task, return the // first task that hasn't been completed yet. return Children.toArray( this.props.children ).findIndex( - task => task && ! task.props.completed && ! task.props.inProgress + ( task ) => task && ! task.props.completed && ! task.props.inProgress ); } - setExpandedTask = newExpandedTaskIndex => + setExpandedTask = ( newExpandedTaskIndex ) => void this.setState( ( { expandedTaskIndex } ) => { if ( newExpandedTaskIndex === expandedTaskIndex ) { return { expandedTaskIndex: null }; // Collapse @@ -108,7 +108,7 @@ class Checklist extends PureComponent { { showChecklistHeader && completed !== total && this.renderChecklistHeader() }
- { times( total, index => ( + { times( total, ( index ) => ( ) ) }
@@ -150,6 +150,6 @@ class Checklist extends PureComponent { } } -export default connect( state => ( { +export default connect( ( state ) => ( { siteId: getSelectedSiteId( state ), } ) )( localize( Checklist ) ); diff --git a/client/components/checklist/docs/example.jsx b/client/components/checklist/docs/example.jsx index 21c258280bee8..2644fc2a406cd 100644 --- a/client/components/checklist/docs/example.jsx +++ b/client/components/checklist/docs/example.jsx @@ -20,15 +20,15 @@ export default class ChecklistExample extends PureComponent { togglePlaceholder = () => void this.setState( ( { showPlaceholder } ) => ( { showPlaceholder: ! showPlaceholder } ) ); - getClickHandler = taskId => () => + getClickHandler = ( taskId ) => () => accept( 'Will you complete this thing?', - accepted => ( accepted ? void this.setState( { [ taskId ]: true } ) : undefined ), + ( accepted ) => ( accepted ? void this.setState( { [ taskId ]: true } ) : undefined) , 'Yes', 'No' ); - getToggleHandler = taskId => () => - void this.setState( state => ( { [ taskId ]: ! state[ taskId ] } ) ); + getToggleHandler = ( taskId ) => () => + void this.setState( ( state ) => ( { [ taskId ]: ! state[ taskId ] } ) ); render() { return ( diff --git a/client/components/close-on-escape/index.jsx b/client/components/close-on-escape/index.jsx index 24a38e0833c34..ef5f4e5a2f39b 100644 --- a/client/components/close-on-escape/index.jsx +++ b/client/components/close-on-escape/index.jsx @@ -37,7 +37,7 @@ function startCloseOnEscForComponent( component, onEscape ) { } function stopCloseOnEscForComponent( component ) { - components = filter( components, item => item.component !== component ); + components = filter( components, ( item ) => item.component !== component ); if ( isEmpty( components ) ) { removeKeydownListener(); } diff --git a/client/components/close-on-escape/test/index.jsx b/client/components/close-on-escape/test/index.jsx index c81e8f3409c80..91d8758938b8a 100644 --- a/client/components/close-on-escape/test/index.jsx +++ b/client/components/close-on-escape/test/index.jsx @@ -32,7 +32,7 @@ describe( 'CloseOnEscape', () => { const wrapper1 = mount( { const wrapper2 = mount( lang.langSlug === this.localeCode ); + this.currentLocale = find( languages, ( lang ) => lang.langSlug === this.localeCode ); } refresh = () => { diff --git a/client/components/community-translator/translatable.jsx b/client/components/community-translator/translatable.jsx index ce5e186ed8f10..62f48bc167ecc 100644 --- a/client/components/community-translator/translatable.jsx +++ b/client/components/community-translator/translatable.jsx @@ -32,7 +32,7 @@ export class Translatable extends Component { return ! isEmpty( this.state.originalData ) || ! isEmpty( this.state.error ); } - handleTranslationChange = event => { + handleTranslationChange = ( event ) => { const { name, value } = event.target; this.setState( { formState: { @@ -53,7 +53,7 @@ export class Translatable extends Component { } ); }; - openDialog = event => { + openDialog = ( event ) => { event.preventDefault(); this.setState( { showDialog: true } ); @@ -62,7 +62,7 @@ export class Translatable extends Component { if ( ! this.hasDataLoaded() ) { getSingleTranslationData( locale, { singular, context, plural } ) - .then( originalData => + .then( ( originalData ) => this.setState( { originalData, translationUrl: getTranslationPermaLink( originalData.originalId, locale ), @@ -85,7 +85,7 @@ export class Translatable extends Component { submitting: true, } ); submitTranslation( this.state.originalData.originalId, this.state.formState, this.props.locale ) - .then( originalData => { + .then( ( originalData ) => { this.setState( { error: originalData.error, originalData, diff --git a/client/components/community-translator/utils.js b/client/components/community-translator/utils.js index 8a835e0693db1..060113d58b298 100644 --- a/client/components/community-translator/utils.js +++ b/client/components/community-translator/utils.js @@ -88,12 +88,12 @@ export function getSingleTranslationData( const glotPressUrl = `${ apiBaseUrl }/translations/-query-by-originals`; const postFormData = [ `project=${ project }`, - `&locale_slug=${ locale.parentLangSlug || locale.langSlug }`, - `&translation_set_slug=${ GP_PROJECT_TRANSLATION_SET_SLUGS[ locale.langSlug ] || 'default' }`, + `&locale_slug=${ locale.parentLangSlug || locale.langSlug}`, + `&translation_set_slug=${ GP_PROJECT_TRANSLATION_SET_SLUGS[ locale.langSlug ] || 'default'}`, `&original_strings=${ encodeURIComponent( JSON.stringify( [ originalStringData ] ) ) }`, ]; - return post( glotPressUrl, postFormData.join( '' ) ).then( glotPressDataEntries => + return post( glotPressUrl, postFormData.join( '' ) ).then( ( glotPressDataEntries ) => normalizeDetailsFromTranslationData( head( glotPressDataEntries ) ) ); } @@ -120,16 +120,16 @@ export function submitTranslation( const glotPressUrl = `${ apiBaseUrl }/translations/-new`; const postFormData = [ `project=${ project }`, - `&locale_slug=${ locale.parentLangSlug || locale.langSlug }`, - `&translation_set_slug=${ GP_PROJECT_TRANSLATION_SET_SLUGS[ locale.langSlug ] || 'default' }`, + `&locale_slug=${ locale.parentLangSlug || locale.langSlug}`, + `&translation_set_slug=${ GP_PROJECT_TRANSLATION_SET_SLUGS[ locale.langSlug ] || 'default'}`, ...Object.keys( translationObject ).map( - key => + ( key ) => translationObject[ key ] && `&translation[${ originalId }][]=${ encodeURIComponent( translationObject[ key ] ) }` ), ]; - return post( glotPressUrl, postFormData.join( '' ) ).then( glotPressData => + return post( glotPressUrl, postFormData.join( '' ) ).then( ( glotPressData ) => normalizeDetailsFromTranslationData( glotPressData ) ); } diff --git a/client/components/convert-to-blocks/index.jsx b/client/components/convert-to-blocks/index.jsx index d27eceb6c7fd5..9e3f2e30aec20 100644 --- a/client/components/convert-to-blocks/index.jsx +++ b/client/components/convert-to-blocks/index.jsx @@ -21,7 +21,7 @@ class ConvertToBlocksDialog extends Component { handleConversionResponse: PropTypes.func, }; - close = action => { + close = ( action ) => { this.props.handleResponse( action === 'convert' ); }; diff --git a/client/components/credit-card-form-fields/index.jsx b/client/components/credit-card-form-fields/index.jsx index 741ed33b652be..bc4a2cd2fe4a6 100644 --- a/client/components/credit-card-form-fields/index.jsx +++ b/client/components/credit-card-form-fields/index.jsx @@ -284,7 +284,7 @@ export class CreditCardFormFields extends React.Component { ); }; - getFieldValue = fieldName => this.props.card[ fieldName ] || ''; + getFieldValue = ( fieldName ) => this.props.card[ fieldName ] || ''; updateFieldValues = ( fieldName, nextValue ) => { const previousValue = this.getFieldValue( fieldName ); @@ -310,7 +310,7 @@ export class CreditCardFormFields extends React.Component { onFieldChange( rawDetails, maskedDetails ); }; - handleFieldChange = event => { + handleFieldChange = ( event ) => { this.updateFieldValues( event.target.name, event.target.value ); }; diff --git a/client/components/credit-card/index.tsx b/client/components/credit-card/index.tsx index 0e50aa6e4472f..8ea35cdc5fee5 100644 --- a/client/components/credit-card/index.tsx +++ b/client/components/credit-card/index.tsx @@ -33,7 +33,7 @@ const CreditCard: FunctionComponent< Props > = ( { children, } ) => { const handleKeyPress: React.KeyboardEventHandler< HTMLDivElement > = useCallback( - event => { + ( event ) => { if ( event.key === 'Enter' || event.key === ' ' ) { ( onSelect as SelectHandler )( event ); } diff --git a/client/components/d3-base/index.js b/client/components/d3-base/index.js index 081a68e8a44b6..d94987b11c363 100644 --- a/client/components/d3-base/index.js +++ b/client/components/d3-base/index.js @@ -81,9 +81,7 @@ export default class D3Base extends Component { } deleteChart() { - d3Select( this.chartRef.current ) - .selectAll( 'svg' ) - .remove(); + d3Select( this.chartRef.current ).selectAll( 'svg' ).remove(); } /** diff --git a/client/components/d3-base/test/index.js b/client/components/d3-base/test/index.js index f26721b4fd471..b75044dd90783 100644 --- a/client/components/d3-base/test/index.js +++ b/client/components/d3-base/test/index.js @@ -16,7 +16,7 @@ import { shallow, mount } from 'enzyme'; import D3Base from '..'; describe( 'D3base', () => { - const shallowWithoutLifecycle = arg => shallow( arg, { disableLifecycleMethods: true } ); + const shallowWithoutLifecycle = ( arg ) => shallow( arg, { disableLifecycleMethods: true } ); test( 'should have d3-base CSS class', () => { const base = shallowWithoutLifecycle( ); @@ -33,7 +33,7 @@ describe( 'D3base', () => { } ); test( 'should render a result of the drawChart prop', () => { - const drawChart = svg => { + const drawChart = ( svg ) => { return svg.append( 'circle' ); }; diff --git a/client/components/data/document-head/index.jsx b/client/components/data/document-head/index.jsx index b6dea755d2a43..9c042007bb172 100644 --- a/client/components/data/document-head/index.jsx +++ b/client/components/data/document-head/index.jsx @@ -70,7 +70,7 @@ class DocumentHead extends Component { this.setFormattedTitle.cancel(); } - setFormattedTitle = debounce( title => { + setFormattedTitle = debounce( ( title ) => { document.title = title; } ); @@ -91,7 +91,7 @@ DocumentHead.propTypes = { }; export default connect( - state => ( { + ( state ) => ( { formattedTitle: getDocumentHeadFormattedTitle( state ), } ), { diff --git a/client/components/data/domain-management/index.jsx b/client/components/data/domain-management/index.jsx index 1a7b2e9712a2b..755f189271e17 100644 --- a/client/components/data/domain-management/index.jsx +++ b/client/components/data/domain-management/index.jsx @@ -147,7 +147,7 @@ class DomainManagementData extends React.Component { } } -export default connect( state => { +export default connect( ( state ) => { const selectedSite = getSelectedSite( state ); const siteId = get( selectedSite, 'ID', null ); diff --git a/client/components/data/email-followers-data/index.jsx b/client/components/data/email-followers-data/index.jsx index 12d5ea6921f16..2d448e41970f1 100644 --- a/client/components/data/email-followers-data/index.jsx +++ b/client/components/data/email-followers-data/index.jsx @@ -72,7 +72,7 @@ export default class EmailFollowersData extends Component { pollers.remove( this._poller ); } - fetchIfEmpty = fetchOptions => { + fetchIfEmpty = ( fetchOptions ) => { fetchOptions = fetchOptions || this.props.fetchOptions; if ( ! fetchOptions || ! fetchOptions.siteId ) { return; @@ -83,7 +83,7 @@ export default class EmailFollowersData extends Component { } // defer fetch requests to avoid dispatcher conflicts - const defer = function() { + const defer = function () { const paginationData = EmailFollowersStore.getPaginationData( fetchOptions ); if ( paginationData.fetchingFollowers ) { return; @@ -114,7 +114,7 @@ export default class EmailFollowersData extends Component { return false; }; - refreshFollowers = fetchOptions => { + refreshFollowers = ( fetchOptions ) => { fetchOptions = fetchOptions || this.props.fetchOptions; debug( 'Refreshing followers: ' + JSON.stringify( fetchOptions ) ); this.setState( { diff --git a/client/components/data/followers-data/index.jsx b/client/components/data/followers-data/index.jsx index b3ed91c228f13..154e479f66a5d 100644 --- a/client/components/data/followers-data/index.jsx +++ b/client/components/data/followers-data/index.jsx @@ -64,7 +64,7 @@ export default class FollowersData extends Component { pollers.remove( this._poller ); } - fetchIfEmpty = fetchOptions => { + fetchIfEmpty = ( fetchOptions ) => { fetchOptions = fetchOptions || this.props.fetchOptions; if ( ! fetchOptions || ! fetchOptions.siteId ) { return; @@ -74,7 +74,7 @@ export default class FollowersData extends Component { return; } // defer fetch requests to avoid dispatcher conflicts - const defer = function() { + const defer = function () { const paginationData = FollowersStore.getPaginationData( fetchOptions ); if ( paginationData.fetchingFollowers ) { return; @@ -105,7 +105,7 @@ export default class FollowersData extends Component { return false; }; - refreshFollowers = fetchOptions => { + refreshFollowers = ( fetchOptions ) => { fetchOptions = fetchOptions || this.props.fetchOptions; debug( 'Refreshing followers: ' + JSON.stringify( fetchOptions ) ); this.setState( { diff --git a/client/components/data/media-list-data/index.jsx b/client/components/data/media-list-data/index.jsx index d1a1fc613e38e..105ca75c0c974 100644 --- a/client/components/data/media-list-data/index.jsx +++ b/client/components/data/media-list-data/index.jsx @@ -54,7 +54,7 @@ export default class extends React.Component { } } - getQuery = props => { + getQuery = ( props ) => { const query = {}; props = props || this.props; diff --git a/client/components/data/media-list-data/utils.js b/client/components/data/media-list-data/utils.js index eaef4b98e586f..a3b30bac4a1a4 100644 --- a/client/components/data/media-list-data/utils.js +++ b/client/components/data/media-list-data/utils.js @@ -7,7 +7,7 @@ export default { * @param {string} filter - The filter to get a mime from * @returns {string} Mime type */ - getMimeBaseTypeFromFilter: function( filter ) { + getMimeBaseTypeFromFilter: function ( filter ) { let mime; switch ( filter ) { @@ -42,7 +42,7 @@ export default { * @param {object} props Media library request props * @returns {object} Modified query for Google Photos */ - getGoogleQuery: function( query, props ) { + getGoogleQuery: function ( query, props ) { const { categoryFilter, filter } = props; const googleFilter = []; diff --git a/client/components/data/moderate-comment/index.jsx b/client/components/data/moderate-comment/index.jsx index ee6d7c0a68362..390a8c902f09c 100644 --- a/client/components/data/moderate-comment/index.jsx +++ b/client/components/data/moderate-comment/index.jsx @@ -102,7 +102,7 @@ const mapStateToProps = ( state, { siteId, commentId } ) => { }; const mapDispatchToProps = ( dispatch, { siteId, postId, commentId, newStatus } ) => ( { - removeNotice: noticeId => dispatch( removeNotice( noticeId ) ), + removeNotice: ( noticeId ) => dispatch( removeNotice( noticeId ) ), successNotice: ( text, options ) => dispatch( successNotice( text, options ) ), updateCommentStatus: () => dispatch( diff --git a/client/components/data/query-account-recovery-settings/index.jsx b/client/components/data/query-account-recovery-settings/index.jsx index 60e358dd474ea..fc1e88251e544 100644 --- a/client/components/data/query-account-recovery-settings/index.jsx +++ b/client/components/data/query-account-recovery-settings/index.jsx @@ -24,7 +24,7 @@ class QueryAccountRecoverySettings extends Component { } export default connect( - state => ( { + ( state ) => ( { isFetching: isFetchingAccountRecoverySettings( state ), } ), { accountRecoverySettingsFetch } diff --git a/client/components/data/query-billing-transactions/index.jsx b/client/components/data/query-billing-transactions/index.jsx index 0c9ed183d0462..58c81754b7773 100644 --- a/client/components/data/query-billing-transactions/index.jsx +++ b/client/components/data/query-billing-transactions/index.jsx @@ -32,7 +32,7 @@ class QueryBillingTransactions extends Component { } export default connect( - state => ( { + ( state ) => ( { requestingBillingTransactions: isRequestingBillingTransactions( state ), } ), { requestBillingTransactions } diff --git a/client/components/data/query-concierge-appointment-details/index.js b/client/components/data/query-concierge-appointment-details/index.js index ffc4b9e717134..50c80b3a349f2 100644 --- a/client/components/data/query-concierge-appointment-details/index.js +++ b/client/components/data/query-concierge-appointment-details/index.js @@ -20,6 +20,6 @@ class QueryConciergeAppointmentDetails extends Component { } } -export default connect( state => state, { requestConciergeAppointmentDetails } )( +export default connect( ( state ) => state, { requestConciergeAppointmentDetails } )( QueryConciergeAppointmentDetails ); diff --git a/client/components/data/query-concierge-initial/index.js b/client/components/data/query-concierge-initial/index.js index f0b390d9bf885..768abea976d0f 100644 --- a/client/components/data/query-concierge-initial/index.js +++ b/client/components/data/query-concierge-initial/index.js @@ -21,4 +21,4 @@ class QueryConciergeInitial extends Component { } } -export default connect( state => state, { requestConciergeInitial } )( QueryConciergeInitial ); +export default connect( ( state ) => state, { requestConciergeInitial } )( QueryConciergeInitial ); diff --git a/client/components/data/query-contact-details-cache/index.jsx b/client/components/data/query-contact-details-cache/index.jsx index 68794a216ed65..d8f7655c3b9ba 100644 --- a/client/components/data/query-contact-details-cache/index.jsx +++ b/client/components/data/query-contact-details-cache/index.jsx @@ -34,7 +34,7 @@ QueryContactDetailsCache.propTypes = { }; export default connect( - state => ( { + ( state ) => ( { contactDetailsCache: getContactDetailsCache( state ), isRequesting: isRequestingContactDetailsCache( state ), } ), diff --git a/client/components/data/query-gsuite-users/index.jsx b/client/components/data/query-gsuite-users/index.jsx index 7c5841138d0d4..13cb1a6173773 100644 --- a/client/components/data/query-gsuite-users/index.jsx +++ b/client/components/data/query-gsuite-users/index.jsx @@ -11,7 +11,7 @@ import { useDispatch } from 'react-redux'; import { getGSuiteUsers } from 'state/gsuite-users/actions'; import isRequestingGSuiteUsers from 'state/selectors/is-requesting-gsuite-users'; -const request = siteId => ( dispatch, getState ) => { +const request = ( siteId ) => ( dispatch, getState ) => { if ( ! isRequestingGSuiteUsers( getState(), siteId ) ) { dispatch( getGSuiteUsers( siteId ) ); } @@ -25,7 +25,7 @@ export default function QueryGSuiteUsers( { siteId } ) { }, [ dispatch, siteId ] ); return null; -}; +} QueryGSuiteUsers.propTypes = { siteId: PropTypes.number.isRequired, diff --git a/client/components/data/query-happiness-engineers/index.jsx b/client/components/data/query-happiness-engineers/index.jsx index 1554e34128229..050cb1da5cffc 100644 --- a/client/components/data/query-happiness-engineers/index.jsx +++ b/client/components/data/query-happiness-engineers/index.jsx @@ -34,7 +34,7 @@ QueryHappinessEngineers.defaultProps = { }; export default connect( - state => { + ( state ) => { return { isRequestingHappinessEngineers: isRequestingHappinessEngineers( state ), }; diff --git a/client/components/data/query-jetpack-scan-history/index.tsx b/client/components/data/query-jetpack-scan-history/index.tsx index 572d48393e0b3..de79d930dcc22 100644 --- a/client/components/data/query-jetpack-scan-history/index.tsx +++ b/client/components/data/query-jetpack-scan-history/index.tsx @@ -15,7 +15,7 @@ interface Props { } const QueryJetpackScanHistory = ( { siteId }: Props ) => { - const requestingJetpackScanHistory = useSelector( state => + const requestingJetpackScanHistory = useSelector( ( state ) => isRequestingJetpackScanHistory( state, siteId ) ); const dispatch = useDispatch(); diff --git a/client/components/data/query-jetpack-scan-history/test/index.js b/client/components/data/query-jetpack-scan-history/test/index.js index 5cfea56a63643..80486d321910d 100644 --- a/client/components/data/query-jetpack-scan-history/test/index.js +++ b/client/components/data/query-jetpack-scan-history/test/index.js @@ -28,10 +28,10 @@ function setup( siteId ) { jetpackScan: { history: { requestStatus: siteId } }, }; - const store = createStore( state => state, initialState ); + const store = createStore( ( state ) => state, initialState ); // eslint-disable-next-line no-shadow - const renderUI = siteId => ( + const renderUI = ( siteId ) => ( diff --git a/client/components/data/query-jetpack-scan/index.tsx b/client/components/data/query-jetpack-scan/index.tsx index ca4ea713c4d23..8e67540b0ea4f 100644 --- a/client/components/data/query-jetpack-scan/index.tsx +++ b/client/components/data/query-jetpack-scan/index.tsx @@ -15,7 +15,9 @@ interface Props { } const QueryJetpackScan = ( { siteId }: Props ) => { - const requestingJetpackScan = useSelector( state => isRequestingJetpackScan( state, siteId ) ); + const requestingJetpackScan = useSelector( ( state ) => + isRequestingJetpackScan( state, siteId ) + ); const dispatch = useDispatch(); React.useEffect( () => { diff --git a/client/components/data/query-jetpack-scan/test/index.js b/client/components/data/query-jetpack-scan/test/index.js index e2c8498062775..3f30b3d899f6a 100644 --- a/client/components/data/query-jetpack-scan/test/index.js +++ b/client/components/data/query-jetpack-scan/test/index.js @@ -28,10 +28,10 @@ function setup( siteId ) { jetpackScan: { requestStatus: siteId }, }; - const store = createStore( state => state, initialState ); + const store = createStore( ( state ) => state, initialState ); // eslint-disable-next-line no-shadow - const renderUI = siteId => ( + const renderUI = ( siteId ) => ( diff --git a/client/components/data/query-jitm/index.jsx b/client/components/data/query-jitm/index.jsx index 54785127cb2ff..4c9ea8f9cde30 100644 --- a/client/components/data/query-jitm/index.jsx +++ b/client/components/data/query-jitm/index.jsx @@ -30,7 +30,7 @@ QueryJITM.defaultProps = { sectionName: '', }; -const mapStateToProps = state => ( { +const mapStateToProps = ( state ) => ( { locale: getCurrentUserLocale( state ), } ); diff --git a/client/components/data/query-keyring-connections/index.jsx b/client/components/data/query-keyring-connections/index.jsx index 1c346a0706680..29ed9b0d2b8e3 100644 --- a/client/components/data/query-keyring-connections/index.jsx +++ b/client/components/data/query-keyring-connections/index.jsx @@ -35,7 +35,7 @@ class QueryKeyringConnections extends Component { } export default connect( - state => ( { + ( state ) => ( { isRequesting: isKeyringConnectionsFetching( state ), } ), { requestKeyringConnections } diff --git a/client/components/data/query-keyring-services/index.jsx b/client/components/data/query-keyring-services/index.jsx index 9d499ec10bbd0..16f308fff3292 100644 --- a/client/components/data/query-keyring-services/index.jsx +++ b/client/components/data/query-keyring-services/index.jsx @@ -30,7 +30,7 @@ QueryKeyringServices.propTypes = { }; export default connect( - state => ( { + ( state ) => ( { isRequesting: isKeyringServicesFetching( state ), } ), { requestKeyringServices } diff --git a/client/components/data/query-locale-suggestions/index.jsx b/client/components/data/query-locale-suggestions/index.jsx index 37fe15ef76caa..bb97e82221151 100644 --- a/client/components/data/query-locale-suggestions/index.jsx +++ b/client/components/data/query-locale-suggestions/index.jsx @@ -33,7 +33,7 @@ class QueryLocaleSuggestions extends Component { } export default connect( - state => ( { + ( state ) => ( { localeSuggestions: getLocaleSuggestions( state ), } ), { requestLocaleSuggestions } diff --git a/client/components/data/query-media-export/index.js b/client/components/data/query-media-export/index.js index b2700efe55fe7..6868e5cf507d6 100644 --- a/client/components/data/query-media-export/index.js +++ b/client/components/data/query-media-export/index.js @@ -32,7 +32,7 @@ class QueryMediaExport extends Component { } export default connect( - state => ( { + ( state ) => ( { mediaExportUrl: getMediaExportUrl( state ), } ), { requestMediaExport } diff --git a/client/components/data/query-media-storage/index.jsx b/client/components/data/query-media-storage/index.jsx index 399a2eebd9006..664442f85c3aa 100644 --- a/client/components/data/query-media-storage/index.jsx +++ b/client/components/data/query-media-storage/index.jsx @@ -68,7 +68,7 @@ export default connect( requestingMediaStorage: isRequestingMediaStorage( state, ownProps.siteId ), }; }, - dispatch => { + ( dispatch ) => { return bindActionCreators( { requestMediaStorage, diff --git a/client/components/data/query-memberships-connected-accounts/index.js b/client/components/data/query-memberships-connected-accounts/index.js index 87e90dae10578..d7f6009011451 100644 --- a/client/components/data/query-memberships-connected-accounts/index.js +++ b/client/components/data/query-memberships-connected-accounts/index.js @@ -23,7 +23,7 @@ class QueryMembershipsConnectedAccounts extends Component { } export default connect( - state => ( { + ( state ) => ( { isFetching: get( state, [ 'memberships', 'connectedAccounts', 'isFetching' ], false ), } ), { listMembershipsConnectedAccounts } diff --git a/client/components/data/query-plans/index.jsx b/client/components/data/query-plans/index.jsx index cb285c779a3ea..ec5d39c1f1e53 100644 --- a/client/components/data/query-plans/index.jsx +++ b/client/components/data/query-plans/index.jsx @@ -34,7 +34,7 @@ QueryPlans.defaultProps = { }; export default connect( - state => { + ( state ) => { return { requestingPlans: isRequestingPlans( state ), }; diff --git a/client/components/data/query-posts/index.jsx b/client/components/data/query-posts/index.jsx index a5dcbecbb8b89..d0d9c761657ea 100644 --- a/client/components/data/query-posts/index.jsx +++ b/client/components/data/query-posts/index.jsx @@ -68,7 +68,7 @@ export default connect( requestingPosts: isRequestingPostsForQuery( state, siteId, query ), }; }, - dispatch => { + ( dispatch ) => { return bindActionCreators( { requestSitePosts, diff --git a/client/components/data/query-reader-feed/index.jsx b/client/components/data/query-reader-feed/index.jsx index 04da0cf2c860a..854c874ce1833 100644 --- a/client/components/data/query-reader-feed/index.jsx +++ b/client/components/data/query-reader-feed/index.jsx @@ -50,7 +50,7 @@ export default connect( shouldFeedBeFetched: shouldFeedBeFetched( state, feedId ), }; }, - dispatch => { + ( dispatch ) => { return bindActionCreators( { requestFeed, diff --git a/client/components/data/query-reader-list/index.jsx b/client/components/data/query-reader-list/index.jsx index 8d61adfdb3ef2..31f43c5d41767 100644 --- a/client/components/data/query-reader-list/index.jsx +++ b/client/components/data/query-reader-list/index.jsx @@ -54,7 +54,7 @@ export default connect( isRequestingList: isRequestingList( state, owner, slug ), }; }, - dispatch => { + ( dispatch ) => { return bindActionCreators( { requestList, diff --git a/client/components/data/query-reader-lists/index.jsx b/client/components/data/query-reader-lists/index.jsx index e5e816d034ff2..5c0b5c627ec9c 100644 --- a/client/components/data/query-reader-lists/index.jsx +++ b/client/components/data/query-reader-lists/index.jsx @@ -37,12 +37,12 @@ QueryReaderLists.defaultProps = { }; export default connect( - state => { + ( state ) => { return { isRequestingSubscribedLists: isRequestingSubscribedLists( state ), }; }, - dispatch => { + ( dispatch ) => { return bindActionCreators( { requestSubscribedLists, diff --git a/client/components/data/query-reader-related-posts/index.jsx b/client/components/data/query-reader-related-posts/index.jsx index 82d40cb4f18e5..92e30e25b23fd 100644 --- a/client/components/data/query-reader-related-posts/index.jsx +++ b/client/components/data/query-reader-related-posts/index.jsx @@ -59,7 +59,7 @@ export default connect( shouldFetch: shouldFetchRelated( state, siteId, postId, scope ), }; }, - dispatch => { + ( dispatch ) => { return bindActionCreators( { requestRelatedPosts, diff --git a/client/components/data/query-reader-site/index.jsx b/client/components/data/query-reader-site/index.jsx index 7e691884819a5..61af098a912c8 100644 --- a/client/components/data/query-reader-site/index.jsx +++ b/client/components/data/query-reader-site/index.jsx @@ -50,7 +50,7 @@ export default connect( shouldSiteBeFetched: shouldSiteBeFetched( state, siteId ), }; }, - dispatch => { + ( dispatch ) => { return bindActionCreators( { requestSite, diff --git a/client/components/data/query-reader-tag-images/index.jsx b/client/components/data/query-reader-tag-images/index.jsx index 7965a1356208a..f93f5c36729cc 100644 --- a/client/components/data/query-reader-tag-images/index.jsx +++ b/client/components/data/query-reader-tag-images/index.jsx @@ -50,7 +50,7 @@ export default connect( shouldRequestTagImages: shouldRequestTagImages( state, ownProps.tag ), }; }, - dispatch => { + ( dispatch ) => { return bindActionCreators( { requestTagImages, diff --git a/client/components/data/query-reader-thumbnails/index.jsx b/client/components/data/query-reader-thumbnails/index.jsx index 2e3e34e6b20f3..9f11785689dfa 100644 --- a/client/components/data/query-reader-thumbnails/index.jsx +++ b/client/components/data/query-reader-thumbnails/index.jsx @@ -45,6 +45,6 @@ const mapStateToProps = ( state, ownProps ) => ( { shouldRequestThumbnail: ! getThumbnailForIframe( state, ownProps.embedUrl ), } ); -const mapDispatchToProps = dispatch => bindActionCreators( { requestThumbnail }, dispatch ); +const mapDispatchToProps = ( dispatch ) => bindActionCreators( { requestThumbnail }, dispatch ); export default connect( mapStateToProps, mapDispatchToProps )( QueryReaderThumbnails ); diff --git a/client/components/data/query-segments/index.jsx b/client/components/data/query-segments/index.jsx index 2bd4242c04357..74b59c7c9a92f 100644 --- a/client/components/data/query-segments/index.jsx +++ b/client/components/data/query-segments/index.jsx @@ -30,7 +30,7 @@ export class QuerySegments extends Component { } export default connect( - state => ( { + ( state ) => ( { segments: getSegments( state ), } ), { requestSegments } diff --git a/client/components/data/query-site-checklist/index.js b/client/components/data/query-site-checklist/index.js index acb6131b9f6ca..f722c3bd57e88 100644 --- a/client/components/data/query-site-checklist/index.js +++ b/client/components/data/query-site-checklist/index.js @@ -13,7 +13,7 @@ import isSiteEligibleForFullSiteEditing from 'state/selectors/is-site-eligible-f export default function QuerySiteChecklist( { siteId } ) { const dispatch = useDispatch(); - const isSiteEligibleForFSE = useSelector( state => + const isSiteEligibleForFSE = useSelector( ( state ) => isSiteEligibleForFullSiteEditing( state, siteId ) ); diff --git a/client/components/data/query-site-domains/index.jsx b/client/components/data/query-site-domains/index.jsx index 6c1e739bc02c9..2f79b102f0e23 100644 --- a/client/components/data/query-site-domains/index.jsx +++ b/client/components/data/query-site-domains/index.jsx @@ -11,7 +11,7 @@ import { useDispatch } from 'react-redux'; import { isRequestingSiteDomains } from 'state/sites/domains/selectors'; import { fetchSiteDomains } from 'state/sites/domains/actions'; -const request = siteId => ( dispatch, getState ) => { +const request = ( siteId ) => ( dispatch, getState ) => { if ( siteId && ! isRequestingSiteDomains( getState(), siteId ) ) { dispatch( fetchSiteDomains( siteId ) ); } diff --git a/client/components/data/query-site-guided-transfer/index.jsx b/client/components/data/query-site-guided-transfer/index.jsx index bae6247d9138b..2ab20ac71fb5a 100644 --- a/client/components/data/query-site-guided-transfer/index.jsx +++ b/client/components/data/query-site-guided-transfer/index.jsx @@ -53,7 +53,7 @@ const mapStateToProps = ( state, ownProps ) => ( { isRequesting: isRequestingGuidedTransferStatus( state, ownProps.siteId ), } ); -const mapDispatchToProps = dispatch => +const mapDispatchToProps = ( dispatch ) => bindActionCreators( { requestGuidedTransferStatus }, dispatch ); export default connect( mapStateToProps, mapDispatchToProps )( QuerySiteGuidedTransfer ); diff --git a/client/components/data/query-site-plans/index.jsx b/client/components/data/query-site-plans/index.jsx index 00c383f80e2d2..e552abd0376ac 100644 --- a/client/components/data/query-site-plans/index.jsx +++ b/client/components/data/query-site-plans/index.jsx @@ -11,7 +11,7 @@ import { useDispatch } from 'react-redux'; import { isRequestingSitePlans } from 'state/sites/plans/selectors'; import { fetchSitePlans } from 'state/sites/plans/actions'; -const request = siteId => ( dispatch, getState ) => { +const request = ( siteId ) => ( dispatch, getState ) => { if ( siteId && ! isRequestingSitePlans( getState(), siteId ) ) { dispatch( fetchSitePlans( siteId ) ); } diff --git a/client/components/data/query-site-products/index.jsx b/client/components/data/query-site-products/index.jsx index 755b6ffd7341b..29d95c8878a9a 100644 --- a/client/components/data/query-site-products/index.jsx +++ b/client/components/data/query-site-products/index.jsx @@ -11,7 +11,7 @@ import { useDispatch } from 'react-redux'; import { isRequestingSiteProducts } from 'state/sites/products/selectors'; import { fetchSiteProducts } from 'state/sites/products/actions'; -const request = siteId => ( dispatch, getState ) => { +const request = ( siteId ) => ( dispatch, getState ) => { if ( siteId && ! isRequestingSiteProducts( getState(), siteId ) ) { dispatch( fetchSiteProducts( siteId ) ); } diff --git a/client/components/data/query-site-purchases/index.jsx b/client/components/data/query-site-purchases/index.jsx index c9a626790d306..36d9dde33808b 100644 --- a/client/components/data/query-site-purchases/index.jsx +++ b/client/components/data/query-site-purchases/index.jsx @@ -43,7 +43,7 @@ QuerySitePurchases.propTypes = { }; export default connect( - state => { + ( state ) => { return { requesting: isFetchingSitePurchases( state ), }; diff --git a/client/components/data/query-sites/index.jsx b/client/components/data/query-sites/index.jsx index 13bdf9adea8f9..1e4d48bc7c957 100644 --- a/client/components/data/query-sites/index.jsx +++ b/client/components/data/query-sites/index.jsx @@ -13,7 +13,7 @@ import { requestSites, requestSite } from 'state/sites/actions'; import { getPreference } from 'state/preferences/selectors'; import getPrimarySiteId from 'state/selectors/get-primary-site-id'; -const getRecentSites = state => getPreference( state, 'recentSites' ); +const getRecentSites = ( state ) => getPreference( state, 'recentSites' ); const requestAll = () => ( dispatch, getState ) => { if ( ! isRequestingSites( getState() ) ) { @@ -31,7 +31,7 @@ function QueryAll() { return null; } -const requestSingle = siteId => ( dispatch, getState ) => { +const requestSingle = ( siteId ) => ( dispatch, getState ) => { if ( siteId && ! isRequestingSite( getState(), siteId ) ) { dispatch( requestSite( siteId ) ); } @@ -49,13 +49,13 @@ function QuerySingle( { siteId } ) { return null; } -const requestPrimaryAndRecent = siteIds => ( dispatch, getState ) => { +const requestPrimaryAndRecent = ( siteIds ) => ( dispatch, getState ) => { const state = getState(); if ( hasAllSitesList( state ) ) { return; } - siteIds.forEach( siteId => dispatch( requestSingle( siteId ) ) ); + siteIds.forEach( ( siteId ) => dispatch( requestSingle( siteId ) ) ); }; function QueryPrimaryAndRecent() { diff --git a/client/components/data/query-stats-recent-post-views/index.jsx b/client/components/data/query-stats-recent-post-views/index.jsx index a7afed2a993bc..bbfa147805cca 100644 --- a/client/components/data/query-stats-recent-post-views/index.jsx +++ b/client/components/data/query-stats-recent-post-views/index.jsx @@ -43,7 +43,7 @@ class QueryRecentPostViews extends Component { // Break post_ids into chunks of 100 because `stats/views/posts` // is limited to 100 post_ids per query. const postIdsChunks = chunk( postIds, 100 ); - postIdsChunks.forEach( postIdsChunk => + postIdsChunks.forEach( ( postIdsChunk ) => this.props.requestRecentPostViews( siteId, postIdsChunk, num, date ) ); } diff --git a/client/components/data/query-stored-cards/index.jsx b/client/components/data/query-stored-cards/index.jsx index 53609e505a827..b1431109c16d6 100644 --- a/client/components/data/query-stored-cards/index.jsx +++ b/client/components/data/query-stored-cards/index.jsx @@ -30,7 +30,7 @@ QueryStoredCards.propTypes = { }; export default connect( - state => { + ( state ) => { return { isRequesting: isFetchingStoredCards( state ), }; diff --git a/client/components/data/query-ticket-support-configuration/index.jsx b/client/components/data/query-ticket-support-configuration/index.jsx index d0398293b5a1b..4530887ae0fc0 100644 --- a/client/components/data/query-ticket-support-configuration/index.jsx +++ b/client/components/data/query-ticket-support-configuration/index.jsx @@ -25,7 +25,7 @@ class QueryTicketSupportConfiguration extends Component { } export default connect( - state => ( { + ( state ) => ( { isRequesting: isRequestingTicketSupportConfiguration( state ), } ), { ticketSupportConfigurationRequest } diff --git a/client/components/data/query-tld-validation-schemas/index.jsx b/client/components/data/query-tld-validation-schemas/index.jsx index f6531ec13a9e6..b9433e9b201b3 100644 --- a/client/components/data/query-tld-validation-schemas/index.jsx +++ b/client/components/data/query-tld-validation-schemas/index.jsx @@ -40,7 +40,7 @@ export class QueryTldValidationSchemas extends Component { } export default connect( - state => ( { + ( state ) => ( { validationSchemas: getValidationSchemas( state ), } ), { requestValidationSchemas } diff --git a/client/components/data/query-user-purchases/index.jsx b/client/components/data/query-user-purchases/index.jsx index 9271acf063526..f5cebdb565d50 100644 --- a/client/components/data/query-user-purchases/index.jsx +++ b/client/components/data/query-user-purchases/index.jsx @@ -49,7 +49,7 @@ QueryUserPurchases.propTypes = { }; export default connect( - state => { + ( state ) => { return { hasLoadedUserPurchasesFromServer: hasLoadedUserPurchasesFromServer( state ), isFetchingUserPurchases: isFetchingUserPurchases( state ), diff --git a/client/components/data/store-connection/index.jsx b/client/components/data/store-connection/index.jsx index 0b47b6825b8fd..bc4ee83323ccf 100644 --- a/client/components/data/store-connection/index.jsx +++ b/client/components/data/store-connection/index.jsx @@ -35,14 +35,14 @@ class StoreConnection extends React.Component { this.removeStoreListeners( this.props.stores ); } - addStoreListeners = stores => { - stores.forEach( function( store ) { + addStoreListeners = ( stores ) => { + stores.forEach( function ( store ) { store.on( 'change', this.handleStoresChanged ); }, this ); }; - removeStoreListeners = stores => { - stores.forEach( function( store ) { + removeStoreListeners = ( stores ) => { + stores.forEach( function ( store ) { store.off( 'change', this.handleStoresChanged ); }, this ); }; @@ -68,7 +68,7 @@ class StoreConnection extends React.Component { return React.createElement( this.props.component, this.state ); } - return React.Children.map( this.props.children, child => { + return React.Children.map( this.props.children, ( child ) => { return React.cloneElement( child, this.state ); } ); } diff --git a/client/components/data/sync-reader-follows/index.js b/client/components/data/sync-reader-follows/index.js index 3499bb4a384ef..3baa599fa1933 100644 --- a/client/components/data/sync-reader-follows/index.js +++ b/client/components/data/sync-reader-follows/index.js @@ -32,7 +32,7 @@ class SyncReaderFollows extends Component { } export default connect( - state => ( { + ( state ) => ( { shouldSync: shouldSyncReaderFollows( state ), } ), { requestFollows } diff --git a/client/components/data/viewers-data/index.jsx b/client/components/data/viewers-data/index.jsx index 20063e5561b08..02752efbd6fd2 100644 --- a/client/components/data/viewers-data/index.jsx +++ b/client/components/data/viewers-data/index.jsx @@ -44,7 +44,7 @@ export default class ViewersData extends Component { ViewersStore.removeListener( 'change', this.refreshViewers ); } - fetchIfEmpty = siteId => { + fetchIfEmpty = ( siteId ) => { siteId = siteId || this.props.siteId; if ( ! siteId ) { return; @@ -55,7 +55,7 @@ export default class ViewersData extends Component { } // defer fetch requests to avoid dispatcher conflicts - const defer = function() { + const defer = function () { const paginationData = ViewersStore.getPaginationData( siteId ); if ( paginationData.fetchingViewers ) { return; @@ -84,7 +84,7 @@ export default class ViewersData extends Component { return false; }; - refreshViewers = siteId => { + refreshViewers = ( siteId ) => { siteId = siteId || this.props.siteId; this.setState( { viewers: ViewersStore.getViewers( siteId ), diff --git a/client/components/date-picker/day.jsx b/client/components/date-picker/day.jsx index 2467cb322fd2e..cb50b8c281037 100644 --- a/client/components/date-picker/day.jsx +++ b/client/components/date-picker/day.jsx @@ -5,11 +5,11 @@ import React from 'react'; import { noop } from 'lodash'; -const handleDayMouseEnter = ( date, modifiers, onMouseEnter = noop ) => event => { +const handleDayMouseEnter = ( date, modifiers, onMouseEnter = noop ) => ( event ) => { onMouseEnter( date, modifiers, event ); }; -const handleDayMouseLeave = ( date, modifiers, onMouseLeave = noop ) => event => { +const handleDayMouseLeave = ( date, modifiers, onMouseLeave = noop ) => ( event ) => { onMouseLeave( date, modifiers, event ); }; diff --git a/client/components/date-picker/event.jsx b/client/components/date-picker/event.jsx index 742bc2540d7e8..03666c4876878 100644 --- a/client/components/date-picker/event.jsx +++ b/client/components/date-picker/event.jsx @@ -11,7 +11,7 @@ import classNames from 'classnames'; */ import SocialLogo from 'components/social-logo'; -const renderIcon = icon => +const renderIcon = ( icon ) => icon && ( diff --git a/client/components/date-picker/index.jsx b/client/components/date-picker/index.jsx index 73b63a1c87dbf..113cbd73f96c0 100644 --- a/client/components/date-picker/index.jsx +++ b/client/components/date-picker/index.jsx @@ -118,27 +118,27 @@ class DatePicker extends PureComponent { const weekdaysMin = moment.weekdaysMin(); const weekdays = moment.weekdays(); const utils = { - formatDay: function( date ) { + formatDay: function ( date ) { return moment( date ).format( 'llll' ); }, - formatMonthTitle: function( date ) { + formatMonthTitle: function ( date ) { return moment( date ).format( 'MMMM YYYY' ); }, - formatWeekdayShort: function( day ) { + formatWeekdayShort: function ( day ) { return get( weekdaysMin, day, ' ' )[ 0 ]; }, - formatWeekdayLong: function( day ) { + formatWeekdayLong: function ( day ) { return weekdays[ day ]; }, - getFirstDayOfWeek: function() { + getFirstDayOfWeek: function () { return firstDayOfWeek; }, - formatMonthShort: function( month ) { + formatMonthShort: function ( month ) { return moment( month.toISOString() ).format( 'MMM' ); }, }; @@ -220,8 +220,8 @@ class DatePicker extends PureComponent { if ( this.props.events && this.props.events.length ) { modifiers.events = map( - filter( this.props.events, event => event.date ), - event => this.getDateInstance( event.date ) + filter( this.props.events, ( event ) => event.date ), + ( event ) => this.getDateInstance( event.date ) ); } diff --git a/client/components/date-picker/nav-bar.jsx b/client/components/date-picker/nav-bar.jsx index 39c0c18fa89dd..16eb5bbae3be2 100644 --- a/client/components/date-picker/nav-bar.jsx +++ b/client/components/date-picker/nav-bar.jsx @@ -7,7 +7,7 @@ import classNames from 'classnames'; import { noop } from 'lodash'; import { translate } from 'i18n-calypso'; -const handleMonthClick = ( onClick = noop ) => event => { +const handleMonthClick = ( onClick = noop ) => ( event ) => { event.preventDefault(); onClick(); }; diff --git a/client/components/date-range/docs/example.jsx b/client/components/date-range/docs/example.jsx index 1a7aa8ea4a223..5bcbecad4c91e 100644 --- a/client/components/date-range/docs/example.jsx +++ b/client/components/date-range/docs/example.jsx @@ -16,7 +16,7 @@ import DateRange from '../index.js'; class DateRangeExample extends Component { withCustomTrigger() { // Note: you must ensure you pass the `ref` prop down to the element - const customTrigger = props => { + const customTrigger = ( props ) => { return ( - { times( numberOfPages, page => ( + { times( numberOfPages, ( page ) => (