@automattic/jetpack-components 1.4.16 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/build/components/action-button/index.d.ts +4 -14
  3. package/build/components/action-button/index.js +2 -2
  4. package/build/components/action-popover/index.js +10 -6
  5. package/build/components/admin-page/index.d.ts +1 -0
  6. package/build/components/admin-page/index.js +26 -6
  7. package/build/components/admin-page/style.module.scss +33 -0
  8. package/build/components/admin-page/types.d.ts +32 -1
  9. package/build/components/alert/index.js +2 -1
  10. package/build/components/automattic-byline-logo/index.js +3 -1
  11. package/build/components/automattic-for-agencies-logo/index.d.ts +1 -1
  12. package/build/components/automattic-icon-logo/index.d.ts +1 -1
  13. package/build/components/automattic-icon-logo/index.js +3 -1
  14. package/build/components/boost-score-bar/index.js +7 -2
  15. package/build/components/boost-score-graph/background.js +13 -1
  16. package/build/components/boost-score-graph/index.js +3 -3
  17. package/build/components/boost-score-graph/tooltip.js +23 -3
  18. package/build/components/boost-score-graph/tooltips-plugin.js +1 -1
  19. package/build/components/boost-score-graph/uplot-line-chart.js +7 -7
  20. package/build/components/button/index.js +5 -3
  21. package/build/components/contextual-upgrade-trigger/index.js +8 -3
  22. package/build/components/copy-to-clipboard/index.js +2 -2
  23. package/build/components/decorative-card/index.js +2 -1
  24. package/build/components/details-viewer/index.js +5 -3
  25. package/build/components/dialog/index.js +7 -5
  26. package/build/components/diff-viewer/index.js +12 -6
  27. package/build/components/donut-meter/index.js +4 -2
  28. package/build/components/dot-pager/index.js +4 -2
  29. package/build/components/global-notices/global-notices.js +1 -1
  30. package/build/components/global-notices/index.js +2 -2
  31. package/build/components/gridicon/index.js +4 -2
  32. package/build/components/icon-tooltip/index.js +5 -3
  33. package/build/components/icons/index.js +12 -4
  34. package/build/components/icons/style.module.scss +4 -0
  35. package/build/components/jetpack-footer/index.js +17 -12
  36. package/build/components/jetpack-logo/index.js +5 -2
  37. package/build/components/jetpack-protect-logo/index.js +5 -2
  38. package/build/components/jetpack-search-logo/index.js +6 -2
  39. package/build/components/jetpack-vaultpress-backup-logo/index.js +7 -2
  40. package/build/components/jetpack-videopress-logo/index.js +5 -2
  41. package/build/components/layout/use-breakpoint-match/index.d.ts +1 -3
  42. package/build/components/loading-placeholder/index.d.ts +1 -1
  43. package/build/components/marked-lines/index.js +5 -3
  44. package/build/components/navigator-modal/footer.js +3 -2
  45. package/build/components/navigator-modal/header.js +4 -2
  46. package/build/components/navigator-modal/index.js +2 -2
  47. package/build/components/navigator-modal/screen.js +5 -3
  48. package/build/components/notice/index.js +2 -1
  49. package/build/components/popover/index.js +3 -1
  50. package/build/components/pricing-card/index.js +9 -3
  51. package/build/components/pricing-table/index.js +18 -10
  52. package/build/components/product-offer/icons-card.js +3 -2
  53. package/build/components/product-offer/index.js +14 -9
  54. package/build/components/product-offer/product-offer-header.js +4 -2
  55. package/build/components/product-price/index.js +15 -7
  56. package/build/components/product-price/price.js +4 -3
  57. package/build/components/record-meter-bar/index.js +20 -5
  58. package/build/components/spinner/index.d.ts +8 -8
  59. package/build/components/split-button/index.js +3 -1
  60. package/build/components/stat-card/index.js +5 -2
  61. package/build/components/status/index.js +4 -2
  62. package/build/components/swipeable/index.d.ts +3 -3
  63. package/build/components/swipeable/index.js +8 -4
  64. package/build/components/terms-of-service/index.js +2 -2
  65. package/build/components/testimonials/index.js +2 -2
  66. package/build/components/testimonials/testimonial.js +11 -1
  67. package/build/components/text/index.js +2 -2
  68. package/build/components/upsell-banner/index.js +7 -2
  69. package/build/components/zendesk-chat/index.js +1 -1
  70. package/build/index.js +66 -66
  71. package/components/admin-page/index.tsx +67 -13
  72. package/components/admin-page/style.module.scss +33 -0
  73. package/components/admin-page/types.ts +39 -1
  74. package/components/icons/style.module.scss +4 -0
  75. package/components/jetpack-footer/index.tsx +1 -1
  76. package/package.json +20 -19
  77. package/tools/copy-scss-to-build.mjs +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,35 @@
2
2
 
3
3
  ### This is a list detailing changes for the Jetpack RNA Components package releases.
4
4
 
5
+ ## [1.6.0] - 2026-03-16
6
+ ### Added
7
+ - Add support for X connection. [#47538]
8
+ - AdminPage: Add breadcrumbs prop passthrough to admin-ui Page component. [#47493]
9
+
10
+ ### Changed
11
+ - Update dependencies. [#47472]
12
+
13
+ ### Fixed
14
+ - Fix AdminPage footer Container causing horizontal scroll on narrow viewports by explicitly setting box-sizing: border-box. [#47570]
15
+
16
+ ## [1.5.0] - 2026-03-09
17
+ ### Added
18
+ - Add AdminHeader component wrapping @wordpress/admin-ui Page for unified admin page headers. [#47313]
19
+
20
+ ### Changed
21
+ - AdminPage: Override admin-ui header position so it's not sticky. [#47313]
22
+ - AdminPage: Remove admin-ui header border via scoped CSS to support unified admin-ui Page layout. [#47313]
23
+ - AdminPage: Remove header border-bottom for a cleaner unified header appearance. [#47313]
24
+ - Remove padding from admin page header subtitle for consistent spacing. [#47417]
25
+ - Replace admin-ui CSS proxy file with direct import, now that webpack-config handles bundling centrally. [#47313]
26
+ - Switch to Native TypeScript compiler based on Go. [#47375]
27
+ - Widen AdminPage subTitle prop type from string to ReactNode. [#47434]
28
+
29
+ ### Fixed
30
+ - AdminPage: Fix aria-label attribute by passing a string value to the Page component. [#47461]
31
+ - Admin page: Fix Hello Dolly banner display and clear floats on Jetpack admin pages. [#47313]
32
+ - Admin Page: Restore border on header component. [#47425]
33
+
5
34
  ## [1.4.16] - 2026-02-26
6
35
  ### Changed
7
36
  - Container: Adjust maximum width to 1040px. [#47308]
@@ -1672,6 +1701,8 @@
1672
1701
  ### Changed
1673
1702
  - Update node version requirement to 14.16.1
1674
1703
 
1704
+ [1.6.0]: https://github.com/Automattic/jetpack-components/compare/1.5.0...1.6.0
1705
+ [1.5.0]: https://github.com/Automattic/jetpack-components/compare/1.4.16...1.5.0
1675
1706
  [1.4.16]: https://github.com/Automattic/jetpack-components/compare/1.4.15...1.4.16
1676
1707
  [1.4.15]: https://github.com/Automattic/jetpack-components/compare/1.4.14...1.4.15
1677
1708
  [1.4.14]: https://github.com/Automattic/jetpack-components/compare/1.4.13...1.4.14
@@ -1,16 +1,6 @@
1
- /**
2
- * The Jetpack Action button.
3
- *
4
- * This component extends the regular `Button` component and adds a `isLoading` prop that will disable and display a spinner, giving the user the feedback that some action is happening. It also provides a generic error message.
5
- *
6
- * It is useful to async actions when the user has to wait the result of a request or process.
7
- *
8
- * @param {object} props - The properties.
9
- * @return {import('react').ReactNode} The `ActionButton` component.
10
- */
11
- declare const ActionButton: {
12
- (props: any): import("react/jsx-runtime").JSX.Element;
13
- propTypes: {
1
+ declare function ActionButton(props: any): import("react/jsx-runtime").JSX.Element;
2
+ declare namespace ActionButton {
3
+ var propTypes: {
14
4
  /** The button label. */
15
5
  label: any;
16
6
  /** The callback to be called on click. */
@@ -32,5 +22,5 @@ declare const ActionButton: {
32
22
  /** Text to display when loading */
33
23
  loadingText: any;
34
24
  };
35
- };
25
+ }
36
26
  export default ActionButton;
@@ -1,9 +1,9 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Spinner } from '@wordpress/components';
3
3
  import { __ } from '@wordpress/i18n';
4
4
  import clsx from 'clsx';
5
5
  import PropTypes from 'prop-types';
6
- import Button from "../button/index.js";
6
+ import Button from '../button/index.js';
7
7
  import styles from './style.module.scss';
8
8
  /**
9
9
  * The Jetpack Action button.
@@ -1,17 +1,17 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
5
  import { Popover } from '@wordpress/components';
6
6
  import { __, sprintf } from '@wordpress/i18n';
7
7
  import { close } from '@wordpress/icons';
8
- import Button from "../button/index.js";
9
- import useBreakpointMatch from "../layout/use-breakpoint-match/index.js";
10
- import Text from "../text/index.js";
8
+ import Button from '../button/index.js';
9
+ import useBreakpointMatch from '../layout/use-breakpoint-match/index.js';
10
+ import Text from '../text/index.js';
11
11
  /**
12
12
  * Internal dependencies
13
13
  */
14
- import ThemeProvider from "../theme-provider/index.js";
14
+ import ThemeProvider from '../theme-provider/index.js';
15
15
  import styles from './styles.module.scss';
16
16
  const ActionPopover = ({ hideCloseButton = false, title, children, step = null, totalSteps = null, buttonContent = null, buttonDisabled = false, buttonHref = null, buttonExternalLink = false, offset = 32, onClose, onClick, ...otherPopoverProps }) => {
17
17
  const [isSm] = useBreakpointMatch('sm');
@@ -33,6 +33,10 @@ const ActionPopover = ({ hideCloseButton = false, title, children, step = null,
33
33
  /* translators: 1 Current step, 2 Total steps */
34
34
  __('%1$d of %2$d', 'jetpack-components'), step, totalSteps);
35
35
  }
36
- return (_jsx(Popover, { ...popoverProps, children: _jsx(ThemeProvider, { children: _jsxs("div", { className: styles.wrapper, children: [_jsxs("div", { className: styles.header, children: [_jsx(Text, { variant: "title-small", className: styles.title, children: title }), !hideCloseButton && (_jsx(_Fragment, { children: _jsx(Button, { size: "small", variant: "tertiary", "aria-label": "close", className: styles['close-button'], icon: close, iconSize: 16, onClick: onClose }) }))] }), children, _jsxs("div", { className: styles.footer, children: [showSteps && (_jsx(Text, { variant: "body", className: styles.steps, children: stepsText })), _jsx(Button, { variant: "primary", className: styles['action-button'], disabled: buttonDisabled, onClick: onClick, isExternalLink: buttonExternalLink, href: buttonHref, children: buttonContent })] })] }) }) }));
36
+ return (_jsx(Popover, { ...popoverProps, children: _jsx(ThemeProvider, { children: _jsxs("div", { className: styles.wrapper, children: [
37
+ _jsxs("div", { className: styles.header, children: [
38
+ _jsx(Text, { variant: "title-small", className: styles.title, children: title }), !hideCloseButton && (_jsx(_Fragment, { children: _jsx(Button, { size: "small", variant: "tertiary", "aria-label": "close", className: styles['close-button'], icon: close, iconSize: 16, onClick: onClose }) }))] }), children, _jsxs("div", { className: styles.footer, children: [showSteps && (_jsx(Text, { variant: "body", className: styles.steps, children: stepsText })), _jsx(Button, { variant: "primary", className: styles['action-button'], disabled: buttonDisabled, onClick: onClick, isExternalLink: buttonExternalLink, href: buttonHref, children: buttonContent })
39
+ ] })
40
+ ] }) }) }));
37
41
  };
38
42
  export default ActionPopover;
@@ -1,3 +1,4 @@
1
+ import '@wordpress/admin-ui/build-style/style.css';
1
2
  import type { AdminPageProps } from './types.ts';
2
3
  import type { FC } from 'react';
3
4
  /**
@@ -1,12 +1,17 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import restApi from '@automattic/jetpack-api';
3
+ import { Page } from '@wordpress/admin-ui';
4
+ import '@wordpress/admin-ui/build-style/style.css';
5
+ import { __experimentalHeading as Heading, // eslint-disable-line @wordpress/no-unsafe-wp-apis
6
+ __experimentalHStack as HStack, // eslint-disable-line @wordpress/no-unsafe-wp-apis
7
+ } from '@wordpress/components';
3
8
  import { __, sprintf } from '@wordpress/i18n';
4
9
  import clsx from 'clsx';
5
10
  import { useEffect, useCallback } from 'react';
6
- import JetpackFooter from "../jetpack-footer/index.js";
7
- import JetpackLogo from "../jetpack-logo/index.js";
8
- import Col from "../layout/col/index.js";
9
- import Container from "../layout/container/index.js";
11
+ import JetpackFooter from '../jetpack-footer/index.js';
12
+ import JetpackLogo from '../jetpack-logo/index.js';
13
+ import Col from '../layout/col/index.js';
14
+ import Container from '../layout/container/index.js';
10
15
  import styles from './style.module.scss';
11
16
  /**
12
17
  * This is the base structure for any admin page. It comes with Header and Footer.
@@ -16,13 +21,14 @@ import styles from './style.module.scss';
16
21
  * @param {AdminPageProps} props - Component properties.
17
22
  * @return {ReactNode} AdminPage component.
18
23
  */
19
- const AdminPage = ({ children, className, moduleName = __('Jetpack', 'jetpack-components'), moduleNameHref, showHeader = true, showFooter = true, useInternalLinks = false, showBackground = true, sandboxedDomain = '', apiRoot = '', apiNonce = '', optionalMenuItems, header, }) => {
24
+ const AdminPage = ({ children, className, moduleName = 'Jetpack' /** "Jetpack" is a product name, do not translate. */, moduleNameHref, showHeader = true, showFooter = true, useInternalLinks = false, showBackground = true, sandboxedDomain = '', apiRoot = '', apiNonce = '', optionalMenuItems, header, title, subTitle, logo, actions, breadcrumbs, tabs, showBottomBorder = true, }) => {
20
25
  useEffect(() => {
21
26
  restApi.setApiRoot(apiRoot);
22
27
  restApi.setApiNonce(apiNonce);
23
28
  }, [apiRoot, apiNonce]);
24
29
  const rootClassName = clsx(styles['admin-page'], className, {
25
30
  [styles.background]: showBackground,
31
+ [styles['without-bottom-border']]: tabs || !showBottomBorder,
26
32
  });
27
33
  const testConnection = useCallback(async () => {
28
34
  try {
@@ -37,8 +43,22 @@ const AdminPage = ({ children, className, moduleName = __('Jetpack', 'jetpack-co
37
43
  __('There was an error testing Jetpack. Error: %s', 'jetpack-components'), error.message));
38
44
  }
39
45
  }, []);
46
+ // Compose the title with logo for the admin-ui Page header.
47
+ // Note: The inner Heading causes a double h2 wrapping because Page's Header
48
+ // also wraps title in a Heading. This is a known issue — the inner Heading is
49
+ // needed until https://github.com/WordPress/gutenberg/pull/75899 fixes
50
+ // non-string title rendering in admin-ui. Once that lands, remove the Heading
51
+ // here and pass the plain HStack with a string child.
52
+ const composedTitle = title ? (_jsxs(HStack, { spacing: 2, justify: "left", children: [logo || _jsx(JetpackLogo, { showText: false, height: 20 }), _jsx(Heading, { as: "h2", level: 3, weight: 500, truncate: true, children: title })
53
+ ] })) : undefined;
54
+ const footer = showFooter && (_jsx(Container, { className: styles['admin-page-footer'], horizontalSpacing: 5, children: _jsx(Col, { children: _jsx(JetpackFooter, { moduleName: moduleName, moduleNameHref: moduleNameHref, menu: optionalMenuItems, useInternalLinks: useInternalLinks }) }) }));
55
+ // When title or breadcrumbs are provided, use admin-ui Page for the full page layout.
56
+ if (showHeader && (composedTitle || breadcrumbs)) {
57
+ return (_jsx("div", { className: rootClassName, children: _jsxs(Page, { ariaLabel: title, breadcrumbs: breadcrumbs, title: composedTitle, subTitle: subTitle, actions: actions, showSidebarToggle: false, children: [tabs, _jsx(Container, { fluid: true, horizontalSpacing: 0, children: _jsx(Col, { children: children }) }), footer] }) }));
58
+ }
59
+ // Legacy path: no title provided, render the classic header.
40
60
  return (_jsxs("div", { className: rootClassName, children: [showHeader && (_jsx(Container, { horizontalSpacing: 5, children: _jsxs(Col, { className: clsx(styles['admin-page-header'], 'jp-admin-page-header'), children: [header ? header : _jsx(JetpackLogo, {}), sandboxedDomain && (_jsx("code", { className: styles['sandbox-domain-badge'], onClick: testConnection, onKeyDown: testConnection,
41
61
  // eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role
42
- role: "button", tabIndex: 0, title: `Sandboxing via ${sandboxedDomain}. Click to test connection.`, children: "API Sandboxed" }))] }) })), _jsx(Container, { fluid: true, horizontalSpacing: 0, children: _jsx(Col, { children: children }) }), showFooter && (_jsx(Container, { horizontalSpacing: 5, children: _jsx(Col, { children: _jsx(JetpackFooter, { moduleName: moduleName, moduleNameHref: moduleNameHref, menu: optionalMenuItems, useInternalLinks: useInternalLinks }) }) }))] }));
62
+ role: "button", tabIndex: 0, title: `Sandboxing via ${sandboxedDomain}. Click to test connection.`, children: "API Sandboxed" }))] }) })), _jsx(Container, { fluid: true, horizontalSpacing: 0, children: _jsx(Col, { children: children }) }), footer] }));
43
63
  };
44
64
  export default AdminPage;
@@ -9,12 +9,39 @@
9
9
  background-color: var(--jp-white);
10
10
  }
11
11
 
12
+ // Remove the admin-ui header border when tabs are present,
13
+ // or when showBottomBorder is false.
14
+ // Ideally admin-ui would expose a prop or CSS custom property for this:
15
+ // https://github.com/WordPress/gutenberg/issues/75428
16
+ &.without-bottom-border :global(.admin-ui-page__header) {
17
+ border-bottom: none;
18
+ }
19
+
20
+ // Disable sticky header until we make it work better across all pages.
21
+ // JETPACK-1386
22
+ :global(.admin-ui-page__header) {
23
+ position: relative;
24
+ }
25
+
26
+ // Normalize admin headers: implementation of admin-ui needs to
27
+ // comprehend old wp-admin floating containers, such as Hello Dolly.
28
+ :global(.admin-ui-page) {
29
+ clear: both;
30
+ }
31
+
12
32
  .admin-page-header {
13
33
  display: flex;
14
34
  align-items: center;
15
35
  gap: 8px;
16
36
  }
17
37
 
38
+ // Ensure footer Container padding is included in its max-width,
39
+ // preventing horizontal scroll when the content area is narrower
40
+ // than the Container's max-width + padding (JETPACK-1424).
41
+ .admin-page-footer {
42
+ box-sizing: border-box;
43
+ }
44
+
18
45
  .sandbox-domain-badge {
19
46
  background: #d63638;
20
47
  text-transform: uppercase;
@@ -26,3 +53,9 @@
26
53
  color: #fff;
27
54
  }
28
55
  }
56
+
57
+ // Make Hello Dolly background white for Jetpack admin pages.
58
+ :global(.jetpack-admin-page #dolly) {
59
+ background-color: #fff;
60
+ }
61
+
@@ -14,9 +14,35 @@ export type AdminPageProps = {
14
14
  */
15
15
  showHeader?: boolean;
16
16
  /**
17
- * Custom header. Optional
17
+ * Custom header. Optional.
18
+ * @deprecated Use `title` and `subTitle` props instead for the unified header.
18
19
  */
19
20
  header?: ReactNode;
21
+ /**
22
+ * Product title displayed in the unified header (e.g. "Social", "Backup").
23
+ * When provided, renders the admin-ui Page header instead of the legacy header slot.
24
+ */
25
+ title?: string;
26
+ /**
27
+ * Optional tagline displayed below the title in the unified header.
28
+ */
29
+ subTitle?: ReactNode;
30
+ /**
31
+ * Custom logo element for the unified header. Defaults to JetpackLogo icon.
32
+ */
33
+ logo?: ReactNode;
34
+ /**
35
+ * Action elements displayed on the right side of the unified header.
36
+ */
37
+ actions?: ReactNode;
38
+ /**
39
+ * Breadcrumb navigation displayed next to the title in the unified header.
40
+ */
41
+ breadcrumbs?: ReactNode;
42
+ /**
43
+ * Tab navigation displayed below the title/tagline in the unified header.
44
+ */
45
+ tabs?: ReactNode;
20
46
  /**
21
47
  * Whether or not to display the Footer
22
48
  */
@@ -57,4 +83,9 @@ export type AdminPageProps = {
57
83
  * Class name to be applied to the root element of the component.
58
84
  */
59
85
  className?: string;
86
+ /**
87
+ * Show bottom border of the header. Defaults to true.
88
+ * Hidden when `tabs` is used.
89
+ */
90
+ showBottomBorder?: boolean;
60
91
  };
@@ -28,6 +28,7 @@ const getIconByLevel = (level) => {
28
28
  */
29
29
  const Alert = ({ level = 'warning', children, showIcon = true, className }) => {
30
30
  const classes = clsx(styles.container, styles[`is-${level}`], className);
31
- return (_jsxs("div", { className: classes, children: [showIcon && (_jsx("div", { className: styles['icon-wrapper'], children: _jsx(Icon, { icon: getIconByLevel(level), className: styles.icon }) })), _jsx("div", { children: children })] }));
31
+ return (_jsxs("div", { className: classes, children: [showIcon && (_jsx("div", { className: styles['icon-wrapper'], children: _jsx(Icon, { icon: getIconByLevel(level), className: styles.icon }) })), _jsx("div", { children: children })
32
+ ] }));
32
33
  };
33
34
  export default Alert;
@@ -8,6 +8,8 @@ import clsx from 'clsx';
8
8
  * @return {ReactNode} AutomatticBylineLogo component.
9
9
  */
10
10
  const AutomatticBylineLogo = ({ title = __('An Automattic Airline', 'jetpack-components'), height = 7, className, ...otherProps }) => {
11
- return (_jsxs("svg", { role: "img", x: "0", y: "0", viewBox: "0 0 935 38.2", enableBackground: "new 0 0 935 38.2", "aria-labelledby": "jp-automattic-byline-logo-title", height: height, className: clsx('jp-automattic-byline-logo', className), ...otherProps, children: [_jsx("desc", { id: "jp-automattic-byline-logo-title", children: title }), _jsx("path", { d: "M317.1 38.2c-12.6 0-20.7-9.1-20.7-18.5v-1.2c0-9.6 8.2-18.5 20.7-18.5 12.6 0 20.8 8.9 20.8 18.5v1.2C337.9 29.1 329.7 38.2 317.1 38.2zM331.2 18.6c0-6.9-5-13-14.1-13s-14 6.1-14 13v0.9c0 6.9 5 13.1 14 13.1s14.1-6.2 14.1-13.1V18.6zM175 36.8l-4.7-8.8h-20.9l-4.5 8.8h-7L157 1.3h5.5L182 36.8H175zM159.7 8.2L152 23.1h15.7L159.7 8.2zM212.4 38.2c-12.7 0-18.7-6.9-18.7-16.2V1.3h6.6v20.9c0 6.6 4.3 10.5 12.5 10.5 8.4 0 11.9-3.9 11.9-10.5V1.3h6.7V22C231.4 30.8 225.8 38.2 212.4 38.2zM268.6 6.8v30h-6.7v-30h-15.5V1.3h37.7v5.5H268.6zM397.3 36.8V8.7l-1.8 3.1 -14.9 25h-3.3l-14.7-25 -1.8-3.1v28.1h-6.5V1.3h9.2l14 24.4 1.7 3 1.7-3 13.9-24.4h9.1v35.5H397.3zM454.4 36.8l-4.7-8.8h-20.9l-4.5 8.8h-7l19.2-35.5h5.5l19.5 35.5H454.4zM439.1 8.2l-7.7 14.9h15.7L439.1 8.2zM488.4 6.8v30h-6.7v-30h-15.5V1.3h37.7v5.5H488.4zM537.3 6.8v30h-6.7v-30h-15.5V1.3h37.7v5.5H537.3zM569.3 36.8V4.6c2.7 0 3.7-1.4 3.7-3.4h2.8v35.5L569.3 36.8 569.3 36.8zM628 11.3c-3.2-2.9-7.9-5.7-14.2-5.7 -9.5 0-14.8 6.5-14.8 13.3v0.7c0 6.7 5.4 13 15.3 13 5.9 0 10.8-2.8 13.9-5.7l4 4.2c-3.9 3.8-10.5 7.1-18.3 7.1 -13.4 0-21.6-8.7-21.6-18.3v-1.2c0-9.6 8.9-18.7 21.9-18.7 7.5 0 14.3 3.1 18 7.1L628 11.3zM321.5 12.4c1.2 0.8 1.5 2.4 0.8 3.6l-6.1 9.4c-0.8 1.2-2.4 1.6-3.6 0.8l0 0c-1.2-0.8-1.5-2.4-0.8-3.6l6.1-9.4C318.7 11.9 320.3 11.6 321.5 12.4L321.5 12.4z" }), _jsx("path", { d: "M37.5 36.7l-4.7-8.9H11.7l-4.6 8.9H0L19.4 0.8H25l19.7 35.9H37.5zM22 7.8l-7.8 15.1h15.9L22 7.8zM82.8 36.7l-23.3-24 -2.3-2.5v26.6h-6.7v-36H57l22.6 24 2.3 2.6V0.8h6.7v35.9H82.8z" }), _jsx("path", { d: "M719.9 37l-4.8-8.9H694l-4.6 8.9h-7.1l19.5-36h5.6l19.8 36H719.9zM704.4 8l-7.8 15.1h15.9L704.4 8zM733 37V1h6.8v36H733zM781 37c-1.8 0-2.6-2.5-2.9-5.8l-0.2-3.7c-0.2-3.6-1.7-5.1-8.4-5.1h-12.8V37H750V1h19.6c10.8 0 15.7 4.3 15.7 9.9 0 3.9-2 7.7-9 9 7 0.5 8.5 3.7 8.6 7.9l0.1 3c0.1 2.5 0.5 4.3 2.2 6.1V37H781zM778.5 11.8c0-2.6-2.1-5.1-7.9-5.1h-13.8v10.8h14.4c5 0 7.3-2.4 7.3-5.2V11.8zM794.8 37V1h6.8v30.4h28.2V37H794.8zM836.7 37V1h6.8v36H836.7zM886.2 37l-23.4-24.1 -2.3-2.5V37h-6.8V1h6.5l22.7 24.1 2.3 2.6V1h6.8v36H886.2zM902.3 37V1H935v5.6h-26v9.2h20v5.5h-20v10.1h26V37H902.3z" })] }));
11
+ return (_jsxs("svg", { role: "img", x: "0", y: "0", viewBox: "0 0 935 38.2", enableBackground: "new 0 0 935 38.2", "aria-labelledby": "jp-automattic-byline-logo-title", height: height, className: clsx('jp-automattic-byline-logo', className), ...otherProps, children: [
12
+ _jsx("desc", { id: "jp-automattic-byline-logo-title", children: title }), _jsx("path", { d: "M317.1 38.2c-12.6 0-20.7-9.1-20.7-18.5v-1.2c0-9.6 8.2-18.5 20.7-18.5 12.6 0 20.8 8.9 20.8 18.5v1.2C337.9 29.1 329.7 38.2 317.1 38.2zM331.2 18.6c0-6.9-5-13-14.1-13s-14 6.1-14 13v0.9c0 6.9 5 13.1 14 13.1s14.1-6.2 14.1-13.1V18.6zM175 36.8l-4.7-8.8h-20.9l-4.5 8.8h-7L157 1.3h5.5L182 36.8H175zM159.7 8.2L152 23.1h15.7L159.7 8.2zM212.4 38.2c-12.7 0-18.7-6.9-18.7-16.2V1.3h6.6v20.9c0 6.6 4.3 10.5 12.5 10.5 8.4 0 11.9-3.9 11.9-10.5V1.3h6.7V22C231.4 30.8 225.8 38.2 212.4 38.2zM268.6 6.8v30h-6.7v-30h-15.5V1.3h37.7v5.5H268.6zM397.3 36.8V8.7l-1.8 3.1 -14.9 25h-3.3l-14.7-25 -1.8-3.1v28.1h-6.5V1.3h9.2l14 24.4 1.7 3 1.7-3 13.9-24.4h9.1v35.5H397.3zM454.4 36.8l-4.7-8.8h-20.9l-4.5 8.8h-7l19.2-35.5h5.5l19.5 35.5H454.4zM439.1 8.2l-7.7 14.9h15.7L439.1 8.2zM488.4 6.8v30h-6.7v-30h-15.5V1.3h37.7v5.5H488.4zM537.3 6.8v30h-6.7v-30h-15.5V1.3h37.7v5.5H537.3zM569.3 36.8V4.6c2.7 0 3.7-1.4 3.7-3.4h2.8v35.5L569.3 36.8 569.3 36.8zM628 11.3c-3.2-2.9-7.9-5.7-14.2-5.7 -9.5 0-14.8 6.5-14.8 13.3v0.7c0 6.7 5.4 13 15.3 13 5.9 0 10.8-2.8 13.9-5.7l4 4.2c-3.9 3.8-10.5 7.1-18.3 7.1 -13.4 0-21.6-8.7-21.6-18.3v-1.2c0-9.6 8.9-18.7 21.9-18.7 7.5 0 14.3 3.1 18 7.1L628 11.3zM321.5 12.4c1.2 0.8 1.5 2.4 0.8 3.6l-6.1 9.4c-0.8 1.2-2.4 1.6-3.6 0.8l0 0c-1.2-0.8-1.5-2.4-0.8-3.6l6.1-9.4C318.7 11.9 320.3 11.6 321.5 12.4L321.5 12.4z" }), _jsx("path", { d: "M37.5 36.7l-4.7-8.9H11.7l-4.6 8.9H0L19.4 0.8H25l19.7 35.9H37.5zM22 7.8l-7.8 15.1h15.9L22 7.8zM82.8 36.7l-23.3-24 -2.3-2.5v26.6h-6.7v-36H57l22.6 24 2.3 2.6V0.8h6.7v35.9H82.8z" }), _jsx("path", { d: "M719.9 37l-4.8-8.9H694l-4.6 8.9h-7.1l19.5-36h5.6l19.8 36H719.9zM704.4 8l-7.8 15.1h15.9L704.4 8zM733 37V1h6.8v36H733zM781 37c-1.8 0-2.6-2.5-2.9-5.8l-0.2-3.7c-0.2-3.6-1.7-5.1-8.4-5.1h-12.8V37H750V1h19.6c10.8 0 15.7 4.3 15.7 9.9 0 3.9-2 7.7-9 9 7 0.5 8.5 3.7 8.6 7.9l0.1 3c0.1 2.5 0.5 4.3 2.2 6.1V37H781zM778.5 11.8c0-2.6-2.1-5.1-7.9-5.1h-13.8v10.8h14.4c5 0 7.3-2.4 7.3-5.2V11.8zM794.8 37V1h6.8v30.4h28.2V37H794.8zM836.7 37V1h6.8v36H836.7zM886.2 37l-23.4-24.1 -2.3-2.5V37h-6.8V1h6.5l22.7 24.1 2.3 2.6V1h6.8v36H886.2zM902.3 37V1H935v5.6h-26v9.2h20v5.5h-20v10.1h26V37H902.3z" })
13
+ ] }));
12
14
  };
13
15
  export default AutomatticBylineLogo;
@@ -6,6 +6,6 @@ import type { ReactElement } from 'react';
6
6
  * @param {string} props.color - Color code for the logo text
7
7
  * @return {ReactElement} Component template
8
8
  */
9
- export default function AutomatticForAgenciesLogo({ color, }: {
9
+ export default function AutomatticForAgenciesLogo({ color }: {
10
10
  color: string;
11
11
  }): ReactElement;
@@ -7,7 +7,7 @@ import type { ReactElement } from 'react';
7
7
  * @param {string} props.outerColor - Color code for the logo's outer
8
8
  * @return {ReactElement} Component template
9
9
  */
10
- export default function AutomatticIconLogo({ innerColor, outerColor, }: {
10
+ export default function AutomatticIconLogo({ innerColor, outerColor }: {
11
11
  innerColor: string;
12
12
  outerColor: string;
13
13
  }): ReactElement;
@@ -9,5 +9,7 @@ import { Path, SVG } from '@wordpress/components';
9
9
  * @return {ReactElement} Component template
10
10
  */
11
11
  export default function AutomatticIconLogo({ innerColor = '#00A3E0', outerColor = '#FFFFFF', }) {
12
- return (_jsxs(SVG, { clipRule: "evenodd", fill: "none", fillRule: "evenodd", height: "43", viewBox: "0 0 47 43", width: "47", xmlns: "http://www.w3.org/2000/svg", children: [_jsx(Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M39.3164 20.9589C39.3164 13.2129 33.656 6.30469 23.4214 6.30469C13.1867 6.30469 7.58624 13.2129 7.58624 20.9589V21.9206C7.58624 29.6677 13.1867 36.6942 23.4214 36.6942C33.656 36.6942 39.3164 29.6677 39.3164 21.9206V20.9589ZM23.4214 43C9.21187 43 0 32.7913 0 22.1604V20.8407C0 10.0285 9.21187 0 23.4214 0C37.6919 0 46.9038 10.0285 46.9038 20.8407V22.1604C46.9038 32.7913 37.6919 43 23.4214 43Z", fill: innerColor }), _jsx(Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M28.4548 14.1897C29.752 15.0401 30.1158 16.8077 29.2739 18.1343L22.712 28.4682C21.8691 29.7959 20.1348 30.1799 18.8397 29.3295C17.5446 28.477 17.1765 26.7137 18.0205 25.386L24.5824 15.0522C25.4253 13.7256 27.1597 13.3404 28.4548 14.1897Z", fill: outerColor })] }));
12
+ return (_jsxs(SVG, { clipRule: "evenodd", fill: "none", fillRule: "evenodd", height: "43", viewBox: "0 0 47 43", width: "47", xmlns: "http://www.w3.org/2000/svg", children: [
13
+ _jsx(Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M39.3164 20.9589C39.3164 13.2129 33.656 6.30469 23.4214 6.30469C13.1867 6.30469 7.58624 13.2129 7.58624 20.9589V21.9206C7.58624 29.6677 13.1867 36.6942 23.4214 36.6942C33.656 36.6942 39.3164 29.6677 39.3164 21.9206V20.9589ZM23.4214 43C9.21187 43 0 32.7913 0 22.1604V20.8407C0 10.0285 9.21187 0 23.4214 0C37.6919 0 46.9038 10.0285 46.9038 20.8407V22.1604C46.9038 32.7913 37.6919 43 23.4214 43Z", fill: innerColor }), _jsx(Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M28.4548 14.1897C29.752 15.0401 30.1158 16.8077 29.2739 18.1343L22.712 28.4682C21.8691 29.7959 20.1348 30.1799 18.8397 29.3295C17.5446 28.477 17.1765 26.7137 18.0205 25.386L24.5824 15.0522C25.4253 13.7256 27.1597 13.3404 28.4548 14.1897Z", fill: outerColor })
14
+ ] }));
13
15
  }
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { __ } from '@wordpress/i18n';
3
3
  import clsx from 'clsx';
4
- import Gridicon from "../gridicon/index.js";
4
+ import Gridicon from '../gridicon/index.js';
5
5
  import './style.scss';
6
6
  export const BoostScoreBar = ({ score, isLoading, showPrevScores, active, prevScore = 0, scoreBarType, noBoostScoreTooltip, }) => {
7
7
  if (!active) {
@@ -30,6 +30,11 @@ export const BoostScoreBar = ({ score, isLoading, showPrevScores, active, prevSc
30
30
  }
31
31
  return 'fill-bad';
32
32
  };
33
- return (_jsxs("div", { className: clsx('jb-score-bar', `jb-score-bar--${scoreBarType}`), children: [_jsxs("div", { className: "jb-score-bar__label", children: [getIcon(), _jsx("div", { children: scoreBarType === 'desktop' ? desktopIconLabel : mobileIconLabel })] }), _jsx("div", { className: "jb-score-bar__bounds", children: _jsxs("div", { className: clsx('jb-score-bar__filler', getFillColor()), style: { width: `${score}%` }, children: [isLoading ? (_jsx("div", { className: "jb-score-bar__loading", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 128 128", children: _jsxs("g", { children: [_jsx("path", { d: "M64 0a7 7 0 11-7 7 7 7 0 017-7zm29.86 12.2a2.8 2.8 0 11-3.83 1.02 2.8 2.8 0 013.83-1.02zm22.16 21.68a3.15 3.15 0 11-4.3-1.15 3.15 3.15 0 014.3 1.15zm.87 60.53a4.2 4.2 0 11-1.57-5.7 4.2 4.2 0 011.54 5.73zm7.8-30.5a3.85 3.85 0 11-3.85-3.85 3.85 3.85 0 013.85 3.84zm-30 53.2a4.55 4.55 0 111.66-6.23 4.55 4.55 0 01-1.67 6.22zM64 125.9a4.9 4.9 0 114.9-4.9 4.9 4.9 0 01-4.9 4.9zm-31.06-8.22a5.25 5.25 0 117.17-1.93 5.25 5.25 0 01-7.14 1.93zM9.9 95.1a5.6 5.6 0 117.65 2.06A5.6 5.6 0 019.9 95.1zM1.18 63.9a5.95 5.95 0 115.95 5.94 5.95 5.95 0 01-5.96-5.94zm8.1-31.6a6.3 6.3 0 112.32 8.6 6.3 6.3 0 01-2.3-8.6zM32.25 8.87a6.65 6.65 0 11-2.44 9.1 6.65 6.65 0 012.46-9.1z" }), _jsx("animateTransform", { attributeName: "transform", type: "rotate", values: "0 64 64;30 64 64;60 64 64;90 64 64;120 64 64;150 64 64;180 64 64;210 64 64;240 64 64;270 64 64;300 64 64;330 64 64", calcMode: "discrete", dur: "1080ms", repeatCount: "indefinite" })] }) }) })) : (_jsx("div", { className: "jb-score-bar__score", children: score })), showPrevScores && !!prevScore && prevScore < score && (_jsxs("div", { className: "jb-score-bar__no_boost_score", style: { left: `min(${prevScoreOffset}%, calc( 100% - var(--clearance-space))` }, children: [prevScore, noBoostScoreTooltip && (_jsx("div", { role: "tooltip", className: "jb-score-bar__no_boost_score_tooltip", children: noBoostScoreTooltip }))] }))] }) })] }));
33
+ return (_jsxs("div", { className: clsx('jb-score-bar', `jb-score-bar--${scoreBarType}`), children: [
34
+ _jsxs("div", { className: "jb-score-bar__label", children: [getIcon(), _jsx("div", { children: scoreBarType === 'desktop' ? desktopIconLabel : mobileIconLabel })
35
+ ] }), _jsx("div", { className: "jb-score-bar__bounds", children: _jsxs("div", { className: clsx('jb-score-bar__filler', getFillColor()), style: { width: `${score}%` }, children: [isLoading ? (_jsx("div", { className: "jb-score-bar__loading", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 128 128", children: _jsxs("g", { children: [
36
+ _jsx("path", { d: "M64 0a7 7 0 11-7 7 7 7 0 017-7zm29.86 12.2a2.8 2.8 0 11-3.83 1.02 2.8 2.8 0 013.83-1.02zm22.16 21.68a3.15 3.15 0 11-4.3-1.15 3.15 3.15 0 014.3 1.15zm.87 60.53a4.2 4.2 0 11-1.57-5.7 4.2 4.2 0 011.54 5.73zm7.8-30.5a3.85 3.85 0 11-3.85-3.85 3.85 3.85 0 013.85 3.84zm-30 53.2a4.55 4.55 0 111.66-6.23 4.55 4.55 0 01-1.67 6.22zM64 125.9a4.9 4.9 0 114.9-4.9 4.9 4.9 0 01-4.9 4.9zm-31.06-8.22a5.25 5.25 0 117.17-1.93 5.25 5.25 0 01-7.14 1.93zM9.9 95.1a5.6 5.6 0 117.65 2.06A5.6 5.6 0 019.9 95.1zM1.18 63.9a5.95 5.95 0 115.95 5.94 5.95 5.95 0 01-5.96-5.94zm8.1-31.6a6.3 6.3 0 112.32 8.6 6.3 6.3 0 01-2.3-8.6zM32.25 8.87a6.65 6.65 0 11-2.44 9.1 6.65 6.65 0 012.46-9.1z" }), _jsx("animateTransform", { attributeName: "transform", type: "rotate", values: "0 64 64;30 64 64;60 64 64;90 64 64;120 64 64;150 64 64;180 64 64;210 64 64;240 64 64;270 64 64;300 64 64;330 64 64", calcMode: "discrete", dur: "1080ms", repeatCount: "indefinite" })
37
+ ] }) }) })) : (_jsx("div", { className: "jb-score-bar__score", children: score })), showPrevScores && !!prevScore && prevScore < score && (_jsxs("div", { className: "jb-score-bar__no_boost_score", style: { left: `min(${prevScoreOffset}%, calc( 100% - var(--clearance-space))` }, children: [prevScore, noBoostScoreTooltip && (_jsx("div", { role: "tooltip", className: "jb-score-bar__no_boost_score_tooltip", children: noBoostScoreTooltip }))] }))] }) })
38
+ ] }));
34
39
  };
35
40
  export default BoostScoreBar;