This commit is contained in:
Paul Sealock 2020-06-10 13:55:06 +12:00 committed by GitHub
parent 987b2bf5eb
commit 134be1c08b
33 changed files with 788 additions and 502 deletions

View File

@ -139,8 +139,9 @@ function buildScssFile( styleFile ) {
.join( ' ' ) + fs.readFileSync( styleFile, 'utf8' ),
} );
const postCSSConfig = require( '../../postcss.config' ).plugins[ 0 ];
const postCSSSync = ( callback ) => {
postcss( require( './post-css-config' ) )
postcss( postCSSConfig )
.process( builtSass.css, {
from: 'src/app.css',
to: 'dest/app.css',

View File

@ -1,22 +0,0 @@
module.exports = [
require( '@wordpress/postcss-themes' )( {
defaults: {
primary: '#0085ba',
secondary: '#11a0d2',
toggle: '#11a0d2',
button: '#0085ba',
outlines: '#007cba',
},
themes: {
'woocommerce-page': {
primary: '#95588a',
secondary: '#95588a',
toggle: '#95588a',
button: '#95588a',
outlines: '#95588a',
},
},
} ),
require( 'autoprefixer' )( { grid: true } ),
require( 'postcss-color-function' ),
];

View File

@ -26,6 +26,10 @@
position: relative;
}
.woocommerce-table__compare.components-button {
padding: 8px;
}
&.has-compare,
&.has-search {
.woocommerce-card__action {

View File

@ -58,6 +58,10 @@
padding: $gap;
margin: $gap-smaller;
&.components-button {
height: auto;
}
.dashicons-arrow-right-alt {
transform: rotate(-45deg);
}

View File

@ -1,7 +1,6 @@
// Set up some local color variables to make the CSS more clear
$outer-border: $core-grey-light-700;
$promo-actions-border: $core-grey-light-500;
$action-color: #3858e9;
.woocommerce-stats-overview {
.woocommerce-card__body {
@ -28,31 +27,7 @@ $action-color: #3858e9;
border-bottom: 1px solid $outer-border;
.components-button {
display: block;
padding: $gap;
width: 33.33%;
margin-bottom: 4px;
&:focus {
outline: none;
box-shadow: none;
}
&.is-active {
border-bottom: 4px solid $action-color;
// Avoid the text "jumping" when border-bottom applied.
margin-bottom: 0;
}
&:first-child {
text-align: left;
padding-right: 0;
}
&:last-child {
text-align: right;
padding-left: 0;
}
}
}
}
@ -76,6 +51,18 @@ $action-color: #3858e9;
.woocommerce-summary__item-container:nth-of-type(even) .woocommerce-summary__item {
border-right: none;
}
.woocommerce-summary__item {
background-color: $studio-white;
&:hover {
background-color: $light-gray-100;
}
&:active {
background-color: $light-gray-200;
}
}
}
article.woocommerce-stats-overview__install-jetpack-promo {
@ -95,22 +82,22 @@ article.woocommerce-stats-overview__install-jetpack-promo {
padding: 8px 16px;
margin: 16px 4px;
height: inherit;
color: $action-color;
color: $theme-color;
cursor: pointer;
line-height: 2;
border-radius: 3px;
&.is-busy {
background-image: linear-gradient(-45deg, lighten($action-color, 40%) 28%, #fff 0, #fff 72%, lighten($action-color, 40%) 0);
background-image: linear-gradient(-45deg, lighten($theme-color, 40%) 28%, #fff 0, #fff 72%, lighten($theme-color, 40%) 0);
cursor: progress;
color: lighten($action-color, 20%);
color: lighten($theme-color, 20%);
}
}
.woocommerce-layout & button.components-button.is-button.is-primary {
margin-left: 24px;
background: transparent;
border: 1px solid $action-color;
border: 1px solid $theme-color;
&:hover,
&:focus {
@ -120,8 +107,8 @@ article.woocommerce-stats-overview__install-jetpack-promo {
}
&.is-busy:not(:disabled) {
background-image: linear-gradient(-45deg, $action-color 28%, darken($action-color, 20%) 0, darken($action-color, 20%) 72%, $action-color 0) !important;
color: $action-color;
background-image: linear-gradient(-45deg, $theme-color 28%, darken($theme-color, 20%) 0, darken($theme-color, 20%) 72%, $theme-color 0) !important;
color: $theme-color;
}
}
}

View File

@ -1,7 +1,7 @@
/**
* External dependencies
*/
import { render, fireEvent, screen } from '@testing-library/react';
import { render, fireEvent, screen, waitFor } from '@testing-library/react';
/**
* Internal dependencies
@ -76,7 +76,7 @@ describe( 'StatsOverview tracking', () => {
} );
describe( 'StatsOverview toggle and persist stat preference', () => {
it( 'should update preferences', () => {
it( 'should update preferences', async () => {
const updateCurrentUserData = jest.fn();
render(
@ -97,14 +97,16 @@ describe( 'StatsOverview toggle and persist stat preference', () => {
} );
fireEvent.click( totalSalesBtn );
expect( updateCurrentUserData ).toHaveBeenCalledWith( {
homepage_stats: {
hiddenStats: [
'revenue/net_revenue',
'products/items_sold',
'revenue/total_sales',
],
},
await waitFor( () => {
expect( updateCurrentUserData ).toHaveBeenCalledWith( {
homepage_stats: {
hiddenStats: [
'revenue/net_revenue',
'products/items_sold',
'revenue/total_sales',
],
},
} );
} );
} );
} );

View File

@ -68,8 +68,6 @@ describe( 'StatsList', () => {
);
// Check that there should be two.
expect( screen.getAllByText( 'Previous Period:' ) ).toHaveLength( 2 );
expect( screen.getAllByText( '0%' ) ).toHaveLength( 2 );
expect( screen.getByText( 'Net Sales' ) ).toBeDefined();
expect( screen.getByText( 'Orders' ) ).toBeDefined();
} );

View File

@ -70,8 +70,8 @@ class StoreAlerts extends Component {
return (
<Button
key={ action.name }
isDefault
isPrimary={ action.primary }
isDefault={ ! action.primary }
href={ action.url || undefined }
onClick={ () => triggerNoteAction( alert.id, action.id ) }
>

View File

@ -13,20 +13,11 @@
padding: 0;
.woocommerce-list__item {
// Ideally, we'd get these from `@wordpress/base-styles`.
// However, currently we are on an old version of `@wordpress/base-styles`,
// and updating that causes compatibility issues with the version of
// `@wordpress/components` that we are using, and updating that introduces
// breaking changes that we would need to address elsewhere in the
// `woocommerce-admin` codebase.
//
// https://github.com/woocommerce/woocommerce-admin/issues/4383
$chevron-color: #1e1e1e; // $dark-gray-primary
$chevron-color: $dark-gray-primary;
$background-color: $white;
$background-color-hover: #f8f9f9; // $light-gray-100
$border-color: #e7e8e9; // $light-gray-tertiary
$foreground-color: theme(button); // $theme-color
$background-color-hover: $light-gray-100;
$border-color: $light-gray-tertiary;
$foreground-color: $theme-color;
$foreground-color-hover: color($foreground-color shade(20%));
background-color: $background-color;

View File

@ -26,6 +26,7 @@ $core-grey-dark-900: #191e23;
$core-form-grey: #7e8993; // WP 5.3 form input border
$gray-text: $core-grey-dark-500;
$gray-text-hover: $core-grey-dark-800;
// Gutenberg
$button-hover: #fafafa;

View File

@ -1,4 +1,10 @@
// Import Gutenberg variables
@import 'node_modules/@wordpress/base-styles/colors';
@import 'node_modules/@wordpress/base-styles/variables';
@import 'node_modules/@wordpress/base-styles/mixins';
@import 'node_modules/@wordpress/base-styles/breakpoints';
@import 'node_modules/@wordpress/base-styles/animations';
@import 'node_modules/@wordpress/base-styles/z-index';
$fallback-gutter: 24px;
$fallback-gutter-large: 40px;
@ -54,6 +60,7 @@ $adminbar-height-mobile: 46px;
// wp-admin colors
$wp-admin-background: #f1f1f1;
$wp-admin-sidebar: #24292d;
$theme-color: #3858e9;
// Muriel
$muriel-box-shadow-1dp: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14),

View File

@ -114,7 +114,7 @@
}
.woocommerce-activity-card__actions {
a.components-button.is-button:not(.is-primary) {
a.components-button:not(.is-primary) {
color: $gray-text;
}
}

View File

@ -37,10 +37,6 @@
color: $studio-pink;
}
a.components-button.is-button {
color: $studio-white;
}
a:hover,
a:active,
a:focus,
@ -54,7 +50,7 @@
box-shadow: 0 0 0 1px $studio-pink, 0 0 2px 1px rgba($studio-pink, 0.8);
}
.components-button.is-button.is-primary {
.components-button.is-primary {
color: $studio-white;
box-shadow: none;
@ -68,40 +64,22 @@
}
}
.components-button {
fill: currentColor;
&:not(:disabled) {
&:hover,
&:active,
&:focus {
fill: currentColor;
}
}
}
.components-button.is-button.is-default:not(.is-primary) {
.components-button:not(.is-primary):not(.woocommerce-chart__type-button) {
color: $gray-text;
fill: currentColor;
border-color: $button-border;
background: $button;
box-shadow: none;
&:not(:disabled) {
&:hover,
&:active,
&:focus {
color: $gray-text;
background: $button-hover;
color: $gray-text-hover;
border-color: $button-hover-border;
}
}
}
.components-button.is-default:disabled:not(.is-primary) {
.components-button:disabled:not(.is-primary) {
color: $button-disabled;
border-color: $button-disabled-border;
background: $button;
&:hover,
&:active,
&:focus {
@ -164,7 +142,7 @@
}
body.woocommerce-page {
.components-button.is-button.is-primary {
.components-button.is-primary {
color: $studio-white;
&:not(:disabled) {
@ -179,7 +157,7 @@ body.woocommerce-page {
.components-snackbar .components-button.is-tertiary {
color: $studio-white;
&:not(:disabled):not([aria-disabled='true']):not(.is-default):hover {
&:not(:disabled):not([aria-disabled='true']):hover {
color: $studio-white;
}
}

View File

@ -8,7 +8,6 @@ allows Woo themed components based on the config found in postcss.config.js
@import 'gutenberg-components/checkbox-control/style.scss';
@import 'gutenberg-components/dashicon/style.scss';
@import 'gutenberg-components/form-toggle/style.scss';
@import 'gutenberg-components/icon-button/style.scss';
@import 'gutenberg-components/notice/style.scss';
@import 'gutenberg-components/select-control/style.scss';
@import 'gutenberg-components/snackbar/style.scss';
@ -23,4 +22,4 @@ allows Woo themed components based on the config found in postcss.config.js
@import 'gutenberg-components/base-control/style.scss';
@import 'gutenberg-components/date-time/style.scss';
@import 'gutenberg-components/drop-zone/style.scss';
@import 'gutenberg-components/form-file-upload/style.scss';
@import 'gutenberg-components/tab-panel/style.scss';

View File

@ -1294,6 +1294,22 @@
"resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
"integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw=="
},
"@emotion/native": {
"version": "10.0.27",
"resolved": "https://registry.npmjs.org/@emotion/native/-/native-10.0.27.tgz",
"integrity": "sha512-3qxR2XFizGfABKKbX9kAYc0PHhKuCEuyxshoq3TaMEbi9asWHdQVChg32ULpblm4XAf9oxaitAU7J9SfdwFxtw==",
"requires": {
"@emotion/primitives-core": "10.0.27"
}
},
"@emotion/primitives-core": {
"version": "10.0.27",
"resolved": "https://registry.npmjs.org/@emotion/primitives-core/-/primitives-core-10.0.27.tgz",
"integrity": "sha512-fRBEDNPSFFOrBJ0OcheuElayrNTNdLF9DzMxtL0sFgsCFvvadlzwJHhJMSwEJuxwARm9GhVLr1p8G8JGkK98lQ==",
"requires": {
"css-to-react-native": "^2.2.1"
}
},
"@emotion/serialize": {
"version": "0.11.16",
"resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz",
@ -3835,9 +3851,9 @@
"dev": true
},
"@sinonjs/commons": {
"version": "1.7.2",
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.7.2.tgz",
"integrity": "sha512-+DUO6pnp3udV/v2VfUWgaY5BIE1IfT7lLfeDzPVeMT1XKkaAp9LgSI9x5RtrFQoZ9Oi0PgXQQHPaoKu7dCjVxw==",
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.0.tgz",
"integrity": "sha512-wEj54PfsZ5jGSwMX68G8ZXFawcSglQSXqCftWX3ec8MDUzQdHgcKvw97awHbY0efQEL5iKUOAmmVtoYgmrSG4Q==",
"dev": true,
"requires": {
"type-detect": "4.0.8"
@ -6344,9 +6360,9 @@
}
},
"@wordpress/base-styles": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-1.4.0.tgz",
"integrity": "sha512-yG2JsLxEpa5zqZc/H6CoB7qb22OJOiG0AQIyhkw8CgvFA0FxiiYIXObAe0yjh2T7EQQbsxq88vxR/cPnupqnEw==",
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-1.8.0.tgz",
"integrity": "sha512-NXcR72DgB61dgcjEmRbbssRlvm5eTuCSOtMvvK7nzkN4J72sLfxXHEONeqzePt92D/60sX+AifmO8DmKN0zzPQ==",
"dev": true
},
"@wordpress/browserslist-config": {
@ -6355,39 +6371,85 @@
"integrity": "sha512-vRgzGoxhcNVChBP30XZlyK4w6r/9ZpO+Fi1dzmButp31lUEb1pT5WBxTIQl3HE0JZ9YTEJ00WWGO5sjGi5MHZA=="
},
"@wordpress/components": {
"version": "8.5.0",
"resolved": "https://registry.npmjs.org/@wordpress/components/-/components-8.5.0.tgz",
"integrity": "sha512-2wBpL7a9udh2yvzIA242Fhu2+srNv4WXFa0jjXJrf99smlVm2BxLMQtlNgfaV4LkYFAAnc0Bkud90NdrOoZ/ig==",
"version": "9.6.0",
"resolved": "https://registry.npmjs.org/@wordpress/components/-/components-9.6.0.tgz",
"integrity": "sha512-moGKwpkwpXvKPfYPQ+q9leDv9eQKaMeeTfy83FmFtLCMWRXANJuNUPYJVS1rtAXuAx+dkxx9a6AYdRpoF7iTNQ==",
"requires": {
"@babel/runtime": "^7.4.4",
"@emotion/core": "10.0.22",
"@emotion/styled": "10.0.23",
"@wordpress/a11y": "^2.5.1",
"@wordpress/compose": "^3.9.0",
"@wordpress/deprecated": "^2.6.1",
"@wordpress/dom": "^2.6.0",
"@wordpress/element": "^2.10.0",
"@wordpress/hooks": "^2.6.0",
"@wordpress/i18n": "^3.7.0",
"@wordpress/is-shallow-equal": "^1.6.1",
"@wordpress/keycodes": "^2.7.0",
"@wordpress/rich-text": "^3.9.0",
"@babel/runtime": "^7.9.2",
"@emotion/core": "^10.0.22",
"@emotion/css": "^10.0.22",
"@emotion/native": "^10.0.22",
"@emotion/styled": "^10.0.23",
"@wordpress/a11y": "^2.9.0",
"@wordpress/compose": "^3.15.0",
"@wordpress/deprecated": "^2.8.0",
"@wordpress/dom": "^2.9.0",
"@wordpress/element": "^2.14.0",
"@wordpress/hooks": "^2.8.0",
"@wordpress/i18n": "^3.12.0",
"@wordpress/icons": "^2.0.0",
"@wordpress/is-shallow-equal": "^2.0.0",
"@wordpress/keycodes": "^2.12.0",
"@wordpress/primitives": "^1.5.0",
"@wordpress/rich-text": "^3.16.0",
"@wordpress/warning": "^1.1.0",
"classnames": "^2.2.5",
"clipboard": "^2.0.1",
"dom-scroll-into-view": "^1.2.1",
"downshift": "^3.3.4",
"downshift": "^4.0.5",
"gradient-parser": "^0.1.5",
"lodash": "^4.17.15",
"memize": "^1.0.5",
"memize": "^1.1.0",
"moment": "^2.22.1",
"mousetrap": "^1.6.2",
"re-resizable": "^6.0.0",
"react-dates": "^17.1.1",
"react-spring": "^8.0.20",
"reakit": "^1.0.0-beta.12",
"reakit": "^1.0.0-rc.2",
"rememo": "^3.0.0",
"tinycolor2": "^1.4.1",
"uuid": "^3.3.2"
"uuid": "^7.0.2"
},
"dependencies": {
"@wordpress/element": {
"version": "2.14.0",
"resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.14.0.tgz",
"integrity": "sha512-msSkGecq2Z8lBoj95D0vxj64lbGx7c7Q8VxsNLA3G813HVybeY5gYeWFokWKfok+tszCwjJI4ZgR4DxRsYNTig==",
"requires": {
"@babel/runtime": "^7.9.2",
"@wordpress/escape-html": "^1.8.0",
"lodash": "^4.17.15",
"react": "^16.9.0",
"react-dom": "^16.9.0"
}
},
"@wordpress/i18n": {
"version": "3.12.0",
"resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-3.12.0.tgz",
"integrity": "sha512-QkdHd2Z2yTFItBnnzzjMW4IXJlofWMivct4BkgwRivrG7kLxE7nd2xMG3+hFkkdYGdzE67u8vmin0gmQ+14yPA==",
"requires": {
"@babel/runtime": "^7.9.2",
"gettext-parser": "^1.3.1",
"lodash": "^4.17.15",
"memize": "^1.1.0",
"sprintf-js": "^1.1.1",
"tannin": "^1.2.0"
}
},
"@wordpress/keycodes": {
"version": "2.12.0",
"resolved": "https://registry.npmjs.org/@wordpress/keycodes/-/keycodes-2.12.0.tgz",
"integrity": "sha512-7fUwfquRLmE4CvJahZTHdNn31heoDcyZ4acgEQR4iKYsKjX6dF1coZjUe693xbf/4r8GmsOg0/uYDImMdDm+1Q==",
"requires": {
"@babel/runtime": "^7.9.2",
"@wordpress/i18n": "^3.12.0",
"lodash": "^4.17.15"
}
},
"uuid": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz",
"integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg=="
}
}
},
"@wordpress/compose": {
@ -6686,11 +6748,11 @@
}
},
"@wordpress/is-shallow-equal": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-1.8.0.tgz",
"integrity": "sha512-OV3qJqP9LhjuOzt85TsyBwv+//CvC8Byf/81D3NmjPKlstLaD/bBCC5nBhH6dKAv4bShYtQ2Hmut+V4dZnOM1A==",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-2.0.0.tgz",
"integrity": "sha512-Xv8b3Jno/3Td6nyj1J+skW96sbyfX7W4sk0TLwN2C2Pz6iQTSTQyGrXmTZWShITt4SOeA8gKpP6kAwSZ4O0HOQ==",
"requires": {
"@babel/runtime": "^7.8.3"
"@babel/runtime": "^7.9.2"
}
},
"@wordpress/jest-console": {
@ -6917,14 +6979,6 @@
"tannin": "^1.2.0"
}
},
"@wordpress/is-shallow-equal": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-2.0.0.tgz",
"integrity": "sha512-Xv8b3Jno/3Td6nyj1J+skW96sbyfX7W4sk0TLwN2C2Pz6iQTSTQyGrXmTZWShITt4SOeA8gKpP6kAwSZ4O0HOQ==",
"requires": {
"@babel/runtime": "^7.9.2"
}
},
"@wordpress/keycodes": {
"version": "2.12.0",
"resolved": "https://registry.npmjs.org/@wordpress/keycodes/-/keycodes-2.12.0.tgz",
@ -9525,6 +9579,11 @@
}
}
},
"camelize": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz",
"integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs="
},
"can-use-dom": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/can-use-dom/-/can-use-dom-0.1.0.tgz",
@ -11630,6 +11689,11 @@
}
}
},
"css-color-keywords": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz",
"integrity": "sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU="
},
"css-color-names": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
@ -11708,6 +11772,16 @@
"integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==",
"dev": true
},
"css-to-react-native": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.3.2.tgz",
"integrity": "sha512-VOFaeZA053BqvvvqIA8c9n0+9vFppVBAHCp6JgFTtTMU3Mzi+XnelJ9XC9ul3BqFzZyQ5N+H0SnwsWT2Ebchxw==",
"requires": {
"camelize": "^1.0.0",
"css-color-keywords": "^1.0.0",
"postcss-value-parser": "^3.3.0"
}
},
"css-tree": {
"version": "1.0.0-alpha.37",
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz",
@ -12864,9 +12938,9 @@
}
},
"downshift": {
"version": "3.4.8",
"resolved": "https://registry.npmjs.org/downshift/-/downshift-3.4.8.tgz",
"integrity": "sha512-dZL3iNL/LbpHNzUQAaVq/eTD1ocnGKKjbAl/848Q0KEp6t81LJbS37w3f93oD6gqqAnjdgM7Use36qZSipHXBw==",
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/downshift/-/downshift-4.1.0.tgz",
"integrity": "sha512-GODZOZC65a8n8YD/S/87hR2t5PJfqZ7+lwEBJsNi/AJnhImfle+CFD/ZPde4l+nB8QNHfn0GbE1W9djEFOj1yQ==",
"requires": {
"@babel/runtime": "^7.4.5",
"compute-scroll-into-view": "^1.0.9",
@ -17894,6 +17968,358 @@
}
}
},
"jest-environment-jsdom-sixteen": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/jest-environment-jsdom-sixteen/-/jest-environment-jsdom-sixteen-1.0.3.tgz",
"integrity": "sha512-CwMqDUUfSl808uGPWXlNA1UFkWFgRmhHvyAjhCmCry6mYq4b/nn80MMN7tglqo5XgrANIs/w+mzINPzbZ4ZZrQ==",
"dev": true,
"requires": {
"@jest/fake-timers": "^25.1.0",
"jest-mock": "^25.1.0",
"jest-util": "^25.1.0",
"jsdom": "^16.2.1"
},
"dependencies": {
"@jest/fake-timers": {
"version": "25.5.0",
"resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz",
"integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==",
"dev": true,
"requires": {
"@jest/types": "^25.5.0",
"jest-message-util": "^25.5.0",
"jest-mock": "^25.5.0",
"jest-util": "^25.5.0",
"lolex": "^5.0.0"
}
},
"acorn": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz",
"integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==",
"dev": true
},
"acorn-globals": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
"integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
"dev": true,
"requires": {
"acorn": "^7.1.1",
"acorn-walk": "^7.1.1"
}
},
"acorn-walk": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz",
"integrity": "sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==",
"dev": true
},
"ansi-styles": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
"integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
"dev": true,
"requires": {
"@types/color-name": "^1.1.1",
"color-convert": "^2.0.1"
}
},
"braces": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"dev": true,
"requires": {
"fill-range": "^7.0.1"
}
},
"chalk": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
"integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"cssom": {
"version": "0.4.4",
"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
"integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
"dev": true
},
"cssstyle": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
"integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
"dev": true,
"requires": {
"cssom": "~0.3.6"
},
"dependencies": {
"cssom": {
"version": "0.3.8",
"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
"integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
"dev": true
}
}
},
"data-urls": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
"integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
"dev": true,
"requires": {
"abab": "^2.0.3",
"whatwg-mimetype": "^2.3.0",
"whatwg-url": "^8.0.0"
}
},
"domexception": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
"integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
"dev": true,
"requires": {
"webidl-conversions": "^5.0.0"
},
"dependencies": {
"webidl-conversions": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
"integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
"dev": true
}
}
},
"fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dev": true,
"requires": {
"to-regex-range": "^5.0.1"
}
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"html-encoding-sniffer": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
"integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
"dev": true,
"requires": {
"whatwg-encoding": "^1.0.5"
}
},
"is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true
},
"jest-message-util": {
"version": "25.5.0",
"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz",
"integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
"@jest/types": "^25.5.0",
"@types/stack-utils": "^1.0.1",
"chalk": "^3.0.0",
"graceful-fs": "^4.2.4",
"micromatch": "^4.0.2",
"slash": "^3.0.0",
"stack-utils": "^1.0.1"
}
},
"jest-mock": {
"version": "25.5.0",
"resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz",
"integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==",
"dev": true,
"requires": {
"@jest/types": "^25.5.0"
}
},
"jest-util": {
"version": "25.5.0",
"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz",
"integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==",
"dev": true,
"requires": {
"@jest/types": "^25.5.0",
"chalk": "^3.0.0",
"graceful-fs": "^4.2.4",
"is-ci": "^2.0.0",
"make-dir": "^3.0.0"
}
},
"jsdom": {
"version": "16.2.2",
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.2.2.tgz",
"integrity": "sha512-pDFQbcYtKBHxRaP55zGXCJWgFHkDAYbKcsXEK/3Icu9nKYZkutUXfLBwbD+09XDutkYSHcgfQLZ0qvpAAm9mvg==",
"dev": true,
"requires": {
"abab": "^2.0.3",
"acorn": "^7.1.1",
"acorn-globals": "^6.0.0",
"cssom": "^0.4.4",
"cssstyle": "^2.2.0",
"data-urls": "^2.0.0",
"decimal.js": "^10.2.0",
"domexception": "^2.0.1",
"escodegen": "^1.14.1",
"html-encoding-sniffer": "^2.0.1",
"is-potential-custom-element-name": "^1.0.0",
"nwsapi": "^2.2.0",
"parse5": "5.1.1",
"request": "^2.88.2",
"request-promise-native": "^1.0.8",
"saxes": "^5.0.0",
"symbol-tree": "^3.2.4",
"tough-cookie": "^3.0.1",
"w3c-hr-time": "^1.0.2",
"w3c-xmlserializer": "^2.0.0",
"webidl-conversions": "^6.0.0",
"whatwg-encoding": "^1.0.5",
"whatwg-mimetype": "^2.3.0",
"whatwg-url": "^8.0.0",
"ws": "^7.2.3",
"xml-name-validator": "^3.0.0"
}
},
"make-dir": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
"integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
"dev": true,
"requires": {
"semver": "^6.0.0"
}
},
"micromatch": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
"integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
"dev": true,
"requires": {
"braces": "^3.0.1",
"picomatch": "^2.0.5"
}
},
"parse5": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
"integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
"dev": true
},
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
},
"slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true
},
"supports-color": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
"integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
"dev": true,
"requires": {
"has-flag": "^4.0.0"
}
},
"to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"requires": {
"is-number": "^7.0.0"
}
},
"tough-cookie": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz",
"integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==",
"dev": true,
"requires": {
"ip-regex": "^2.1.0",
"psl": "^1.1.28",
"punycode": "^2.1.1"
}
},
"tr46": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz",
"integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==",
"dev": true,
"requires": {
"punycode": "^2.1.1"
}
},
"webidl-conversions": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
"integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
"dev": true
},
"whatwg-url": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.1.0.tgz",
"integrity": "sha512-vEIkwNi9Hqt4TV9RdnaBPNt+E2Sgmo3gePebCRgZ1R7g6d23+53zCTnuB0amKI4AXq6VM8jj2DUAa0S1vjJxkw==",
"dev": true,
"requires": {
"lodash.sortby": "^4.7.0",
"tr46": "^2.0.2",
"webidl-conversions": "^5.0.0"
},
"dependencies": {
"webidl-conversions": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
"integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
"dev": true
}
}
},
"ws": {
"version": "7.3.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz",
"integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==",
"dev": true
}
}
},
"jest-environment-node": {
"version": "24.9.0",
"resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz",
@ -23755,7 +24181,7 @@
"dev": true
},
"prettier": {
"version": "1.19.1",
"version": "npm:wp-prettier@1.19.1",
"resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-1.19.1.tgz",
"integrity": "sha512-mqAC2r1NDmRjG+z3KCJ/i61tycKlmADIjxnDhQab+KBxSAGbF/W7/zwB2guy/ypIeKrrftNsIYkNZZQKf3vJcg==",
"dev": true

View File

@ -94,7 +94,7 @@
"dependencies": {
"@fresh-data/framework": "0.6.1",
"@wordpress/api-fetch": "2.2.8",
"@wordpress/components": "8.5.0",
"@wordpress/components": "9.6.0",
"@wordpress/data": "4.16.1",
"@wordpress/data-controls": "1.10.1",
"@wordpress/date": "3.9.0",
@ -160,7 +160,7 @@
"@wordpress/babel-plugin-import-jsx-pragma": "1.1.3",
"@wordpress/babel-plugin-makepot": "2.1.3",
"@wordpress/babel-preset-default": "3.0.2",
"@wordpress/base-styles": "1.4.0",
"@wordpress/base-styles": "1.8.0",
"@wordpress/browserslist-config": "2.6.0",
"@wordpress/custom-templated-path-webpack-plugin": "1.6.0",
"@wordpress/eslint-plugin": "3.4.1",

View File

@ -383,7 +383,6 @@ class Chart extends Component {
chartType === 'line',
}
) }
icon={ <Gridicon icon="line-graph" /> }
title={ __(
'Line chart',
'woocommerce-admin'

View File

@ -102,16 +102,15 @@
.woocommerce-chart__type-button {
background: transparent !important;
&.components-button {
color: $core-grey-light-700;
display: inline-flex;
padding: 8px;
&.woocommerce-chart__type-button-selected {
color: $core-grey-dark-500;
}
&:hover {
color: $core-grey-dark-800;
box-shadow: none !important;
}
}
}

View File

@ -23,8 +23,8 @@ const CompareButton = ( {
<span className={ className }>
<Button
className="woocommerce-compare-button"
isDefault
disabled={ true }
isSecondary
>
{ children }
</Button>
@ -33,9 +33,9 @@ const CompareButton = ( {
) : (
<Button
className={ classnames( 'woocommerce-compare-button', className ) }
isDefault
onClick={ onClick }
disabled={ disabled }
isSecondary
>
{ children }
</Button>

View File

@ -22,10 +22,14 @@
height: calc(100% - 42px);
.components-tab-panel__tabs {
display: grid;
grid-template-columns: 1fr 1fr;
border-radius: 5px;
margin: 0 1em 1em 1em;
display: flex;
justify-content: space-between;
.components-button {
display: block;
text-align: center;
width: 50%;
}
}
.components-tab-panel__tab-content {
@ -39,36 +43,6 @@
@include set-grid-item-position( 2, 2 );
}
button.woocommerce-filters-date__tab {
outline: none;
border: 1px solid $studio-pink;
padding: $gap-smaller;
margin: 0;
border-radius: 4px 0 0 4px;
color: $studio-pink;
background-color: transparent;
justify-content: center;
&:hover {
background-color: lighten($studio-pink, 50%);
cursor: pointer;
}
&:last-child {
border-radius: 0 4px 4px 0;
}
&.is-active,
&.is-active:focus {
background-color: $studio-pink;
color: $studio-white;
}
&:focus {
box-shadow: inset 0 -1px 0 $button-focus-inner, 0 0 0 2px $button-focus-outer;
}
}
.woocommerce-filters-date__text {
@include font-size( 12 );
font-weight: 100;

View File

@ -8,6 +8,7 @@
border-radius: 4px;
padding: 0 40px 0 0;
width: 100%;
height: auto;
&::after {
content: '';

View File

@ -23,11 +23,12 @@
}
.woocommerce-filters-filter__content-list-item {
border: 1px solid transparent;
border-bottom: 1px solid $core-grey-light-700;
margin: 0;
&:last-child {
border-bottom: none;
border-bottom: 1px solid transparent;
}
&.is-selected {

View File

@ -55,7 +55,7 @@ exports[`SearchListControl should render a search box and list of hierarchical o
>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -64,8 +64,8 @@ exports[`SearchListControl should render a search box and list of hierarchical o
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -93,7 +93,7 @@ exports[`SearchListControl should render a search box and list of hierarchical o
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-1 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-1"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -102,8 +102,8 @@ exports[`SearchListControl should render a search box and list of hierarchical o
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -136,7 +136,7 @@ exports[`SearchListControl should render a search box and list of hierarchical o
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-1 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-1"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -145,8 +145,8 @@ exports[`SearchListControl should render a search box and list of hierarchical o
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -179,7 +179,7 @@ exports[`SearchListControl should render a search box and list of hierarchical o
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-2 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-2"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -188,8 +188,8 @@ exports[`SearchListControl should render a search box and list of hierarchical o
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -222,7 +222,7 @@ exports[`SearchListControl should render a search box and list of hierarchical o
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -231,8 +231,8 @@ exports[`SearchListControl should render a search box and list of hierarchical o
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -260,7 +260,7 @@ exports[`SearchListControl should render a search box and list of hierarchical o
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -269,8 +269,8 @@ exports[`SearchListControl should render a search box and list of hierarchical o
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -356,7 +356,7 @@ exports[`SearchListControl should render a search box and list of options 1`] =
>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -365,8 +365,8 @@ exports[`SearchListControl should render a search box and list of options 1`] =
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -394,7 +394,7 @@ exports[`SearchListControl should render a search box and list of options 1`] =
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -403,8 +403,8 @@ exports[`SearchListControl should render a search box and list of options 1`] =
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -432,7 +432,7 @@ exports[`SearchListControl should render a search box and list of options 1`] =
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -441,8 +441,8 @@ exports[`SearchListControl should render a search box and list of options 1`] =
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -470,7 +470,7 @@ exports[`SearchListControl should render a search box and list of options 1`] =
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -479,8 +479,8 @@ exports[`SearchListControl should render a search box and list of options 1`] =
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -508,7 +508,7 @@ exports[`SearchListControl should render a search box and list of options 1`] =
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -517,8 +517,8 @@ exports[`SearchListControl should render a search box and list of options 1`] =
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -546,7 +546,7 @@ exports[`SearchListControl should render a search box and list of options 1`] =
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -555,8 +555,8 @@ exports[`SearchListControl should render a search box and list of options 1`] =
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -642,7 +642,7 @@ exports[`SearchListControl should render a search box and list of options with a
>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -651,8 +651,8 @@ exports[`SearchListControl should render a search box and list of options with a
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -680,7 +680,7 @@ exports[`SearchListControl should render a search box and list of options with a
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -689,8 +689,8 @@ exports[`SearchListControl should render a search box and list of options with a
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -718,7 +718,7 @@ exports[`SearchListControl should render a search box and list of options with a
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -727,8 +727,8 @@ exports[`SearchListControl should render a search box and list of options with a
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -756,7 +756,7 @@ exports[`SearchListControl should render a search box and list of options with a
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -765,8 +765,8 @@ exports[`SearchListControl should render a search box and list of options with a
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -794,7 +794,7 @@ exports[`SearchListControl should render a search box and list of options with a
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -803,8 +803,8 @@ exports[`SearchListControl should render a search box and list of options with a
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -832,7 +832,7 @@ exports[`SearchListControl should render a search box and list of options with a
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -841,8 +841,8 @@ exports[`SearchListControl should render a search box and list of options with a
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -1010,7 +1010,7 @@ exports[`SearchListControl should render a search box and list of options, with
>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -1019,8 +1019,8 @@ exports[`SearchListControl should render a search box and list of options, with
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -1048,7 +1048,7 @@ exports[`SearchListControl should render a search box and list of options, with
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -1057,8 +1057,8 @@ exports[`SearchListControl should render a search box and list of options, with
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -1086,7 +1086,7 @@ exports[`SearchListControl should render a search box and list of options, with
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -1095,8 +1095,8 @@ exports[`SearchListControl should render a search box and list of options, with
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -1124,7 +1124,7 @@ exports[`SearchListControl should render a search box and list of options, with
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -1133,8 +1133,8 @@ exports[`SearchListControl should render a search box and list of options, with
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -1162,7 +1162,7 @@ exports[`SearchListControl should render a search box and list of options, with
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -1171,8 +1171,8 @@ exports[`SearchListControl should render a search box and list of options, with
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -1200,7 +1200,7 @@ exports[`SearchListControl should render a search box and list of options, with
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -1209,8 +1209,8 @@ exports[`SearchListControl should render a search box and list of options, with
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -1440,7 +1440,7 @@ exports[`SearchListControl should render a search box with a search term, and on
>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -1449,8 +1449,8 @@ exports[`SearchListControl should render a search box with a search term, and on
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -1478,7 +1478,7 @@ exports[`SearchListControl should render a search box with a search term, and on
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -1487,8 +1487,8 @@ exports[`SearchListControl should render a search box with a search term, and on
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -1575,7 +1575,7 @@ exports[`SearchListControl should render a search box with a search term, and on
>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -1584,8 +1584,8 @@ exports[`SearchListControl should render a search box with a search term, and on
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -1613,7 +1613,7 @@ exports[`SearchListControl should render a search box with a search term, and on
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -1622,8 +1622,8 @@ exports[`SearchListControl should render a search box with a search term, and on
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -1696,15 +1696,15 @@ exports[`SearchListControl should render a search box, a list of options, and 1
</span>
<button
aria-describedby="woocommerce-tag__label-0"
aria-label="Remove Clementine"
className="components-button woocommerce-tag__remove"
label="Remove Clementine"
onClick={[Function]}
type="button"
>
<svg
aria-hidden="true"
aria-hidden={true}
className="dashicon dashicons-dismiss"
focusable="false"
focusable={false}
height={20}
role="img"
viewBox="0 0 20 20"
@ -1758,7 +1758,7 @@ exports[`SearchListControl should render a search box, a list of options, and 1
>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -1767,8 +1767,8 @@ exports[`SearchListControl should render a search box, a list of options, and 1
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -1796,7 +1796,7 @@ exports[`SearchListControl should render a search box, a list of options, and 1
</button>
<button
aria-checked={true}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -1805,8 +1805,8 @@ exports[`SearchListControl should render a search box, a list of options, and 1
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -1834,7 +1834,7 @@ exports[`SearchListControl should render a search box, a list of options, and 1
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -1843,8 +1843,8 @@ exports[`SearchListControl should render a search box, a list of options, and 1
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -1872,7 +1872,7 @@ exports[`SearchListControl should render a search box, a list of options, and 1
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -1881,8 +1881,8 @@ exports[`SearchListControl should render a search box, a list of options, and 1
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -1910,7 +1910,7 @@ exports[`SearchListControl should render a search box, a list of options, and 1
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -1919,8 +1919,8 @@ exports[`SearchListControl should render a search box, a list of options, and 1
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -1948,7 +1948,7 @@ exports[`SearchListControl should render a search box, a list of options, and 1
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -1957,8 +1957,8 @@ exports[`SearchListControl should render a search box, a list of options, and 1
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -2031,15 +2031,15 @@ exports[`SearchListControl should render a search box, a list of options, and 2
</span>
<button
aria-describedby="woocommerce-tag__label-1"
aria-label="Remove Clementine"
className="components-button woocommerce-tag__remove"
label="Remove Clementine"
onClick={[Function]}
type="button"
>
<svg
aria-hidden="true"
aria-hidden={true}
className="dashicon dashicons-dismiss"
focusable="false"
focusable={false}
height={20}
role="img"
viewBox="0 0 20 20"
@ -2072,15 +2072,15 @@ exports[`SearchListControl should render a search box, a list of options, and 2
</span>
<button
aria-describedby="woocommerce-tag__label-2"
aria-label="Remove Guava"
className="components-button woocommerce-tag__remove"
label="Remove Guava"
onClick={[Function]}
type="button"
>
<svg
aria-hidden="true"
aria-hidden={true}
className="dashicon dashicons-dismiss"
focusable="false"
focusable={false}
height={20}
role="img"
viewBox="0 0 20 20"
@ -2134,7 +2134,7 @@ exports[`SearchListControl should render a search box, a list of options, and 2
>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -2143,8 +2143,8 @@ exports[`SearchListControl should render a search box, a list of options, and 2
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -2172,7 +2172,7 @@ exports[`SearchListControl should render a search box, a list of options, and 2
</button>
<button
aria-checked={true}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -2181,8 +2181,8 @@ exports[`SearchListControl should render a search box, a list of options, and 2
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -2210,7 +2210,7 @@ exports[`SearchListControl should render a search box, a list of options, and 2
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -2219,8 +2219,8 @@ exports[`SearchListControl should render a search box, a list of options, and 2
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -2248,7 +2248,7 @@ exports[`SearchListControl should render a search box, a list of options, and 2
</button>
<button
aria-checked={true}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -2257,8 +2257,8 @@ exports[`SearchListControl should render a search box, a list of options, and 2
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -2286,7 +2286,7 @@ exports[`SearchListControl should render a search box, a list of options, and 2
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -2295,8 +2295,8 @@ exports[`SearchListControl should render a search box, a list of options, and 2
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"
@ -2324,7 +2324,7 @@ exports[`SearchListControl should render a search box, a list of options, and 2
</button>
<button
aria-checked={false}
className="components-button components-icon-button components-menu-item__button woocommerce-search-list__item depth-0 has-text"
className="components-button components-menu-item__button woocommerce-search-list__item depth-0"
onClick={[Function]}
role="menuitemcheckbox"
type="button"
@ -2333,8 +2333,8 @@ exports[`SearchListControl should render a search box, a list of options, and 2
className="woocommerce-search-list__item-state"
>
<svg
aria-hidden="true"
focusable="false"
aria-hidden={true}
focusable={false}
height="24"
role="img"
viewBox="0 0 24 24"

View File

@ -44,16 +44,16 @@
display: flex;
flex-grow: 1;
justify-content: flex-end;
align-items: center;
.components-base-control {
padding-top: 0;
min-height: 34px;
}
.components-base-control__field {
margin-bottom: 0;
select {
background: transparent;
.components-base-control__field {
margin-bottom: 0;
select {
background: transparent;
}
}
}
}

View File

@ -62,7 +62,7 @@
content: '';
width: 8px;
height: 8px;
background-color: $studio-woocommerce-purple;
background-color: $theme-color;
position: absolute;
top: 50%;
transform: translate(-20px, -50%);

View File

@ -1,13 +1,16 @@
/**
* External dependencies
*/
import { __, sprintf } from '@wordpress/i18n';
import { Button } from '@wordpress/components';
import {
Button,
Tooltip,
__experimentalText as Text,
} from '@wordpress/components';
import { sprintf, __ } from '@wordpress/i18n';
import classnames from 'classnames';
import Gridicon from 'gridicons';
import { isNil, noop } from 'lodash';
import PropTypes from 'prop-types';
/**
* Internal dependencies
*/
@ -44,7 +47,6 @@ const SummaryNumber = ( {
'is-bad-trend': reverseTrend ? delta > 0 : delta < 0,
} );
let icon = delta > 0 ? 'arrow-up' : 'arrow-down';
let screenReaderLabel =
delta > 0
? sprintf(
@ -58,8 +60,6 @@ const SummaryNumber = ( {
prevLabel
);
if ( ! delta ) {
// delta is zero or falsey
icon = 'arrow-right';
screenReaderLabel = sprintf(
__( 'No change from %s', 'woocommerce-admin' ),
prevLabel
@ -91,48 +91,43 @@ const SummaryNumber = ( {
return (
<li className={ liClasses }>
<Container { ...containerProps }>
<span className="woocommerce-summary__item-label">
{ label }
</span>
<div className="woocommerce-summary__item-label">
<Text variant="body.small">{ label }</Text>
</div>
<span className="woocommerce-summary__item-data">
<span className="woocommerce-summary__item-value">
{ ! isNil( value )
? value
: __( 'N/A', 'woocommerce-admin' ) }
</span>
<div
className="woocommerce-summary__item-delta"
role="presentation"
aria-label={ screenReaderLabel }
>
<Gridicon
className="woocommerce-summary__item-delta-icon"
icon={ icon }
size={ 18 }
/>
<span className="woocommerce-summary__item-delta-value">
{ ! isNil( delta )
? sprintf(
__( '%d%%', 'woocommerce-admin' ),
delta
)
<div className="woocommerce-summary__item-data">
<div className="woocommerce-summary__item-value">
<Text variant="title.small">
{ ! isNil( value )
? value
: __( 'N/A', 'woocommerce-admin' ) }
</span>
</Text>
</div>
</span>
<span className="woocommerce-summary__item-prev-label">
{ prevLabel }
</span>
{
' ' /* Add a real space so the line breaks here, and not in the label text. */
}
<span className="woocommerce-summary__item-prev-value">
{ ! isNil( prevValue )
? prevValue
: __( 'N/A', 'woocommerce-admin' ) }
</span>
<Tooltip
text={
! isNil( prevValue )
? `${ prevLabel } ${ prevValue }`
: __( 'N/A', 'woocommerce-admin' )
}
position="top center"
>
<div
className="woocommerce-summary__item-delta"
role="presentation"
aria-label={ screenReaderLabel }
>
<Text variant="caption">
{ ! isNil( delta )
? sprintf(
__( '%d%%', 'woocommerce-admin' ),
delta
)
: __( 'N/A', 'woocommerce-admin' ) }
</Text>
</div>
</Tooltip>
</div>
{ onToggle ? (
<Gridicon
className="woocommerce-summary__toggle"

View File

@ -20,17 +20,13 @@ export const SummaryNumberPlaceholder = ( { className } ) => (
className
) }
>
<span className="woocommerce-summary__item">
<span className="woocommerce-summary__item-label" />
<span className="woocommerce-summary__item-data">
<span className="woocommerce-summary__item-value" />
<div className="woocommerce-summary__item-delta">
<span className="woocommerce-summary__item-delta-value" />
</div>
</span>
<span className="woocommerce-summary__item-prev-label" />
<span className="woocommerce-summary__item-prev-value" />
</span>
<div className="woocommerce-summary__item">
<div className="woocommerce-summary__item-label" />
<div className="woocommerce-summary__item-data">
<div className="woocommerce-summary__item-value" />
<div className="woocommerce-summary__item-delta" />
</div>
</div>
</li>
);

View File

@ -1,36 +1,26 @@
// Set up some local color variables to make the CSS more clear
$outer-border: $core-grey-light-700;
$inner-border: $core-grey-light-500;
$border: $light-gray-tertiary;
// A local mixin to generate the grid template and border logic
@mixin make-cols( $i ) {
grid-template-columns: repeat($i, 1fr);
.woocommerce-summary__item-container:nth-of-type(#{$i}n) .woocommerce-summary__item {
border-right-color: $outer-border;
border-right-color: $border;
}
.woocommerce-summary__item-container:nth-of-type(#{$i}n+1):nth-last-of-type(-n+#{$i}) {
.woocommerce-summary__item,
& ~ .woocommerce-summary__item-container .woocommerce-summary__item {
border-bottom-color: $outer-border;
border-bottom-color: $border;
}
}
}
@mixin wrap-contents() {
.woocommerce-summary__item-value,
.woocommerce-summary__item-delta {
min-width: 100%;
}
.woocommerce-summary__item-prev-label,
.woocommerce-summary__item-prev-value {
display: block;
}
&.is-placeholder {
.woocommerce-summary__item-prev-label {
margin-right: calc(100% - 80px);
@ -43,9 +33,9 @@ $inner-border: $core-grey-light-500;
display: grid;
border-width: 1px 0 0 1px;
border-style: solid;
border-color: $outer-border;
border-color: $border;
background-color: $core-grey-light-300;
box-shadow: inset -1px -1px 0 $outer-border;
box-shadow: inset -1px -1px 0 $border;
@include breakpoint( '<782px' ) {
& {
@ -57,12 +47,12 @@ $inner-border: $core-grey-light-500;
}
.woocommerce-summary__item-container.is-placeholder {
border-top: 1px solid $outer-border;
border-top: 1px solid $border;
}
}
// Specificity
.components-popover.components-popover {
.components-popover:not(.components-tooltip) {
// !important to override element-level styles
position: static !important;
top: auto !important;
@ -102,11 +92,6 @@ $inner-border: $core-grey-light-500;
border: none;
}
.woocommerce-summary__item-data {
display: flex;
flex-wrap: wrap;
}
.woocommerce-summary__item-value,
.woocommerce-summary__item-delta {
flex: 1 0 auto;
@ -115,7 +100,6 @@ $inner-border: $core-grey-light-500;
.woocommerce-summary__item-delta {
flex: 0 1 auto;
display: flex;
flex-wrap: none;
}
&,
@ -176,7 +160,7 @@ $inner-border: $core-grey-light-500;
&.has-9-items,
&.has-10-items {
.woocommerce-summary__item-container:nth-of-type(5n) .woocommerce-summary__item {
border-right-color: $inner-border;
border-right-color: $border;
}
}
}
@ -184,7 +168,7 @@ $inner-border: $core-grey-light-500;
@include breakpoint( '<960px' ) {
.woocommerce-summary__item {
// One-col layout for all items means right border is always "outer"
border-right-color: $outer-border;
border-right-color: $border;
}
}
@ -216,16 +200,16 @@ $inner-border: $core-grey-light-500;
&:not(.is-homepage):last-of-type .woocommerce-summary__item {
// Make sure the last item always uses the outer-border color.
border-bottom-color: $outer-border !important;
border-bottom-color: $border !important;
}
&.is-dropdown-button {
padding: 0;
list-style: none;
border-right: 1px solid $outer-border;
border-right: 1px solid $border;
.components-button {
border-bottom: 1px solid $outer-border;
border-bottom: 1px solid $border;
text-align: left;
display: block;
}
@ -236,6 +220,10 @@ $inner-border: $core-grey-light-500;
}
&.is-placeholder {
.woocommerce-summary__item {
height: 101px;
}
.woocommerce-summary__item-label {
@include placeholder();
display: inline-block;
@ -249,33 +237,22 @@ $inner-border: $core-grey-light-500;
justify-content: space-between;
}
.woocommerce-summary__item-value,
.woocommerce-summary__item-delta-value,
.woocommerce-summary__item-prev-label,
.woocommerce-summary__item-prev-value {
.woocommerce-summary__item-value {
@include placeholder();
display: inline-block;
height: 16px;
min-width: auto;
}
.woocommerce-summary__item-delta {
@include placeholder();
width: 40px;
}
.woocommerce-summary__item-value {
margin-top: 2.2px;
width: 60px;
max-width: 60px;
}
.woocommerce-summary__item-delta-value {
margin-top: 2.2px;
width: 50px;
}
.woocommerce-summary__item-prev-label {
width: 80px;
}
.woocommerce-summary__item-prev-value {
width: 40px;
}
}
}
@ -285,17 +262,26 @@ $inner-border: $core-grey-light-500;
height: 100%;
padding: $spacing;
background-color: $core-grey-light-100;
border-bottom: 1px solid $inner-border;
border-right: 1px solid $inner-border;
border-bottom: 1px solid $border;
border-right: 1px solid $border;
line-height: 1.4em;
text-decoration: none;
color: $theme-color;
&.components-button {
height: auto;
padding: $spacing;
align-items: normal;
}
&:hover {
background-color: $core-grey-light-200;
background-color: $light-gray-100;
color: darken($theme-color, 20%);
}
&:active {
background-color: $core-grey-light-300;
background-color: $light-gray-200;
}
&:focus {
@ -307,7 +293,7 @@ $inner-border: $core-grey-light-500;
&:focus {
// !important to override button styles
box-shadow: inset -1px -1px 0 $core-grey-dark-300, inset 1px 0 0 $core-grey-dark-300, inset 0 4px 0 $studio-woocommerce-purple !important;
box-shadow: inset -1px 1px 0 $core-grey-dark-300, inset 1px 0 0 $core-grey-dark-300, inset 0 -4px 0 $theme-color !important;
}
}
@ -322,34 +308,33 @@ $inner-border: $core-grey-light-500;
}
.woocommerce-summary__item-data {
margin-top: auto;
display: flex;
justify-content: space-between;
}
.woocommerce-summary__item-label {
display: block;
margin-bottom: $gap;
@include font-size( 11 );
text-transform: uppercase;
color: $core-grey-dark-300;
color: $theme-color;
}
.woocommerce-summary__item-value {
margin-bottom: $gap-smallest;
@include font-size( 18 );
font-weight: 500;
color: $core-grey-dark-900;
color: $dark-gray-primary;
}
.woocommerce-summary__item-delta {
margin-bottom: $gap-small;
@include font-size( 18 );
font-weight: 300;
color: $core-grey-dark-500;
padding: 5px;
border-radius: 3px;
height: min-content;
background-color: $light-gray-500;
color: $dark-gray-primary;
}
&.is-selected {
background: $studio-white;
box-shadow: inset 0 4px 0 $studio-woocommerce-purple-60;
box-shadow: inset 0 -4px 0 $theme-color;
.woocommerce-summary__item-value {
font-weight: 600;
@ -361,37 +346,13 @@ $inner-border: $core-grey-light-500;
}
&.is-good-trend .woocommerce-summary__item-delta {
color: $valid-green;
background-color: $alert-green;
color: $white;
}
&.is-bad-trend .woocommerce-summary__item-delta {
color: $error-red;
}
.woocommerce-summary__item-delta-icon {
vertical-align: middle;
margin-right: 3px;
fill: currentColor;
/*!rtl:ignore*/
.rtl &.gridicons-arrow-right {
transform: scaleX(-1);
}
&.gridicons-arrow-up {
transform: rotate(45deg);
}
&.gridicons-arrow-down {
transform: rotate(-45deg);
}
}
.woocommerce-summary__item-prev-label,
.woocommerce-summary__item-prev-value {
@include font-size( 13 );
color: $core-grey-dark-500;
display: inline-block;
background-color: $alert-red;
color: $white;
}
.woocommerce-summary__toggle {
@ -414,13 +375,7 @@ $inner-border: $core-grey-light-500;
.woocommerce-summary__item-value,
.woocommerce-summary__item-delta {
@include font-size( 13 );
margin-bottom: 0;
}
.woocommerce-summary__item-prev-label,
.woocommerce-summary__item-prev-value {
@include font-size( 11 );
}
}
}

View File

@ -257,7 +257,6 @@ class Table extends Component {
? this.sortBy( key )
: noop
}
isDefault
>
{ sortedBy === key &&
sortDir === ASC ? (

View File

@ -51,7 +51,6 @@ const Tag = ( {
className="woocommerce-tag__text"
id={ labelId }
onClick={ () => setState( () => ( { isVisible: true } ) ) }
isToggled={ isVisible }
>
{ labelTextNode }
</Button>

View File

@ -67,14 +67,14 @@ exports[`Tag <Tag label="foo" remove={ noop } /> should render a tag with a clos
</span>
<button
aria-describedby="woocommerce-tag__label-1"
aria-label="Remove foo"
className="components-button woocommerce-tag__remove"
label="Remove foo"
type="button"
>
<svg
aria-hidden="true"
aria-hidden={true}
className="dashicon dashicons-dismiss"
focusable="false"
focusable={false}
height={20}
role="img"
viewBox="0 0 20 20"

View File

@ -12,9 +12,9 @@ module.exports = {
themes: {
'woocommerce-page': {
primary: '#7f54b3',
secondary: '#c9356e',
secondary: '#3858e9',
toggle: '#674399',
button: '#c9356e',
button: '#3858e9',
outlines: '#c9356e',
},
},

View File

@ -172,12 +172,6 @@ const webpackConfig = {
],
},
prependData:
'@import "node_modules/@wordpress/base-styles/_colors.scss"; ' +
'@import "node_modules/@wordpress/base-styles/_variables.scss"; ' +
'@import "node_modules/@wordpress/base-styles/_mixins.scss"; ' +
'@import "node_modules/@wordpress/base-styles/_breakpoints.scss"; ' +
'@import "node_modules/@wordpress/base-styles/_animations.scss"; ' +
'@import "node_modules/@wordpress/base-styles/_z-index.scss"; ' +
'@import "_colors"; ' +
'@import "_variables"; ' +
'@import "_breakpoints"; ' +
@ -252,9 +246,7 @@ const webpackConfig = {
].filter( Boolean ),
optimization: {
minimize: NODE_ENV !== 'development',
minimizer: [
new TerserPlugin(),
],
minimizer: [ new TerserPlugin() ],
},
};