Commit Graph

1346 Commits

Author SHA1 Message Date
Seghir Nadir 90a7579461 Add Shipping settings to Cart block (https://github.com/woocommerce/woocommerce-blocks/pull/1561)
* add cart settings

* address typos

* update how settings should work

* get settings from woo and pass them to frontend

* reapply condition

* fix issue with attributes not presisting

* abstract shipping control

* rename constants

* update props in frontend

* fix bug with attributes not presisting

* conditionally display prices

* use country to decide to show prices

* disable shipping if shipping is not enabled

* enable coupons by default
2020-02-19 17:33:10 +01:00
Mike Jolley 6c954bdc5b Add support for image for product categories block (https://github.com/woocommerce/woocommerce-blocks/pull/1739)
* Add support for image for product categories block.

* Resolve feedback and style images, w/ thumbnails

* Toggle visibility of option based on list style

* Remove image size variable

* hasImage false by default

* reset styles

Co-authored-by: strarsis <strarsis@gmail.com>
2020-02-19 15:12:28 +00:00
Mike Jolley 2a25cfd0ed Implement browser autocomplete for checkout address fields (https://github.com/woocommerce/woocommerce-blocks/pull/1755)
* Add autocomplete support for textinput

* Add autocomplete fields to forms

* Prefix default ids

* Hack for autocomplete on custom select components

* Restore labels and avoid reset of state

* State field autocomplete

* Fix calculator autocomplete

* Simplify existance of hidden field

* move label on autofill preview in chrome

* Put back state clearance

Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2020-02-19 15:10:26 +00:00
Albert Juhé Lluveras 7b53486be3 Add loading state to shipping rates selector (https://github.com/woocommerce/woocommerce-blocks/pull/1764)
* Add loading state to shipping rates selector

* Add screenReaderLabel specific for ShippingRatesControl

* Rename LoadingComponent to LoadingMask
2020-02-19 11:51:15 +01:00
Albert Juhé Lluveras 8b7fa87b81 Add 2.5.12 and 2.5.13 changelog notes 2020-02-19 10:46:04 +01:00
Rua Haszard c13bd7e641 hook up cart items to API data in front end (https://github.com/woocommerce/woocommerce-blocks/pull/1741)
* hook up cart items to API data in front end (first cut)

* correctly decode entities in product attributes in cart:
+ support unnamed attributes

* correctly render markup in cart line item descriptions:
- description api field is html, so use dangerouslySetInnerHTML

* fix PropTypes - cartItems, not items

* hook up cart totals area to API data +
+ move editor preview totals data to resource-previews (to match API)

* tweak/tidy todo comments for cart front end

* use shorter summary field for cart line item blurb

* render empty cart inner blocks on front end when shopper cart is empty

* ensure empty cart doesn't show while cart contents is loading

* decode entities in attribute names when rendering cart items

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

* factor out cart data to a custom hook + exit earlier while loading

* wrap preview/sample cart variation data for translation

* use RawHTML component for rendering cart line item summary +
+ linter whitespace tweak

Co-authored-by: Albert Juhé Lluveras <aljullu@gmail.com>
2020-02-19 12:06:37 +13:00
Albert Juhé Lluveras bd6426ae84 Update WooCommerce tested version up to 4.0 (https://github.com/woocommerce/woocommerce-blocks/pull/1768) 2020-02-18 14:51:25 +01:00
Mike Jolley 2ef1209ed8 Implement last modified header for the products endpoint to allow for cache busting (https://github.com/woocommerce/woocommerce-blocks/pull/1647)
* Implement last modified header for the products endpoint.

* Invalidation handling

* Freshness

* indenting correction

* Remove freshness and resolve feedback for last modified handling

* Remove getCollectionTimestamp

* Move logic to resolver

* Handle state during INVALIDATE_RESOLUTION_FOR_STORE
2020-02-18 11:37:39 +00:00
Rua Haszard c8c6d4ec7b fix cart api total_price value (previously had '36' appended to front): (https://github.com/woocommerce/woocommerce-blocks/pull/1760)
- explictly request 'edit' context before converting to money response
- default 'view' response returns string with markup, which confuses
prepare_money_response()
2020-02-18 11:31:24 +00:00
Albert Juhé Lluveras 29a763d7de Shipping rates: decode entities (https://github.com/woocommerce/woocommerce-blocks/pull/1762) 2020-02-18 11:50:08 +01:00
Seghir Nadir 23f574911b adjust currency and add docs (https://github.com/woocommerce/woocommerce-blocks/pull/1757) 2020-02-18 09:32:53 +01:00
Rua Haszard 04141b7c43 update all block one-line descriptions to match documentation (https://github.com/woocommerce/woocommerce-blocks/pull/1750) 2020-02-18 11:02:59 +13:00
Mike Jolley 212abe0010 Validate proptypes as any element (https://github.com/woocommerce/woocommerce-blocks/pull/1737) 2020-02-17 16:45:27 +00:00
Mike Jolley d76c3e0714 Implement __experimentalCreateInterpolateElement for translations. (https://github.com/woocommerce/woocommerce-blocks/pull/1736)
* Improved placeholders of translatable string

* Improved one more string

* Include wordpress element package

* Implement __experimentalCreateInterpolateElement for translations

* Dump fragments

Co-authored-by: Claudio Sanches <contato@claudiosanches.com>
2020-02-17 16:31:55 +00:00
Mike Jolley 45119716ed Add catalog visibility arg to product query attributes (https://github.com/woocommerce/woocommerce-blocks/pull/1753)
* Add catalog visibility arg to product query attributes

* catalog visibility
2020-02-17 16:16:01 +00:00
Albert Juhé Lluveras 6736a9d94a Add ShippingCalculator component (https://github.com/woocommerce/woocommerce-blocks/pull/1559)
* Create ShippingCalculatorAddress block

* Make 'change address' button to open/close the address form

* Create ShippingCalculator component

* Use CountryInput and CountyInput instead of TextInputs

* Fix city value not being set

* Fix shipping rate not appearing when there was only one option

* Unify postalCode and postCode to postcode

* Rename 'county' to 'state'

* Add reset styles for popular themes

* Increase cart-frontend.js max size
2020-02-17 12:12:15 +01:00
Rua Haszard c08e7b54d3 link to docs.woocommerce.com from repo readme (https://github.com/woocommerce/woocommerce-blocks/pull/1749) 2020-02-17 10:49:36 +00:00
renovate[bot] 32ea106b3d Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/1742)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-17 10:47:22 +00:00
Darren Ethier 090dfc98e4 ensure travis is using php 7.3 for the linting job (https://github.com/woocommerce/woocommerce-blocks/pull/1740) 2020-02-14 15:16:58 -05:00
Albert Juhé Lluveras 69f49760a8 Create CountyInput component (https://github.com/woocommerce/woocommerce-blocks/pull/1727)
* Split CountryInput and Select

* Create County Input

* Show text input when there are no county options

* Reset county value when changing country

* Fix keyboard navigation

* Hide checkmark

* Add reset styles for several popular themes

* Add country prop to ShippingCountyInput
2020-02-14 13:30:33 +01:00
renovate[bot] 95abb4871a Update Node.js to v12.16.0 (https://github.com/woocommerce/woocommerce-blocks/pull/1723)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-14 11:14:46 +00:00
Darren Ethier cee8a23a0e fix composer config and regenerate composer.lock (https://github.com/woocommerce/woocommerce-blocks/pull/1732) 2020-02-14 11:04:10 +00:00
Albert Juhé Lluveras a30615e2cb Hook up shipping methods to API (https://github.com/woocommerce/woocommerce-blocks/pull/1468)
* Create ShippingMethodsControl component

* Hook up shipping methods to API

* Add support for several packages

* Add tests to useShippingRates

* Fix shipping_rates property name

* Only show the products list if there are several packages

* Use <FormattedMonetaryAmount> to display shipping rate prices

* Make 'country' optional in CartShippingRates

* Make CartShippingRate API return currency info

* Minor improvements

* Fix shipping fields hidden in editor

* Fix missing currency in Checkout shipping rates selector

* Add links to issues in @todo comments

* Improve ShippingRatesControl useEffect

* Remove unnecessary tab

* Remove unnecessary id in RadioControl

* API: Add error when country is invalid

* Debounce shipping rates API requests

* 'Country key' -> 'Country code'

* Don't display radio input when there is only one option

* Add message when there are no results

* Minor enhacements

* Remove unnecessary Fragment

* Simplify RadioControlOption export

* Refactor 'renderOptions' and split it into several components

* Prevent Card sidebar from taking too much width

* Move country request check outside of the loop

* Fix failing test
2020-02-14 04:43:13 +01:00
Mike Jolley 5684d4ae8a Update testPathIgnorePatterns (https://github.com/woocommerce/woocommerce-blocks/pull/1731) 2020-02-13 12:53:15 -05:00
Albert Juhé Lluveras 8297530e95 Fix ESLint error when commiting bin/webpack-helpers.js (https://github.com/woocommerce/woocommerce-blocks/pull/1729) 2020-02-13 14:16:16 +01:00
Albert Juhé Lluveras bd8bd4f009 Load countries in settings only when a block requires them (https://github.com/woocommerce/woocommerce-blocks/pull/1726) 2020-02-13 13:52:04 +01:00
renovate[bot] 2320b8aa75 Update babel monorepo (https://github.com/woocommerce/woocommerce-blocks/pull/1724)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-12 08:01:30 -08:00
renovate[bot] 173a83e524 Pin dependencies (https://github.com/woocommerce/woocommerce-blocks/pull/1722)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-12 07:55:38 -08:00
renovate[bot] 2e4e51b752 Update dependency commander to v4.1.1 (https://github.com/woocommerce/woocommerce-blocks/pull/1725)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-12 07:43:36 -08:00
Albert Juhé Lluveras 722599004a Change 'country' to 'country / region' label (https://github.com/woocommerce/woocommerce-blocks/pull/1721) 2020-02-11 18:33:41 +01:00
Mike Jolley 60d05aed19 Product search block e2e test (https://github.com/woocommerce/woocommerce-blocks/pull/1712)
* add docker files

* get tests to work

* remove irrelevant files

* add woocommerce as a dep

* remove eslintignore for tests

* undo travis chages till another PR

* remove local utils and call them directly from woocommerce

* remove travis db

* Block snapshot

* Test than the block can be inserted and interacted with

* Add snapshop

* Update snapshot

* rebase on master

* add a build script for just doing npm build on e2e tests

* just run build for e2e test job

Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-02-11 12:23:23 -05:00
Darren Ethier a7cd7d6b22 Fix wp-cli container permissions issues for e2e docker test environment (https://github.com/woocommerce/woocommerce-blocks/pull/1716)
* add docker files

* get tests to work

* remove irrelevant files

* change userAgent to chrome

* add woocommerce as a dep

* add jest to eslint

* remove eslintignore for tests

* undo travis chages till another PR

* remove local utils and call them directly from woocommerce

* update deps

* add setup files to run tests

* export default wp link

* wait for select before selecting

* remove travis db

* ignore e2e tests in unit testing

* add tests

* add docker commands

* always run composer

* Make it possible to import directly from '@woocommerce/e2e-tests/utils'

* remove installing woocommerce via composer.

* add more docker npm scripts

* add custom docker config for wp-cli

* add changes to docker-composer.yml

Includes reading environment variables from `.env`

* revert customizations to .travis.yml

* move main docker file for the wordpress container to bin

* fix travis config

* rename wp install for travis builds back to original name

* use a version of docker-compose that travis supports

* add minor change to try and force travis test run

* fix incorrect command

* copy composer lock from master

* only run phpcs on /src directory

* give time for host to spin up for e2e tests

* increase sleep for waiting on container

* make sure plugin is built before running tests

* sigh fix improper command usage

Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
Co-authored-by: Albert Juhé Lluveras <aljullu@gmail.com>
2020-02-11 11:13:20 -05:00
Albert Juhé Lluveras 85291159ae Fix Reviews blocks loading @wordpress/element in the frontend (https://github.com/woocommerce/woocommerce-blocks/pull/1719) 2020-02-11 15:41:50 +01:00
Albert Juhé Lluveras b5638ce87c Update Attribute Filter strings to ease translation (https://github.com/woocommerce/woocommerce-blocks/pull/1718) 2020-02-11 15:41:42 +01:00
renovate[bot] 4076d2d444 Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/1704)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-10 17:15:42 -05:00
renovate[bot] 43f56151cd Update wordpress monorepo (https://github.com/woocommerce/woocommerce-blocks/pull/1709)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-10 17:02:09 -05:00
renovate[bot] 1007aff626 Update dependency cross-env to v7 (https://github.com/woocommerce/woocommerce-blocks/pull/1710)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-10 16:47:41 -05:00
renovate[bot] 1e708d4ce7 Update dependency lint-staged to v10 (https://github.com/woocommerce/woocommerce-blocks/pull/1711)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-10 16:47:05 -05:00
renovate[bot] 0a6190c708 Update storybook monorepo to v5.3.12 (https://github.com/woocommerce/woocommerce-blocks/pull/1708)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-10 16:45:25 -05:00
renovate[bot] bfadae7bba Update dependency @babel/core to v7.8.4 (https://github.com/woocommerce/woocommerce-blocks/pull/1707)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-10 16:34:11 -05:00
renovate[bot] b5e9e1851c Pin dependency create-file-webpack to 1.0.2 (https://github.com/woocommerce/woocommerce-blocks/pull/1706)
Co-authored-by: WhiteSource Renovate <renovatebot@gmail.com>
2020-02-10 16:25:59 -05:00
Darren Ethier 66a8621187 use non-deprecated value for eslint on wcSettings global (and set to readonly) (https://github.com/woocommerce/woocommerce-blocks/pull/1713) 2020-02-10 08:54:57 -05:00
Seghir Nadir ce190a9c72 Add eslint to ensure correct usage of feature flag (https://github.com/woocommerce/woocommerce-blocks/pull/1696)
* introduce feature flags

* move config to webpack-helper

* remove package default

* add gating to frontendConfig and coreConfig

* add feature gating to PHP

* add flag to start command

* move code to Bootstrap.php

* remove flag from npm start

* add eslint rule

* add strict equal only rule

* update messages to use tokens

* update strictBinary to whitelistedFlag and add all tests

* update to correct messageId key

* add more tests

* highlight wrong flag
2020-02-10 14:24:15 +01:00
Seghir Nadir a39426495d Give Woo Icon special treatment by making it a component (https://github.com/woocommerce/woocommerce-blocks/pull/1702)
* fix broken woo icon

* treat woo icon in a special way

* fix propType typo
2020-02-10 14:24:02 +01:00
Darren Ethier 58867bc328 Check for instance of WooCommerce and WP_Error before initializing session and cart in `rest_authentication_errors` callback. (https://github.com/woocommerce/woocommerce-blocks/pull/1698)
* check for instance of WooCommerce before initializing session and cart

* fix invalid filter usage and include WP_Error check

* check for existence of instance method rather than WC instance itself
2020-02-05 22:45:09 +01:00
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