* 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.
* Mock up an “API response object” for the inbox notices
* Add in a fake “loading” delay
* Add placeholder mixin from Calypso
* Add a placeholder ActivityCard and styles
* Merge exports of placeholder into ActivityCard
* Add tests for placeholder card
* Update readme
* Switch placeholder content prop to a line count, rather than specific children
* Update tests for new lines prop
* Clear timeout when the inbox unmounts
* Add a test for 0 lines
* Activity Panel Outbound Link
* Address PR Feedback: Pass through additional props on ActivityOutboundLink, add comment for activity panel wrapping padding, fix README naming, and use $gap $gutter trick for outbound link padding.
* ActivityCard: Update to match new activity panel designs
* Add spacing rhythm system, add the rest of the base colors
* Add styles for the ActivityCard
* Use the new ActivityCard in the orders panel
* Update text color & size
* Disable timestamped test (string changes based on date)
* Use moment to generate a relative timestamp to match “3 days ago” snapshot
* Rename spacing vars
The difference between gap and gap-med is not intuitive, so let’s switch to -small, and change -small to -smallest.
* Fix Accessibility issues: tabpanel behavior, and reduced motion setting
* Move tabindex to <Section /> and add aria-label to the panel
* move role and aria-label to div component
* Move component lifecycle method to top of component
* Update rows if the rows passed in via props have changed
This lets us bring in API changes, but will wipe out any sorting (revisit in a later PR, perhaps)
* Pass rows through to Table even if we don’t have rows loaded yet
Adds todo comment to remind that we should come back to add a placeholder/loading state
* Update semantics for ActivityPanel
Move the Section wrap to the top-level of ActivityPanel
Use an `aside` for the panel, which will expose the panel as a “complementary” in landmark nav
Add a heading for the Section/aside, which also fixes the heading hierarchy
* Update textdomains to match woo-dash change
* Switch panel container to a `div` so that clickOutside works as expected
* Activity Panel Updates: Unread bubble, animations, cleaned up styles and mobile handling.
* * Color and animation definition cleanup
* Fix animation for tab switch
* Clicking outside the panel will close it
* Hover bubble border
* Aria attributes/tablist
* Fix mobile styles
* Add pagination component
* Refactor query string/route updating so it can be done using a nav-utils helper function
* Fix typo and adjust accessibility attributes for error handling and current page
* Update styles
* Makes the header/sidebar component embeddable on other WooCommerce pages.
* Some mobile CSS fixes to make sure the header bar displays properly on smaller screensizes.
* Refactor notices and pull out success message from the panel
* Handle positioning of screen options, update message handling, css fixes and header height increase to match mockups, some code cleanup
* Only enable the header embed on normal/classic WooCommerce pages, and provide a method for plugins to opt-in.
This change also builds nicer breadcrumbs for pages.
* Code cleanup and consistent naming.
* Some spacing cleanup. Also updated the page title method to correctly set page titles in PHP for classic WC pages
* Add H and Section components for context-aware headings
* Switch to using the new context-aware heading and section components
* Style header by class name, not heading level
* Add our client dir to the modules list for Jest
We already have this setting in webpack, but Jest doesn’t pick up on that
* Update package-lock
* Add data table component
* Add fake data & display revenue on the analytics test report
* Update styling
* Display table inside a card
* Update mock data to be easier to scan for testing ascending/descending
* Fix sorting function to correctly sort all columns
* Check column content before determining “sortability” — objects (links) are not sortable
* Update README
* Add translation to scroll helper text
* Add SummaryList and SummaryNumber components
* Add a demo of SummaryList/SummaryNumbers
* Pages without the sidebar displayed can use a larger max-width
* Adjust layout styles for smaller screens
* Add an activity list component which will fetch and display the respective tabs’ content
* Add currency and order calculation helpers from Calypso
* Add date support to ActivityCard
* Fix the product label when there’s only 1 product
* Only display the orders on the orders tab
* Remove demo component
* PR feedback
- Switch to function components
- Check isLoading for showing loading state
- use v3 of WC API
- Remove getOrderShippingMethod (it’s not a tax-related function)
- Switch to array.reduce
- Add `|| 0` protect to all possible API-based calculations
* Display WP notices behind a button
* Expand WP notices inline when the WP toggle is clicked
* Update setState calls
* Fix string display when only 1 notice is present
* Remove display:none that snuck in during rebase
* Add a label “Total” to the count balloon
* Update README
* Switch to an aria-label, so that we can set a fully translatable string
* Update README to make label default clear
* Add CSS naming conventions following Gutenberg’s standards
* Update `woo-dashboard` to `woocommerce-layout`
* Update admin notice container to new classname standard
* Add an ActivityCard component
* Add font-size mixin, hover-state mixin, and a fake base padding
* Style the ActivityCard
* Style the card image
* Add README
* Address PR feedback
- Add className prop
- children propType is required
- Link to a real image
* Updates wp-admin navigation structure: Dashboard is now under WooCommerce, and Analytics is moved visually under WooCommerce
* Fix focus padding issue and make sure arrow displays for the current submenu
* Add agenda widget with accordion
* Add AgendaItem, README, and do some cleanup
* Handle PR Feedback: Rename AgendaAccordion to AgendaGroup, accept an href prop for a non-accordion state. Accept onClick or href for AgendaItem, a11y fixes, fix some typos, update examples & README.
* Address PR Feedback: Rename AgendaGroup to AgenaHeader, use a direct link for href mode, use IconButton instead of Button & Dashicon, pull out link rendering to its own method. Use <Link /> for app links.
* Combine box-shadow focus/hover rule and add transparent background
* Make `count` optional
* Refactor dashboard layout into new Layout components
* Style the new layout
* Use Slot/Fill for the Header component
* Center cards, fixed size for sidebar
* Only set the box-sizing on things within our app
* Make app the full height of the wp-admin frame
* Add styles to show/hide sidebar
* Toggle the sidebar
* Wrap router around entire Layout, use page setting to show/hide sidebar on page
* Fix the styles on show/hide buttons, add title & close button to the sidebar
* Use a min-height on visible sidebars
* Add/update READMEs
* Update space between main content & sidebar
* Add Jest testing with Gutenberg as a dependency
* Add test using Enzyme
* Update for “element” moving
Something also must have moved api-request, so we mock that import now
* Add EllipsisMenu & MenuItem
* Add styles for menu items
* Don’t disable all keyboard interactions
Was breaking tab
* Move EllipsisMenu to client folder
* Clean up unused props & focus state
* Add an unfocusable MenuTitle component
* Update EllipsisMenu exports so that all menu-related components can be pulled from EllipsisMenu
* Make strings translatable
Even demo content should use translation functions :)
* Add README
* Fix arrow position
* Add box-sizing back to global reset
* Adds SCSS color variables and breakpoint mixins
* Use webpack to pull in shared CSS
* Move notices reset rule to wpadmin-reset
* Prefix breakpoints, colors, and wpadmin reset
* Add a Card component
* Add basic styling
* Update example card
* `instanceOf` doesn’t work like expected, but we can require a specific component by looking at shape + object.type
* Use module-relative paths for components
* Implements a header component with breadcrumbs
* Handle PR Feedback. Also moves admin URL to an object, and adds a README
* README: Card --> Header typo
* Add Gutenberg prereq to the README
I installed `woo-dash` without Gutenberg installed and ended up getting a fatal error. We should probably fix that as well/handle that better, but if we are going to rely on Gutenberg for the feature plugin we should mention it in the README.
* Add mention of WooCommerce as a prereq