vendor/magento/module-theme/Block/Html/Topmenu.php:class Topmenu extends Template implements IdentityInterface
vendor/magento/module-theme/view/frontend/layout/default.xml:                    <block class="Magento\Theme\Block\Html\Topmenu" name="catalog.topnav" template="Magento_Theme::html/topmenu.phtml" ttl="3600" before="-"/>
vendor/magento/module-theme/view/frontend/templates/html/topmenu.phtml: * @var $block \Magento\Theme\Block\Html\Topmenu
vendor/magento/module-theme/Test/Unit/Block/Html/TopmenuTest.php:use Magento\Theme\Block\Html\Topmenu;
vendor/magento/module-theme/Test/Unit/Block/Html/TopmenuTest.php:class TopmenuTest extends \PHPUnit\Framework\TestCase
vendor/magento/module-theme/Test/Unit/Block/Html/TopmenuTest.php:     * @return Topmenu
vendor/magento/module-theme/Test/Unit/Block/Html/TopmenuTest.php:    protected function getTopmenu()
vendor/magento/module-theme/Test/Unit/Block/Html/TopmenuTest.php:        return new Topmenu($this->context, $this->nodeFactory, $this->treeFactory);
vendor/magento/module-theme/Test/Unit/Block/Html/TopmenuTest.php:        $topmenuBlock = $this->getTopmenu();
vendor/magento/module-theme/Test/Unit/Block/Html/TopmenuTest.php:        $topmenuBlock = $this->getTopmenu();
vendor/magento/module-theme/Test/Unit/Block/Html/TopmenuTest.php:        $topmenu =  new Topmenu($this->context, $nodeFactory, $treeFactory);
vendor/magento/module-theme/Test/Unit/Block/Html/TopmenuTest.php:        $topmenuBlock = $this->getTopmenu();
vendor/magento/module-catalog/Plugin/Block/Topmenu.php:class Topmenu
vendor/magento/module-catalog/Plugin/Block/Topmenu.php:     * @param \Magento\Theme\Block\Html\Topmenu $subject
vendor/magento/module-catalog/Plugin/Block/Topmenu.php:        \Magento\Theme\Block\Html\Topmenu $subject,
vendor/magento/module-catalog/Plugin/Block/Topmenu.php:     * @param \Magento\Theme\Block\Html\Topmenu $subject
vendor/magento/module-catalog/Plugin/Block/Topmenu.php:    public function beforeGetIdentities(\Magento\Theme\Block\Html\Topmenu $subject)
vendor/magento/module-catalog/Plugin/Block/Topmenu.php:     * @param \Magento\Theme\Block\Html\Topmenu $subject
vendor/magento/module-catalog/Plugin/Block/Topmenu.php:    public function afterGetCacheKeyInfo(\Magento\Theme\Block\Html\Topmenu $subject, array $result)
vendor/magento/module-catalog/etc/di.xml:    <type name="Magento\Theme\Block\Html\Topmenu">
vendor/magento/module-catalog/etc/di.xml:        <plugin name="catalogTopmenu" type="Magento\Catalog\Plugin\Block\Topmenu" />
vendor/magento/module-catalog/Test/Unit/Plugin/Block/TopmenuTest.php: * Class TopmenuTest
vendor/magento/module-catalog/Test/Unit/Plugin/Block/TopmenuTest.php:class TopmenuTest extends \PHPUnit\Framework\TestCase
vendor/magento/module-catalog/Test/Unit/Plugin/Block/TopmenuTest.php:     * @var \Magento\Catalog\Plugin\Block\Topmenu
vendor/magento/module-catalog/Test/Unit/Plugin/Block/TopmenuTest.php:            \Magento\Catalog\Plugin\Block\Topmenu::class,
vendor/magento/module-catalog/Test/Unit/Plugin/Block/TopmenuTest.php:        $blockMock = $this->_getCleanMock(\Magento\Theme\Block\Html\Topmenu::class);
vendor/magento/magento2-base/dev/tests/integration/testsuite/Magento/Catalog/Block/Category/TopMenuTest.php:use Magento\Theme\Block\Html\Topmenu;
vendor/magento/magento2-base/dev/tests/integration/testsuite/Magento/Catalog/Block/Category/TopMenuTest.php:    /** @var Topmenu */
vendor/magento/magento2-base/dev/tests/integration/testsuite/Magento/Catalog/Block/Category/TopMenuTest.php:        $this->block = $this->layout->createBlock(Topmenu::class);
vendor/magento/magento2-base/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php:    ['Magento\Page\Block\Html\Topmenu', 'Magento\Theme\Block\Html\Topmenu'],
vendor/magento/magento2-base/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php:    ['Magento\Catalog\Observer\AddCatalogToTopmenuItems', 'Magento\Catalog\Observer\*'],
vendor/magento/magento2-base/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php:    ['addCatalogToTopmenuItems', 'Magento\Catalog\Model\Observer', 'Magento\Catalog\Observer\AddCatalogToTopmenuItems::invoke'],
vendor/magento/magento2-base/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php:    ['_addCategoriesToMenu', 'Magento\Catalog\Model\Observer', 'Magento\Catalog\Observer\AddCatalogToTopmenuItems::_addCategoriesToMenu'],
vendor/magento/magento2-base/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php:    ['hasActive', 'Magento\Catalog\Model\Observer', 'Magento\Catalog\Observer\AddCatalogToTopmenuItems::hasActive'],
vendor/magento/magento2-base/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php:    ['getCatalogLayer', 'Magento\Catalog\Model\Observer', 'Magento\Catalog\Observer\AddCatalogToTopmenuItems::getCatalogLayer'],
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNotAppliedProductPage.php:            $cmsIndexPage->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleAppliedCatalogPage.php:            $cmsIndexPage->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleNotAppliedCatalogPage.php:            $cmsIndexPage->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/CatalogRule/Test/Constraint/AssertCatalogPriceRuleAppliedProductPage.php:            $cmsIndexPage->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Theme/Test/Block/Html/Topmenu.php: * Class Topmenu
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Theme/Test/Block/Html/Topmenu.php:class Topmenu extends Block
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Cms/Test/Page/CmsIndex.xml:        <block name="topmenu" class="Magento\Theme\Test\Block\Html\Topmenu" locator="[data-action='navigation']" strategy="css selector" />
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockOnCategoryPage.php:        $cmsIndex->getTopmenu()->selectCategoryByName($category->getName());
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Cms/Test/Constraint/AssertCmsBlockNotOnCategoryPage.php:        $cmsIndex->getTopmenu()->selectCategoryByName($category->getName());
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AbstractAssertTaxWithCrossBorderApplying.php:        $this->cmsIndex->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Tax/Test/Constraint/AbstractAssertTaxRuleIsAppliedToAllPrices.php:        $this->cmsIndex->getTopmenu()->selectCategoryByName($productCategory);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Weee/Test/Constraint/AssertFptApplied.php:        $this->cmsIndex->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertAddToCartButtonAbsentOnCategoryPage.php:        $cmsIndex->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Checkout/Test/Constraint/AssertAddToCartButtonPresentOnCategoryPage.php:        $cmsIndex->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Directory/Test/Constraint/AssertCurrencyRateAppliedOnCatalogPage.php:        $cmsIndex->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Directory/Test/Constraint/AssertCurrencyRateAppliedOnCatalogPage.php:        $cmsIndex->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertCategoryUrlWithCustomStoreView.php:        $cmsIndex->getTopmenu()->hoverCategoryByName($parentCategory->getName());
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/UrlRewrite/Test/Constraint/AssertCategoryUrlWithCustomStoreView.php:        $cmsIndex->getTopmenu()->selectCategoryByName(
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetCatalogNewProductsList.php:        $cmsIndex->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetOnFrontendInCatalog.php:        $cmsIndex->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetRecentlyViewedProducts.php:        $this->cmsIndex->getTopmenu()->selectCategoryByName($category->getName());
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Widget/Test/Constraint/AssertWidgetProductLink.php:        $cmsIndex->getTopmenu()->selectCategoryByName($widget->getWidgetInstance()[0]['entities']->getName());
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/CurrencySymbol/Test/Constraint/AssertCurrencySymbolOnCatalogPage.php:        $cmsIndex->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Catalog/Test/Page/Category/CatalogCategoryView.xml:        <block name="topmenu" class="Magento\Theme\Test\Block\Html\Topmenu" locator=".navigation" strategy="css selector" />
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductInCategory.php:        $cmsIndex->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryIncludeInNavigationMenu.php:            $catalogCategoryView->getTopmenu()->isCategoryVisible($category->getName()),
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertSubCategoryNotInNavigationMenu.php:            $catalogCategoryView->getTopmenu()->isCategoryVisible($subcategory->getName()),
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductVisibleInCategory.php:        $cmsIndex->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductAttributeIsFilterable.php:        $cmsIndex->open()->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductNotVisibleInCategory.php:        $cmsIndex->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAddToCartButtonAbsent.php:        $cmsIndex->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductIsNotDisplayingOnFrontend.php:        $this->cmsIndex->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertAddToCartButtonPresent.php:        $cmsIndex->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertProductViewBreadcrumbsCategory.php:                $cmsIndex->getTopmenu()->selectCategoryByName($category->getName());
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryNotInNavigationMenu.php:            $catalogCategoryView->getTopmenu()->isCategoryVisible($category->getName()),
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryIsNotActive.php:            $categoryView->getTopmenu()->isCategoryVisible($category->getName()),
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryNavigationMenu.php:                $cmsIndex->getTopmenu()->isCategoryVisible($category),
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryNavigationMenu.php:        return 'Topmenu contains correct tree of categories.';
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryInNavigationMenu.php:                $catalogCategoryView->getTopmenu()->isCategoryVisible($category->getName()),
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryInNavigationMenu.php:                $catalogCategoryView->getTopmenu()->isCategoryVisible($category->getName()),
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryPage.php:            if (!$this->categoryViewPage->getTopmenu()->isCategoryVisible($categoryData['name'])) {
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Catalog/Test/Constraint/AssertCategoryPage.php:            if ($this->categoryViewPage->getTopmenu()->isCategoryVisible($categoryData['name'])) {
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Constraint/AssertVideoCategoryView.php:        $cmsIndex->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/ProductVideo/Test/Constraint/AssertNoVideoCategoryView.php:        $cmsIndex->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertFilterProductList.php:        $cmsIndex->getTopmenu()->selectCategoryByName($category->getName());
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/LayeredNavigation/Test/Constraint/AssertCategorySortingOnFilteredProductList.php:        $cmsIndex->getTopmenu()->selectCategoryByName($category->getName());
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/CatalogRuleConfigurable/Test/Constraint/AssertCatalogPriceRuleAppliedCatalogPage.php:            $cmsIndexPage->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/SalesRule/Test/Constraint/AssertCartPriceRuleApplying.php:                $this->cmsIndex->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Swatches/Test/TestStep/AddProductToCartFromCatalogCategoryPageStep.php:        $this->cmsIndex->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Swatches/Test/Constraint/AssertSwatchesAreNotVisibleOnCategoryPage.php:        $cmsIndex->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Swatches/Test/Constraint/AssertSwatchesAreVisibleOnCategoryPage.php:        $cmsIndex->getTopmenu()->selectCategoryByName($categoryName);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/ConfigurableProduct/Test/Constraint/AssertConfigurableProductAttributeOptionNotInLayeredNavigation.php:        $cmsIndex->open()->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertMsrpInShoppingCart.php:        $cmsIndex->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertMapOnCategoryPage.php:        $cmsIndex->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertMsrpOnProductView.php:        $cmsIndex->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertMsrpOnCategoryPage.php:        $cmsIndex->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]);
vendor/magento/magento2-base/dev/tests/functional/tests/app/Magento/Msrp/Test/Constraint/AssertMapOnProductView.php:        $cmsIndex->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]);
vendor/magento/magento2-base/CHANGELOG.md:    * [#13266](https://github.com/magento/magento2/issues/13266) -- Topmenu 'last' class not being set if the a parent is inactive (fixed in [magento/magento2#22071](https://github.com/magento/magento2/pull/22071))
vendor/magento/magento2-base/CHANGELOG.md:    * [#1083](https://github.com/magento/magento2/pull/1083) -- Move Topmenu CategoryData creation to a public method to enable plugin
vendor/magento/magento2-base/CHANGELOG.md:    * [#877](https://github.com/magento/magento2/pull/877) -- Made Topmenu HTML Editable
