* Add get_oldest_orders function to customer data store
* Check if is first order in is_returning_customer()
* Check if the customers first order has changed and update all orders respectively
* Fix check for empty oldest_orders array
* Change avg_items_per_order to number instead of integer
* Fix failing tests for new/returning customers
Only the first orders with product 1 and without coupons should be new per each customer
* Remove sleep functions from tests
* Assign second order to a variable for legibility
* Fix second order assignment and check if set
* Add initial transient notices component
* Animate notices to slide in and out
* Add notices to wc-api
* Map notices from wc-api to transient notices
* Add success message on settings save
* Add save notices to Settings page
* Remove all margin and padding from notice box when empty
* Add role alert to transient notices
* Add prefers reduced motion media query for transient animation
* Remove initial test notice
* Remove notices from wc-api
* Add wc-admin store for transient notices
* Pull transient notices from newly implemented store
* Use speak instead of role alert for accessibility
* Only show success message after request is complete
* Destructure state in componentDidUpdate
* Add store notice tests and fixtures
* Add box shadow to transient notice
* Move transient notices to bottom left
* Fix indentation
* Update version check, add basic WP.org readme
* Clean up test depedency since we are supporting 5.0.0 or greater
* add some additional keywords
* update greater than message
* First pass at adding feature flags. Accessible over PHP and JS.
* Hook up dev config to test enviornments, hook up features to their flags.
* Cleanup some code and add documentation. Remove beta config.
* Handle PR Feedback: Add devdocs flag, remove categories flag, fix auto-generated PHP warning.
* Add todo for beta phase.
* Handle PR feedback: Simplify is_array check, update build command, simplify test mock, remove empty webpack line.
Fixes the follow error:
```
WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'THIS WONT MATCH' at line 1]
```
Fixeswoocommerce/woocommerce-admin#1489
Fixes the follow PHP error:
```
PHP Fatal error: Uncaught ArgumentCountError: Too few arguments to function WC_Admin_Reports_Data_Store::remove_extra_records(), 6 passed in wp-content/plugins/wc-admin/includes/data-stores/class-wc-admin-reports-taxes-stats-data-store.php on line 232
```
* Show empty chart and summary numbers when search returns no results
* Add changelog message
* Preserve chart mode in empty searches
* Add tests
* Fix CSS Lint error
* Make sure the legend updates when there is no data and it's not requesting
* Rename 'emptySearch' to 'emptySearchResults'
* Fix tests
* Add manage_stock to stock controller response
* Add manage_stock property to stock report tests
* Add changelog entry
* Make stock quantity float instead of int
* Add manage_stock to the products API response
* Check for manage_stock in products table
* Add manage_stock property to product API tests
history.createHashHistory() is being called whenever this package is
imported, which causes the URL to redirect to a hash. This is
unnecessary in cases where elements of wc-admin are used outside of a
completely controlled/routed page.
This lazy-creates the history object only when it's needed and therefore
avoids the URL redirection unless history features are in use.
Product detail report and comparison
Code cleanup
Fix 404 on product variations endpoint after rebase
Fix up tests
Fix loading indicators and add some checks around malformed variation response
Add date filtering SQL bits to the variations query
Handle PR feedback: Fix viewport, fix duplicate product issue, fix legend display reset, fix bargraph overflow, fix some coding standards/whitespace, add extra variation santiziation.
Fix scroll on wide charts, and fix undefined prop getting passed into report chart render
* Show empty table when search returns no results
* Fix singular wrong string for 'orders'
Co-Authored-By: Aljullu <aljullu@gmail.com>
* Check if search returned 0 results inside table components instead of passing a prop
* Add default order status tests
* Test querying an excluded status
* Add tests for product line item refunds
* Update status test method comment
* Drop @since versioning from doc blocks
* Move labels loading logic into a lib
* Move lib/labels into lib/async-requests
* Implement tabular data filtering
* Allow searching for string in report tables
* Add table filtering to customers table
* Get ids from searched string to populate the table
* Fix autocompleter keyboard interactions
* Improve props naming
* Cleanup report customers data store
* Prevent an edge case issue that might not update the selectedOptions when directily modifying the URL
* Add 'Clear' button to Search input
* Cleanup
* Move labels loading logic into a lib
* Move lib/labels into lib/async-requests
* Implement tabular data filtering
* Allow searching for string in report tables
* Add table filtering to customers table
* Get ids from searched string to populate the table
* Fix autocompleter keyboard interactions
* Improve props naming
* Cleanup report customers data store
* Prevent an edge case issue that might not update the selectedOptions when directily modifying the URL
* Fix wrong selected autocompleter option
* Add missing translation domain
* Move searchItemsByString to wc-api/items/utils.js
* Avoid autocompleter results appearing when there was no search string
* Alphabetically order 'allowFreeTextSearch' prop
* Reset selected table rows when directly modifying the URL
* Simplify props destructuring
* Undo customers data store change
* Simplify isProductDetailsView expression
* Improve order
* Merge getOrders and getItems
* Move labels loading logic into a lib
* Move lib/labels into lib/async-requests
* Implement tabular data filtering
* Allow searching for string in report tables
* Add table filtering to customers table
* Get ids from searched string to populate the table
* Fix autocompleter keyboard interactions
* Improve props naming
* Cleanup report customers data store
* Prevent an edge case issue that might not update the selectedOptions when directily modifying the URL
* Fix wrong selected autocompleter option
* Add missing translation domain
* Move searchItemsByString to wc-api/items/utils.js
* Avoid autocompleter results appearing when there was no search string
* Alphabetically order 'allowFreeTextSearch' prop
* Reset selected table rows when directly modifying the URL
* Simplify props destructuring
* Undo customers data store change
* Simplify isProductDetailsView expression
* Improve order
* Filter tax code parts before modifying them
* Add settings page routes
* Add control options for excluded statuses
* Add control options for excluded statuses
* Add excluded order statuses to rest api
* Add wc settings to wc-api
* Add wc settings to wc-api
* Split and validate multiselect values in settings controller
* Add wcAdminSettings to wcSettings global
* Set initial excluded statuses from serverside wcSettings data
* Add extensible filter for wcSettings global
* Split arrays into comma separated strings in wc-api
* Extract setting as separate component
* Extra settings to config file
* Add checkboxGroup option as input type
* Separate status types into default and custom groups
* Add setting option styling
* Add responsive styling for settings
* Fix wpClosedMenu and wpOpenMenu for settings page
* Add support for resetting to default values
* Only show checkbox group if options are available
* Add proptypes to Setting component
* Add extensible filter to analytics settings
* Add readme for settings config and extensibility
* Hook up excluded status settings to reports
* Pass object to settings API instead of comma delimited string
* Fix inpuType -> inputType typo
* Remove hasError from constructor
* Bump settings API to v4
* Use interpolateComponents instead of dangerously setting html
* Use empty array in initial excldued statuses setting value if none is retrieved
* Remove double check for refunded status in default order statuses
* Update settings wc-api to use namespace
* Add aria=labelledby to checkbox group