Commit Graph

92 Commits

Author SHA1 Message Date
Jeff Stieler 8e61f55017 Allow packages to be built in isolation. (https://github.com/woocommerce/woocommerce-admin/pull/7286)
* Use yarn instead of npm.

In prep for workspaces, since we're locked to npm < 7. See: https://github.com/woocommerce/woocommerce-admin/pull/7126#issue-661287749

* Initial workspace creation.

* Add initial tsc build to @woocommerce/number.

* Attempt to build experimental package.

* Try currency package.

* Define all packages as workspaces.

* Use tsconfig common to packages.

* Fix currency package build.

* Build csv-export with tsc.

* Try to build customer-effort-score with tsc.

* Fix JSX pragma.

* Build data package with tsc.

* Build date package with tsc.

* Build experimental package with tsc.

* Try to build explat package with tsc.

* Build navigation package with tsc.

* Build notices package with tsc.

* Build onboarding package with tsc.

* Build components package with tsc.

* Swap in package JS build into main script.

* Fix experimental package build.

* Try per-package css build with components.

* Try to run components package tests in isolation.

Broken on JSX in test files not being transformed.

* Move @woocommerce/wc-admin-settings into a package.

* Try to fix components package tests.

Fails because we aren't setting up the jest/jest-dom globals.

* Move JS test code to reusable (private) package.

* Enable incremental TS builds.

* Use workspaces to run JS tests.

* Use new jest configs for update snapshot scripts.

* Fix style builds.

* Fix package version in components.

* Fix client test debug and watch scripts.

* Update yarn lock.

* Update test-staged behavior.

* Try to fix storybook.

* Fix storybook.

* Update more npm commands to yarn.

* Add changelog.

* Fix lint errors.

* Update packages readme script references.

* Clean up unused gitignore match.

* Fix another npm command.

* Fix JS builds on watch.

* Fix start script.

* Fix start scripts for packages.

* Use tsc to build packages before tests

* yarn -> npm.

# Conflicts:
#	package-lock.json
#	package.json

* Fix linter error.

* Remove workspace definitions.

* Fix missing Fragment import.

* Fix package lock.

* Fix missing reference.

* Only build commonjs module for js-tests helper.

* Remove errant dependency from components.

* Remove noop scripts.

* Fix package JS build before testing.

* Revert noisy formatting changes.

* Fix precommit and test scripts.

* Fix minimum expected recommended extension count.

Japan test case breaks this.

* Revert babel config changes.

* chore(release): publish

 - @woocommerce/components@7.2.0
 - @woocommerce/csv-export@1.4.0
 - @woocommerce/currency@3.2.0
 - @woocommerce/customer-effort-score@1.1.0
 - @woocommerce/data@1.4.0
 - @woocommerce/date@3.1.0
 - @woocommerce/dependency-extraction-webpack-plugin@1.7.0
 - @woocommerce/eslint-plugin@1.3.0
 - @woocommerce/experimental@1.5.0
 - @woocommerce/explat@1.1.0
 - @woocommerce/js-tests@1.1.0
 - @woocommerce/navigation@6.1.0
 - @woocommerce/notices@3.1.0
 - @woocommerce/number@2.2.0
 - @woocommerce/onboarding@1.1.0
 - @woocommerce/tracks@1.1.0
 - @woocommerce/wc-admin-settings@1.1.0

* Add script for running 'start' in a package.

* Remove yarn from gitignore.

* Update package changelogs, prep versions for release.

* Try to fix E2E tests after main merge.

* Some cleanup.

* Add changelog.

Co-authored-by: Paul Sealock <psealock@gmail.com>
2021-07-14 16:38:57 -04:00
Sam Seay 77906db0ff Use sass-migrator to migrate division to math.div (https://github.com/woocommerce/woocommerce-admin/pull/7136) 2021-06-10 17:09:27 +08:00
Jeff Stieler ce02b58b23 Fix styling of chart component header. (https://github.com/woocommerce/woocommerce-admin/pull/7002)
* Fix styling of chart component header.

* Add changelog entries.
2021-05-24 08:44:13 -04:00
Moon 762663cb4e Escape label value 2021-04-02 12:10:44 +13:00
Joel Thiessen 68f06ccde8 Fixing certain screenreaders (NVDA) not recognizing chart data points correctly, and saying "blank" (https://github.com/woocommerce/woocommerce-admin/pull/6227) 2021-02-02 15:27:23 -08:00
Joel Thiessen cd9b2f8715 Adding checkbox role to chart legend component to make it compatible with screen readers (https://github.com/woocommerce/woocommerce-admin/pull/6226) 2021-02-01 13:26:00 -08:00
Darren Ethier 4210b6f0a8 Update @wordpress/eslint-plugin dependency to latest version. (https://github.com/woocommerce/woocommerce-admin/pull/5856)
* update @wordpress/eslint-plugin dependency to latest version

* local prettier config isn’t needed anymore because of fix in upstream package

* add jsdoc config to use typescript format for jsdocs

* update changelog

* update packages and include .prettierrc.js back in for code editor support of prettier

* add docs

* minor prettier fix in test file

* Convert all new eslint rules throwing errors to warnings temporarily to be handled in separate prs

* updated changelog

* fix package-lock.json

* prettier auto-fixes

* add prettier dependency at root

* sigh prettier is being finicky

* version bump

Co-authored-by: Paul Sealock <psealock@gmail.com>
2021-01-26 13:24:28 +13:00
Joshua T Flowers ab9038d329 Update table component to use wp card (https://github.com/woocommerce/woocommerce-admin/pull/5904)
* Use wp card in table components

* Migrate report styles to report stylesheet

* Fix table scroll shadow

* Fix pagination styling

* Handle PR feedback

* Move search and action styles to table

* Add margin between table actions

* Remove vertical dividers

* Update chart table border colors (https://github.com/woocommerce/woocommerce-admin/pull/5932)
2021-01-04 15:56:57 -05:00
Sam Seay be47d9d795 Only import the Gridicons we need, to reduce package size. (https://github.com/woocommerce/woocommerce-admin/pull/5668) 2020-11-19 09:52:24 +13:00
Jeff Stieler 7ca9e691d4 Migrate Enzyme tests to React Testing Library (https://github.com/woocommerce/woocommerce-admin/pull/5299)
* Migrate leaderboard tests to RTL.

* Remove test of default prop value.

* Migrate ReportSummary tests to RTL.

* Migrate ActivityCard tests to RTL.

* Migrate ActivityCardPlaceholder tests to RTL.

* Migrate remaining ProductType tests to RTL.

* Migrate Card tests to RTL.

* Update RTL and user event packages.

* Migrate Date tests to RTL.

* Migrate D3Legend tests to RTL.

* Migrate D3Base tests to RTL.

* Migrate Gravatar tests to RTL.

* Migrate ImageUpload tests to RTL.

* Migrate ProductImage tests to RTL.

* Migrate Rating tests to RTL.

* Migrate Search tests to RTL.

* Migrate Plugins tests to RTL.

* Migrate SelectControl tests to RTL.

* Migrate Timeline tests to RTL.

Remove tests that inspect DOM since there are snapshots.

* Migrate DismissModal tests to RTL.

* Migrate SetupNotice tests to RTL.

* Migrate WelcomeCard tests to RTL.

* Fix setup error reason retrieval in ShippingBanner.

* Migrate ShippingBanner tests to RTL.

* Migrate RecommendedExtensions tests to RTL.

* Migrate KnowledgeBase tests to RTL.

* Rename enzyme setup file, modify to setup RTL.

* No need to import jest-dom in test files.

* Remove enzyme dependency.

* Use snapshot for testing Leaderboard markup.

* Switch from "not to be empty" to "be in the document".

* No need to waitFor() recordEvent mock.

* Be specific about clicking the "hide" button.

* Use toBeVisible() instead of checking style property.
2020-10-15 08:41:39 -04:00
Paul Sealock c145783e0a Fix dependency declarations (https://github.com/woocommerce/woocommerce-admin/pull/4972)
* renmove WC comment block

* client routes

* more fixes

* moar search

* getting there

* by hand now

* david beating goliath

* mission accomplished

* client filepath

* save

* got it

* remove script

* fixes

* deal with package internal dep

* remove webpack alias

* fix webpack relative paths

* remove commented rule

* remove extra line

* remove unused modules entry
2020-08-13 14:05:22 +12:00
Darren Ethier dc5304823b Add @woocommerce/eslint-plugin (https://github.com/woocommerce/woocommerce-admin/pull/4714)
* add new woocommerce/eslint-plugin

* implement eslint-plugin (switch scripts to use wp-scripts etc)

* various linting fixes

* more lint fixes

* improve fix script

* more eslint fixes

* more eslint fixes

* temporary convert rules to warnings until they are all handled

* linting fixes

* update package-lock.json

* remove duplicates

* remove unnecessary `@wordpress/dependency-group` rule config

* add docs and adjust rules

* prettier fix

* fix merge artifact

* convert more rules to warnings

* change order to reflect importance

* install babel-preset-default

* remove unnecessary configuration for babel

* fix dependency group rule and test

* fix test

* handle collapsible whitespace

* add react testing library eslint plugin

* linter errors

* Add back in prettierrc

* package-lock update

* js lint fix with --fix

* disable whitespace in translation

* package-lock update

* make eslint actual dependency, not peer dependency

* pin eslint to v7

* I don't know why, but its working

* fix lint js

Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-07-28 14:32:58 +12:00
Sam Seay b448ff60b7 Update @wordpress/base-styles and replace deprecated variables (https://github.com/woocommerce/woocommerce-admin/pull/4759)
Fixes woocommerce/woocommerce-admin#4732

This updates `@wordpress/base-styles`, and because `@wordpress/components` depends on variables from it, that must be updated as well.

There are 3 major changes required as part of updating:

1. The $theme-color variable is no longer exposed by base-styles. Instead there are 3 css vars exposed. These are made available by use of a provided mixin. Situations where $theme-color was darkened using scss have been mapped as best as possible to the 2 other darkened shades of the css var that are available such as `--wp-admin-theme-color-darker-20` and `--wp-admin-theme-color-darker-10`. In some cases this means the colors are not exactly the same as before.

2. The post css `theme()` call is no longer available. All uses of this have been consolidated to use of the main theme css var `--wp-admin-theme-color`. This means that calls like `theme(secondary)` or `theme(outline)` etc have all been consolidated to the one color.

3. Many of the variables used for different shades of gray have been deprecated. These have been mapped across to the new gray variables. (Mapped according to the list described in woocommerce/woocommerce-admin#4732)
2020-07-17 12:11:42 +12:00
Paul Sealock 134be1c08b Update/@wordpress components base styles (https://github.com/woocommerce/woocommerce-admin/pull/4427) 2020-06-10 13:55:06 +12:00
Paul Sealock 16cb332f28 IconButton: Replace with Button (https://github.com/woocommerce/woocommerce-admin/pull/4415) 2020-05-29 14:32:37 +12:00
Matt Sherman 9e9c261365 Add `jest-dom` eslint plugin (https://github.com/woocommerce/woocommerce-admin/pull/4327)
* Disable `jest-dom/prefer-enabled-disabled` rule for d3chart enzyme-based tests.
* Add `jest-dom` eslint plugin.
2020-05-11 10:17:26 -04:00
Matt Sherman b996b69b6f Fix RTL issues with `wc-admin` pages (https://github.com/woocommerce/woocommerce-admin/pull/4051)
* Flip summary item's delta 'right' arrow when RTL
* Prevent chart legend checkbox from flipping in RTL
* Flip store alerts pagination arrows in RTL
2020-04-03 07:26:24 -04:00
Darren Ethier 33c5b41e3f Align WooCommerce javascript code standards/linting/styles with WordPress core. (https://github.com/woocommerce/woocommerce-admin/pull/3674)
* align code styles with the same configuration as Woo-Blocks

* initial pass of reformat-files

* applies manual fixes to various new linting errors surfaced by the configuration change.

* Fix state mutation in image-upload

* remove unused pre-commit-hook.js

* requestAnimationFrame -> window.requestAnimationFrame

* wc-api eslint changes

* eslint fixes on client/lib and client/settings

* client/header eslint changes

* fixes for client/dashboard part 1

* fixes client/dashboard part 2 of 2

* client/analytics part 1

* client/analytics continued

* client/analytics, last batch

* rename __mock__ directory

* pass in useEffect, useState from React component or function

* remove '+' from sprintf string argument

* use ref instead of findDOMNode

* reformat and repaply package.json changes

* install deps before running linter in Travis

* useGetCountryStateAutofill

* counryStateAutofill

* countryStateAutofill

Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-02-14 15:23:21 +13:00
Paul Sealock c0fc8a5be1 Handle custom currency formats (https://github.com/woocommerce/woocommerce-admin/pull/3349)
* add custom currency render

* tooltip

* remove filters

* remove custom component

* revert tooltip changes'

* update package-lock

* revert package-lock

* revert package-lock again
2020-01-14 09:55:54 +13:00
Darren Ethier fee65dd6ac Decouple wcSettings from published packages. (https://github.com/woocommerce/woocommerce-admin/pull/3001)
* refactor wcSettings in components to use new api

* update test snapshot

* refactor wcSettings in other packages

* fix how defaults are set for setting

* decouple siteLocale from ReportsFilters and AdvancedFilters

* Decouple currency settings from packages

AdvancedFilters, ReportFilters, and NumberFilters now receive currency info as props.

* decouple currency settings from `ReportChart`

* decouple `wcAdminAssetsUrl` setting from `EmptyContent`

- also refactors to remove the need for `ImageAsset` component.

* decouple OrderStatus from wcSettings

* decouple wcAdminUrl setting from ProductImage component

- this also implements a SVG for default product image.

* remove export for image-asset that is no longer present

* remove console.log

* update test snapshots for ProductImage
2019-10-11 11:45:45 -04:00
Darren Ethier d728d38219 Refactor: Alternative approach to implementing extendable settings from the server (https://github.com/woocommerce/woocommerce-admin/pull/2917)
* integrate with new asset data registration (php side)

- includes back-compatibility.

* update js configuration and implement settings alias

- this aliases `@woocommerce/wc-admin-settings` to the settings api exposed via blocks (either the blocks plugin or core) and all the settings provided via the server.
- Adds fallback for back-compat if `wc.wcSettings` is not available in the environment (fallsback to `wcSettings`).

* initial pass to update all wcSettings direct usage to the new api

- this is just an initial pass, more can be done in separate pulls.

* missed one spot for adding new filter implementation

* fix incorrect jest config

* Avoid unnecessary assignment and directly return.

* Remove unnecessary defaults

* Fix inline comment text case.

Co-Authored-By: Albert Juhé Lluveras <contact@albertjuhe.com>

* Remove unnecessary inline comment.

* use @todo instead of TODO

Co-Authored-By: Albert Juhé Lluveras <contact@albertjuhe.com>

* fix incorrect reference in webpack config.

* add missing import and slightly delay dependency injection for scripts

* update get-setting and set-setting callbacks

* disable lint rule for console.error on dev doc builds
2019-09-23 17:47:08 -04:00
Jeff Stieler a0efb6967f Fetch component usage documentation from local README.md.
Format documentation like Calypso, include usage section.
2019-09-06 11:52:18 -07:00
Jeff Stieler 3d03faa887 Convert markdown JSX code blocks to actual JS files for component documentation. 2019-09-06 11:37:18 -07:00
Albert Juhé Lluveras 07d3e591eb Fix chart type buttons misalignment (https://github.com/woocommerce/woocommerce-admin/pull/2871) 2019-09-04 19:29:13 +02:00
Justin Shreve e67b556ac9 Update to Color Studio v2.1.0 (https://github.com/woocommerce/woocommerce-admin/pull/2837)
* Update color-studio to v2.1.0

* Handle additional color updates after rebase.
2019-08-29 12:07:56 -04:00
Timmy Crawford 7efefc1495 Chart: Remove z-index from empty message (https://github.com/woocommerce/woocommerce-admin/pull/2646) 2019-07-12 12:53:59 -07:00
Albert Juhé Lluveras 3123c4e047 Fix wrong average numbers in chart legends (https://github.com/woocommerce/woocommerce-admin/pull/2352)
* Fix wrong average numbers in chart legends

* Dashboard Extension example: update legend totals

* Rename 'totals' to 'legendTotals'

* Make sure legendTotals includes key property
2019-06-11 14:31:53 +02:00
Albert Juhé Lluveras 065c1fc660 Show Y grid ticks/lines in charts where all values are lower than 1 (https://github.com/woocommerce/woocommerce-admin/pull/2147)
* Show Y grid ticks/lines in chart where all values are below 1

* Improve how step is calculated for -1 to 1 values

* Add tests

* Handle case when max and min values are 0
2019-05-09 10:20:48 +02:00
Albert Juhé Lluveras c69ce9ed78 Prevent chart type buttons breaking in two lines (https://github.com/woocommerce/woocommerce-admin/pull/2135) 2019-05-01 11:04:17 +02:00
Albert Juhé Lluveras dbf0a8d169 Split D3Chart utils axis file (https://github.com/woocommerce/woocommerce-admin/pull/2000) 2019-04-05 11:01:12 +02:00
Albert Juhé Lluveras 7d8df3ecfc Allow negative values in charts (https://github.com/woocommerce/woocommerce-admin/pull/1979)
* Add support for negative charts

* Always display main axis at 0

* Improve tests

* Make sure positive and negative grid steps are the same

* Code style improvements

* Fix missing lines when all values are 0

* Make sure empty note always appear on top

* Add CHANGELOG entry
2019-04-03 18:19:38 +02:00
Joshua T Flowers 3dc75aff32 Hide chart name on smaller viewports and move interval select (https://github.com/woocommerce/woocommerce-admin/pull/1910)
* Hide table name on smaller viewports and move interval select

* Only hide chart titles adjacent to summaries

* Make interval selector full width when not adjacent to summary numbers
2019-03-26 18:14:32 +08:00
Albert Juhé Lluveras 3a341c355f Fix missing date picker calendar in RTL locales (https://github.com/woocommerce/woocommerce-admin/pull/1810)
* Fix missing date picker calendar in RTL locales

* Create an  function instead of using 'window.isRtl' to detect if it's a RTL locale
2019-03-18 16:28:25 +01:00
Albert Juhé Lluveras 3d0848bcd6 Show chart hover circles in the correct order (https://github.com/woocommerce/woocommerce-admin/pull/1816)
* Show chart hover circles in the correct order

* Fix tests

* Reverse keys inside getDateSpaces
2019-03-18 11:07:54 +01:00
Albert Juhé Lluveras 1eb5d51f9c RTL charts (https://github.com/woocommerce/woocommerce-admin/pull/1794)
* Fix wrong tooltip position on RTL languages Dashboard

* Render chart Y axis on the right for RTL languages
2019-03-14 11:57:43 +01:00
Albert Juhé Lluveras c1b6c3d8ce Load RTL CSS files (https://github.com/woocommerce/woocommerce-admin/pull/1781)
* Load RTL CSS files

* Remove RTL specific CSS rules

* Generate RTL files of app style

* Simplify require route
2019-03-14 11:18:54 +01:00
Jeff Stieler bfe5a75e98 Update text domain. (https://github.com/woocommerce/woocommerce-admin/pull/1795)
* Translation call text domain change from “wc-admin” to “woocommerce-admin”.

* Fix .pot file generation.

* Fix errantly closed array item in /revenue/stats controller.

* Rename plugin zip, main file, and repo name to "woocommerce-admin".
2019-03-13 11:14:02 -06:00
Albert Juhé Lluveras 1bbf79c105 Avoid useless Chart re-renders and clean-up component state (https://github.com/woocommerce/woocommerce-admin/pull/1780)
* Improve Chart rendering performance

* Avoid reassigning yFormat prop in Chart

* Update focused keys on legend toggle

* Use selectionLimit constant instead of a hardcoded value

* Minor improvements
2019-03-13 11:38:43 +01:00
Albert Juhé Lluveras a7e3cf78a0 Show compared keys in chart legends even if their values are 0 (https://github.com/woocommerce/woocommerce-admin/pull/1754)
* Show compared keys in chart legends

* Fix JS error if filters is missing

* Add docs
2019-03-06 21:12:28 +01:00
Jeff Stieler f1fe300953 Add button focus style to report chart interval selection. 2019-03-05 12:10:26 -07:00
Albert Juhé Lluveras 5d3aa58a5d Use IDs instead of labels to identify chart legend items (https://github.com/woocommerce/woocommerce-admin/pull/1730)
* Use instanceId to generate unique ids for chart legend items

* Decouple item key and label in Chart components

* Remove more duplicate IDs in the chart legend

* Use double underscores in element IDs following BEM rules

* Move 'withInstanceId' inside D3Legend component

* Simplify screen reader labels logic

* Add CHANGELOG message

* Use 'primary' and 'secondary' as items keys in time-comparison charts
2019-03-05 19:27:20 +01:00
Albert Juhé Lluveras 584f0f26f0 Update chart colors to match spec (https://github.com/woocommerce/woocommerce-admin/pull/1731)
* Update chart color scale to match woocommerce/woocommerce-admin#375

* Avoid useless calls to 'getColor'
2019-03-05 10:44:29 +01:00
Albert Juhé Lluveras 53bac8700e Screen readers: read date instead of data keys in 'time-comparison' bar charts (https://github.com/woocommerce/woocommerce-admin/pull/1586)
* Screen readers: read date instead of data keys in 'time-comparison' bar charts

* Make previous period labels more verbose

* Revert "Make previous period labels more verbose"

This reverts commit 34d13deaa982425ca2cba76dacfd2c89c96f06c0.

* Improve isSameDay check

* Add date to hour tooltip and improve screen reader label

* Add CHANGELOG message
2019-02-26 11:56:49 +01:00
Albert Juhé Lluveras 1488a55b7c Preserve chart colors when changing visible keys in charts with less keys than 'selectionLimit' (https://github.com/woocommerce/woocommerce-admin/pull/1606)
* Preserve chart colors when changing visible keys in 'time-comparison' charts

* Actually preserve colors in charts that don't have more keys than selectionLimit
2019-02-20 16:53:37 +01:00
Joshua T Flowers 694130d455 Change fixed legend button height to min-height (https://github.com/woocommerce/woocommerce-admin/pull/1602) 2019-02-19 10:29:58 +08:00
Ron Rennick 00b640e2f0 Merge pull request woocommerce/woocommerce-admin#1567 from woocommerce/fix/1450
update chart type query string key to chartType
2019-02-15 12:58:22 -04:00
Ron Rennick 9f911df053 update changelog, coding style per review 2019-02-15 10:37:56 -04:00
Albert Juhé Lluveras fe11ff475f Chart legend: show pointer in all clickable area (https://github.com/woocommerce/woocommerce-admin/pull/1566) 2019-02-15 11:55:04 +01:00
Albert Juhé Lluveras 0cb1aac8b9 Fix logic used to show legend total block (https://github.com/woocommerce/woocommerce-admin/pull/1559) 2019-02-15 11:50:41 +01:00
Tiago Noronha 5d3ce289f9 Merge pull request woocommerce/woocommerce-admin#1563 from woocommerce/fix/1402-legend-transition
Remove margin between chart legends in column direction
2019-02-14 21:23:39 +00:00