* Fix select-control component to preserve currently selected item on focus and de-focus
* No longer auto select option on initial render, pressing tab would only select if selection exists
* Fix to reflect the proper suggested changes
* Attempt to fix unnecessary search reset on pressing tab
* Fix for keyboard interactions and added accompanying tests
* Add disabled props to SelectControl
This commit adds "disabled" props to SelectControl
* Added changelog
* Fixed prop name
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Prototype the basic functionality of the list collapse component.
* Further work on the component.
* Add icons and some basic styling. Fix exports to include 'Experimental'
* Add CSSTransition to collapsible list item
* Add tests for collapsible component
* Add changelog
* Add collapse/expand callbacks
* Add tests for callbacks
* Replaced collapsible list item with a collapsible list instead
* Updated to use calculated height versus absolute height
* Removed fallback and removed animation from collapse footer
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
* Add a Basic test for FilterPicker.
Test that it renders the basic storybook example without throwing an error.
Move `path` in Storybooks example to a parameter, to allow setting it in unit tests.
* Forward `autocompleter` prop from `FilterPicker` to `Search`.
Allow, to use the `custom` type of search, previously it was complaining about lack of `autocompleter`, even though it was provided.
Fixes: https://github.com/woocommerce/woocommerce-admin/issues/6062.
* Add changelog entry.
* Move `FilterPicker` config creation closer to tests that use it.
* Remove unused type prop from `FilterPicker` tests.
Addresses https://github.com/woocommerce/woocommerce-admin/pull/6880/files#r620285400.
* Add changelog note also to `CHANGELOG.md`.
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
* Add initial task item component with the new task list
* Switch components to functional components
* Some minor updates from the last rebase
* Fix missing variables.
* Fix tests
* Add animation for the experimental list
* Fix lint error
* Add changelog
* Fix E2E tests
* Update PR suggestions and export list from experimental package
* Fix dismiss styling issue
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
* Create the new experimental list, default to rendering it when items are not supplied.
* Remove typings from the List, ListItem.
* Add react-transition-group as dependency.
* Fix warnings by wrapping with CSS transition, pass down props from List.
* Remove type annotations left in list-item.
* Duplicate some styles in the higher level woocommerce-list-item element, to make them work in the new list.
* Fix accessibility issues, adjust the role logic
* Add more testing of the roles logic.
* Mark the old list stories as deprecated, add a basic story for the new style.
* Expose ListItem without Experimental in the name.
* Remove some redundant code changes.
* Fix linting issues
* Add types package.
* Cast the type of children to TransitionGroup.
* Adjust the list to assume a purpose of being a list of links.
* Adjust the tests for the new behaviour.
* Fix css mangled by prettier.
* Fix types that are optional.
* Rework the list item.
* Export new list as experimental, fix accessibility styles and deprecation notice.
* Make the basic transition opt-in.
* Update classnames to get types.
* Add tests, adjust behaviour for css disable.
* Fix css lint, remove types/classnames, update tetsing-library/user-event.
* Fix the basic story for ExperimentalList.
* Conditionally add keyDown and role based on onClick handler. Adjust tests to new behaviour.
* tabIndex only on hasAction
* Update the package-lock
* Add changelog
* Fix transition styling
Co-authored-by: Paul Sealock <psealock@gmail.com>
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
* Making experimental package public, and updating the dependency versions
* add experimental to webpack and make explat public
* bump DEWP package version
* use filepath for inter package dependencies
* load experimental script
* remove check for experimental
Co-authored-by: Sam Seay <samueljseay@gmail.com>
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Add dompurify and md5 to @woocommerce/components dependencies list
* Add changelog entry
* Add @woocommerce/experimental to @woocommerce/components dependencies list
* Update changelog entry
* 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