Commit Graph

84 Commits

Author SHA1 Message Date
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
Ron Rennick 5b201365dd POC store navigation (https://github.com/woocommerce/woocommerce-admin/pull/3202)
* Add base nav component

* Check if current screen is WC registered page

* Add core menu items

* Add param for menu items to migrate and hide old menu items

* Add body classes for wc navigation

* Check capability before adding menu items

* Add submenu items to frontend component

* Hide wc nav behind option

Co-authored-by: Joshua Flowers <joshuatf@gmail.com>
2020-04-27 12:30:32 +03:00