Commit Graph

795 Commits

Author SHA1 Message Date
Sam Seay a2c4a6a306 A/B test creating a business features step for free extensions (https://github.com/woocommerce/woocommerce-admin/pull/5786)
This fixes woocommerce/woocommerce-admin#5287 

Major changes:

1. The `<Form>` component (which is a published component) gets a new optional prop (so its backward compatible), called `onChangeCallback`. This is called when any form value changes, allowing the controlling component to act on individual form changes. This was needed to utilise `<Form>` to revalidate and check if the user could access the next tab. This should not impact existing usages of the `<Form>`, but it could be good to test this.

2. Introduces a new flow for choosing business extensions that was specified in woocommerce/woocommerce-admin#5287 issue description. Please check the issue for reviewing the designs. The simplest way to implement this, ended up being keeping the existing flow intact and where necessary copy pasting code from those components into the new flow. This new flow is only shown if your segmentation matches the following: `Stores that selected the US as the country and Other or Food & Drinks as the industry
2021-01-07 11:08:57 +13:00
renovate[bot] e3d38e3d31 Update dependency react-router-dom to v5.2.0 (https://github.com/woocommerce/woocommerce-admin/pull/5949)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-05 13:42:18 +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
Joshua T Flowers f3f6b31a49 Localize regional currency information for use during onboarding setup (https://github.com/woocommerce/woocommerce-admin/pull/5969)
* Provide localeInfo via wcSettings

* Provide currency symbols via wcSettings

* Use localized data to derive currency

* Decode entities and fix spaces after setting currency

* Determine currency by country instead of region

* Handle PR feedback

* Remove country info and symbol fallbacks
2021-01-04 13:04:58 -05:00
Moon cb9a604e94 Fix missing border around the emojis on the CES survey (https://github.com/woocommerce/woocommerce-admin/pull/5972)
* Add outline for the checked input
* Added margin-right 4px to give space between emojis
2020-12-29 16:10:33 -08:00
Joshua T Flowers 0bc842f7c3 Allow default link behavior when cmd or ctrl are used (https://github.com/woocommerce/woocommerce-admin/pull/5966)
* Allow default link behavior when cmd or ctrl are used

* Convert Link to functional component

* Add alt and shift keys
2020-12-29 11:13:20 -05:00
David Levin 36c9454e90 update woocommerce dropdown button (https://github.com/woocommerce/woocommerce-admin/pull/5906)
Co-authored-by: David Levin <davidlevin@Davids-MacBook-Pro-2.local>
2020-12-22 09:14:11 -08:00
Albert Juhé Lluveras 080271fb27 Add SearchListControl isCompact prop (https://github.com/woocommerce/woocommerce-admin/pull/5901)
* Add isCompact prop to SearchListControl

* Add left and right borders to search list

* Remove box-shadow when search list items are focused/active

* Add Changelog notice

* Update snapshots
2020-12-22 15:32:24 +01:00
Joshua T Flowers 2db701b5f3 Add deprecation notice to wc card component (https://github.com/woocommerce/woocommerce-admin/pull/5911)
* Add deprecation notice to wc card component

* Add changelog note
2020-12-21 18:12:05 -05:00
Joshua T Flowers da239f6bb7 Update filters to use wp card component (https://github.com/woocommerce/woocommerce-admin/pull/5903)
* Use cards in advanced filters

* Use wp card for compare filters

* Fix scss lint errors
2020-12-21 14:43:39 -05:00
Paul Sealock 80f641b849 Unbundle wp.components (https://github.com/woocommerce/woocommerce-admin/pull/5753)
* enqueue wp-components

* conditional check of Navigation?

* nav version checks, first pass

* better nav checking

* bump min requirments

* min versions

* Use WP 5.6 instead of 5.6.0

* add wp.date and wp.compose

* Handle missing FlexItem

* enqueue styles

* fix date range mobile dropdown
2020-12-21 14:57:55 +13:00
louwie17 cad707f57c Highlight help panel with tooltip (https://github.com/woocommerce/woocommerce-admin/pull/5826)
* Show highlight help panel popup after user enters uncompleted task more then once

* Updated styling of highlight tooltip

* Removed empty array from the useSelect to prevent unnecessary re-renders

* Updated styling of the highlight tooltip to match wireframe and wrote tests

* Fix close button location

* Add event tracking

* Add changelog

* Make use of user preferences meta data for task visit tracking

* Add support for toggling the show boolean

* Make sure the delay works correctly for highlight tooltip

* Continue tracking tasks visit count, and added onShow callback for tooltip
2020-12-18 09:17:07 -04:00
David Levin 4822afe5fb update section header component styles to match typography in @wordpress/components (https://github.com/woocommerce/woocommerce-admin/pull/5891)
* update card header styles to match typography in @wordpress/components

* revert analytics card headers

Co-authored-by: David Levin <davidlevin@Davids-MacBook-Pro-2.local>
2020-12-17 13:49:03 -08:00
Jeff Stieler e342864b74 Use createHigherOrderComponent(). (https://github.com/woocommerce/woocommerce-admin/pull/5898)
Fixes some "anonymous" components in tree.
2020-12-17 10:03:09 -05:00
Jeff Stieler c8c544f70c Support custom product attributes in advanced filter (https://github.com/woocommerce/woocommerce-admin/pull/5848)
* Add product attributes autocomplete for Search control.

* Support single selection in Search component.

* Fix SelectControl input after selection in single mode.

* Remove label from Search component's inner SelectControl.

Placeholder is the behavior we want to avoid label and selection collision.

* Match Search component selected prop to SelectControl.

It's passed through anyhow.

* Rework attribute filter to use new endpoints for custom terms.

* Hook up custom attribute filter to report queries.

* Fix errant space in filter name.

* Fix SelectControl active status when control is disabled.

* Fix SelectControl "has tags" logic for non-multiple use cases.

* Fix attribute filter screen reader text.

* Update changelogs.

* Move custom attribute test to it's own function.

* Remove SelectControl input disabling.

This was supposed to improve keyboard behavior for non-multiple controls, but it was questionable.

* Fix backspace in attribute term field.
2020-12-17 09:59:01 -05:00
Paul Sealock 8c8efd59fc Dependency Extraction Webpack Plugin: Handle irregular dependency names (https://github.com/woocommerce/woocommerce-admin/pull/5770)
* fix irregular dependency names

* starter pack

* blocks registry

* update docs
2020-12-16 08:22:19 +13:00
louwie17 e2c7937f44 Only show card placeholder for item that is updating, not the whole list (https://github.com/woocommerce/woocommerce-admin/pull/5845)
* Only show card placeholder for item that is updating, not the whole list

* Always merge reviews
2020-12-11 09:56:44 -04:00
Albert Juhé Lluveras e44193cb1d Fix count bubble alignment in SearchListItem with latest @wordpress/components (https://github.com/woocommerce/woocommerce-admin/pull/5809)
* Remove showCount prop from SearchListControlItem

* Add option to show counts in ShowListControl story

* Fix count alignment in SearchListItem with latest Gutenberg

* Add new changelog entry

* Update dated prop description
2020-12-10 11:44:31 +01:00
Ilyas Foo db598dafc4 Add page parameter to getNewPath to override default page wc-admin (https://github.com/woocommerce/woocommerce-admin/pull/5821)
* Add page parameter to getNewPath to override default page wc-admin

* Updated readme.txt
2020-12-04 14:45:16 +08:00
Bec Scott baaac28228 Send store age in weeks to tracks (https://github.com/woocommerce/woocommerce-admin/pull/5817)
Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-12-04 11:12:28 +10:00
Matt Sherman 4801574730 Remove CSS transition from CES modal when comments appear (https://github.com/woocommerce/woocommerce-admin/pull/5796) 2020-12-03 11:03:10 -05:00
Elizabeth Pizzuti 93cca16404 Style updates to tax task (https://github.com/woocommerce/woocommerce-admin/pull/5709)
* style changes to tax task

* Fix undefined variable use.

* Set plugin install dismissal actions as tertiary.

* change back to variable

* add margin to primary

* text-button-styles-homescreen

* Add specificity to the task caption selector.

We need to beat out the styles from Gutenberg.

Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
2020-12-02 09:27:50 -05:00
louwie17 98a55aaeb9 Migrate reviews panel to home screen (https://github.com/woocommerce/woocommerce-admin/pull/5706)
* Create initial reviews panel and displaying it on the home screen

* Update reviews package to support updating and deleting reviews

* Allow custom icons to be defined for rating component

* Add approve, spam, and delete actions to home screen review panel

* Show entire list as updating when items are still in the store

* Update rating to only import the required icons, and allow icons to be passed in instead of strings

* Prune out reviews header panel, as we are not using it anymore

* Showing just a header if collapsible is false for activity panel

* Add tests for reviews panel and accordion changes

* Fix undoing a deleted item by using status - untrash

* Several styling changes to match wireframe as mentioned in PR review

* Moved review rating into the subtitle in relation to new design

* Update clear cache logic for last item

* Remove activity panel unused css

* Use invalideResolution instead of invalidateResolutionForStoreSelector
2020-12-02 09:30:39 -04:00
Jeff Stieler 4ad17adf36 Generate MD5 hashes without bundling all of Node crypto. (https://github.com/woocommerce/woocommerce-admin/pull/5768)
Reduces the build by 1.2MB.
2020-12-01 20:17:02 -05:00
Bec Scott d41a550246 Fix small issues with customer effort score package (https://github.com/woocommerce/woocommerce-admin/pull/5754)
* Add package dependencies and bump version

* don't use lodash's noop

* Use useEffect instead of changing state right in the render :-O

* Add dependencies for ces to Loader.php

* undo add dependencies for ces to Loader.php

* 🎶 found a typo

Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-12-02 08:36:13 +10:00
Jeff Stieler de6d0d2c05 Add Razorpay to payment task for stores in India (https://github.com/woocommerce/woocommerce-admin/pull/5775)
* Display Razorpay for stores in India.

* Add Razorpay setup component.

* Remove composition with HoCs.

Refactor to use useSelect() and useDispatch() instead.

* Tweak useSelect() call.
2020-12-01 17:10:57 -05:00
louwie17 60c3dcbd55 Make sure we don't create a new object everytime a useSelect is called, and we do not generate a new function pointer either (https://github.com/woocommerce/woocommerce-admin/pull/5759) 2020-12-01 08:44:54 -04:00
Jeff Stieler 34810b2791 Cleanup items store actions (https://github.com/woocommerce/woocommerce-admin/pull/5746)
* Don't return an action-like object in action creators.

* Add missing itemType param to setError() calls.

* Add setItem() action (singular).

* Use singular setItem() when updating product stock.

* Split setting items and totals counts into separate actions.

* Refactor totals count resolvers not to use getItems().
2020-11-30 10:12:08 -05:00
Adrian Duffell debc0a0235 Downgrade @wordpress/components to 11.0.0 in Customer Effort Score package (https://github.com/woocommerce/woocommerce-admin/pull/5755)
This aligns the version with the root package.json and fixes an error reported by `lerna bootstrap`.
2020-11-30 14:07:50 +08:00
renovate[bot] b4e309f964 Update dependency debug to v4.3.1 (https://github.com/woocommerce/woocommerce-admin/pull/5735)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-26 13:17:22 +13:00
Jeff Stieler 2a302603c6 Migrate Stock Panel to Homescreen (https://github.com/woocommerce/woocommerce-admin/pull/5729)
* Refactor low stock variable to be the count instead of a boolean.

* Add initial render of the Stock panel on the homescreen.

* Move existing Stock panel to homescreen accordion.

* Ensure int value for low stock product count.

* Update ProductImage styling.

* Update stock activity car styles.

* Only show 5 low stock products.

* Add "undo" action to the stock updated snackbar.

* Fix check for explicit notice dismissal when taking actions.

* Hide now-in-stock products after updating.

By cllearing "edited" flag on successful update.

* Fetch more products after updating stock.

* Fix the number of product placeholders shown.

* Only show products placeholders on the initial fetch.

* Fix placeholder style.

* Fetch low stock count dynamically.

* Let initialOpen prop toggle Accordion panels if they haven't been toggled by the user.

* Refactor item total count state.

Allows for auto-updating item totals whenever identical queries (from a totals perspective) are issued.

* Add last order date to low stock products API response.

* Allow non-date strings in ActivityCard date prop.

* Add last order date to stock panel cards.

* Remove empty stock panel view.

* Add test file for StockPanel.

* Only request necessary fields from products endpoint.

* Add test for products fetch after stock update.

* Fix field name.

* Add test for last order date in low stock products API response.

* Stock panel should be initially closed.

* Skip updating a product if the quantity is unchanged.
2020-11-25 13:51:15 -05:00
Adrian Duffell 99834fca3b Update Customer Effort Score Modal (https://github.com/woocommerce/woocommerce-admin/pull/5515)
* Add Customer Effort Score modal

* Add style for selected emoji

* Update modal layout to match design

* Update colors to use color studio variables

* Refactor SCSS to reduce nesting

* Refactor render logic to reduce nesting

* Add translation to strings

* Add keyboard support to emoji buttons

* Fix button misalignment

* Fix missing white space around button text

* Refactor emoji button layout with flexbox

Flexbox makes more sense to use than a grid since the buttons need only a single row or column layout.

* Refactor merge conflict resolution

Tidies up the diff by
- Using naming convention of “visible” instead of “open”.
- Restoring previous import order.

* Add comments field

* Update initial score value to undefined

* Refactor SASS selectors

* Update sendScore with comments data

* Fix comments field to display on low scores only

* Refactor by extracting modal to own component

* Add input validation

* Add tests

* Fix variable name

* Update Feedback component documentation

* Fix uneven button height

* Restore previous prop names

This ensures naming consistency with the CustomerEffortScore component.

* Update variable name for consistency

* Don't close modal if click outside it

* Rename Feedback component to CustomerFeedbackModal

* Update error message text

* Fix import name

* Fix formatting

* Update test to use mockRecordScoreCallback prop name

* Convert score to int before recording

* Clear error message when score has been selected

* Add transitions when comments field is shown/hidden

* Wrapped comments field UI text for localization

* Increase contrast ratio for focused effort score labels

Co-authored-by: Matt Sherman <matt@jam123.com>
Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-11-25 12:34:54 +10:00
Moon eb7a779e1f Add/5349 trigger ces on filtering analytics (https://github.com/woocommerce/woocommerce-admin/pull/5649)
* Use a store to render CES tracks

* Use the CES store to trigger CES survey when users change date range or single product filters.

* Support onClick event for the Compare button

* Trigger CES survey when a user clicks the Compare button on products, variations, categories, coupon, and taxes pages

* Set default text for onSubmitLabel in js and remove its requirement

* Add addCesSurveyTrackForAnalytics action so that it can be shared in other components in analytics pages -- remove duplicates

* Call addCesSurveyTrack from addCesSurveyTrackForAnalytics to avoid duplicate

* Remove 'tracks' from the method name
2020-11-24 15:18:50 -08:00
renovate[bot] 0718343d11 Update dependency core-js to v3.7.0 (https://github.com/woocommerce/woocommerce-admin/pull/5667)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-25 08:48:14 +13:00
Paul Sealock bbbc945b3e Fix wc-nav dependencies 2020-11-25 08:08:23 +13:00
Matt Sherman ad78576cf4 Record Tracks events when CES notice/snackbar and modal is viewed (https://github.com/woocommerce/woocommerce-admin/pull/5648) 2020-11-18 15:53:52 -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
Fernando 649cb0f6ad Fixed orders panel flickering (https://github.com/woocommerce/woocommerce-admin/pull/5655)
* Fixed orders panel flickering

This commit fixes the orders panel flickering when Gutenberg is activated

* Fixed badge flickering

* Removed unnecessary line

* Fixed items selector

This commit fixes the items selector. The method 'getItemsTotalCount' was returning the 'defaultValue' instead of the 'totalCount' when  its value was 0

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2020-11-18 15:59:46 -03:00
Bec Scott ff923bcb82 Add support for an explicit dismiss button to snackbar, as well as an onDismiss callback (https://github.com/woocommerce/woocommerce-admin/pull/5623)
* Add support for an explicit dismiss button to snackbar, as well as an onDismiss callback

* Fix effect dependencies

* Fix disabling auto-dismiss when explicit dismissing is on, fix cursor styles

* fix noops and dismiss on action

* refactor action click handler

* rename dismiss button class

* increase CES modal placeholder z index

* white. space.

Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-11-18 12:15:42 +10:00
Paul Sealock 947c6a4c32 update package dependencies 2020-11-18 13:33:41 +13:00
Matt Sherman efc5dbb68d Show CES survey after editing an order (https://github.com/woocommerce/woocommerce-admin/pull/5540)
* Add enqueing of CES survey for shop order editing
* Only hook up transition_post_status if on edit page
2020-11-17 17:23:15 -05:00
Paul Sealock 8709dd3682 add dewps request table 2020-11-17 15:57:18 +13:00
Paul Sealock 3ca852ae5b version bump dewp 2020-11-16 15:34:47 +13:00
Bec Scott 0b721d4461 Add icon to snackbar (https://github.com/woocommerce/woocommerce-admin/pull/5563)
* Add an icon to the snackbar displayed for CES

* Change icon from SVG to a unicode emoji pencil

* formatting changes to satisfy CI

* bump ci

* Fix prop types and jsdocs for the customer effort score component

* whitespace >:-(

Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-11-13 10:53:28 +10:00
louwie17 b8efece7cb Alter select control padding to match text-control (https://github.com/woocommerce/woocommerce-admin/pull/5587) 2020-11-12 08:47:11 -04:00
Paul Sealock 4e785e30a7 Package builds: avoid building dependency-extraction-webpack-plugin (https://github.com/woocommerce/woocommerce-admin/pull/5598)
* fix starter pack

* fixes

* revert lock

* fixup package.json
2020-11-12 22:31:18 +13:00
Paul Sealock 4d9b6c80c6 prep Navigation and DEWP package release (https://github.com/woocommerce/woocommerce-admin/pull/5576) 2020-11-10 13:39:19 +13:00
Bec Scott 4cde62561a Copy the snackbar component from Gutenberg into wp-admin (https://github.com/woocommerce/woocommerce-admin/pull/5532)
* Copy the snackbar component from Gutenberg into wp-admin

* Copy @wordpress/data in from Gutenberg

Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-11-09 17:17:08 +10:00
Timmy Crawford fbfb1dc86b Data: Verify we have an interval array before accessing. (https://github.com/woocommerce/woocommerce-admin/pull/5546) 2020-11-06 08:33:57 -08:00
Fernando 6ae4c5fbfd Home Screen - migrated orders panel (https://github.com/woocommerce/woocommerce-admin/pull/5455)
Fixes woocommerce/woocommerce-admin#5238
2020-11-06 14:21:05 +13:00
Joel Thiessen c73bafbd09 Store Profiler - include Creative Mail as a free extension (https://github.com/woocommerce/woocommerce-admin/pull/5543)
* Include Creative Mail as a free extension in onboarding wizard on main flow
2020-11-05 16:55:44 -08:00
renovate[bot] dbd7c823f6 Update babel monorepo to v7.12.5 (https://github.com/woocommerce/woocommerce-admin/pull/5525)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-05 13:50:38 +13:00
Sam Seay 5c50c4cc03 Restyle the setup task list to match new designs (https://github.com/woocommerce/woocommerce-admin/pull/5520)
Dev: Add the new `<Badge>` component to @woocommerce/components
Dev: Restyle the setup task list header to display incomplete tasks
2020-11-05 10:48:26 +13:00
Bec Scott 2bdab078e0 Use snackbar before CES modal (https://github.com/woocommerce/woocommerce-admin/pull/5406)
* Spike out customer effort score

* Refactor CustomerEffortScore as Package (https://github.com/woocommerce/woocommerce-admin/pull/5342)

* Use an interstitial snackbar to trigger the CES modal

* Moved notice (snackbar) into @woocommerce/customer-effort-score

* Tidy up _webpack.config.js

* Fix linter issues

* refactor setting up CES tracking, add try..catch around loading from localStorage

* Add CES feature toggle (https://github.com/woocommerce/woocommerce-admin/pull/5387)

* Add feature toggle to only enable the customer effort score in development

* Move check into Loader

* fix logic 🙄

Co-authored-by: Rebecca Scott <me@becdetat.com>

* Add client-side check of the feature flag

* fix tabs in config

* Fix comment

* Use product lifecycle and options

* Add product count to tracks props

* Use Loader::load_features instead of DIY

* drop initiallyVisible from container

Co-authored-by: Rebecca Scott <me@becdetat.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
2020-11-04 10:48:56 +10:00
Moon f657d108a3 Add width: 100% style to the container of the popover menu to expand menu item width to 100% (https://github.com/woocommerce/woocommerce-admin/pull/5519)
Co-authored-by: Moon <moon.kyong@demandmedia.com>
2020-11-02 18:03:56 -08:00
Bec Scott 1e1e428354 Add store age to CES tracked data (https://github.com/woocommerce/woocommerce-admin/pull/5373)
* Spike out customer effort score

* Refactor CustomerEffortScore as Package (https://github.com/woocommerce/woocommerce-admin/pull/5342)

* Tidy up _webpack.config.js

* Fix linter issues

* refactor setting up CES tracking, add try..catch around loading from localStorage

* Add CES feature toggle (https://github.com/woocommerce/woocommerce-admin/pull/5387)

* Add feature toggle to only enable the customer effort score in development

* Move check into Loader

* fix logic 🙄

Co-authored-by: Rebecca Scott <me@becdetat.com>

* Add client-side check of the feature flag

* fix tabs in config

* Fix comment

* Use product lifecycle and options

* Add product count to tracks props

* Use Loader::load_features instead of DIY

* Only display the CES modal if tracking is allowed

* Move MONTH constant into @woocommerce/data

* Remove unused const

Co-authored-by: Rebecca Scott <me@becdetat.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
2020-11-02 13:47:15 +10:00
Bec Scott f29995124c Basic customer effort score survey functionality (https://github.com/woocommerce/woocommerce-admin/pull/5324)
* Spike out customer effort score

* Refactor CustomerEffortScore as Package (https://github.com/woocommerce/woocommerce-admin/pull/5342)

* Tidy up _webpack.config.js

* Fix linter issues

* refactor setting up CES tracking, add try..catch around loading from localStorage

* Add CES feature toggle (https://github.com/woocommerce/woocommerce-admin/pull/5387)

* Add feature toggle to only enable the customer effort score in development

* Move check into Loader

* fix logic 🙄

Co-authored-by: Rebecca Scott <me@becdetat.com>

* Add client-side check of the feature flag

* fix tabs in config

* Fix comment

* Use product lifecycle and options

* Add product count to tracks props

* Use Loader::load_features instead of DIY

Co-authored-by: Rebecca Scott <me@becdetat.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
2020-10-30 16:52:52 +10:00
Ron Rennick 9b02ba526e Use consistent markdown headers in navigation readme (https://github.com/woocommerce/woocommerce-admin/pull/5417) 2020-10-29 21:33:31 +13:00
Fernando f0398ee502 Added Accordion component (https://github.com/woocommerce/woocommerce-admin/pull/5474)
* Added Accordion component

This commit adds an Accordion component to our available components

* Refactored Accordion component

* Added new Accordion component to index

* Fixed a few Accordion details

* Accordion fixed

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2020-10-28 15:02:22 -03:00
Bec Scott 2315bf1662 Fix missing custom autocompleter attribute in Search component of Advanced Filter (https://github.com/woocommerce/woocommerce-admin/pull/5448)
Co-authored-by: khoand0000 <khoand0000@gmail.com>
2020-10-27 10:52:56 -04:00
Gan Eng Chin f5432beb72 Display a "read blog" message (https://github.com/woocommerce/woocommerce-admin/pull/5453)
* Display a "read blog" message when there is an error in getting blog posts or there is no blog posts.

* Simplify ReadBlogMessage with interpolateComponents and Link.
2020-10-23 14:07:58 +08:00
Jeff Stieler eefe2e8acc Add Homescreen layout control (https://github.com/woocommerce/woocommerce-admin/pull/5429)
* Remove inbox-specific class, widen single column.

* Create user preference for homescreen column layout.

* Add display options "tab" to homescreen.

* Style display options.

* Tweak homepage layout option values.

* Add tracks events for homepage layout.

* Add test coverage for homescreen display options.

* No need to use Fragment component.

* Use named exports.

* Fix display options styling on mobile/narrow viewports.

Don't show the options at all if we're forcing single column.

* Fix linting error.
2020-10-22 18:13:14 -04:00
Paul Sealock 7e351c18a3 Navigation: extend with WC Admin router links (https://github.com/woocommerce/woocommerce-admin/pull/5445)
* add test case

* save

* pages

* comments

* use id

* bail on no wcAdmin pages

* prefix
2020-10-22 16:01:25 +13:00
renovate[bot] 29f6bcc126 Update babel monorepo (https://github.com/woocommerce/woocommerce-admin/pull/5439)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-22 12:19:55 +10:00
Joshua T Flowers 84e006cc62 Migrate navigation store to data package (https://github.com/woocommerce/woocommerce-admin/pull/5420)
* Move data store to package and hydrate navigation

* Use wc settings to get site URL and title

* Use wc settings admin link

* Update nav util tests to work with installs in subdirectory
2020-10-21 13:02:45 -04:00
Joshua T Flowers c0be4ecb56 Enqueue styles on non-WC pages (https://github.com/woocommerce/woocommerce-admin/pull/5419)
* Enqueue styles on non-WC pages

* Only load extra styles when navigation is enabled
2020-10-20 14:47:11 -04:00
Sam Seay 91e3e7336d Fix a number of crashes that occur in reports when Gutenberg is active (https://github.com/woocommerce/woocommerce-admin/pull/5409)
Also fix a blank screen issue with rendering reports.

Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
2020-10-17 07:47:29 +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
Sam Seay fc030fb007 Migrate the devdocs examples to Storybook CSF stories (https://github.com/woocommerce/woocommerce-admin/pull/5271)
Fixes woocommerce/woocommerce-admin#5234
2020-10-15 14:55:55 +13:00
renovate[bot] 2ce600cde9 Update dependency locutus to v2.0.14 (https://github.com/woocommerce/woocommerce-admin/pull/5369)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-15 11:11:08 +13:00
renovate[bot] d42cb0d6a9 Update dependency moment to v2.29.1 (https://github.com/woocommerce/woocommerce-admin/pull/5370)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-15 09:58:53 +13:00
Paul Sealock 35de289fb5 New Package: DependencyExtractionWebpackPlugin (https://github.com/woocommerce/woocommerce-admin/pull/5198)
* create package

* dynamically make package list

* better readmne

* point to woo's not wp's for starter pack
2020-10-15 09:50:57 +13:00
Paul Sealock ad7cf64303 Navigation: Add client code (https://github.com/woocommerce/woocommerce-admin/pull/5309)
* is_feature_enabled

* feature class

* copy/paste

* hooked up

* its alive

* add wc-admin items

* clean up entry point

* Analytics remove url

* rebase error

* add back in check is_feature_enabled

* specificity CSS
2020-10-13 14:40:53 +13:00
Joshua T Flowers 443e2f9a55 Wrap search control selected items in list (https://github.com/woocommerce/woocommerce-admin/pull/5231)
* Wrap search control selected items in list

* Fix up snapshots
2020-10-06 23:27:38 +03:00
Paul Dechov 1bdd2ea0e1 Search component: Behavior and styling tweaks (https://github.com/woocommerce/woocommerce-admin/pull/5199)
Fix visual issues with the <Search> component.
2020-10-06 12:22:22 +13:00
renovate[bot] 5c49051dcf Update dependency debug to v4.2.0 (https://github.com/woocommerce/woocommerce-admin/pull/5220)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-05 17:43:29 +13:00
Paul Sealock 7c1eae7263 version bump (https://github.com/woocommerce/woocommerce-admin/pull/5219) 2020-09-30 14:13:28 +13:00
Jeff Stieler 264aa8dee4 Add Variations Report (https://github.com/woocommerce/woocommerce-admin/pull/5167)
* Add initial Variations Report to analytics feature.

* Restrict query to variations when not specifying any product IDs.

* Add route to get variations without specifying a parent.

* Move variations table component to variations report directory.

* Add missing LIMIT clause to variations report query.

* Remove broken features from Variations table.

* Add Variations report controller to CSV emailer.

* Add initial Variation Stats endpoint, based on Product Stats.

* Hook Variations Report components up to new stats endpoint.

* Hook attribute filter up to variations report queries.

* Remove variation title filter usage.

See: https://github.com/woocommerce/woocommerce-admin/pull/5100

* Use filtered separator in variation name formatting.

* Add "single variation" to variations report, fix autocompleter API request.

* Fix segmentation by variation.

* Add comparison to variations report.

* Always include manually specified variations in report results.

* Fix variations report table comparison mode.

The ReportTable component expects the `filter` query param.

* Fixing styling of compare button without table search component.

* Add variation filter to Orders report.

* Link orders count to orders report filtered by variation.

* Orders report: include variation attributes in product names.

* Further style tweaks for variations report download button.

* Add variations filter to order stats query.

* Clean up "category includes" login in REST controllers.

Prep for "category excludes" in the Variations report.

* Support category exclusion in report filters.

* Fix filter param used by the variation report table component.

* Add category filter to variations report.

* Fix initial selected ReportTable rows when using non-default compareParam.

* Add a new autocompleter for variable products.

* Add products filter to variations report.

* Fix tests.

* Handle variation IDs that are no longer found.

* Add documentation.

* Use getSetting() instead of directly accessing window properties in client code.

* Fix ordering Variations by SKU.
2020-09-25 09:57:48 -04:00
renovate[bot] fdd2c73122 Update dependency locutus to v2.0.12 (https://github.com/woocommerce/woocommerce-admin/pull/5148)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-25 09:25:26 +12:00
Sam Seay 20959e76b4 Remove store registration checks that are no longer needed. (https://github.com/woocommerce/woocommerce-admin/pull/5170)
Fixes woocommerce/woocommerce-admin#4443

Some investigation found that woocommerce/woocommerce-admin#4443 is no longer a reproducible issue. Why this issue no longer exists is not clear, but it makes sense now to disable the store registration checks as they are only called once. This PR just removes the checks but does not change any other behaviour.
2020-09-24 09:49:11 +12:00
Paul Sealock 328075abb7 Remove ` @woocommerce/wc-admin-settings` from data package (https://github.com/woocommerce/woocommerce-admin/pull/5158)
* remove getAdminLink

* prep for package release

* correctly pass in args

* tests
2020-09-18 14:22:52 +12:00
Paul Sealock 2dea138505 Update/components deps (https://github.com/woocommerce/woocommerce-admin/pull/5153)
* bump components dependencie

* prep for package release
2020-09-18 08:19:36 +12:00
Francesco 36f61c89f1 chore: rename WCS to WC Shipping & Tax (https://github.com/woocommerce/woocommerce-admin/pull/5139) 2020-09-16 16:45:16 -05:00
Bec Scott 90567853de Enable the home screen for everybody (https://github.com/woocommerce/woocommerce-admin/pull/5108)
* One-shot to enable the homescreen for everybody

* Make the home page the default (only) experience

* remove option check in activity panel tabs, get tests working, fix lint issues

* Remove is-homescreen CSS class

* Remove extra home page route registration

Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-09-15 09:44:46 +10:00
Bec Scott 5310944f17 Add option to not charge sales tax (https://github.com/woocommerce/woocommerce-admin/pull/5111)
* Add option to not set up sales tax

* Correct JS lint errors

* Add abort option to plugin step

* Inline redirect to home page

* Use testing-library/react for the new test

* Also set woocommerce_calc_taxes to 'no'

Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-09-14 08:50:02 +10:00
Paul Sealock 4a07997a86 Packages: release prep (https://github.com/woocommerce/woocommerce-admin/pull/5122)
* packgages version bumps

* fix errant s?
2020-09-11 14:33:10 +12:00
Paul Sealock 3c6483e842 Remove wc api 🎉 (https://github.com/woocommerce/woocommerce-admin/pull/5075)
* remove wc-api selects and constansts

* remove extendedItems dependence on wc-api

* remove wc-api

* PR feedback
2020-09-04 09:45:40 +12:00
renovate[bot] 36ed773769 Update dependency d3-time-format to v2.3.0 (https://github.com/woocommerce/woocommerce-admin/pull/5070)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-03 14:40:55 +10:00
Fernando 29e2dbffc9 Migrated "import" store to "wp.data" (https://github.com/woocommerce/woocommerce-admin/pull/4982)
* Migrated the "import" store to "wp.data"

This commit migrates the "import" store to "wp.data"

# Conflicts:
#	client/analytics/settings/historical-data/layout.js
#	packages/data/src/index.js

# Conflicts:
#	packages/data/src/index.js

# Conflicts:
#	packages/data/src/index.js

* Added error handling

This commit adds error handling to the apiFetch

* Fixred reducer.js

* Added reducer.js tests

* Removed "endpoint" references

* Tests fixed

* Removed old import store files and wc-api-spec import references

This commit removes old import store files and "wc-api-spec" import references

# Conflicts:
#	client/wc-api/wc-api-spec.js

# Conflicts:
#	client/wc-api/wc-api-spec.js

* Added interval to invalidate resolution of getImportStatus

* Fixed timestamp

* Store dependency removed

* Fixed reimport functionality

# Conflicts:
#	client/analytics/settings/historical-data/index.js

* Refactored layout.js

* Refactored clearCache method

* inProgress check refactored

* Using activeImport from store

# Conflicts:
#	client/analytics/settings/historical-data/index.js

* Fixed console warning

# Conflicts:
#	client/analytics/settings/historical-data/index.js

* Migration done!

# Conflicts:
#	client/analytics/settings/historical-data/index.js

* Fixed hasImportFinished

* Test fixed

* Removed "setImportFinished" from actions.js and index.js

* Added style to disabled button

* Fixed incorrect "Finalizing"  status

* Fixed tests

* Fixed notes update on importation start

* Removed local constants

* Removed css for disabled button

* Typo corrected

* Fixed param for getImportError method

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2020-09-01 10:21:31 -03:00
Jeff Stieler aa86428ebc Add support for advanced filters with multiple instances. (https://github.com/woocommerce/woocommerce-admin/pull/5050)
* Refactor filter input row into component.

* Support multiple filter value in "add filter" list.

* Refactor out one-off updateFilter() callback.

* Use array index to remove filters.

Also create unique keys for multiple value filters.

* Use numeric index instead of filter "key" for change callbacks.

* Maintain unique keys for multiple filter components.

This avoids rerenders when filters are removed.

* Calculate instance numbers in constructor.

* Support advanced filter instances in navigation helper methods.

* Add allowMultiple to advanced filters README.

* Fix tests.

* Add test cases for multiple filter instances.

* Handle missing attribute names and terms in screen reader text.

* Fix perpetual loading indicator when there are no attribute terms.

* Handle new boolean case when generating screen reader text.

* Handle multiple filter instances when creating report queries.

* Remove unused variables.
2020-09-01 08:23:27 -04:00
Sam Seay fb03e64ced Profile wizard style consistency updates (https://github.com/woocommerce/woocommerce-admin/pull/5059)
Co-authored-by: Joshua Flowers <joshuatf@gmail.com>
Co-authored-by: James Koster <james@jameskoster.co.uk>
2020-09-01 20:47:49 +12:00
Paul Sealock 7e7064e38c Fix components internal deps (https://github.com/woocommerce/woocommerce-admin/pull/5018)
* Fix components internal deps

* Pass full response

* remove errant comment
2020-08-28 11:55:48 +12:00
Jeff Stieler 650ecac14a Add "Product Attribute" advanced report filter. (https://github.com/woocommerce/woocommerce-admin/pull/5038)
* Simplify variation name logic.

* Remove errant commas from variation autocomplete options.

* Add single variation filter to products report.

* Include more variations in search results.

Also trim the response fields down.

* Add initial AttributeFilter component.

Only selected of attribute names for now.

* Add attribute term selection control.

* Position attribute filter inputs side by side.

* Add loading indicator to attribute term control.

* Clear term when attribute value changes, and handle backspaces.

* Generate screen reader text.

* Translate filter labels, add field separator.

* Improve grammar in screen reader text.

* Fix lint errors.
2020-08-27 08:11:12 -04:00
Sam Seay c884f96bf9 Add WooCommerce Mobile App Banner Ad for Android and iOS (https://github.com/woocommerce/woocommerce-admin/pull/5037)
Fixes woocommerce/woocommerce-admin#4654 

The feature calls for a mobile app ad banner to be displayed to users on mobile devices.

Based on the discussion in woocommerce/woocommerce-admin#4654 this implements the following:

1. [an iOS Smart App Banner](https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/PromotingAppswithAppBanners/PromotingAppswithAppBanners.html). This banner is a meta tag that is generated in PHP. It will only display on iOS devices. One note about this: **This tag is not directly trackable like the implemented Android banner. If we would like to track its success then I believe [these instructions are relevant](https://stackoverflow.com/questions/12906502/is-it-possible-to-track-click-throughs-from-iphone-smart-banner/20422334woocommerce/woocommerce-admin#20422334)**. 

2. A mobile app banner ad that **only displays on Android** and only displays at the `738px` breakpoint specified in the issue. To only display this banner ad on Android, we use basic checking of the user agent string. I weighed this up against other approaches and for this kind of niche use case a simple UA string check is (imho) still the best way to do this.

3. The banner ad makes use of user preferences to retain a per user setting that determines if that user has dismissed the Android banner. We don't/can't do anything like this for the iOS Smart App Banner (but in theory we shouldn't need to).
2020-08-27 13:46:53 +12:00
Jeff Stieler e845de7003 Fix missing title component in advanced filter screen reader interpolation. (https://github.com/woocommerce/woocommerce-admin/pull/5032) 2020-08-26 08:29:21 -04:00
renovate[bot] 8bf5cff688 Update dependency d3-format to v1.4.5 (https://github.com/woocommerce/woocommerce-admin/pull/5048)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-26 15:24:04 +12:00
Jeff Stieler eea63f602f Refactor task list status to onboarding data store. (https://github.com/woocommerce/woocommerce-admin/pull/4998)
* Add onboarding task status API endpoint.

* Add task status to onboarding data store.

* Update appearance task to use onboarding store for status info.

* Update main task list component to use onboarding data store for status info.

* Clear onboarding status info "cache" when setting shipping rates in the task list.

* Clear onboarding status info "cache" when enabling payment methods from the task list.

* Fix onboarding data store reducer tests.

* Clean up redundant code, nest task status settings under new key for hydration.

* Include tasks status in onboarding data hydration.

* Update tax task to use onboarding data store for status info.

* Avoid continually rehydrating onboarding data.

* Refactor payment task method retrieval to use onboarding data store.

* Fix bug with disappearing appearance tax steps.

* Update appearance completion faster by using hydrated onboarding value.

* Avoid PHP warnings when onboarding isn't enabled.

* Remove unused imports.
2020-08-24 09:20:57 -04:00
renovate[bot] fa2a90cad6 Update dependency d3-selection to v1.4.2 (https://github.com/woocommerce/woocommerce-admin/pull/4928)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-24 12:31:09 +12:00
renovate[bot] 7c66c885d5 Update dependency core-js to v3 (https://github.com/woocommerce/woocommerce-admin/pull/4174)
* Update dependency core-js to v3

* core-js paths

* update babel and jest presets

* remove unused jest preset

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-08-24 09:35:46 +12:00
Paul Sealock 74e8d7622e Items dataStore: Migrate from wc-api (https://github.com/woocommerce/woocommerce-admin/pull/5009)
* Create wp.data folder

* order panel

* fix isUnboundedRequest with Categories

* products report

* products table

* indicators and leaderboards

* orders and stock panels

* utils

* tests

* save

* updateStock

* remove wc-api items

* updateItems -> setItems
2020-08-21 11:37:41 +12:00