Commit Graph

1273 Commits

Author SHA1 Message Date
Seghir Nadir ad08e0e10b default-to-experimental-when-no-flag-is-present (https://github.com/woocommerce/woocommerce-blocks/pull/1700) 2020-02-05 19:40:10 +01:00
Seghir Nadir 8e3ac17585 Introduce feature flags (https://github.com/woocommerce/woocommerce-blocks/pull/1631)
* introduce feature flags

* move config to webpack-helper

* add flag to deploy command

* remove package default

* add cross-env

* add gating to frontendConfig and coreConfig

* exclude entries from being built on stable mode

* add feature gating to PHP

* add flag to start command

* add flags to travis

* add endpoints

* add better defaults for php

* move code to Bootstrap.php

* no need to spread single object

* ignore blocks.ini

* type check feature flag

* remove blocks.ini

* sanitize flag

* remove flag from npm start

* format condition

* keep spaces for package-lock.json

* check for env before going to block ini

* add env vars to travis

* whitelist env var
2020-01-31 21:04:37 +01:00
Seghir Nadir bfb2f33bfd add new icons and remove old ones (https://github.com/woocommerce/woocommerce-blocks/pull/1644)
* add new icons and remove old ones

* add docs

* add notes and remove gridicons

* update to folderStarred

* typos

* reorder imports

* update prop name to srcElement

* validate element

* fix bad import

* lowecase folderStarred

* add propTypes
2020-01-31 19:20:33 +01:00
Albert Juhé Lluveras 48c914ce4d Load core translations for PHP strings that don't have a translation (https://github.com/woocommerce/woocommerce-blocks/pull/1694)
* Load core translations for PHP strings too

* Fix accepted_args

* Make phpcs:ignore more precise
2020-01-31 15:28:18 +01:00
Mike Jolley ca8efd7c3e Add API fetch error handling (https://github.com/woocommerce/woocommerce-blocks/pull/1687)
* initial experiment for fetch error handling

* throw error from api response error (this allows for catching it in the stream)

* Add ERROR action type

* Controls: resolve with an error response object rather than throw exception

* remove try catch from resolver; just yield correct object based on presence of any errors

* Make the use collection hook return an error.

* Small tidy up in use-store-products

* Throw exception from Use Collection - useState is needed for the exception to work inside a hook (see comments)

* Show error code from API in error message

* Update assets/js/base/components/block-error-boundary/block-error.js

Co-Authored-By: Albert Juhé Lluveras <aljullu@gmail.com>

* Update assets/js/base/components/block-error-boundary/style.scss

Co-Authored-By: Albert Juhé Lluveras <aljullu@gmail.com>

* Remove comment

* Handle api error in boundry

* Use reject in promise

* Return error message by default which may be undefined (this is ok)

* Update mocks so tests pass again

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
Co-authored-by: Albert Juhé Lluveras <aljullu@gmail.com>
2020-01-31 13:01:34 +00:00
Mike Jolley 6e27805ca7 Re-organise docs and add WP update instructions (https://github.com/woocommerce/woocommerce-blocks/pull/1691)
* Move coding guideline and release docs to subdirectories

* Strip down contributing md to link to new docs

* Create main readme file to act as TOC

* Getting started and testing docs from contributing.md

* WP update testing checklist and docs for woocommerce/woocommerce-blocks#1285

* Update docs/contributors/smoke-testing.md

Co-Authored-By: Albert Juhé Lluveras <aljullu@gmail.com>

* link to svn doc

* Link to docs from readme

* Resolve feedback

* More consistent $ usage

Co-authored-by: Albert Juhé Lluveras <aljullu@gmail.com>
2020-01-31 12:48:11 +00:00
Mike Jolley b569f53083 Add and/or labelling to active filters block (https://github.com/woocommerce/woocommerce-blocks/pull/1630)
* Add And/or labelling

* Revised design

* Update assets/js/blocks/active-filters/utils.js

Co-Authored-By: Albert Juhé Lluveras <aljullu@gmail.com>

* Add prefix so name is not changed - fixes duplicate items

* Update BEM css classes

* Update styling to handle nested lists

* Remove extra padding within chips

Co-authored-by: Albert Juhé Lluveras <aljullu@gmail.com>
2020-01-31 10:15:22 +00:00
Rua Haszard 7f44458418 Basic storybook implementation (https://github.com/woocommerce/woocommerce-blocks/pull/1636)
* install & configure storybook (via magic npx script)

* fix indentation in storybook generated files

* eslint ignore generated storybook files (for now at least)

* unhide storybook folder, consistent with Gutenberg project

* demo story for one of our components (with no css/styles)

* hack in scss webpack config & add story for button:
- fixes scss imports breaking storybook build
- note scss / styling doesn't work yet
+ organise our component stories into folder

* git ignore storybook-static build folder

* pin dependencies for storybook

* piggy-back off main webpack config for storybook module.rules (for scss)

* use gutenberg (wp-components) styles in storybook

* use system font for storybook, consistent with wp-admin/gberg and reasonable default for components in front end

* add --ci flag to prevent storybook opening new browser tab…
- see also https://github.com/storybookjs/storybook/issues/6201

* rename default stories to Default (following Gutenberg pattern)

* add story for ErrorPlaceholder

* failing ProductPreview story (committing to PR as an example for discussion)

* storybook for components/icons

* fix aliased dependencies in components for storybook:
append our webpack aliases to storybook webpack config

* basic story for PriceSlider (looks right but interaction broken)

* fix PriceSlider user interaction:
- PriceSlider expects client to handle onChange and pass in new min/max

* add comment about priceslider max/min (todoish)

* remove default stories from storybook scaffolding

* organise stories by module (aka folder in codebase)

* package-lock update after rebase

* remove unnecessary ignores (default stories are gone)

* delete experimental/risky/broken stories:
- icons components are changing in woocommerce/woocommerce-blocks#1644
- we need to refactor/do more work to get ProductPreview working (settings globals)

* remove unnecessary import

* clarify PriceSlider component intended usage comment in story

* remove redundant wrapper divs from stories

* add common storybook addons (used by Gutenberg storybook)

* rebuild package.lock after rebase

* remove unnecessary wrapper div

* package fixes after rebase

* add configuration for storybook source loader

* add decorators for a11y and knobs plugins

* remove unnecessary react import & import useState from WP

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-01-31 09:59:14 +13:00
renovate[bot] dd53b1779b Update wordpress monorepo (https://github.com/woocommerce/woocommerce-blocks/pull/1666)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-30 13:16:52 +01:00
renovate[bot] 2e78ff6187 Update dependency rimraf to v3.0.1 (https://github.com/woocommerce/woocommerce-blocks/pull/1664)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-30 12:07:06 +01:00
renovate[bot] 35c0d176df Update npm to v6.13.7 (https://github.com/woocommerce/woocommerce-blocks/pull/1665)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-30 11:58:28 +01:00
renovate[bot] 3f982ab71c Update dependency eslint-config-prettier to v6.10.0 (https://github.com/woocommerce/woocommerce-blocks/pull/1663)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-30 11:57:52 +01:00
renovate[bot] 3306726a35 Update dependency downshift to v4.0.8 (https://github.com/woocommerce/woocommerce-blocks/pull/1662)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-30 11:53:34 +01:00
renovate[bot] c13449d5e6 Pin dependencies (https://github.com/woocommerce/woocommerce-blocks/pull/1661)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-30 11:53:22 +01:00
Albert Juhé Lluveras c8f297a700 All Products & filters accessibility improvements (https://github.com/woocommerce/woocommerce-blocks/pull/1656)
* Add aria-label to All Products ratings

* Add specific screen reader text to some buttons

* Increase All Products regular price color constrast

* Remove invalid CSS declaration

* Make styleint-disable comment more specific

* Attributes Filter: make input non-focusable if we display the 'change filter' button

* Improve translator documentation

* Hide price slider from screen readers if price inputs are enabled

* Linting fixes

* Price slider: make it non-focusable if input fields are displayed

* All Products: announce how many products were found

* All Products: announce when a filter is removed

* Revert "All Products: announce when a filter is removed"

This reverts commit 2c861bf1b988155313ad44bafbcaf3f4f1549296.

* Pagination component: improve screen reader texts

* Filter submit button: improve screen reader texts

* Remove unnecessary text

* Improve comment

* Use %d for numeric values

* Add label and screenReaderLabel props to FilterSubmitButton component
2020-01-30 11:04:39 +01:00
Albert Juhé Lluveras aa4bc302a5 Replace three dots with an ellipsis in Product Search placeholder (https://github.com/woocommerce/woocommerce-blocks/pull/1672) 2020-01-30 10:28:17 +01:00
Mike Jolley 29600c501f Summary/description consistency update (https://github.com/woocommerce/woocommerce-blocks/pull/1639)
* Audit atomic block labels

* Add summary, descrtiption, and short description to API and use for summary block

* Add summary to cart item api

* Respect short description

* Tweak label of summary block

* Revert product rating label

* One description vs 3

* Update sample content with more appropriate values, and match in cart items sample

* Move summary generation to class

* Tests

* Prevent extending `ProductSummary`

* Tweak $paragraph handling

* More accurate word counting

* add tear down for filter
2020-01-29 10:59:33 +00:00
Mike Jolley b65b93e7e7 Rename the "Align Buttons" option for the All Products Block (https://github.com/woocommerce/woocommerce-blocks/pull/1659)
* Allow css to work for any element

* Rename option to specific last block rather than button
2020-01-29 10:28:40 +00:00
Mike Jolley e1538395be CSS naming convention docs (https://github.com/woocommerce/woocommerce-blocks/pull/1653)
* Move github specific MD files and config to .github directory.

* Create security.md file

* Add docs directory (and exclude from builds)

* Add code of conduct MD

* Move release docs to /docs directory

* Add css guidelines

* Feedback

* Modifier example

* Clarify package naming

* descendant...
2020-01-28 15:50:57 +00:00
Darren Ethier db14accc64 Update changelog script. (https://github.com/woocommerce/woocommerce-blocks/pull/1655)
This pull:

- removes zenhub option from package.json
- installs and implement `merge-config` package. This allows for usage of environment variables and command line variables along with `package.json` configuration for the changelog generation.
- implements new variable: `devNoteLabel` for indicating what label indicates the pull has (or requires) a devnote. Pull Requests with this label will have `[DN]` appended to the changelog entry.
- adds new variable: `changelogSrcType` for indicating what source to use for generating changelogs (can be `MILESTONE` or `ZENHUB_RELEASE`). Implemented detection of this in code, defaults to `MILESTONE`.
- Modify initial setup text so if user already has api key(s) setup, then we don't give instructions again. Also improve the output when keys aren't set to make it clear what needs done.
- Make the environment variable for Zenhub Api token consistent with Github token (`ZH_API_TOKEN` instead of `ZH_API_KEY`).
- Update package.json with changelog script variation for running it with zenhub release as the source.
- Update `RELEASE.md` docs to clarify changelog script options
- Add a `README.md` doc for the changelog script.
2020-01-28 08:47:26 -05:00
Darren Ethier 7c83133337 Update renovate to assign `type: dependencies` label for pulls (https://github.com/woocommerce/woocommerce-blocks/pull/1648)
* update renovate to assign `type: dependencies` label for pulls

* Fix invalid json from bad cut/paste

* Update renovate.json

Include skip-changelog label for renovate pulls.
2020-01-27 10:37:09 -05:00
Mike Jolley dcf5bfa67e Fix RTL price slider display issues (https://github.com/woocommerce/woocommerce-blocks/pull/1651)
* Fix slider image direction with RTL

* Fix track position under RTL
2020-01-27 15:16:19 +00:00
renovate[bot] ee83b0f86a Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/1649)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-27 13:07:57 +00:00
Albert Juhé Lluveras 7f048ec9c4 Product grid blocks: display rating stars in the editor (https://github.com/woocommerce/woocommerce-blocks/pull/1650) 2020-01-27 13:56:32 +01:00
Mike Jolley 022cd10e08 remove issue label bot config
Closes woocommerce/woocommerce-blocks#1643
2020-01-27 12:02:18 +00:00
Darren Ethier af2178df55 Update CODEOWNERS
Assign code review to @woocommerce/merch-squad instead of @woocommerce/blocks
2020-01-27 06:41:45 -05:00
Darren Ethier d54340a90e Only populate default attributes on initial mount of block. (https://github.com/woocommerce/woocommerce-blocks/pull/1640)
* Avoid looping through attributes after defaults have been set.

* remove extra method I missed and fix when state updates happen

* don’t update state if we’re not in woo blocks

This prevents non woo blocks from being re-rendered unnecessarily with the state update.

* avoid re-renders and use class property instead
2020-01-24 11:53:15 -05:00
Mike Jolley 00c700655f Add renovate config to avoid pinning `jetpack-autoloader` package (https://github.com/woocommerce/woocommerce-blocks/pull/1632)
* Switch jetpack-autoloader in package.json to use a range

* Update rangeStrategy for jetpack autoloader in renovate config

* Switch to bump range strategy
2020-01-24 16:50:06 +00:00
Albert Juhé Lluveras 2014e6f1e2 Reorganize dependencies in package.json (https://github.com/woocommerce/woocommerce-blocks/pull/1633)
* Reorganize dependencies in package.json

* Move '@wordpress' entries back to devDependencies
2020-01-24 13:00:11 +01:00
Albert Juhé Lluveras ab51bffaa0 All Products: fix 'Add to Cart' in IE11 (https://github.com/woocommerce/woocommerce-blocks/pull/1642)
* All Products: fix 'Add to Cart' in IE11

* Default Event to null
2020-01-23 19:32:48 +01:00
Mike Jolley 24d2600d43 Move default population to class function instead of using constructor (https://github.com/woocommerce/woocommerce-blocks/pull/1638) 2020-01-23 14:11:15 +00:00
Rua Haszard dd6afe0c70 remove tangential questions todo section (https://github.com/woocommerce/woocommerce-blocks/pull/1635) 2020-01-23 10:35:58 +13:00
Albert Juhé Lluveras 069b42dc39 Make 'Add order notes?' string localizable (https://github.com/woocommerce/woocommerce-blocks/pull/1629) 2020-01-22 21:35:29 +01:00
Rua Haszard e83819281c Document release process (https://github.com/woocommerce/woocommerce-blocks/pull/1614)
* draft release process!

* ensure info in CONTRIBUTING is in release doc, remove section & add link

* fix link to release doc

* tweaks / typos / formatting after re-read

* tweak mia/follow up section title to more standard @todo

* add getting started docs for repo/dev tooling (required for releasing!)

* add intro sentence + link to required node versions + fix some grammar errors, heading level

* tweaks based on Timmy feedback:
- link to a real changelog commit
- add git pull to unambiguously illustrate "get on tip of branch"
- recommend multiple testers
+ sanity check => confidence check

* mention jetpack-autoloader

* reinstate "updating specific file on WPORG" section

* flesh out "release to wporg" so tools are more transparent +
+ add steps for testing/validating WPORG release

* clarify major / minor / patch process differences +
+ roughly define versions
+ mention Zenhub (tbc)

* clarification: cherry picking is patch releases only +
+ clarify readme update outcome

* tweaks & typos after reading start=>finish

* clarify versions info + tidy links in WPORG validate section

* tweaks & typos from Aljullu feedback

* flesh out pre-release testing steps:
- test oldest supported WP
- test existing blocks content / validation errors
- ALL of the testing steps are recommended :)
2020-01-23 08:48:35 +13:00
Mike Jolley d1737e76c2 Change default rows for product grid blocks to 3 (https://github.com/woocommerce/woocommerce-blocks/pull/1613)
* Change default rows to 3

* Handle all products rows change via deprecation

* Prevent errors if object is undefined

* HOC to set default attribute values

* Separate default attributes from attribute definitions

* Filters to set defaults

* Fix deprecation so attributes are not reordered

* Move flters to index file and limit which blocks are affected

* Fix object assign

* Use typeof for undefined checks

* Move hoc to filter file so it has context

* Fix up comment

* Avoid mutating props

* Prevent multiple `attributes` by cloning props

* Force attributes to be saved to HTML in a specific order, and handle migration

* useEffect to set attributes and avoid prop mutation

* Switch to class component
2020-01-22 16:58:25 +00:00
Mike Jolley d3003bd07a Fix price filter for products when stored prices do not match displayed prices (tax settings) (https://github.com/woocommerce/woocommerce-blocks/pull/1612)
* Tax handling for price filters

* Tidy clauses logic

* DRY

* Reduce queries for tax classes

* clearer adjust_price_filters_for_displayed_taxes conditonal

* Remove unused method

* Add safety check for or_queries

* exit earlier
2020-01-22 14:46:52 +00:00
renovate[bot] 4b9d10c591 Update dependency node-sass to v4.13.1 (https://github.com/woocommerce/woocommerce-blocks/pull/1623)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-22 11:19:48 +01:00
renovate[bot] 48b510646f Update dependency downshift to v4.0.7 (https://github.com/woocommerce/woocommerce-blocks/pull/1621)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-22 11:19:40 +01:00
renovate[bot] ebcc98f43a Update dependency eslint-plugin-jest to v23.6.0 (https://github.com/woocommerce/woocommerce-blocks/pull/1622)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-22 11:19:13 +01:00
renovate[bot] 88a9b686b9 Pin dependency @wordpress/html-entities to 2.5.0 (https://github.com/woocommerce/woocommerce-blocks/pull/1620)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-22 11:00:50 +01:00
Rua Haszard f34ac3c48c Update readme (on master) with 2.5.11 changelog 2020-01-21 09:30:12 +13:00
Mike Jolley 69a509f184 Improved cart styling for desktop and mobile (https://github.com/woocommerce/woocommerce-blocks/pull/1587)
* Style mobile qty selector

* Add dedicated column for image and remove duplicate elements

* Tweak column headers

* Refactor cart styles to use CSS grid, and use nesting for organisation

* adjust column widths

* Remove unused div

* Fix wrapping and flexbox styles

* Add decodeEntities to alt attribute

* Use % basis

* Tweak min widths
2020-01-20 16:43:22 +00:00
Albert Juhé Lluveras e607ce2d1a Preserve query key order in All Products (https://github.com/woocommerce/woocommerce-blocks/pull/1611) 2020-01-20 13:04:13 +01:00
renovate[bot] ae3c3189d2 Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/1607)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-20 12:48:57 +01:00
Mike Jolley 8b28a77f01 Consistent HTML entities in Store API (https://github.com/woocommerce/woocommerce-blocks/pull/1597)
* Wrap HTML responses with helper method

* Remove unused get_attribute_taxonomy_name method

* Create prepare_html_response method

* Decode product and attribute names

* Check is_scalar to leave objects alone
2020-01-19 19:19:59 -05:00
Seghir Nadir 7e81841e83 Fix issue in order by date (https://github.com/woocommerce/woocommerce-blocks/pull/1598)
* fix order by of date order in products
2020-01-20 00:00:43 +01:00
Rua Haszard d7be99b520 fix issue when user re-selects same attr when setting up filter block: (https://github.com/woocommerce/woocommerce-blocks/pull/1596)
- exit early if there's no selected attr passed in
2020-01-20 07:58:26 +13:00
Albert Juhé Lluveras 09f2c626f9 Make TextInput respect prefers-reduced-motion preference (https://github.com/woocommerce/woocommerce-blocks/pull/1588)
* Make TextInput respect prefers-reduced-motion preference

* Reverse prefers-reduced-motion check
2020-01-18 10:39:13 +01:00
Albert Juhé Lluveras cad3e72769 Create CountryInput component (https://github.com/woocommerce/woocommerce-blocks/pull/1585)
* Create initial CountryInput component

* Create ShippingCountryInput

* Create BillingCountryInput

* Make backgrounds white

* Correctly align options

* Add CSS resets for 20xy themes

* Fix wrong defaults in countries constants

* Make CountryInput respect 'prefers-reduced-motion'

* Reverse prefers-reduced-motion check

* Set max-width to CountryInput dropdown

* Use decodeEntities to print country names

* Avoid unnecessary JSON enconding and later parsing

* Make sure country name is also encoded when selected

* Fix countries default value
2020-01-17 17:58:08 +01:00
Rua Haszard eaa6b42d89 UI for removing cart items (not including hooking up to API) (https://github.com/woocommerce/woocommerce-blocks/pull/1579)
* correct typography styles for remove link (based on design)

* add trashcan icon from material icons, for removing cart items on mobile

* add & style trash icon for remove cart item on mobile

* a11y - use darker grey for trashcan icon button to improve contrast

* rename IconDelete -> IconTrash

* remove unnecessary div

* use <button> for remove action buttons + add link-button scss mixin

* fix editor styles for cart line items - total column should be right-aligned

* fix various visual issues with cart line items table in editor:
- rows should align hard left and right (first/last child no padding)
- totals should be align-bottom on small screen
- correct vertical padding on column headings
- re-add row border separator lines
2020-01-17 13:46:56 +00:00
Seghir Nadir 4a8c57fbe1 Focus on Full Cart mode after inserting (https://github.com/woocommerce/woocommerce-blocks/pull/1582)
* focus on the cart main block
2020-01-17 13:23:33 +01:00
Mike Jolley 9842986cd8 Add `low_stock_remaining` field to cart items API (https://github.com/woocommerce/woocommerce-blocks/pull/1583)
* add low_stock_remaining field

* Update tests
2020-01-17 11:46:17 +00:00
Mike Jolley 253a0160f1 Validate store API schema in unit tests (https://github.com/woocommerce/woocommerce-blocks/pull/1553)
* Add schema validation helper

* Add tests for cart item schema

* Fix schema errors found by tests

* Add tests and fix validation for remaining store API endpoints

* Tweak response for nested diffs

* Array syntax

* Improved nesting and type validation for schema

* Implement and fix type checking across test suite

* Type validation fixes

* Fix null comparison

* Fix array handling

* Switch to number type and support in validation

* Test the tests

* Update tests to use objects which match schema, avoiding JSON encode/decode
2020-01-17 11:34:15 +00:00
Rua Haszard f3e4fc2bd4 fix react runtime js error when all products productLink=off: (https://github.com/woocommerce/woocommerce-blocks/pull/1593)
- renderedSalesAndImage is a js var holding react element;
- don't surround with (), converts to obj { renderedSalesAndImage: bla }
2020-01-17 09:50:48 +13:00
Rua Haszard eb2baf6a84 add product short description to cart/items api (https://github.com/woocommerce/woocommerce-blocks/pull/1552)
* add product short description to cart/items api

* leave short description as plain text + use default trim length (200)

* strip html and shortcodes from product short description

* limit cart line item short description to max 75 chars

* add normalize_whitespace to trim extra newlines in short description

* retrieve product description & truncate consistent with products API
2020-01-17 08:51:39 +13:00
Mike Jolley 0e752e9e0d Introduce view switcher component for the cart block (https://github.com/woocommerce/woocommerce-blocks/pull/1576)
* View switcher on cart block

* Dedicated component and styling

* Views and selected should be required

* Rename to ViewSwitcher

* Implement views via render prop

* Remove defaults for required props
2020-01-16 14:50:48 +00:00
Albert Juhé Lluveras 3f0368e63b Checkout: Fix city input field showing country value (II) (https://github.com/woocommerce/woocommerce-blocks/pull/1580) 2020-01-16 12:31:00 +01:00
renovate[bot] dfc963b545 Pin dependencies (https://github.com/woocommerce/woocommerce-blocks/pull/1567)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-15 15:19:06 +00:00
Mike Jolley 86b8b7779c Add Quantity selector component for cart line items (https://github.com/woocommerce/woocommerce-blocks/pull/1558)
* Implement quantity selector component

* Improve default appearance

* Remove underline

* Add aria speak

* Improved keycode handling

* Add focus styles to buttons and inputs

* Increase constrast
2020-01-15 11:32:54 +00:00
renovate[bot] 8f73d68904 Update dependency css-loader to v3.4.2 (https://github.com/woocommerce/woocommerce-blocks/pull/1571)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-15 10:20:06 +01:00
renovate[bot] fa188ecc85 Update babel monorepo to v7.8.3 (https://github.com/woocommerce/woocommerce-blocks/pull/1568)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-15 10:19:51 +01:00
renovate[bot] 1f8e0ffcdf Update dependency autoprefixer to v9.7.4 (https://github.com/woocommerce/woocommerce-blocks/pull/1569)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-15 10:19:31 +01:00
renovate[bot] 095b992c75 Update dependency core-js to v3.6.4 (https://github.com/woocommerce/woocommerce-blocks/pull/1570)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-15 10:15:02 +01:00
renovate[bot] 5b13fc2b1a Update dependency downshift to v4.0.5 (https://github.com/woocommerce/woocommerce-blocks/pull/1572)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-15 10:12:04 +01:00
Rua Haszard 5c85ee23cf follow up fixes on cart low stock warning badge (https://github.com/woocommerce/woocommerce-blocks/pull/1564)
* rename low stock prop inside lineitem to avoid unnecessary renders

* remove unnecessary span in low stock warning badge
2020-01-15 12:54:32 +13:00
Rua Haszard 86dca691e5 show discount on cart line items & price styling (https://github.com/woocommerce/woocommerce-blocks/pull/1548)
* show discount on cart line items (no styling)

* style line item discount badge + use correct colors for prices

* show full price inline on mobile

* move all responsive tweaks for cart prices to explicit breakpoints

* add nowrap to FormattedMoneyAmount so prices don't ever wrap

* fix misaligned full price on mobile when prices are large (edge case):
- if price strings are long, the full price stacks above line total
- previous right-margin on full price showed prices misaligned

* allow client code to add class(es) to FormattedMonetaryAmount

* add nowrap so discount badge doesn't wrap

* remove unnecessary span from discount badge +
+ more explicit `display` style for different price column elements
2020-01-15 09:52:42 +13:00
Rua Haszard b9bfef0ba4 show low stock warning badge on cart line items (incl fake test data) (https://github.com/woocommerce/woocommerce-blocks/pull/1557) 2020-01-15 09:50:32 +13:00
Albert Juhé Lluveras 11a033d862 Make RadioControl id optional (https://github.com/woocommerce/woocommerce-blocks/pull/1563) 2020-01-14 21:21:29 +01:00
Albert Juhé Lluveras 1dfcb18a90 Make TextInput id optional (https://github.com/woocommerce/woocommerce-blocks/pull/1560) 2020-01-14 20:10:50 +01:00
Rua Haszard f23dee503f show product details in cart line items: attributes (variations), product short description (https://github.com/woocommerce/woocommerce-blocks/pull/1549)
* show product variation attributes in cart line item + styling:
+ adjust font sizes & colors to match design

* show product description in cart line items…
- this commit also adds descriptions to test cart-items data
- note API does not currently return description/excerpt

* add a class to product attributes to allow custom styling
2020-01-14 12:07:52 +13:00
Seghir Nadir 5c82b2d718 add fieldset and legend to FormStep component (https://github.com/woocommerce/woocommerce-blocks/pull/1400)
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-01-13 10:21:20 -05:00
Darren Ethier 22f423866e fix errors caused by demo payment methods (https://github.com/woocommerce/woocommerce-blocks/pull/1547) 2020-01-13 10:08:14 -05:00
Darren Ethier a50dab39fc Improve changelog script (https://github.com/woocommerce/woocommerce-blocks/pull/1543)
The changelog script now has the following:

- constructed more modularly for easier maintenance.
- removed coupling to blocks repository so it can be used in more contexts (potentially publishing as it's own package).
- switched to use github v4 api (graphql) to reduce number of requests (reducing the likelihood of hitting api limits)
- added support for zenhub releases instead of github milestones for what pulls to derive changelog from.
2020-01-13 10:06:32 -05:00
renovate[bot] 6540a751e0 Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/1550)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-01-13 13:28:28 +00:00
Albert Juhé Lluveras fa25989c0f Remove 'wc-vendors-frontend' registration (https://github.com/woocommerce/woocommerce-blocks/pull/1546) 2020-01-10 20:31:58 +01:00
Albert Juhé Lluveras 6c806bacac Remove vendors-frontend from Webpack config (https://github.com/woocommerce/woocommerce-blocks/pull/1544)
* Remove vendors-frontend from Webpack config

* Increase cart-frontend.js bundlewatch limit

* Remove 'wc-vendors-frontend' from Cart block dependencies
2020-01-10 20:21:14 +01:00
Mike Jolley 5926a56602 Add Empty Placeholder for the on-sale product block (https://github.com/woocommerce/woocommerce-blocks/pull/1519)
* Add EmptyResponsePlaceholder for on sale block

* Linting

* Address feedback
2020-01-10 14:40:15 +00:00
Albert Juhé Lluveras bd2b8cb279 Add Cart totals to Cart block (https://github.com/woocommerce/woocommerce-blocks/pull/1411)
* Add Cart totals to Cart block

* Accessibility improvements

* Load vendors styles separately

* Use same shipping placeholders for cart and checkout

* Refactor how we import @wordpress/components styles so only panel styles are imported

* Remove style-loader from vendors styles build process

* Add htmlFor attribute to TotalsCouponCodeInput

* Update totalItems shape to match API

* Fix wrong total items shape using numbers instead of strings

* Rename wc-blocks classes to wc-block

* Remove unnecessary parseInt()

* Add radix to parseInt()

* Rename totalRows to totalRowsConfig

* Move placeholder content out of the component

* Use Card component for cart's sidebar (https://github.com/woocommerce/woocommerce-blocks/pull/1423)

* Use Card component for cart's sidebar

* Split RadioControl component

* No need to use Label in RadioControlOption

* Remove no longer valid @todo comment

* Use 'checked' prop instead of 'selected' in RadioControlOption

* Rename wc-blocks classes to wc-block

* Rename wc-blocks classes to wc-block (II)

* Make sure radio control ids are unique using withComponentId

* Load PanelBody and PanelRow from last version of @wordpress/components

* Create vendors-frontend.js file

* Load wordpress-component instead of @wordpress/components from <Button> component

* Only load 'withRestApiHydration' HOC

* Make vendors-frontend a dependency of cart-frontend script

* Revert "Only load 'withRestApiHydration' HOC"

This reverts commit 9f9b9759a98047b26e7d8f04189ffe78c1d5bb06.

* Fix fieldset background
2020-01-10 15:37:27 +01:00
Mike Jolley 0150681c4b REST API - Cart Order API (https://github.com/woocommerce/woocommerce-blocks/pull/1425)
* Checkout/order WIP schema

* Add _address suffix for billing/shipping

* Rename schema, update endpoints, create tests

* Fix POST in test

* Fix test response checks

* Stock reservation and draft order status

* Add todo for shipping lines

* Readme

* Rename address fields in readme

* 10 min timeout of stock

* Fix broken test

* Update src/RestApi/StoreApi/Controllers/CartOrder.php

Co-Authored-By: Darren Ethier <darren@roughsmootheng.in>

* Add typehinting where possible

* Remove explicit pass by reference

* Further typehinting

* Clarify todo comment

* Validate product instances

* Specific phpcs exclusion rule

* Exclusion rule

* Move ReserveStock code to class

* Correct shipping-rates schema to shipping_rates

* Save shipping rates and lines if included with request

* Insert todo for shipping rate code

* Calculate shipping and selected shipping from order properties, not global cart properties

* Prevent error when shipping is not needed

* Update API readme

* Added tests for stock reserve class

* Fixes conflicts with draft statuses

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-01-10 13:53:16 +00:00
Albert Juhé Lluveras f339e28310 Fix prices showing two currencies in some occasions (https://github.com/woocommerce/woocommerce-blocks/pull/1515) 2020-01-10 11:22:09 +01:00
Albert Juhé Lluveras 016b6b97ec Rename wc-blocks to wc-block classname prefix (https://github.com/woocommerce/woocommerce-blocks/pull/1541) 2020-01-10 10:42:53 +01:00
Albert Juhé Lluveras aa1d8e3e56 Fix Attribute Filter not reacting to query changes (https://github.com/woocommerce/woocommerce-blocks/pull/1540) 2020-01-10 10:42:37 +01:00
Rua Haszard 0763655d42 Cart block: line-items front end initial work (https://github.com/woocommerce/woocommerce-blocks/pull/1333)
* render block on front end, add `Shopping cart` heading (baby steps)

* fake data for editing full cart + show line count in header

* add note about core/html using `is-active` class for toggle state

* reinstate work-in-progress full cart component (lost in rebase)

* reinstate full cart from master

* component for full cart title & item count + margin tweaks:
- add margin between main cart & sidebar
- add margin after cart block

* add cart items sample data + factor sample product image to module

* use sample cart data for item count

* basic table of cart line items (no styling)

* prettification

* show images for cart line items + initial table styling

* cart quantity selector component (work in progress)

* use state for cart product quantity, allow incr/decr from UI (WIP)

* replace WIP custom quantity control with number edit (temporary)

* correctly format cart line item total price

* align cart item columns with headings + indent image on desktop

* tweak css for cart line item padding on mobile so it's more explicit

* show cart line item full price if discounted

* add placeholder for cart remove item link

* switch cart table to flex layout (was table)…
This will allow us to move things around for mobile/responsive layout.

* only show cart items table header on desktop

* more cart items styling - row borders, appropriate padding +
+ move image width to variable
+ fix class name plurality for row (item not items)

* use standard $gap instead of 1em for padding/margins

* responsive (mobile) layout for cart line items:
- shift line $ total to bottom right
- stack quantity selector in product info column

* remove extraneous cart table padding on mobile

* comment about unused styles for quantity selector component

* add follow up issue for todo

* remove inappropriate href

* render srcset & sizes for cart line item product image

* remove todo comment

* switch back to table markup for cart items (in progress):
- table is more semantic, associates headers with columns

* cart line items column widths - product column is larger (60%)

* reinstate table row borders

* bottom-align line item price on mobile

* cart contents heading should be H2 + prettify

* remove unused QuantitySelector code/styles, rename main class in line with BEM

* defaults for QuantitySelector props

* variable/property name tidies - match conventions/API

* fix bug: line total price is only bottom-align on small screen

* move QuantitySelector to root of components, intended to be generally useful

* use lineItem directly for cart, specify shape in PropTypes

* rename cart components to align with "line item" rather than "product"

* rejig class names to better align with new component names & BEM style

* show cart item image correct size:
- use single column for product image and info, with flex container
- specify image width (rem instead of px)

* fix safari issue - cart product images displaying vertically stretched

* shift product name left margin from image, to account for no-image case

* experiment: bump bundlewatch size limit for cart temporarily:
- our fake data inline image is heavy
- when we switch to real API we will no longer need it

* fix issue introduced when moving margin from image to details div:
- product details needs margin on left (not right)

* fix react props issues:
- explicitly destructure image props for srcSet (vs srcset)
- use API key field for line item key instead of id, fix duplicate test id
- CartLineItemsTable takes an array of lineItems (incorrect PropTypes)

* remove redundant divs + use conventional `null` (when no full price)

* override editor styles to ensure cart product image is correct size

* move cart items editor style override to editor.css

* add an explicit readable heading for cart heading to match visual layout
2020-01-10 11:50:14 +13:00
Albert Juhé Lluveras 24fba4880b Fix minor issues with TextInput component (https://github.com/woocommerce/woocommerce-blocks/pull/1523)
* Set default value to TextInput component

* Set TextInput label transition origin

* Set default onChange function prop to noop

* Fix wrong propType name

* Remove default onChange and set it required
2020-01-09 19:06:49 +01:00
Albert Juhé Lluveras 17ad820f0c Update contributors usernames to match .org 2020-01-09 16:59:17 +01:00
Albert Juhé Lluveras 5abcae8204 readme.txt updates: contributors and minimum PHP version (https://github.com/woocommerce/woocommerce-blocks/pull/1524)
* Update list of contributors

* Update minimum PHP version
2020-01-09 16:15:23 +01:00
Albert Juhé Lluveras 937d4a35bc Add 2.5.10 changelog 2020-01-09 15:51:20 +01:00
renovate[bot] 16da8d64b8 Update dependency downshift to v4 (https://github.com/woocommerce/woocommerce-blocks/pull/1511)
Co-authored-by: Renovate Bot <renovatebot@gmail.com>
2020-01-09 11:11:16 +01:00
Darren Ethier b68b66542b add padding zeros to displayed prices (https://github.com/woocommerce/woocommerce-blocks/pull/1520) 2020-01-08 15:10:29 -05:00
renovate[bot] 988ba8d29c Update dependency eslint-plugin-jest to v23.3.0 (https://github.com/woocommerce/woocommerce-blocks/pull/1509)
Co-authored-by: Renovate Bot <renovatebot@gmail.com>
2020-01-08 11:24:33 +00:00
renovate[bot] 253ee458cf Update dependency yargs to v15.1.0 (https://github.com/woocommerce/woocommerce-blocks/pull/1510)
Co-authored-by: Renovate Bot <renovatebot@gmail.com>
2020-01-08 11:18:27 +00:00
renovate[bot] bc3099263b Update dependency css-loader to v3.4.1 (https://github.com/woocommerce/woocommerce-blocks/pull/1508)
Co-authored-by: Renovate Bot <renovatebot@gmail.com>
2020-01-08 10:53:47 +00:00
renovate[bot] 4b8cf4421c Update dependency core-js to v3.6.2 (https://github.com/woocommerce/woocommerce-blocks/pull/1507)
Co-authored-by: Renovate Bot <renovatebot@gmail.com>
2020-01-08 10:49:20 +00:00
Albert Juhé Lluveras 4be59b5ad1 Add ESLint radix rule (https://github.com/woocommerce/woocommerce-blocks/pull/1512) 2020-01-08 10:48:43 +00:00
Albert Juhé Lluveras 41633e136c Fix withFeedbackPrompt JSDoc definition (https://github.com/woocommerce/woocommerce-blocks/pull/1513) 2020-01-08 10:48:35 +00:00
renovate[bot] 3edab98ebc Update Node.js to v12.14.1 (https://github.com/woocommerce/woocommerce-blocks/pull/1506)
Co-authored-by: Renovate Bot <renovatebot@gmail.com>
2020-01-08 10:48:05 +00:00
renovate[bot] 5ad8cec320 Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/1490)
Co-authored-by: Renovate Bot <renovatebot@gmail.com>
2020-01-08 10:35:55 +00:00
Darren Ethier 6ebf232b7a update readme.txt changelog after 2.5.9 release. 2020-01-07 15:15:18 -05:00
Darren Ethier 01e5398564 remove duplicate application of taxes to price display for grouped products (https://github.com/woocommerce/woocommerce-blocks/pull/1505) 2020-01-07 10:48:32 -05:00
Albert Juhé Lluveras 1d95c11f60 All Products: fix variable products subtracting taxes in some configurations (https://github.com/woocommerce/woocommerce-blocks/pull/1503)
* All Products: fix variable products substracting taxes in some configurations

* Use get_variation_prices tax-formatted prices

* Move 'price_function' definition to a more specific scope
2020-01-07 14:34:28 +01:00
Darren Ethier 8627b81c16 Add payment method api and components to checkout steps (https://github.com/woocommerce/woocommerce-blocks/pull/1349)
This adds a payment methods api to the checkout block that allows for extension to register payment methods with the block.
2020-01-06 17:28:09 -05:00
Albert Juhé Lluveras 44f70d8438 Fix Cart buttons misalignment in Firefox (https://github.com/woocommerce/woocommerce-blocks/pull/1446) 2020-01-06 12:46:00 +01:00
Albert Juhé Lluveras 604a22da32 Show grouped products with tax rate (https://github.com/woocommerce/woocommerce-blocks/pull/1493) 2020-01-06 11:29:36 +01:00
Albert Juhé Lluveras e082a14e3b Rename checkout classes from 'wc-blocks-xyz' to 'wc-block-xyz' (https://github.com/woocommerce/woocommerce-blocks/pull/1449)
* Rename checkout classes from 'wc-blocks-checkout' to 'wc-block-checkout'

* Rename form components classes from 'wc-blocks-checkout' to 'wc-block-checkout'

* Rename 'wc-components' class names to 'wc-block'
2020-01-03 15:23:49 +01:00
Albert Juhé Lluveras 892a56364c Fix empty cart inner blocks disabled (https://github.com/woocommerce/woocommerce-blocks/pull/1447) 2020-01-03 15:22:50 +01:00
Albert Juhé Lluveras 57a8f0303d Readme changelog format fixes 2020-01-02 19:09:38 +01:00
Albert Juhé Lluveras 48bbd507d1 Add 2.5.7 and 2.5.8 changelog notes 2020-01-02 18:44:01 +01:00
Albert Juhé Lluveras 0a78174d25 Checkout: Fix city input field showing country value (https://github.com/woocommerce/woocommerce-blocks/pull/1467) 2020-01-02 17:36:56 +01:00
Albert Juhé Lluveras 5701f7d6c9 Price filter: allow any numeric input (https://github.com/woocommerce/woocommerce-blocks/pull/1457)
* Price filter: allow any numeric input in inputs

* Price filter: allow negative numbers in input fields (https://github.com/woocommerce/woocommerce-blocks/pull/1458)

* Price filter: allow negative numbers in input fields

* Always update input fields based on minPrice and maxPrice

* Don't default values to 0
2020-01-02 14:07:59 +01:00
Albert Juhé Lluveras 03bfa7d5a5 Remove outdated comments from useStoreProducts (https://github.com/woocommerce/woocommerce-blocks/pull/1466) 2020-01-02 14:00:50 +01:00
Albert Juhé Lluveras a538771bc1 Make price slider accurately represent the selected price independently from step (https://github.com/woocommerce/woocommerce-blocks/pull/1453) 2020-01-02 12:10:41 +01:00
Albert Juhé Lluveras 604bfb76cb Update Node.js to v12.13.0 (https://github.com/woocommerce/woocommerce-blocks/pull/1459)
* Update Node.js to v12.13.0

* Remove npm rebuild

Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2020-01-02 10:51:17 +01:00
renovate[bot] 52a3fdb3f6 Update wordpress monorepo (https://github.com/woocommerce/woocommerce-blocks/pull/1465) 2020-01-02 09:53:46 +01:00
renovate[bot] d988644ea0 Update dependency eslint-plugin-jest to v23.2.0 (https://github.com/woocommerce/woocommerce-blocks/pull/1461) 2020-01-02 09:53:19 +01:00
renovate[bot] dd6763c929 Update npm to v6.13.4 (https://github.com/woocommerce/woocommerce-blocks/pull/1464) 2020-01-02 09:49:31 +01:00
renovate[bot] cdad0233af Update dependency webpack to v4.41.5 (https://github.com/woocommerce/woocommerce-blocks/pull/1463) 2020-01-02 09:49:02 +01:00
renovate[bot] ad5a619abd Update dependency stylelint to v12.0.1 (https://github.com/woocommerce/woocommerce-blocks/pull/1462) 2020-01-02 09:47:54 +01:00
renovate[bot] 8d755ff53e Update dependency eslint-config-prettier to v6.9.0 (https://github.com/woocommerce/woocommerce-blocks/pull/1460) 2020-01-02 09:46:04 +01:00
Albert Juhé Lluveras e7a12cf28c Uninstall style-loader (https://github.com/woocommerce/woocommerce-blocks/pull/1445) 2019-12-31 10:08:55 +01:00
renovate[bot] 7e3a02e3b2 Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/1448) 2019-12-30 15:19:23 +01:00
renovate[bot] e68df332b1 Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/1434) 2019-12-25 12:47:14 +01:00
renovate[bot] 2c2736c8fb Update dependency @babel/core to v7.7.7 (https://github.com/woocommerce/woocommerce-blocks/pull/1436) 2019-12-25 12:46:50 +01:00
renovate[bot] 9aff4db748 Update dependency @octokit/rest to v16.36.0 (https://github.com/woocommerce/woocommerce-blocks/pull/1437) 2019-12-25 12:46:22 +01:00
renovate[bot] cc0ee50685 Update dependency core-js to v3.6.1 (https://github.com/woocommerce/woocommerce-blocks/pull/1438) 2019-12-25 12:45:08 +01:00
renovate[bot] c73f5b6898 Update dependency eslint to v6.8.0 (https://github.com/woocommerce/woocommerce-blocks/pull/1439) 2019-12-25 12:44:47 +01:00
renovate[bot] 4ab46dbb7f Update dependency mini-css-extract-plugin to v0.9.0 (https://github.com/woocommerce/woocommerce-blocks/pull/1440) 2019-12-25 12:44:36 +01:00
renovate[bot] dbad049a6b Update dependency style-loader to v1.1.1 (https://github.com/woocommerce/woocommerce-blocks/pull/1441) 2019-12-25 12:44:22 +01:00
Mike Jolley 9b51a824d2 Store API: Add customer endpoints (https://github.com/woocommerce/woocommerce-blocks/pull/1417)
* Add schema/GET endpoint

* Customer data updates + create tests

* Update docs

* Unused method

* Use ID from the customer object, rather than checking logged in user

* PHP 5.6 incompatibility
2019-12-20 16:07:53 +00:00
Garrett Hyder 21f1d03199 Fix double 'yet yet' (https://github.com/woocommerce/woocommerce-blocks/pull/1421)
Found during translation of WooCommerce 
Permalink - https://translate.wordpress.org/projects/wp-plugins/woocommerce/dev/en-ca/default/?filters%5Bstatus%5D=either&filters%5Boriginal_id%5D=8771164&filters%5Btranslation_id%5D=68202906
2019-12-20 10:35:08 +01:00
Seghir Nadir aaddf13494 Add type to checkout input fields (https://github.com/woocommerce/woocommerce-blocks/pull/1401)
* add input type

* fix css issues with types and better change default position
2019-12-19 13:59:34 +01:00
Seghir Nadir cf495a775e Fix Price Filter constraints by rounding up and down (https://github.com/woocommerce/woocommerce-blocks/pull/1419)
* fix problem with price not rounding up right

* add test
2019-12-19 13:52:49 +01:00
Albert Juhé Lluveras 548b2b80a9 Update filter blocks descriptions to explain they only work with the All Products block (https://github.com/woocommerce/woocommerce-blocks/pull/1420) 2019-12-19 13:46:30 +01:00
Mike Jolley 15dbc627c1 Store API: Add cart coupon endpoints (https://github.com/woocommerce/woocommerce-blocks/pull/1378)
* Correct docblock

* Implement coupons endpoint with add/delete/get functionality

* Add totals

* Use money formatting

* Added tests for new endpoints

* Add coupons to main cart endpoint and update docs to match

* Fix indenting in readme

* is_a to instanceof

* Update coupon_exists logic

* Documentation/tidy class

* Update currency responses for coupon totals w/ tests
2019-12-19 12:41:34 +00:00
Seghir Nadir ca506d0a48 fix translation quantities (https://github.com/woocommerce/woocommerce-blocks/pull/1415)
* fix translation quantities

* update i18n comments and add variable
2019-12-19 10:22:53 +01:00
Mike Jolley cfe55418b1 Translator string feedback (https://github.com/woocommerce/woocommerce-blocks/pull/1412)
* Translator comments need to immedietely precede strings

* Add some extra context to "chips"
2019-12-18 12:59:22 +00:00
Seghir Nadir 25ea48d2ae Update Contributors.md for releasing a new minor version (https://github.com/woocommerce/woocommerce-blocks/pull/1403)
* change doc to update branch

* add example
2019-12-18 11:30:03 +00:00
Mike Jolley 6a47b2232a More API price formatting and currency handling (https://github.com/woocommerce/woocommerce-blocks/pull/1394)
* Consistent currency data and formatting for product prices

* Consistent get_store_currency_properties usage

* Update tests with schema changes

* min_price and max_price to subunit format

* Product query of min and max prices using subunit

* Cart item totals

* Collection data schema object and currency data inclusion

* Handle subunits and new API in product prices

* Update price slider to format numbers using library and new API responses for subunits

* Product query of min and max prices using subunit

* Fix indents in readme

* Add todo for currency formatting

* Handle step for subunits, fixes min/max constraints

* Handle subunit conversion on display, using consistent currency object and wrapped NumberFormat component.

* Prettier ran

* Update usePriceConstraints tests so rounding doesn't make all values be 0

* Rename to minorUnitValue

* Move currencyToNumberFormat to index file

* siteCurrencySettings to constant rather than function

* remove cents term

* cents->minor unit

* typo in todo note

* Switch to FormattedMonetaryAmount

* Formatting

* wrong case
2019-12-18 11:29:20 +00:00
renovate[bot] 47d695b7ad Update dependency @octokit/rest to v16.35.2 (https://github.com/woocommerce/woocommerce-blocks/pull/1407) 2019-12-18 10:51:46 +01:00
renovate[bot] c053ea1846 Update Node.js to v10.18.0 (https://github.com/woocommerce/woocommerce-blocks/pull/1406) 2019-12-18 10:25:27 +01:00
renovate[bot] 963118fd23 Pin dependency bundlewatch to 0.2.5 (https://github.com/woocommerce/woocommerce-blocks/pull/1405) 2019-12-18 10:24:51 +01:00
renovate[bot] 840562d846 Update dependency core-js to v3.5.0 (https://github.com/woocommerce/woocommerce-blocks/pull/1408) 2019-12-18 10:24:26 +01:00
renovate[bot] 81397f5d39 Update dependency css-loader to v3.4.0 (https://github.com/woocommerce/woocommerce-blocks/pull/1409) 2019-12-18 10:24:05 +01:00
renovate[bot] 6c7becc9fb Update dependency downshift to v3.4.8 (https://github.com/woocommerce/woocommerce-blocks/pull/1410) 2019-12-18 10:23:36 +01:00
Seghir Nadir fe57c3c76e update changelog 2019-12-17 20:51:58 +01:00
Seghir Nadir f7553be57a update changelog (https://github.com/woocommerce/woocommerce-blocks/pull/1404) 2019-12-17 20:50:13 +01:00
Mike Jolley 9470caed80 Remove extra colon in active filter widget (https://github.com/woocommerce/woocommerce-blocks/pull/1399) 2019-12-17 18:32:32 +01:00
Darren Ethier c285bb853f mark atomic blocks as side-effect free. (https://github.com/woocommerce/woocommerce-blocks/pull/1402) 2019-12-17 18:32:08 +01:00
Darren Ethier b38c45787a fix incorrect property name for price format (https://github.com/woocommerce/woocommerce-blocks/pull/1397) 2019-12-17 10:25:37 +00:00
Albert Juhé Lluveras 506f964463 Update several blocks so they don't support HTML edition (https://github.com/woocommerce/woocommerce-blocks/pull/1395) 2019-12-17 09:38:31 +01:00
Seghir Nadir d58712ee2b Add Checkout Form components (https://github.com/woocommerce/woocommerce-blocks/pull/1351)
* initial commit at fields

* add radio control

* change input to be uncotrolled

* tweak styles

* populate block with boilerplate

* update aria in radio

* remove comment

* fix typo

* add missing colors

* put reminder to put Disabled back

* wrap text in i18n __

* reorder styles

* rename wc-components to wc-blocks

* use value instead of index for keys

* add no shipping placeholder

* change isEditor default to false

* fix problem with responsive
2019-12-16 23:13:41 +01:00
Albert Juhé Lluveras af5af78266 Price filter: preserve previous constraints while loading (https://github.com/woocommerce/woocommerce-blocks/pull/1386)
* Typo

* Save previous constraint while loading

* Add tests for formatPrice

* Small code refactor

* Refactor usePriceConstraints to DRY and add tests

* Add base-hooks to jest config
2019-12-16 17:48:02 +01:00
Albert Juhé Lluveras 77bb23bf32 Add Feedback Prompt in Cart & Checkout blocks sidebar (https://github.com/woocommerce/woocommerce-blocks/pull/1356)
* Add Feedback Prompt in Cart & Checkout blocks sidebar

* Add border

* Move getInspectorControls out of the component function

* Move feedback prompt to a HOC

* Add @todo comment to feedback link

* Use filter for withFeedbackPrompt

* Export withFeedbackPrompt from hocs index.js

* Typo

* Try moving the feedback texts to context

* Revert "Try moving the feedback texts to context"

This reverts commit 21f889b021ceea6fef722efab9663799829bc769.

* Revert "Use filter for withFeedbackPrompt"

This reverts commit 96bba029d61a383eafa2c0a1c08f7988e319b50d.

* Set feedback text in the HOC function

* Use arrow-function to simplify code

* Refactor
2019-12-16 15:59:16 +01:00
Albert Juhé Lluveras 6d383bee73 Fix Attribute Fiter count misalignment (https://github.com/woocommerce/woocommerce-blocks/pull/1391) 2019-12-16 14:58:29 +01:00
Albert Juhé Lluveras ec77f88a72 Reformat files (https://github.com/woocommerce/woocommerce-blocks/pull/1389) 2019-12-16 14:58:19 +01:00
Darren Ethier 25c32dff45 make sure we only allow one cart/checkout block per page/post (https://github.com/woocommerce/woocommerce-blocks/pull/1384) 2019-12-16 08:27:17 -05:00
Albert Juhé Lluveras a4be92ec15 Always filter attribute filters based on price filter (https://github.com/woocommerce/woocommerce-blocks/pull/1390) 2019-12-16 14:04:19 +01:00
Darren Ethier 80d76944cc account for default orderby changes in editor (https://github.com/woocommerce/woocommerce-blocks/pull/1385) 2019-12-16 07:35:13 -05:00
Darren Ethier 10c27e928d Only allow one instance of the All Products block per page/post. (https://github.com/woocommerce/woocommerce-blocks/pull/1383)
* only allow one instance of the all products block per page.

* limit filter blocks to one instance per page/post
2019-12-16 07:31:38 -05:00
Darren Ethier 762caa5aae Fix messaging when there are no attributes (https://github.com/woocommerce/woocommerce-blocks/pull/1382) 2019-12-16 07:28:03 -05:00
renovate[bot] 2b1767482a Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/1387) 2019-12-16 08:29:08 +01:00
Darren Ethier 5ac157b14a Normalize set minPrice and maxPrice values by step (https://github.com/woocommerce/woocommerce-blocks/pull/1379)
* normalize set minPrice and maxPrice values by step

* follow standards for comment blocks
2019-12-13 16:54:35 -05:00
Albert Juhé Lluveras 5485e4c51c Use wc_review_ratings_enabled() API function to check if review ratings are enabled (https://github.com/woocommerce/woocommerce-blocks/pull/1374) 2019-12-13 18:13:11 +01:00
Mike Jolley 901e996cc5 Add money formatting to API responses (https://github.com/woocommerce/woocommerce-blocks/pull/1367)
* Implement basic version of MoneyValue with decimal conversion

* Implement MoneyValue in cart classes

* Add minor unit to schema

* Update tests

* Add tests

* Tweak minor unit description

* Replace pow

* Dump rounding mode and use constant values

* Only return strings

* prepare_money_response method

* Update types back to string

* Remove unnecessary parentheses

* Feedback; force integer rounding mode to prevent notices
2019-12-13 15:37:11 +00:00
Albert Juhé Lluveras 810341d084 Add Cart block checkout button (https://github.com/woocommerce/woocommerce-blocks/pull/1366) 2019-12-12 20:46:56 +01:00
Albert Juhé Lluveras b5791d9c53 Rename SubmitButton to FilterSubmitButton (https://github.com/woocommerce/woocommerce-blocks/pull/1369) 2019-12-12 20:16:39 +01:00
Albert Juhé Lluveras bd4b57074e Load ErrorPlaceholder CSS only in the editor (https://github.com/woocommerce/woocommerce-blocks/pull/1368) 2019-12-12 20:16:11 +01:00
Rua Haszard e5bc742853 add pricing discount info to cart line items api (https://github.com/woocommerce/woocommerce-blocks/pull/1325)
* add more pricing detail to cart line items api:
- total line price, before any coupon/discount
- saving, aka discount amount (if any)
- boolean if saving > 0

* add new cart price info properties to schema

* tidy field naming – line subtotal=pre discounts, line total=discounted

* remove saving / discount fields from API – could be calculated on client

* return numbers (not string) for price fields

* rename API field "price" to product price for clarity

* fix schema type for total fields (now float)

* Total descriptions in schema

* Format all costs as strings to follow core rest api

* Add totals to cart schema

* Update tests

* tax_lines
2019-12-12 10:31:25 +00:00
Darren Ethier 5800aca3db Try bundlewatch (https://github.com/woocommerce/woocommerce-blocks/pull/1365)
* remove bundlesize config

* install bundlewatch and add config

* tighten config file

* fix pattern for vendors file
2019-12-11 11:30:54 -05:00
Darren Ethier 1cd70ae760 Configure travis to only run on master or release branches (does not affect pull builds) 2019-12-11 10:04:25 -05:00
Darren Ethier cd25b1be07 Install bundlecop and configure in package.json size-check script (https://github.com/woocommerce/woocommerce-blocks/pull/1364)
* install bundlecop and configure in package.json size-check script

* update js doc to test bundlecop

* uninstall bundlesize package
2019-12-11 09:58:49 -05:00
Darren Ethier d153ecad2e Fix increase in some bundle sizes (https://github.com/woocommerce/woocommerce-blocks/pull/1363)
* import svg directly to avoid pulling all dependencies

* revert unnecessary change with sideEffects figured out.

* add sideEffects to package json.

This results in a ~60% reduction in bundle sizes!
2019-12-11 07:29:09 -05:00
Darren Ethier 0c09e791ad Fix asset namespacing for cart and checkout blocks - round three! (https://github.com/woocommerce/woocommerce-blocks/pull/1357)
* tweak registration of block script so that handle can be customized

* implement new custom handles for checkout and cart blocks
2019-12-11 10:18:00 +01:00
renovate[bot] 9c17dff473 Update dependency @babel/core to v7.7.5 (https://github.com/woocommerce/woocommerce-blocks/pull/1359) 2019-12-11 10:11:17 +01:00
renovate[bot] 5f6507d6ba Update dependency core-js to v3.4.8 (https://github.com/woocommerce/woocommerce-blocks/pull/1360) 2019-12-11 10:11:12 +01:00
renovate[bot] 8e310e3d6e Update dependency css-loader to v3.3.0 (https://github.com/woocommerce/woocommerce-blocks/pull/1361) 2019-12-11 10:10:56 +01:00
renovate[bot] 0fec59027d Pin dependency @wordpress/scripts to 6.0.0 (https://github.com/woocommerce/woocommerce-blocks/pull/1358) 2019-12-11 10:09:53 +01:00
Mike Jolley 5a1bbbefb9 Update NPM dependencies and script dependency handling (https://github.com/woocommerce/woocommerce-blocks/pull/1337)
* Update NPM packages

* Switch JSON dependencies to new PHP files

* include->require

* include->require

* Remove from package and run audit fix

* Update wp-prettier

* Use version from asset file

* Fix eslint issues and test failures

* Update OriginalComponent docblocks

* Props are objects, not arrays

* Array to Object

* fix tests throwing unhandled rejection errors in node.

These tests were all testing Promise.rejects but then not properly catching the reject in the assertions.

* exclude rule for no short array syntax allowed

This is a WordPress core standard that we choose to ignore because it’s silly in our context to follow that rule (and we’re being consistent with WooCommerce Admin).
2019-12-10 12:17:46 -05:00
Mike Jolley 21eb9aac8c Added instructions for handling release branches (https://github.com/woocommerce/woocommerce-blocks/pull/1352)
* Added instructions for handling release branches

* Update test about version bumps

* master text

* Upper case Package.php
2019-12-10 16:20:41 +00:00
Albert Juhé Lluveras bf260b0838 Add Empty Cart View with inner blocks (https://github.com/woocommerce/woocommerce-blocks/pull/1350)
* Add Empty Cart View with inner blocks

* Add logic so empty cart is always saved and only displayed when cart is empty

* Make cart hidden until the correct display is loaded

* Add missing propTypes

* Remove is-loading class

* Import InnerBlocks from @wordpress/block-editor

* Add explanation for always rendering EmptyCart in the editor
2019-12-10 16:41:57 +01:00
Mike Jolley a753cbb25c Store API: Add shipping rate api (https://github.com/woocommerce/woocommerce-blocks/pull/1344)
* Add basic controllers

* Schema

* Collections

* Updated schema

* Remove package ID

* Destination handling

* Destination validation

* Rename method for extra clarity

* Tests

* RestContoller type

* typos

* Fix object/array definitions

* Fix shipping-rate definition

* Fix tests

* Add docs

* Tweak description
2019-12-10 13:54:18 +00:00
Albert Juhé Lluveras c346870842 Update changelog with 2.5.3 release (https://github.com/woocommerce/woocommerce-blocks/pull/1355) 2019-12-10 11:29:58 +00:00
Darren Ethier 0286c2d751 Fix broken cart & checkout blocks due to inconsistent block names between server side and client side registration (https://github.com/woocommerce/woocommerce-blocks/pull/1353)
* remove unnecessary suffix on chunk names

* don’t change block name, just add prefix to handle.
2019-12-09 15:50:49 -05:00
Darren Ethier a0b4d9b798 improve cart and checkout block namespacing (https://github.com/woocommerce/woocommerce-blocks/pull/1343) 2019-12-09 14:05:05 -05:00
Mike Jolley 2f91921214 Fix package init for WooCommerce 3.9 (https://github.com/woocommerce/woocommerce-blocks/pull/1335)
* Update Domain/Package so plugin file is not required, only a path.

* remove WC_BLOCKS_PLUGIN_FILE constant and add more inline docs

* Update tests

* Remove WC_BLOCKS_PLUGIN_FILE constant
2019-12-09 16:44:28 +00:00
Albert Juhé Lluveras 0fa4dd05a5 Add 'Go' button to Attribute Filter (https://github.com/woocommerce/woocommerce-blocks/pull/1332)
* Add 'Go' button to Attribute Filter

* Code cleanup

* Fixes

* Avoid onSubmit being called in the editor

* Update attributes help texts

* Fix wrong input check box width
2019-12-06 16:36:55 +01:00
Seghir Nadir 58d4d73b51 Introduce Checkout Form skeleton and Checkout Form Step Component (https://github.com/woocommerce/woocommerce-blocks/pull/1329)
* introduce form steps

* add last step

* add prop types

* fix css color variable naming

* add label for a11y

* use :last-child

* white space

* use direct args in classnames

* typo

* rename ids for steps

* fix line height to match title

Co-Authored-By: Albert Juhé Lluveras <aljullu@gmail.com>

* heading-content

* rename css var

* move vars to file

* move components within file

* move imports

* rename prop name to kebabCase

* update prop name

* make components responsive with storefront

* fix some compatiblity problems with 2020

* battle in the CSS ground

* move import to correct place

* turn stepHeadingContent to render prop

* styling
2019-12-06 14:18:55 +01:00
Rua Haszard 6afd947631 allow merchant to toggle cart empty/full modes in block editor (https://github.com/woocommerce/woocommerce-blocks/pull/1327)
* allow merchant to toggle cart empty/full modes in block editor

* use text `Button` for empty/full toolbar buttons

* fix highlighting of current cart state (empty/full) in editor:
- use new custom TextToolbarButton for empty/full mode buttons

* use color variables from css/abstracts/_colors

* Update assets/js/components/text-toolbar-button/index.js

Co-Authored-By: Seghir Nadir <nadir.seghir@gmail.com>

* fix className now props is separated out
2019-12-06 10:08:48 +13:00
Albert Juhé Lluveras 578ddbe94d Minor code style fixes in All Products blocks (https://github.com/woocommerce/woocommerce-blocks/pull/1330) 2019-12-05 17:03:31 +01:00
Mike Jolley b6e278e84f Add `low_stock_remaining` field to product API (https://github.com/woocommerce/woocommerce-blocks/pull/1319)
* Add get_low_stock_remaining field

* Typehinting
2019-12-05 15:09:25 +00:00
Albert Juhé Lluveras aa43840f13 Add 'AND' display format to Attribute filter dropdown (https://github.com/woocommerce/woocommerce-blocks/pull/1309)
* Add 'AND' display format to Attribute filter dropdown

* Add translators comments

* Remove 'assertive' from speak calls

* Wrap some functions in useCallback

* Only filter available filters if style=list and query=and

* Show placeholder in AND query type

* Add default cursor to list-item elements

* Fix issues with 20xx themes

* Fix issues with 20xx themes (II)
2019-12-05 14:58:44 +01:00
renovate[bot] 2c31eb2c25 Update dependency css-loader to v3.2.1 (https://github.com/woocommerce/woocommerce-blocks/pull/1316) 2019-12-04 09:04:55 +01:00
renovate[bot] 780171af56 Update dependency autoprefixer to v9.7.3 (https://github.com/woocommerce/woocommerce-blocks/pull/1314) 2019-12-04 09:04:44 +01:00
renovate[bot] d6fc110913 Update dependency core-js to v3.4.7 (https://github.com/woocommerce/woocommerce-blocks/pull/1315) 2019-12-04 09:04:31 +01:00
renovate[bot] 274e971220 Update dependency eslint to v6.7.2 (https://github.com/woocommerce/woocommerce-blocks/pull/1317) 2019-12-04 09:04:22 +01:00
renovate[bot] 0c819caf73 Pin dependency downshift to 3.4.3 (https://github.com/woocommerce/woocommerce-blocks/pull/1313) 2019-12-04 09:03:40 +01:00
Albert Juhé Lluveras 41374cf5ea Fix price slider layout in narrow columns 2019-12-03 21:18:11 +01:00
Seghir Nadir 88d20ba018 change bundle size limit to 400 (https://github.com/woocommerce/woocommerce-blocks/pull/1310) 2019-12-03 15:40:43 +01:00
Seghir Nadir ee1cdf7e0d Skeleton Checkout block (https://github.com/woocommerce/woocommerce-blocks/pull/1308)
* add checkout block

* prevent block from loading in wrong page

* remove block limitation

* exclude file from build

* rename todo

* remove fragment

* move files

* refactor example file
2019-12-03 15:12:46 +01:00
Rua Haszard 8e2b94fd69 Skeleton shopping cart block (https://github.com/woocommerce/woocommerce-blocks/pull/1306)
* basic empty cart block

* use a real placeholder for placeholder editor content

* remove unnecessary Fragment

* updates to config and frontend script

* enqueue frontend script

* add example config to block registration

* change name typo
2019-12-03 08:57:56 -05:00
Albert Juhé Lluveras f7c807a0c6 Add dropdown display style to Attribute Filter block (https://github.com/woocommerce/woocommerce-blocks/pull/1255)
* Add dropdown display style to Attribute Filter block

* Unify filter blocks margin

* Show attribute label inside dropdown input

* Minor CSS reorganization

* Refactor code to smaller files

* Preserve input values on blur

* Only save data-display-style if it's different than 'list'

* Remove inputRef prop in DropdownSelectorInputWrapper

* Accessibility: fix missing label

* Prevent input field being unselected when removing an item with the backspace

* Remove isLoading styles and don't set isDisabled when it's not actually disabled

* Accessibility: increase color contrast

* Add package-lock.json

* Prevent input field being unfocused when removing an item with its chip card

* Don't show menu when input is unfocused
2019-12-03 14:39:11 +01:00