Commit Graph

51 Commits

Author SHA1 Message Date
Joshua T Flowers a8757648a1 Refactor menu item mapping and sorting (https://github.com/woocommerce/woocommerce-admin/pull/6382)
* Separate primary and secondary menu components

* Simplify category mapping

* Map categories and items simultaneously to improve performance

* Sort added menu items

* Pre-sort menu items

* Create single mapped sorting on server-side

* Fix incorrect menu ID references

* Update tests

* Move methods to utils file

* Add in permissions check in client nav

* Fix server-side capability check

* Fix duplicate expectation and test name

* Add testing instructions
2021-02-22 13:54:27 -05:00
Joshua T Flowers 8e9c60b0b0 Add navigation intro modal (https://github.com/woocommerce/woocommerce-admin/pull/6367)
* Add initial intro modal

* Hide modal on dismissal

* Add modal styling

* Add modal page content

* Update styles to match Figma designs

* Replace video with gifs

* Check if user is opted in to satisfy gdpr concerns

* Add testing instructions and changelog notes

* Handle PR feedback

* Handle responsiveness

* Dismiss modal when welcome modal is shown simultaneously

* Update shared modal option constants
2021-02-22 13:40:44 -05:00
Elizabeth Pizzuti 38bc814409 Order and styles updates to nav footer (https://github.com/woocommerce/woocommerce-admin/pull/6373)
* nav-footer-styles

* nav-footer-styles
2021-02-22 09:04:14 +08:00
Joshua T Flowers 851dac281c Add filter to allow the wp toolbar in navigation (https://github.com/woocommerce/woocommerce-admin/pull/6371)
* Add class to determine styling for disabled wp toolbar

* Use disabled toolbar class in onboarding setup wizard

* Add changelog and readme notes for filter
2021-02-19 08:20:32 -05:00
Paul Sealock 3483f1930e Navigation: Add test to container component (https://github.com/woocommerce/woocommerce-admin/pull/6344)
* getCategoriesMap

* getMenuItemsByCategory

* changelog
2021-02-18 13:06:28 -05:00
Joshua T Flowers 8371325ba6 Fix empty nav menu (https://github.com/woocommerce/woocommerce-admin/pull/6366) 2021-02-18 12:27:04 -05:00
Joshua T Flowers bf3ed5ad87 Add the favorites tooltip to the navigation (https://github.com/woocommerce/woocommerce-admin/pull/6312)
* Add tooltip to plugin category titles

* Add useAnchor

* Hide tooltips if previously shown

* Refactor tooltip and favorite button to separate components

* Check if favorites resolved before showing button

* Update favorites tooltip option name

* Handle rebase changes

* Don't show tooltip when nav is folded
2021-02-17 09:29:28 -05:00
Joshua T Flowers 452494a4fe Move favorited menu items to primary menu (https://github.com/woocommerce/woocommerce-admin/pull/6290)
* Update menu ID when favoriting an item

* Allow favorites to be included alongside the primary menu items

* Add categories to favorites menu server-side

* Don't reset menu state when active item is the same

* Make sure favorites are finished resolving before showing
2021-02-16 11:12:25 -05:00
Joshua T Flowers 8629318f46 Use box sizing and padding to fix nav and admin menu styling (https://github.com/woocommerce/woocommerce-admin/pull/6335)
* Use box sizing and padding to fix nav and admin menu styling

* Move wpbody fixes to reset

* Move default header padding to reset
2021-02-16 10:57:56 -05:00
Joshua T Flowers a93a5def94 Remove categories without menu items (https://github.com/woocommerce/woocommerce-admin/pull/6329)
* Hide menu categories with no items

* Remove capabilities on categories

* Remove remaining references to category capabilities
2021-02-15 16:33:51 -05:00
Joshua T Flowers 80f5532543 Fix navigation priority settings conflict (https://github.com/woocommerce/woocommerce-admin/pull/6336)
* Remove the late addition of the core items for the navigation

* Add fallbacks in case the nav is not detected server-side

* Check if ref is set before resizing
2021-02-12 16:42:04 -05:00
Joshua T Flowers 683f8adf33 Add favoriting extensions client UI (https://github.com/woocommerce/woocommerce-admin/pull/6287)
* Add category title component

* Add category title styling

* Record tracks event when toggling favorite

* Fix aria labels

* Fix colors for favorite button

* Use CategoryTitle for secondary nav menu
2021-02-12 11:51:02 -05:00
Joshua T Flowers baaaf39bf0 Try: Refactor head and body heights (https://github.com/woocommerce/woocommerce-admin/pull/6247)
* Move navigation to WC header

* Remove wp toolbar class

* Set body margin on header change

* Fix up layout margins

* Remove excess padding on mobile

* Fix navigation preload styles and embed

* Fix preloading space due to adminbar missing

* Remove embed padding on wrap

* Fix body display for wpadmin menu

* Fix up wpadminbar reset padding

* Remove body padding on full screen layouts

* Fix mobile admin bar height on full screen

* Clean up body margin on unmount

* Center the activity panel (https://github.com/woocommerce/woocommerce-admin/pull/6289)

* Center the activity panel

* Handle PR feedback

* Fix up secondary nav group style changes

* Remove screen reader style changes

* Debounce resize event

* Make responsive button selector more specific

Co-authored-by: Hsing-Yu Flowers <hsingyuc.7@gmail.com>
2021-02-12 11:32:26 -05:00
Hsing-Yu Flowers d61cb9faf3 Change `siteUrl` to `homeUrl` on navigation site title (https://github.com/woocommerce/woocommerce-admin/pull/6240)
* Get home url

* Change siteUrl to homeUrl
2021-02-11 11:03:47 +13:00
Paul Sealock 078b4efa3c Navigation: Add temp override to fix Gutenberg item CSS (https://github.com/woocommerce/woocommerce-admin/pull/6254)
* override Nav item styles

* use hex colors
2021-02-09 14:39:03 +13:00
Joshua T Flowers e27d5127b8 Separate secondary items into separate menu in navigation (https://github.com/woocommerce/woocommerce-admin/pull/6253)
* Convert navigation to grid

* Include back button in primary menu

* Update secondary menu keys

* Use array instead of fragment to avoid unique key
2021-02-08 15:41:08 -05:00
Joel Thiessen bb446c8543 Adding text content to new navigation toggle & chart period select for screen-reader visibility (https://github.com/woocommerce/woocommerce-admin/pull/6224) 2021-02-01 16:43:37 -08:00
Joel Thiessen 752821c00e Fixed keyboard landmark menu items cut off when new navigation enabled (https://github.com/woocommerce/woocommerce-admin/pull/6225) 2021-02-01 13:26:34 -08:00
Joel Thiessen c6cd12560a Adding history listener to fold navigation on mobile when navigating (https://github.com/woocommerce/woocommerce-admin/pull/6102) 2021-01-21 12:13:09 -08:00
Joshua T Flowers bc998444a3 Future proof experimental components (https://github.com/woocommerce/woocommerce-admin/pull/5961)
* Possibly use safe Text component

* Possibly use safe navigation components

* Add experimental package

* Update components to import from woocommerce/experimental

* Make experimental package private

* Reference experimental package relatively

* Update packages/experimental/README.md

Co-authored-by: Paul Sealock <psealock@gmail.com>

* Update packages/experimental/CHANGELOG.md

Co-authored-by: Paul Sealock <psealock@gmail.com>

* Update history state instead of mocking getQuery in tests

* Handle PR feedback

* Create excluded externals array and return early

Co-authored-by: Paul Sealock <psealock@gmail.com>
2021-01-07 18:57:09 -05:00
Joel Thiessen 750efaef0f Removing duplicate back button on root level of new navigation (https://github.com/woocommerce/woocommerce-admin/pull/5915) 2021-01-04 09:00:42 -08:00
Joshua T Flowers 7977fb0148 Decode entities in titles (https://github.com/woocommerce/woocommerce-admin/pull/5964) 2020-12-28 13:48:29 -05:00
Joshua T Flowers 6e2bf974c7 Add filter for root back URL (https://github.com/woocommerce/woocommerce-admin/pull/5878)
* Add filter for root back URL

* Add filter for root back button label
2020-12-15 12:05:32 -05:00
Joshua T Flowers 10b9579cde Add nav item route regex matching (https://github.com/woocommerce/woocommerce-admin/pull/5818)
* Use default expression to match items

* Pass match expression for WCA homepage

* Match post types if the current post type matches item

* Remove unused getParams

* Update tests for isMatch util

* Update nav docs

* Update default expression to match params in any order

* add query arg tests: additional and order

* Use match score based on regex matches

* Return max safe int for exact matches

* Update tests for match score

* more tests

Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-12-09 13:45:30 +13:00
Joshua T Flowers c659d2a729 Fix nav group titles showing in child menus (https://github.com/woocommerce/woocommerce-admin/pull/5793) 2020-12-03 10:50:38 -05:00
Joshua T Flowers 1e01adcbc1 Add navigation item click tracks (https://github.com/woocommerce/woocommerce-admin/pull/5707)
* Add tracking to navigation item clicks

* Track back button click in navigation
2020-12-02 13:16:54 -05:00
Joshua T Flowers 5ba669a2f4 Only show menu items from same parent menu (https://github.com/woocommerce/woocommerce-admin/pull/5731)
* Only render nav items belonging to parent menu ID

* Set item menu ID for items automatically

* Use categories map to filter items early

* Convert categorized menus to objects

* Prevent bypassing menu via existing parent

* Fix plugins name
2020-12-02 09:36:35 -05:00
Joshua T Flowers d2234a7628 Position transient notices based on nav width (https://github.com/woocommerce/woocommerce-admin/pull/5628)
* Position transient notices based on nav width

* Position notices left when folded or on smaller screens
2020-11-23 14:28:17 -05:00
Joel Thiessen 4e5fa5cee9 Hiding primary tabs on Settings within WooCommerce since it's redundant with items in nav (https://github.com/woocommerce/woocommerce-admin/pull/5630)
* Hiding tabs displayed on wc-status pages as well
2020-11-18 15:54:24 -08:00
Joel Thiessen f8e053dcb4 Renaming navigation body classes to be less generic (https://github.com/woocommerce/woocommerce-admin/pull/5660) 2020-11-18 10:43:20 -08:00
Joel Thiessen b3e094889a Preventing desktop-sized navigation placeholder from appearing on mobile during load (https://github.com/woocommerce/woocommerce-admin/pull/5616) 2020-11-16 10:11:13 -08:00
Joel Thiessen b8238d91dc Adding wrapper class around navigation to implement scroll styles/logic (https://github.com/woocommerce/woocommerce-admin/pull/5570) 2020-11-12 09:10:42 -08:00
Joel Thiessen db6a404ba8 Refactoring logic handling auto-folding navigation to support resize event (https://github.com/woocommerce/woocommerce-admin/pull/5578) 2020-11-11 11:44:58 -08:00
Joshua T Flowers cae0f33e38 Fix non-matching items and post type matching (https://github.com/woocommerce/woocommerce-admin/pull/5593)
* Don't match menu items with a non-positive score

* Match single post type page to post type menu item
2020-11-11 10:16:12 -08:00
Joel Thiessen c8a67bfef9 Navigation: Adding ability for new navigation to scroll when list of links exceed viewport height (https://github.com/woocommerce/woocommerce-admin/pull/5524)
* Adding ability for new navigation to scroll when list of links exceeds the viewport height

* Resetting scroll to the top of element when transitioning menus on navigation
2020-11-06 12:52:01 -08:00
Joshua T Flowers 88a4ed76eb Try: Register plugins under separate navigation menu (https://github.com/woocommerce/woocommerce-admin/pull/5513)
* Create separate methods for registering plugin items

* Fix add plugin category

* Allow scrolling of nav menu

* Use group title

* Add example plugin items

* Make menu item and category methods private

* Add analytics pages to navigation

* Register home item if dashboard feature is enabled

* Allow navigation registration from all wca items

* Update example plugin item registration

* Update order of menu groups

* Update plugins group name to extensions

* Remove temporary scroll fixes
2020-11-05 09:00:04 -05:00
Joel Thiessen 15b45c9db4 Navigation: Applying styles & behavior for folded menu, including mobile (https://github.com/woocommerce/woocommerce-admin/pull/5497)
* Adding base styles for collapsed nav menu.

* Handling varying behaviour on mobile-sized screens, with the menu overlaying content instead of shrinking the content area.

* Folding the menu by default on screen sizes less than 960px, and if that condition is met after an orientation change

* Refactoring logic from Header/index.js to flag if user has scrolled to apply shadow to folded navigation as well.

* Refactoring styles in navigation feature to allow them to be loaded properly with webpack (with imports/etc).
2020-11-02 16:57:49 -08:00
Joshua T Flowers 197320d93e Update navigation width to match designs (https://github.com/woocommerce/woocommerce-admin/pull/5489) 2020-10-30 14:02:22 -04:00
Joshua T Flowers 11ebc96fbe Show parent as default back button label (https://github.com/woocommerce/woocommerce-admin/pull/5435)
* Show parent as default back button label

* Make back button logic more succinct
2020-10-22 15:56:44 -04:00
Paul Sealock 7e351c18a3 Navigation: extend with WC Admin router links (https://github.com/woocommerce/woocommerce-admin/pull/5445)
* add test case

* save

* pages

* comments

* use id

* bail on no wcAdmin pages

* prefix
2020-10-22 16:01:25 +13:00
Joshua T Flowers 84e006cc62 Migrate navigation store to data package (https://github.com/woocommerce/woocommerce-admin/pull/5420)
* Move data store to package and hydrate navigation

* Use wc settings to get site URL and title

* Use wc settings admin link

* Update nav util tests to work with installs in subdirectory
2020-10-21 13:02:45 -04:00
Joshua T Flowers 81a8a28b20 Only show menu group if items exist (https://github.com/woocommerce/woocommerce-admin/pull/5403)
* Only show menu group if items exist

* Improve performance for menu item filtering
2020-10-21 13:01:46 -04:00
Joshua T Flowers c0be4ecb56 Enqueue styles on non-WC pages (https://github.com/woocommerce/woocommerce-admin/pull/5419)
* Enqueue styles on non-WC pages

* Only load extra styles when navigation is enabled
2020-10-20 14:47:11 -04:00
Joel Thiessen f1ce55041c Adding 24px spacing between any sibling nav groups (https://github.com/woocommerce/woocommerce-admin/pull/5329) (https://github.com/woocommerce/woocommerce-admin/pull/5359)
Adding 24px spacing between any sibling nav groups on new navigation feature (https://github.com/woocommerce/woocommerce-admin/pull/5329)
2020-10-14 11:48:21 -07:00
Paul Sealock ad7cf64303 Navigation: Add client code (https://github.com/woocommerce/woocommerce-admin/pull/5309)
* is_feature_enabled

* feature class

* copy/paste

* hooked up

* its alive

* add wc-admin items

* clean up entry point

* Analytics remove url

* rebase error

* add back in check is_feature_enabled

* specificity CSS
2020-10-13 14:40:53 +13:00
Joshua T Flowers 09415ef7a8 Remove erroneous navigation component (https://github.com/woocommerce/woocommerce-admin/pull/4923) 2020-08-06 17:07:36 -07:00
Darren Ethier dc5304823b Add @woocommerce/eslint-plugin (https://github.com/woocommerce/woocommerce-admin/pull/4714)
* add new woocommerce/eslint-plugin

* implement eslint-plugin (switch scripts to use wp-scripts etc)

* various linting fixes

* more lint fixes

* improve fix script

* more eslint fixes

* more eslint fixes

* temporary convert rules to warnings until they are all handled

* linting fixes

* update package-lock.json

* remove duplicates

* remove unnecessary `@wordpress/dependency-group` rule config

* add docs and adjust rules

* prettier fix

* fix merge artifact

* convert more rules to warnings

* change order to reflect importance

* install babel-preset-default

* remove unnecessary configuration for babel

* fix dependency group rule and test

* fix test

* handle collapsible whitespace

* add react testing library eslint plugin

* linter errors

* Add back in prettierrc

* package-lock update

* js lint fix with --fix

* disable whitespace in translation

* package-lock update

* make eslint actual dependency, not peer dependency

* pin eslint to v7

* I don't know why, but its working

* fix lint js

Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-07-28 14:32:58 +12:00
Sam Seay a6ea004ee8 Rework the store details onboarding screen (https://github.com/woocommerce/woocommerce-admin/pull/4771)
Fixes woocommerce/woocommerce-admin#4566 **(and is dependent on the changes from woocommerce/woocommerce-admin#4759 )**

Changes:

* Use the new `Card` and `Flex` from `@wordpress/components`
* Add contextual tooltips
* Adjust existing styles to match [new designs](https://www.figma.com/file/JH9XMFUCOjfXdr3N09AHRD/On-boarding-iterations-June-'20)
2020-07-21 12:12:19 +12:00
Sam Seay b448ff60b7 Update @wordpress/base-styles and replace deprecated variables (https://github.com/woocommerce/woocommerce-admin/pull/4759)
Fixes woocommerce/woocommerce-admin#4732

This updates `@wordpress/base-styles`, and because `@wordpress/components` depends on variables from it, that must be updated as well.

There are 3 major changes required as part of updating:

1. The $theme-color variable is no longer exposed by base-styles. Instead there are 3 css vars exposed. These are made available by use of a provided mixin. Situations where $theme-color was darkened using scss have been mapped as best as possible to the 2 other darkened shades of the css var that are available such as `--wp-admin-theme-color-darker-20` and `--wp-admin-theme-color-darker-10`. In some cases this means the colors are not exactly the same as before.

2. The post css `theme()` call is no longer available. All uses of this have been consolidated to use of the main theme css var `--wp-admin-theme-color`. This means that calls like `theme(secondary)` or `theme(outline)` etc have all been consolidated to the one color.

3. Many of the variables used for different shades of gray have been deprecated. These have been mapped across to the new gray variables. (Mapped according to the list described in woocommerce/woocommerce-admin#4732)
2020-07-17 12:11:42 +12:00
Joshua T Flowers bfb8b68aa6 Remove navigation feature (https://github.com/woocommerce/woocommerce-admin/pull/4740) 2020-07-06 10:21:15 +03:00