* Hook up payment gateway data store
* Fix deprecated onSubmitCallback in dynamic form
* Throw catchable errors in data store
* Provide a way to get errors from the data store
* Hook up payment connection update with data store
* Remove redundant requesting state on selectors
* Add changelog entry
* Handle PR feedback
* Fix linting errors
* Updated mobile banner icon with cross-small gridicon
* Update analytics dashboard icons, removing use of dashicon
* Remove use of dash icon in tag component
* Remove dash icon from ellipsis menu
* Remove use of dashicon in calendar
* Update icon imports and remove use of Dashicon in collapsible list
* Remove Dashicon usage from store alerts as it is depreciated
* Remove dashicon usage in shipping label
* Fix up old css for icons
* Removed dashicon usage in favorite button
* Update the wordpress/icons package
* Add changelogs
* Fix broken test
* Add a new store to interact with WC Payments REST APIs
* Convert to Typescript
* Refactor payments store
* Fixed type on GET_PAYMENT_GATEWAYS_SUCCESS action name
* Added SettingDefinition
* Added PaymentSelectors type
* Updated Array<type> to string[]
* Update action name in test
* Move stub.ts out of test directory
* Set type for the test stub and change order type to number | ""
* Rename action type name
* Add changelog
* Follow _REQUEST _SUCCESS _ERROR action naming
* Add a new action and reducer for getPaymentGateway
* Change store key
* Move to packages/data
* Export store name
- Forward `autocompleter` prop from `CompareFilter` to `Search`.
Allow, to use the `custom` type of search,
previously it was complaining about lack of `autocompleter`,
even though it was provided.
- Move `path` in Storybooks example to a parameter, to allow setting it in unit tests.
- Add few tests for FilterPicker.
- it renders the basic storybook example without throwing an error
- it forwards `autocompleter` & `type` props
Fixes: woocommerce/woocommerce-admin#6890
* Replace google icon
* Remove note for Google Ads extension
* Replace extension in API OnboardingProfile
* Record event for new extension
* Replace extension in onboarding flow
* Replace extension benefits
* Change background colour of Google icon
* Fix svg warnings
* Add changelog entry
* Fix prettier error
* Add old note to obsolete list for removal
* Added payment method to onboarding data store
* Add reducer test
* Address feedback on reducer naming convention, isResolving, enabledMethods
* Move out types to live in its own island
* Add a comment to remind ourselves for utilizing payments data store for enabled payment gateways
* Update changelog
* 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>
* Add initial payment recommendations code for the payments settings
* Added request data for the recommended payments
* Some styling updates and make sure it does not show when marketplace suggestions is disabled
* Update url
* Update comment in php class
* Add tests
* Fix lint errors
* Remove unnecessary type
* Fix lint error
* Fix broken test
* Convert plugin package to typescript
* Fix lint errors
* Add changelog
* Add support for locale-data
* Fix track name
* Fix up the tests
* Fix lint errors
* Address PR feedback
* Add tests for option hydration
* Make types more robust in plugins reducer
* Made use of SlotFill component instead of page registry and router
* Removed console log, and fixed types
* Add newer version of i18n to data package, for newer types
* Make the request to WooCommerce.com more restrictive
* Fix path of import
* Update PHP with suggested changes
* Remove SlotFill with applyFilters
* Update copy and PR feedback
* Update package lock
* Updated package lock
* Fix the package lock
* Added dot, and some minor styling changes
* Add test instructions
* Add store timezone string to preloaded settings
* Get current timezone periods based on store timezone
* Use current moment object to append timestamps
* Add changelog and testing instructions
* Consolidate timezone logic into getStoreCurrentTime
* Use const for default datetime format
* Use store moment converted via tz
* Make testing instructions more clear
* Add information to date readme about timezones
* Add tests around getStoreTimeZoneMoment
* 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
* Add types
* Add type definitions for @wordpress/components
* Fix formatting
* Fix JSX return type
* Fix incorect type for rows
* Add null to return type for react component
* Add type definitions for @wordpress/components to main package
* Add changelog entry
* Remove TS filename from import
* Re-add @types/wordpress__components
* 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
* Add tilde option for client root directory
* Support tilde start as internal to fix lint issues
* Update baseUrl and paths so auto complete works correctly
* Add changelogs
* Add eslint support for webpack resolvers
Co-authored-by: Matt Sherman <matt@jam123.com>
* Added "MailPoet" option to Business Details step
This commit adds the "MailPoet" option to Business Details step in the OBW
* Fixed plugins order
* Creative Mail option toggled off by default
This commit toggles off the Creative Mail option by default
* Fixed copy and image URL
* Added mailpoet.png image
* Added changelog
# Conflicts:
# readme.txt
* Added testing instructions
# Conflicts:
# TESTING-INSTRUCTIONS.md
* Fixed key
* Fixed lint error
* Fixed testing instructions
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* 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
* Move user data store folder
* Add user capability check hook
* Don't limit script loading by user capability
* Convert ActivityPanel to functional component
* Update ActivityPanel to use useSelect
* Check that a user can manage woocommerce for the store setup tab
* Add capabilities to pages
* Add testing instructions
* Update menu ID when favoriting an item
* Allow favorites to be included alongside the primary menu items
* Add categories to favorites menu server-side
* Don't reset menu state when active item is the same
* Make sure favorites are finished resolving before showing
* Add favorites data methods
* Add reducer tests
* Refactor actions to be more event based
* Add favorites resolver
* Fix requesting property for addFavorite
* Fix up misnamed types and missing yields
* Update nav data store to work with REST endpoints
* Remove errant addFavoriteSuccess call
* switch block-settings alias to settings and fix mapped external
* don’t force compilation of externals to `this` scope.
* update various meta data in package related files (changelog etc)
* update starter pack
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Initial paypal plugin name replacement
* Add necessary fields for the Paypal plugin
* Updated payment methods info to use new options key
* Add most of the OBW paypal integration
* Some old code cleanup
* Get ready for the dynamic onboarding addition.
* Update paypal onboarding, adding script after plugin enabled
* Revert some old changes
* Check if plugin is enabled correctly
* Allow for manual input as a fallback
* Fix unit tests and alter the config updates
* Update plugin to use latest rest endpoint instead :)
* Add comment
* Fix some naming from PR feedback
* Made use of the payment gateway info from tasks/status, and show 500 error message
* Add support for the status and set credential endpoints
* Set the enabled value in ppcp-settings as well
* Added fall back for the 'get-status' method
* Fix issue where I was overwriting the options :/
* Small fix for when updating items manually
* Add changelog
* Remove old tests
* Add testing instructions
* 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>
* Unhide the submenu
* Add method to get items by category
* Add flyout menu items
* Sort items by menu ID
* Allow marketplace in flyout menu
* Remove unused styles on non-wc pages
* Hard code package names and alias block-settings
* instructions
* update readme
* block to blocks
* plural blocks
* just wcSettings, not wc.wcSettings
* 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>
* Avoid new references in getReportChartData() return.
* Avoid some new references in ReportTable component.
* Avoid some new references, fix cache key for getReportChartData memoization.
* Memoize date package functions used in ReportTable.
* Avoid more new references in RevenueReportTable.
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
* 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
* 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
* 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
* 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
* 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>
* Display Razorpay for stores in India.
* Add Razorpay setup component.
* Remove composition with HoCs.
Refactor to use useSelect() and useDispatch() instead.
* Tweak useSelect() call.
* 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().
* 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.
* 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>