* WIP add details prop to summary number component. New optional prop to add additional information at the bottom.
* Update component readme and stories to include new prop
* Revert commits to use children instead of a new prop
* Render optional summary number component children
* Typo fix, doc improvement and add entry to changelog
* Add readme.txt entry
* Update select control logic so value type stays consistent
* Added test cases for updated changes
* Add changelog
* Removed the use of lodash 'findIndex' using the native one instead
* Added onChange update to readme
* Update contrast and hover / active colors
* Update hover and active state of chevron using mask
* add test instructions and changelog entries
* Update readme.txt
Co-authored-by: David Levin <davidlevin@Davids-MacBook-Pro-2.local>
Co-authored-by: Dan Hauk <dan@danhauk.com>
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Update old versions of lodash in packages
* Add changelog entries
* Move lodash to peerDependencies in components package
* Fix broken JSON
* Fix lodash defined twice in components package
* Move lodash to peer dependency in date package
* Move lodash to peer dependency in navigation package
* Move lodash to peer dependency in notices package
* Relax lodash version constraint in components package
* Update package changelogs
* Remove exclusion in getFilteredOptions
* Update filteredOptions to searchOptions
* Check if options then setState after searchOptions is updated
* Show all options under business details select controls
* Change from MenuGroup to label
* Remove icon
* Remove icon folder
* Update input style
* Remove list message
* Run test snapshots
* Add single knob
* Add changelog
* Change to wrap list with ul
* Run snapshots test
* Add styling on li
* Move renderList outside of li to prevent nesting
* snapshots test
* Whitelist the mollie plugin and ensure it does not crash on activation.
* Improve error messages for failed plugin installs.
* Add the payment provider screen for the Mollie payment provider.
* Revert change to try/catch activation, its not needed.
* Move the whitelist of mollie to Onboarding.php.
* Add api fetch to dep list of components, update the node setup workflow on gh actions.
* Pass indsutry to the klarna tests to avoid a crash.
* Add some tests for the mollie payment method.
* Remove redundant change to handler.
* Add a changelog entry for the feature.
* fix name of option
* Add testing instructions
Co-authored-by: Rebecca Scott <me@becdetat.com>
* 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>
* Initial product template modal
* Add custom product template for the new-post route
* Add test, and code for making use of the insert_post action
* Added ProductTemplates Datastore to create template with REST api
* Add back variation method, deleted by accident
* Move product from template endpoint to OnboardingTasks class
* Fix lint errors
* Added tracks and template hooks
* Rename product create permission check function, for less confusion
* Remove duplicate recommended option
* Fix stylelint errors
* PHP tests for the product_from_template endpoint
* Fix onboarding php unit tests
* Write tests for client product template options
* Refactored list component, to use it as a radio control list
* Fix lint errors
* REmove assertion as it fails on the ci
* Add changelog
* Updating tests to make sure all product attribute taxonomies are removed
* Add more specific assertions for importing sample products test
* Update the sample products test
* Deconstruct item object, from PR suggestion
* Fix PHP errors, by updating the createProductFromTemplate call
Previously only a given delta was rendered as an integer. Now it renders the number with a given precision.
Fixeswoocommerce/woocommerce-admin#5925.
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Possibly use safe Text component
* Possibly use safe navigation components
* Add experimental package
* Update components to import from woocommerce/experimental
* Make experimental package private
* Reference experimental package relatively
* Update packages/experimental/README.md
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Update packages/experimental/CHANGELOG.md
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Update history state instead of mocking getQuery in tests
* Handle PR feedback
* Create excluded externals array and return early
Co-authored-by: Paul Sealock <psealock@gmail.com>
This fixeswoocommerce/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
* 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
* 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
* 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>
* 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.
* 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
* 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>
* 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
* 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.
* 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
* 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>
* 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.
* 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.
* 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.
* 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>
* 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>
* 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.
* 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.
* 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>
* Add monthly product prices to OBW
* Remove description for physical and download products
* Use pills in product selection step of OBW
* Add missing translation wrapper, also convert some spaces to tabs
* Add pill to changelog
* Change pills to medium gray text and border
* Make everything line up correctly on smaller viewports
* Get the styles closer to the design
* Breakpoint to set font size to 11px
Co-authored-by: Rebecca Scott <me@becdetat.com>
Fixeswoocommerce/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)
* Add dismiss button as task list item option
* Add option to undo task dismissal
* Record modal dismissal event
* Add transition animation to list items
* Use key for list items instead of index
* Remove dismissed tasks on recompleting profiler steps
* Add advanced args to configured static args so it is persistent
* Make sure unique keys are set in loaded labels
* Simplify the key selection because javascript
* Smarten up the filter picker so it only navigates if the selected button has changed
* Add static params for advanced order filters
* Add static param to product comparison config
* Add static param to category comparison config
* Add static param to coupon comparison config
* Add static param to taxes comparison config
* Add static params to downloads comparison config
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Fix secondary button style in OBW.
* Center snackbar notices in OBW.
* Scope snackbar changes to just the OBW.
* Add busy treatment to Jetpack connect button when redirecting.
* Remove color override for form toggles in ellipsis menus.
* Fix styling of task list.
* Fix button styles in date range picker component.
* Use admin theme colors in calendar component selections.
* Fix datepicker styling on analytics settings page.
Add Timeline component
The overall component is split into smaller components:
* Timeline item: an individual item (event) for the timeline.
* Timeline group: a group of items grouped according to props.
See README.md for prop details.
Ordering and grouping is decided via props. Component also
exports helper objects to make it easier to pass in the correct
props for ordering and grouping.
Item titles and bodies can be passed in as either strings or
React elements. Icons must be React elements.
Has a storybook scenario along with unit and snapshot tests.
Co-authored-by: Valerie K <valerie@automattic.com>
Co-authored-by: Allen Snook <allen@allendav.com>
Co-authored-by: Kristófer R <kristofer.thorlaksson@automattic.com>
Co-authored-by: David Levin <davidlevin@Davids-MacBook-Pro-2.local>
* Add installAndActivatePlugins method to plugin store
* Use new install/actiate method in Plugins component
* Refactor benefits page to use await
* Refactor business details page to use new install method
* Replace Plugins component in Jetpack CTA
* Format and throw errors in plugin data store
* Add generic response handling function
* Add default error messages to plugin API
* Add custom autocompleter support to Search component
* Throw error if Search autocompleter is missing or is of the wrong type
* Add custom Search autocompleter changelog entry
* Get Jetpack stats appearing on the home page
* Update hidden stats in stats overview test
* Make jetpack stats appear by default
* Add reportUrlType to dashboard store performance area
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Add Table scrollable styling to left side
* Conditionally adjust scrollable indicators when updating table
* Refactor scrollable state keys and classes as 'right' and 'left'
* Have scroll indicators fade to white instead of black
Also widen them a bit.
* Have scrolling indicators appear over headers and loading content
* Allow plugins API to install multiple plugins at once
* Update wpdata to handle installing multiple plugins and errors
* Remove client-side error message switch
* Update plugin tests for multiple plugins param
* Update plugins API to WP standards
* Add error for non-allowed plugins instead of silently failing
* Allow error handling for individual plugins
* Fix up js tests for new API response
* Add installed plugin to response on successful install
* Fixwoocommerce/woocommerce-admin#4086 misaligned 'required' text on selects
* rework this so that the issue is fixed in the select control itself
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Add Storybook console addon.
* Add Link stories for all link types.
* Add unit tests for Link component.
* Add unit tests for List component.
* Add support for List item `listItemTag`.
* Fix AnimationSlider example code buttons
* Fixes disable state logic on forward button
* Fixes back property
* Update readme to indicate AnimationSlider example fix