woocommerce/packages/js/components
Jacob Sewell 46762dab29
Add SplitDropdown component (#34180)
* Early draft of SplitButton component.

* Changelog for SplitButton component.

* Rename SplitButton to SplitButtonDropdown, apply styles to address toggle button location/size, take primary button from children.

* Address button variant styles

* Rename 'Default' SplitButtonDropdown story to 'Secondary' for clarity.

* Add a SplitButtonDropdown story where the component is disabled.

* README for SplitButtonDropdown component.

* Add disabled prop to SplitButtonDropdown README.

* Add a SplitButtonDropdown story where some but not all actions are disabled.

* Restore PrimaryDisabled story for SplitButtonDropdown.

* Reorganize SplitButtonDropdown properties inheritance to allow both disabled and variant to apply to both the main and toggle buttons.

* Rename SplitButtonDropdown to SplitDropdown.

* Hardcode menuIcon and menuIconExpanded in SplitDropdown.

* Fix outdated stylesheet import for SplitDropdown.

* Update SplitDropdown changelog to new component name.

* Update variable names that reference Actions to Items.

* Hardcode expanded/collapsed toggle button icons without extraneous const declarations.

* Use classNames() helper fn for className concatenation.

* Increase width of SplitDropdown toggle button.

* Add a specific className to the root ButtonGroup element of SplitDropdown.

* Simple rendering test for SplitDropdown.

* For consistency, move Button text out of props in SplitDropdown README and story.

* SplitDropdown does not render a toggle button if there is nothing to put in the menu.

* Fix variant prop type declaration in SplitDropdown.

* Improve SplitDropdown test: remove snapshot, add toggle click.

Co-authored-by: Joshua Flowers <joshuatf@gmail.com>
2022-08-12 12:47:39 -05:00
..
changelog Add SplitDropdown component (#34180) 2022-08-12 12:47:39 -05:00
src Add SplitDropdown component (#34180) 2022-08-12 12:47:39 -05:00
.eslintrc.js Add .eslintrc config to each packages 2022-03-29 16:08:07 +08:00
.gitignore Update JS packages changelogs (#33412) 2022-06-16 10:06:31 +12:00
.npmrc Moved WCA Packages 2022-03-18 14:25:26 -07:00
CHANGELOG.md Prepare Packages for Release (#34299) 2022-08-12 16:05:13 +08:00
PREVIOUS_CHANGELOG.md @woocommerce/components: Prep changelog for release (#33359) 2022-06-14 14:21:02 +12:00
README.md Moved WCA Packages 2022-03-18 14:25:26 -07:00
composer.json Changelogger: Fix PHPCS violations (#33664) 2022-07-07 08:54:48 +12:00
composer.lock Add PR numbers to changelog entries on code freeze process (#33627) 2022-06-28 11:15:39 -07:00
jest.config.json Prefixed Private JS Packages (#33218) 2022-05-31 15:42:00 -07:00
package.json Prepare Packages for Release (#34299) 2022-08-12 16:05:13 +08:00
tsconfig-cjs.json Added EOF Newlines 2022-05-10 13:35:31 -07:00
tsconfig.json Moved WCA Packages 2022-03-18 14:25:26 -07:00
webpack.config.js Prefixed Private JS Packages (#33218) 2022-05-31 15:42:00 -07:00

README.md

Components

This packages includes a library of components that can be used to create pages in the WooCommerce dashboard and reports pages.

Installation

Install the module

pnpm install @woocommerce/components --save

View the full Component documentation for usage information.

Usage

/**
 * Woocommerce dependencies
 */
import { Card } from '@woocommerce/components';

export default function MyCard() {
	return (
		<Card title="Store Performance" description="Key performance metrics">
			<p>Your stuff in a Card.</p>
		</Card>
	);
}

Many components include CSS to add style, you will need to add in order to appear correctly. Within WooCommerce, add the wc-components stylesheet as a dependency of your plugin's stylesheet. See wp_enqueue_style documentation for how to specify dependencies.

In non-WordPress projects, link to the build-style/card/style.css file directly, it is located at node_modules/@woocommerce/components/build-style/<component_name>/style.css.