* Make tooltip position be relative to the hovered elements instead of the mouse
* Set tooltip margin to 24px to match CSS 'gap-large'
* When focusing a bar with value 0, set the target node to its parent so the tooltip is displayed next to it
* Make sure 'mouseout' event is not triggered when hover the tooltip box
* Make sure the tooltip is never rendered too much to the left/top of the chart
* Get the size of the tooltip box from the DOM when it's available
* Minor fixes
* Add aria roles to chart elements
* Make individual points (in line charts) and individual bar (in bar charts) focusable
* Remove methods which are never used
* Reduce the number of parameters required by functions that display/hide the tooltip
* Use tooltipFormat for accessibility dates
* Rename 'formatVoiceDate' function to 'getTooltipDate'
* Use string literals for aria-label
* Remove table role which was no longer needed
* Add aria-hidden to X-axis in charts
* Remove 'key' from points/bar aria-label in charts
* Set different ARIA properties depending on chart mode (time or item comparison)
* Label should default to an empty string instead of a 0
* Use date format from params instead of hardcoded
* Remove content from README, leaving only the example
* Rename edited READMEs
* Add a devdocs page rendering from markdown example files
* Add more components to devdocs
* Add the rest of the component examples
* Add navigation to single components, show generated readme on single component view
* Style devdocs like calypso
* Split devdocs into two columns at “desktop” sizes
* Update segmented selection example
* Update link
* Add header to avoid notices error
* Move header/row documentation into the component, so it can be rendered in the external docs
* Move project READMEs into docs folder for exposure in docs site
* Regenerate docs, generate component folder sidebar with component list
* Update format of CSS docs
* Fix dates transposed in revenue chart
* Update date format in revenue chart tooltip labels
* Load point label date formats from lib/date
* Pass point label format as a prop to the chart component
* Move section, header, and activity panel out of layout folder
* Update file soures
* Move documentation into component, and update generation script to handle the duplicated exports
* Allow adding a label for each specific point in a chart
* Update test fixtures
* Update README with new data format
* Simplify getPreviousDate function code
* Update tooltip dates format
* Add new prop to charts 'tooltipTitle' to override the date tooltip title
* Fix totals not being calculated in charts legend
* Fix JS error when hiding lines in chart
* Fix a couple of issues with chart README
* Add quotes around prop names
* Remove unused variable
* Remove colon after tooltip label
* Disable compare button if less than 2 items are selected
* Add a placeholder prop to the Search component
* Pass a placeholder label from filter configs for Search
* Add support for a label in Search
* Add Clear All link to reset comparison card
* Add a label when compare button is disabled
* Abstract the conditional tooltip/disabled button logic to a new component
* Add helpText as a customizable label
* Add icon to the search field
* Remove the parameter from query by passing in undefined
* Switch to withInstanceId higher order component
* Add checkboxes to the rows in a TableCard, if a compareBy prop is set
* Add Compare button to update query param
* Populate the selected rows from the query parameter
* Update compare filter display & selected table rows when the query changes
* Skip displaying tags if the label is null/undefined
* Style table header with compare button, search placeholder
* Prevent setting just an ID list as the state, as this will wipe out already-fetched tag labels
* Update docs
* Shortcut out of fetching tag labels if the query is empty
* remove circles on more than 50 x points
* x-axis interval spacing
* factorial spacing of x-axis ticks
* limit pipes too
* catch recursion infinity issue and add layout
* Hide tooltip when mouse leaves chart bars
* Allow focus on chart lines/bars and show tooltip
* Extract position calculation to a function
* Make columns focusable instead of individual points in line charts
* Make table font-size accessible
* Make TopSellingProducts table load only five products
* Make empty message on TopSellingProducts table the same height than the table
* Update breaking test
* Use font-size mixin in table items/header
react-dates developers recommend using airbnb-browser-shims, but doing some
testing I found loading the required polyfills individually instead of the
entire Airbnb Browser Shims package produces smaller builds.
* Add a new component with product search for the compare card
* Get product names from API when passed through URL
* Abstract out the products-related code into filter settings
* Update filters to provide multiple comparisons
Alternative to the “Compare [dropdown]” approach
* Update documentation
* Wipe selected items when the compare-type is updated
* Update labels & order of items in filter dropdown
* Add getLabels prop & description
* Fix Summary values not visible with IE11
* Fix Summary grid for IE11
* Move grid position mixin to _mixins file, so it can be used for other elements
* Remove set-grid-positions mixin and improve code understandability
* Add loading indiciators for the revenue report.
* Improve accessibility, and fix up some documentation comments.
* Fix top border on mobile
* Add EmptyContent Component and revenue error/empty states. (https://github.com/woocommerce/woocommerce-admin/pull/348)
* Add EmptyContent Component and revenue error/empty states.
* Move relative image handling to ImageAsset, combine secondary and primary action rendering, add some missing isRequired proptypes, add empty error handling.
* Handle PR Feedback: Clean up button css, set a default for illustration, fix deprecation typo, some code cleanup.
* Switch all components to default exports
This ensures we can read all components for documentation generation (plus, standardizing is good)
* Add documentation to component file
* Fix table exports
* Move readme docs into inline docs
Includes updating new props, adding prop shapes
* Add doc-generation scripts to pull exported component docs into folder
* Remove key propType, causing react special-keys warning
* Fix proptype
* Update incorrect comment
* Remove template import, we can just use string concat
* Fix typo, update docs
* Validate component with helper function
Fixes compat issue with react-docgen
* Switch all components to default exports
This ensures we can read all components for documentation generation (plus, standardizing is good)
* inValidDays -> invalidDays
Invalid is a single word, so by capitalization rules the V should be lowercase
* Export child-components of Chart
* Fix table exports
* Add `Search` & `Tag` components
* Fork the Autocomplete component to support a single completer & input field
* Add results inline, not as popover
* Highlight search term in results list
* Check if the item is already selected
* Update docs
* Remove unused properties
* Remove temporary max-width
Once merged, we can tweak real styles
* Use stringifyQuery
* Filters: Remove filterPaths, add path as property to filters object
* Set a default path, so we only need to configure it for changed paths
* Fix nav & filter fetching for nested lists
* Add “go back” functionality to all subfilter lists, not only ones with components set
* Make label optional on component options
* Update documentation to remove mention of filterpaths
* Add documentation on the filters structure
* Importing all components from a root components file
* Update Ratings component to avoid circular dependencies, fix tests
* Export components on `wc.components`, use this for importing
* Move react-dates initialize to the components file
* Push query changes to history
Fixes an issues where native a links do not update the query in `history`
* Update test config for new @woocommerce/components path
* Update chart components import
* Merge simple/complex & alphabetize by first exported name
* Add a readme with info about how to call these components
Add new function to merge query params into a given path
Add a new ReportFilter component, which extracts the date picker & filter picker
Add basic framework for product search
Add new AdvancedFilter to filter options
Remove duplicate CSS
Use library function for merging new query+path
Move filters folder out of reports
Use filter constant
Add README
Add path & query helper functions
Move filters into component folder
Switch to getPath/getQuery helpers
Update classes & merge styles
Remove query/path from READMEs
Add a readme to nav-utils
* Table: Add a hover state for rows
* Expand target area for table links to take over entire cell
* Add a purple link style for default links
* Increase contrast for links-on-hover-color
* Add “isNumeric” column identifier & right-align these cols
* Update style of dropdown on smaller screens
* Switch chevron orientation when dropdown is open
* Update font size/spacing in the dropdown
* animate the chevron
* Switch headers to an object, use `header.label` to display title
* Change sort function to update a query param
* Clean up README
* Get the currently sorted column from the query
* Don’t allow toggling of required columns
* Add in direction-sorting (ascending/descending)
* Switch to aria-describedby so that the actual column name is read aloud
* Fix chevron orientation
* Handle hiding a sorted column
* Fall back to sorting by first item if no defaultSort col is set
* Fix arrow orientation again
* Update order_by to orderby to match wp_query param name
* Move isMobileViewport to a helper function in lib
* Switch SummaryList to use navigable menu to support up/down (or left/right) arrow key navigation
* Switch to a dropdown menu/button combo when on a smaller screen
* Ensure aria role & href are only added if the item is a link
* Wrap the entire SummaryNumber in a link to match non-mobile use
* Update card content to be single line on mobile
* Add label to the popover title
* Make SummaryNumbers edge-to-edge on smaller screens
* Switch to the collapsed/dropdown view on screens <1100px
* Adjust offset of arrow icon
* Update mock data to reflect latest API format
* Update Table component to create a TableCard, TableSummary, and plain Table
Use the TableCard container to display mocked revenue data
* Add horizontal scroll only on the table itself
* Remove `sortable` prop, base column sortability on whether the `value` is true/false
Checking against a strict false should prevent any real 0 or ‘’ values from triggering unsortability
* Add a checkbox to the demo table
* Update accepted props
* Update README for TableCard, Table, and TableSummary
* Update README
* Fix confused defaults
* Add first pass + demo of updated SummaryNumber
* Add new larger screen breakpoint
* Remove the max-width from the content wrapper
* Update previous label text
* Fix the border colors/sizing
* Create a mixin to generate the grid template pattern
* Add green/red colors based on trend, with prop to reverse
In some cases, a downward trend is good (ex, refunds), so we want to be able to color those green
* Move selected number containers up to avoid the double-border
* Document className logic, and apply 10-item layout to all cases of 10+ items
* Remove layout notes
* Update component docs, clean up optional displays
* Update style of SummaryNumbers inside cards
* Filter out any `false` or otherwise unrenderable children
* Fix card borders
* Update dashboard component to use new props
* Check that prevValue is defined
a prevValue of 0 was incorrectly outputting `0` for both label and value
* Update no-change datapoint style
* Update default data values
Rather than hiding the prevValue/label or delta section if these are not passed through, use default N/A placeholders
* Change SummaryList & SummaryNumber to a list of links
Add active, hover, and focus styles
* Add a short help text for screen reader users
* Add href to README
* Add the href prop to the readme example
* Fix border colors
The `nth-of-type` rules need to be on the `li` containers
* Fix font-weights on value & delta
* Wrap the previous label/value when the percentage wraps
D3 Chart: legend component and integration
Thanks for the great feedback. I've made updates and will address a few of the styling (and remove code used for testing) in future PRs. Keep an eye on https://github.com/woocommerce/wc-admin/issues/164 for future work planned on this component.