* Add “attribute selection” step before allowing terms to be selected
* Update query builder
* Use shortcode to render block
* Styling for child list items
* Add ResizeableBox wrapper to component to adjust height
* Use the fixed height on the front end display of the block
* Fix display of resize handle
* Allow the default & min featured product heights to be customized by setting a new theme support keyword, `featured_block`.
* Use `min-height` on the front end display, so content is not clipped on smaller screens
* Add a wrapper div to the content, to prevent it from breaking out of the block display
* Add placeholder image for product preview
This adds the designated placeholder image url from settings into the
wcSettings global for the blocks to use. Then uses the placeholder url
when a product doesn't have any images.
* Updated based on review notes
Using `$block_settings` instead of `$settings`
Using '' alt tag
Updated snapshot
* Add the placeholder global to test that it passes through to the preview
* Add a new LayoutControl component
* Use new LayoutControl to handle rows & columns settings
* Fix errors when rows or columns is empty (silently fall back to default to prevent breaking the block)
* Rename `LayoutControl` to `GridLayoutControl`
* Remove the babel makepot & pot-to-php scripts
These aren’t needed because WP.org will now pull from JS files for glotpress translations.
* Remove pot file from gitignore
* Update the translation file with strings in new JS files
* Automatically build the translation files when building the JS files
* Reorganize script+style registration so that all files for each block are grouped together
* Bundle the finished translations into the plugin
* Fix untranslated strings
* Remove the edit-blocks dependency from featured product CSS file (https://github.com/woocommerce/woocommerce-blocks/pull/342)
* Add media icon to toolbar, save selected media ID and src as attributes
* Use the selected image instead of the product image, if set
* Unset the selected image when a new product is selected
* Add splitchunks to webpack config to combine node_modules imports into a vendors script
* Move legacy CSS into legacy folder
* Get components css without needing to use relative path
* Add vendors css file
* Update search list item padding
* Fix search list item radio alignment
* Star icon: Material -> Dashicons
* Featured product min height
* placeholder icon + explanation of explicit height value
* Fix linter errors
* Remove unnecessary Icon from block registration
* Remove the star icon
* Add classnames package
* Add background image & initial styles
* Only show inspector controls when not in edit-mode
* Add overlay color + opacity controls
* Add content alignment
* Fix display of content
* Add content toggles
* Update styles from feedback
* Display the "Featured Product" block on the frontend (https://github.com/woocommerce/woocommerce-blocks/pull/310)
* Add render_callback to dynamically render product
* Set a size for the product description
* Remove fallback placeholder image
* Reset the background color for the placeholder component
Previously this was overriding storefront's custom background color CSS
* Update nested conditional
* Remove unnecessary style
* "Featured Product" Block: Add link to the product to the block (https://github.com/woocommerce/woocommerce-blocks/pull/311)
* Featured Product Block: Add link to the product to the block
* Add a better link label for screen reader users
* Match core button styles, fix alignment of button-link
* Add a prop to turn on “single choice” mode
* Create new ProductControl to select a single product
* Remove align from shared attributes
This is given to us by default for using supports.align
* Add Featured Product block
* Fix spelling mistake & copy-paste issue
* Fix lint warning
* Add featured product script to build process, register block in PHP
This lets us use the functionality of `register_block_type` to automatically enqueue the scripts and styles used by blocks in the editor, and eventually, styles on the frontend as well. Also adds cssnano to minify our CSS.
* Add products by attributes tests
* Add new properties to Products endpoint args
Allows for requesting a combination of attribute terms across different attributes.
* Unskip working tests
* Prevent Products by Category from showing all products when no category is selected
* Update string when no categories are selected
* Update button text
* Revert button change, Done is more appropriate
* Add ProductsControl component to search and select products
* Add “Hand-picked Products” block
* Update hand-picked & new product icons
* Prevent API request when no products are selected
* Remove rows setting
* Update shortcode/query helpers for the handpicked products
* Remove shortcode from post if no product IDs are passed
Rendering a shortcode with `ids=‘’` will show all products, as if the ids param wasn’t there. The expected outcome would be no products are shown, we we achieve by removing the shortcode.
* Remove unused rows attribute
* Update accessible spoken notice
* Add a variable to hold whether there are selected products
* Fix copy-paste comments
* Add initial attribute selector control
* Make the attribute group name unselectable
* Update selected map to reflect attribute syntax
* Add the attributes selector to the product category block
* Update copy-paste comment
* Update variable name to be more clear
* Move & rename the attribute selector in Products by Category
* Reorganize the API calls to fetch attributes + attribute terms
* Add new SearchListItem component
Extract the custom functionality from product categories, for re-use in product attributes
* Fix error when no breadcrumbs are set
* Update snapshot
* Remove unnecessary key
* add newest products block
* update class name in index.js and product-new.js
* Add a new WooCommerce block category and include all blocks within.
* Fix shortcode product order
* Show block category on all post types
* Add core breakpoint 480px, remove non-core breakpoints
* Add the optional operator & save callback
* Add the catOperator as a valid attribute
* Enable cat operator for Products by Category
* Add cat_operator support the products API endpoint
* Enable cat_operator in the shortcode and query utils
* Pluralize the “nothing found” string if we have multiple categories
* Fix style in the inspector panel
* Add category operator support to the Best Sellers product block
* Add cat_operator support to On Sale Products block
* Update label & margin
* Move from a JS file per block registration to one file registering all blocks
This will let webpack combine shared libraries, like gridicons
* Move global block settings to the “before all scripts” section
These shouldn’t be tied to a specific block file, since they’re used across all blocks
* Register both block types
We can also remove the scripts, since we enqueue these below
* Update getShortcode & getQuery to handle different block types
* Pass block type name to getQuery
* Update shared attributes - edit_mode is not a universal option, but categories will be
Categories is shared, but orderby is not
* Add “Best Selling Products” block
* Add a shared class name for product grid blocks
* Fix failing tests
* Update display name in wp-admin
* Update minimum WP in readme.txt
* Bump version in wp-admin
* Disable “dev mode” for release
* Updating plugin name
* Update version constant
* Don’t commit disabling dev mode
* Update textdomain in JS files
* Update textdomain in PHP files
* Add babel plugin to create pot & php files from JS
* Update textdomain in plugin header
* Update translations after rebase
* Always show the selected tags section, with a min-height to prevent jumping when selecting tags
* Only show the “clear all” button if there are selected items
* Update snapshot tests
* Update height for sidebar category selection
* Add buildTermsTree to handle hierarchical list input
* Append items if their parent is not in the given list
* Add `breadcrumbs` property to hierarchical list
* Display the “breadcrumbs” parent categories when searching
* Use display properties
we’re providing alternative text for screen reader users, so we can just toggle display values for the prefix
* Add all parent categories to name provided for screen readers
* Display parent category when parent is a currently selected item
* Add the depth class to items in defaultRenderItem
* Add a test for a hierarchical item list
* Clean up hierarchy docblock & commented-out code
* Update proptype
* Update depth CSS so we still indent very nested categories
* Included PHPCS and git hooks
* Fixed coding standards
* New Products endpoint
* Fixed product controller schema
* Improved products controller schema and response
* New product categories controller
* Updated REST API base to match WooCommerce authentication
* Fixed products/categories endpoint
* Better docblock
* Product attributes controller
* Product attribute terms controller
* Update REST API urls
* Reverted PHPCS changes
* Check permission only once while fetching posts
* Included raw price
* Included sku to products endpoint response
* Fixed endpoints in unit test
* Fixed routes in unit tests
* Check and use subscriber, contributor and author rules in unit tests
* Add new components for ProductCategoryControl, using a reusable SearchListControl
* Add sass variables from wc-admin
* Finish styling
* Save selected categories as selected for the block
* Style sidebar version of control
* Filter the categories list, highlight search term in result
* Filter out selected items in the filter list function
* Add spacing in the placeholder, remove unnecessary stylesheet
* Add a more descriptive label for screen readers
* Remove category references from list item options
* Switch to a configurable object of messages, so SearchListControl can be more customizable
* Add screen-reader message for toggling “done” and moving into preview
* Remove call to getProductCategoryControl
The component is simple enough to just drop in now :)
* Add documentation for all props
* Add padding to placeholder
* Rename fallbackrenderItem to defaultRenderItem
* Add a variable to save the selected count
* Add `isDestructive` to make link red
* Update item style
* Add a hover/focus background color
* Add travis to run JS & CSS linting, JS tests, and PHPUnit tests
* Move API initiation out of the gutenberg/files check
So that php tests run without having to build the JS files
* Add very basic product endpoint tests
* Fix stylelint issues in CSS
* Remove e2e setup, replace with dependency setup
* Add missing install step
* Remove cache for now
* Add specific `har-validator` dependency because v 5.1.2 has disappeared
* Only run npm install for the JS test job
* Check for installed plugins
* Update install location
* Fix typo in plugin name
* Check the BRANCH variable, rather than TRAVIS_PULL_REQUEST_BRANCH, which is only set on PR runs
* Remove debug command
* A change to trigger CI
* Set the expected node & npm versions
* Remove copy-pasted command, does not apply
* Load only published products in the preview
* Fix post status in legacy block too
* Filter searching for individual products to only search published products
* Update query tests with change
* Add a second block, for “products by category”
* Fetch products in the given category, when attributes change
* Display the resulting products
* Style the product preview
* Create utils folder, move shared attributes
* Move getQuery to shared utils folder
* Create a helper function to get the shortcode string
* Support the menu_order setting
* Support center/wide/full alignment
* Update PropTypes
* Add tests
* Add text domain to translation functions