NavigationItemOpenPanel: remove handling of landing page ("four squares" design)#210893
Conversation
90e6ab1 to
e072275
Compare
e072275 to
099e52f
Compare
|
Pinging @elastic/security-solution (Team: SecuritySolution) |
|
Pinging @elastic/appex-sharedux (Team:SharedUX) |
|
Starting backport for target branches: 8.x https://github.com/elastic/kibana/actions/runs/14359683544 |
💔 All backports failed
Manual backportTo create the backport manually run: Questions ?Please refer to the Backport tool documentation |
|
Friendly reminder: Looks like this PR hasn’t been backported yet. |
💚 All backports created successfully
Note: Successful backport PRs will be merged automatically after passing CI. Questions ?Please refer to the Backport tool documentation |
…es" design) (elastic#210893) ## Summary Part of Epic: elastic/kibana-team#1439 Requires: elastic#212903 Changes: 1. Moves the Solution Side Nav away from the "four squares" design pattern: where clicking the item label opens a landing page and the item icon opens the secondary nav panel. This was a custom component implemented in the Kibana package, not part of the EUI `EuiCollapsibleNavBeta` component. 2. Changes some usage of `@emotion/css` to `@emotion/react` for better developer experience ### Screenshots <details><summary>Before</summary>  </details> <details><summary>After</summary>  </details> ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [x] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) ### Identify risks Does this PR introduce any risks? For example, consider risks like hard to test bugs, performance regression, potential of data loss. Describe the risk, its severity, and mitigation for each identified risk. Invite stakeholders and evaluate how to proceed before merging. - [ ] This design pattern was only used in Security Solution. There is a small risk of regression issues in Security Solution navigation. This was mitigated by manual testing during development. (cherry picked from commit 77523f7) # Conflicts: # x-pack/test/security_solution_cypress/cypress/e2e/explore/navigation/navigation.cy.ts
|
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
… squares" design) (#210893) (#218133) # Backport This will backport the following commits from `main` to `8.x`: - [NavigationItemOpenPanel: remove handling of landing page ("four squares" design) (#210893)](#210893) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Tim Sullivan","email":"tsullivan@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-09T14:25:30Z","message":"NavigationItemOpenPanel: remove handling of landing page (\"four squares\" design) (#210893)\n\n## Summary\n\nPart of Epic: https://github.com/elastic/kibana-team/issues/1439\nRequires: https://github.com/elastic/kibana/issues/212903\n\nChanges:\n1. Moves the Solution Side Nav away from the \"four squares\" design\npattern: where clicking the item label opens a landing page and the item\nicon opens the secondary nav panel. This was a custom component\nimplemented in the Kibana package, not part of the EUI\n`EuiCollapsibleNavBeta` component.\n2. Changes some usage of `@emotion/css` to `@emotion/react` for better\ndeveloper experience\n\n### Screenshots\n\n<details><summary>Before</summary>\n\n\n\n\n</details>\n\n<details><summary>After</summary>\n\n\n\n\n</details>\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n### Identify risks\n\nDoes this PR introduce any risks? For example, consider risks like hard\nto test bugs, performance regression, potential of data loss.\n\nDescribe the risk, its severity, and mitigation for each identified\nrisk. Invite stakeholders and evaluate how to proceed before merging.\n\n- [ ] This design pattern was only used in Security Solution. There is a\nsmall risk of regression issues in Security Solution navigation. This\nwas mitigated by manual testing during development.","sha":"77523f7b15aabe612933c352e71d93e441d2eb3e","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["blocked","release_note:skip","backport missing","Team: SecuritySolution","Team:SharedUX","ci:project-deploy-observability","backport:version","v9.1.0","v8.19.0"],"title":"NavigationItemOpenPanel: remove handling of landing page (\"four squares\" design)","number":210893,"url":"https://github.com/elastic/kibana/pull/210893","mergeCommit":{"message":"NavigationItemOpenPanel: remove handling of landing page (\"four squares\" design) (#210893)\n\n## Summary\n\nPart of Epic: https://github.com/elastic/kibana-team/issues/1439\nRequires: https://github.com/elastic/kibana/issues/212903\n\nChanges:\n1. Moves the Solution Side Nav away from the \"four squares\" design\npattern: where clicking the item label opens a landing page and the item\nicon opens the secondary nav panel. This was a custom component\nimplemented in the Kibana package, not part of the EUI\n`EuiCollapsibleNavBeta` component.\n2. Changes some usage of `@emotion/css` to `@emotion/react` for better\ndeveloper experience\n\n### Screenshots\n\n<details><summary>Before</summary>\n\n\n\n\n</details>\n\n<details><summary>After</summary>\n\n\n\n\n</details>\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n### Identify risks\n\nDoes this PR introduce any risks? For example, consider risks like hard\nto test bugs, performance regression, potential of data loss.\n\nDescribe the risk, its severity, and mitigation for each identified\nrisk. Invite stakeholders and evaluate how to proceed before merging.\n\n- [ ] This design pattern was only used in Security Solution. There is a\nsmall risk of regression issues in Security Solution navigation. This\nwas mitigated by manual testing during development.","sha":"77523f7b15aabe612933c352e71d93e441d2eb3e"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/210893","number":210893,"mergeCommit":{"message":"NavigationItemOpenPanel: remove handling of landing page (\"four squares\" design) (#210893)\n\n## Summary\n\nPart of Epic: https://github.com/elastic/kibana-team/issues/1439\nRequires: https://github.com/elastic/kibana/issues/212903\n\nChanges:\n1. Moves the Solution Side Nav away from the \"four squares\" design\npattern: where clicking the item label opens a landing page and the item\nicon opens the secondary nav panel. This was a custom component\nimplemented in the Kibana package, not part of the EUI\n`EuiCollapsibleNavBeta` component.\n2. Changes some usage of `@emotion/css` to `@emotion/react` for better\ndeveloper experience\n\n### Screenshots\n\n<details><summary>Before</summary>\n\n\n\n\n</details>\n\n<details><summary>After</summary>\n\n\n\n\n</details>\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n### Identify risks\n\nDoes this PR introduce any risks? For example, consider risks like hard\nto test bugs, performance regression, potential of data loss.\n\nDescribe the risk, its severity, and mitigation for each identified\nrisk. Invite stakeholders and evaluate how to proceed before merging.\n\n- [ ] This design pattern was only used in Security Solution. There is a\nsmall risk of regression issues in Security Solution navigation. This\nwas mitigated by manual testing during development.","sha":"77523f7b15aabe612933c352e71d93e441d2eb3e"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT-->
## Summary This PR updates and simplifies the general architecture of the Security Solution links, removing unnecessary code. The new architecture leverages the static `navigationTree` files. This approach was discussed and agreed with @tsullivan (Shared-UX team) and introduced in [this PR](#215969). With these changes, the `navigationTree` becomes the SSoT (Single Source of Truth) for the links hierarchy. This is done by registering the Security Solution plugin `deepLinks` using the regular `ApplicationLinks` information, but following the same hierarchy as the `navigationTree`. This ensures consistency across the app and keeps the code DRY. >[!note] These changes only affect the new _Solution navigation_. The _Classic navigation_ remains unchanged and isolated, as it is expected to be deprecated and removed in the near future. ### Architecture change - The "links switchers", which were functions to programmatically change the links hierarchy, have been removed. - The `NavigationLinks` from which we were generating the `navigationTree` programatically have also been dropped. - The SecuritySolution plugin `deepLinks` are now generated using the `ApplicationLinks` for the link configuration (title, path...) and the current `navigationTree` for the hierarchy. #### Previous architecture  #### New architecture  >[!important] The landing pages (Rules, Explore, Assets...) were made inaccessible recently by the shared-ux team ([PR](#210893)) in the new Solution navigation as part of an effort to unify with the rest of solutions. This fact also helped simplify the architecture. >[!tip] We have multiple static `navigationTree` definitions, which are used depending on the serverless product tier. Right now, we have the "default" `navigationTree` used in the _essentials_ and _complete_ tiers, and the "AI" `navigationTree` used in the new _searchAiLake_ tier. This approach ensures consistency for the links' locations across Kibana: the "left navigation", the "breadcrumbs", and the "global search" will always be aligned. ### Screenshots #### ECH navigations | Classic nav | Solution nav | |-|-| |<img width="248" alt="classic" src="https://github.com/user-attachments/assets/bb9e722e-316e-4c04-9978-068c35680382" />|<img width="248" alt="solution_nav" src="https://github.com/user-attachments/assets/a993ce49-b780-4405-b829-4d36023ae627" />| #### Serverless navigations | Regular tiers | AI for SOC | |-|-| |<img width="248" alt="regular_serverless_nav" src="https://github.com/user-attachments/assets/d782bf49-6c76-4414-a807-35245a5e9883" />|<img width="248" alt="ai_nav" src="https://github.com/user-attachments/assets/25d9950d-77c8-4d44-ab53-4b07423713af" />| #### Example of hierarchy for the `Endpoints` page: ##### Classic nav  ##### Solution nav  ### Other changes - `NavLinks` are no longer used by the Solution navigation and have been deprecated. They are only used in the Classic navigation now and will be removed along with it. - `ExternalPageNames` are no longer used and have been removed. - `ApplicationLinks` observables moved to a singleton class. - Link-related hooks have been moved to their own `links_hooks.ts` file. ### Next steps When the Classic navigation is deprecated, we'll be able to: - Define a flat structure of `ApplicationLinks` and remove the concept of `category` in them. - Remove Classic Security navigation components. - Remove all the landing pages and their components in the navigation package. The [docs](https://docs.elastic.dev/security-solution/dev-docs/app-links) will be updated once this is merged. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
…c#217890) ## Summary This PR updates and simplifies the general architecture of the Security Solution links, removing unnecessary code. The new architecture leverages the static `navigationTree` files. This approach was discussed and agreed with @tsullivan (Shared-UX team) and introduced in [this PR](elastic#215969). With these changes, the `navigationTree` becomes the SSoT (Single Source of Truth) for the links hierarchy. This is done by registering the Security Solution plugin `deepLinks` using the regular `ApplicationLinks` information, but following the same hierarchy as the `navigationTree`. This ensures consistency across the app and keeps the code DRY. >[!note] These changes only affect the new _Solution navigation_. The _Classic navigation_ remains unchanged and isolated, as it is expected to be deprecated and removed in the near future. ### Architecture change - The "links switchers", which were functions to programmatically change the links hierarchy, have been removed. - The `NavigationLinks` from which we were generating the `navigationTree` programatically have also been dropped. - The SecuritySolution plugin `deepLinks` are now generated using the `ApplicationLinks` for the link configuration (title, path...) and the current `navigationTree` for the hierarchy. #### Previous architecture  #### New architecture  >[!important] The landing pages (Rules, Explore, Assets...) were made inaccessible recently by the shared-ux team ([PR](elastic#210893)) in the new Solution navigation as part of an effort to unify with the rest of solutions. This fact also helped simplify the architecture. >[!tip] We have multiple static `navigationTree` definitions, which are used depending on the serverless product tier. Right now, we have the "default" `navigationTree` used in the _essentials_ and _complete_ tiers, and the "AI" `navigationTree` used in the new _searchAiLake_ tier. This approach ensures consistency for the links' locations across Kibana: the "left navigation", the "breadcrumbs", and the "global search" will always be aligned. ### Screenshots #### ECH navigations | Classic nav | Solution nav | |-|-| |<img width="248" alt="classic" src="https://github.com/user-attachments/assets/bb9e722e-316e-4c04-9978-068c35680382" />|<img width="248" alt="solution_nav" src="https://github.com/user-attachments/assets/a993ce49-b780-4405-b829-4d36023ae627" />| #### Serverless navigations | Regular tiers | AI for SOC | |-|-| |<img width="248" alt="regular_serverless_nav" src="https://github.com/user-attachments/assets/d782bf49-6c76-4414-a807-35245a5e9883" />|<img width="248" alt="ai_nav" src="https://github.com/user-attachments/assets/25d9950d-77c8-4d44-ab53-4b07423713af" />| #### Example of hierarchy for the `Endpoints` page: ##### Classic nav  ##### Solution nav  ### Other changes - `NavLinks` are no longer used by the Solution navigation and have been deprecated. They are only used in the Classic navigation now and will be removed along with it. - `ExternalPageNames` are no longer used and have been removed. - `ApplicationLinks` observables moved to a singleton class. - Link-related hooks have been moved to their own `links_hooks.ts` file. ### Next steps When the Classic navigation is deprecated, we'll be able to: - Define a flat structure of `ApplicationLinks` and remove the concept of `category` in them. - Remove Classic Security navigation components. - Remove all the landing pages and their components in the navigation package. The [docs](https://docs.elastic.dev/security-solution/dev-docs/app-links) will be updated once this is merged. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
…c#217890) ## Summary This PR updates and simplifies the general architecture of the Security Solution links, removing unnecessary code. The new architecture leverages the static `navigationTree` files. This approach was discussed and agreed with @tsullivan (Shared-UX team) and introduced in [this PR](elastic#215969). With these changes, the `navigationTree` becomes the SSoT (Single Source of Truth) for the links hierarchy. This is done by registering the Security Solution plugin `deepLinks` using the regular `ApplicationLinks` information, but following the same hierarchy as the `navigationTree`. This ensures consistency across the app and keeps the code DRY. >[!note] These changes only affect the new _Solution navigation_. The _Classic navigation_ remains unchanged and isolated, as it is expected to be deprecated and removed in the near future. ### Architecture change - The "links switchers", which were functions to programmatically change the links hierarchy, have been removed. - The `NavigationLinks` from which we were generating the `navigationTree` programatically have also been dropped. - The SecuritySolution plugin `deepLinks` are now generated using the `ApplicationLinks` for the link configuration (title, path...) and the current `navigationTree` for the hierarchy. #### Previous architecture  #### New architecture  >[!important] The landing pages (Rules, Explore, Assets...) were made inaccessible recently by the shared-ux team ([PR](elastic#210893)) in the new Solution navigation as part of an effort to unify with the rest of solutions. This fact also helped simplify the architecture. >[!tip] We have multiple static `navigationTree` definitions, which are used depending on the serverless product tier. Right now, we have the "default" `navigationTree` used in the _essentials_ and _complete_ tiers, and the "AI" `navigationTree` used in the new _searchAiLake_ tier. This approach ensures consistency for the links' locations across Kibana: the "left navigation", the "breadcrumbs", and the "global search" will always be aligned. ### Screenshots #### ECH navigations | Classic nav | Solution nav | |-|-| |<img width="248" alt="classic" src="https://github.com/user-attachments/assets/bb9e722e-316e-4c04-9978-068c35680382" />|<img width="248" alt="solution_nav" src="https://github.com/user-attachments/assets/a993ce49-b780-4405-b829-4d36023ae627" />| #### Serverless navigations | Regular tiers | AI for SOC | |-|-| |<img width="248" alt="regular_serverless_nav" src="https://github.com/user-attachments/assets/d782bf49-6c76-4414-a807-35245a5e9883" />|<img width="248" alt="ai_nav" src="https://github.com/user-attachments/assets/25d9950d-77c8-4d44-ab53-4b07423713af" />| #### Example of hierarchy for the `Endpoints` page: ##### Classic nav  ##### Solution nav  ### Other changes - `NavLinks` are no longer used by the Solution navigation and have been deprecated. They are only used in the Classic navigation now and will be removed along with it. - `ExternalPageNames` are no longer used and have been removed. - `ApplicationLinks` observables moved to a singleton class. - Link-related hooks have been moved to their own `links_hooks.ts` file. ### Next steps When the Classic navigation is deprecated, we'll be able to: - Define a flat structure of `ApplicationLinks` and remove the concept of `category` in them. - Remove Classic Security navigation components. - Remove all the landing pages and their components in the navigation package. The [docs](https://docs.elastic.dev/security-solution/dev-docs/app-links) will be updated once this is merged. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com> (cherry picked from commit c9f2f7c) # Conflicts: # src/platform/packages/shared/deeplinks/security/deep_links.ts # x-pack/platform/plugins/private/translations/translations/fr-FR.json # x-pack/platform/plugins/private/translations/translations/ja-JP.json # x-pack/platform/plugins/private/translations/translations/zh-CN.json # x-pack/solutions/observability/plugins/logs_explorer/.storybook/__mocks__/package_icon.tsx # x-pack/solutions/security/packages/navigation/src/constants.ts # x-pack/solutions/security/packages/navigation/src/i18n_strings.ts # x-pack/solutions/security/packages/navigation/src/navigation_tree/ml_navigation_tree.ts # x-pack/solutions/security/plugins/security_solution/public/app/links/app_links.ts # x-pack/solutions/security/plugins/security_solution/public/app/solution_navigation/categories.ts # x-pack/solutions/security/plugins/security_solution/public/app/solution_navigation/links/sections/assets_links.ts # x-pack/solutions/security/plugins/security_solution/public/app/solution_navigation/links/sections/assets_translations.ts # x-pack/solutions/security/plugins/security_solution/public/app/solution_navigation/links/sections/lazy_icons.tsx # x-pack/solutions/security/plugins/security_solution/public/app/solution_navigation/links/sections/ml_links.ts # x-pack/solutions/security/plugins/security_solution/public/app/solution_navigation/links/sections/ml_translations.ts # x-pack/solutions/security/plugins/security_solution/public/common/components/security_route_page_wrapper/index.test.tsx # x-pack/solutions/security/plugins/security_solution/public/common/components/security_route_page_wrapper/index.tsx # x-pack/solutions/security/plugins/security_solution/public/common/utils/timeline/use_show_timeline.test.tsx # x-pack/solutions/security/plugins/security_solution/public/common/utils/timeline/use_show_timeline_for_path.ts # x-pack/solutions/security/plugins/security_solution/public/configurations/routes.tsx # x-pack/solutions/security/plugins/security_solution/public/detections/pages/alert_summary/index.tsx # x-pack/solutions/security/plugins/security_solution/public/lazy_sub_plugins.tsx # x-pack/solutions/security/plugins/security_solution/tsconfig.json # x-pack/solutions/security/plugins/security_solution_ess/public/navigation/__snapshots__/side_navigation.test.tsx.snap # x-pack/solutions/security/plugins/security_solution_ess/public/navigation/side_navigation.tsx # x-pack/solutions/security/plugins/security_solution_serverless/public/common/lazy_icons.tsx # x-pack/solutions/security/plugins/security_solution_serverless/public/navigation/__snapshots__/side_navigation.test.tsx.snap # x-pack/solutions/security/plugins/security_solution_serverless/public/navigation/ai_navigation/callout.test.tsx # x-pack/solutions/security/plugins/security_solution_serverless/public/navigation/ai_navigation/callout.tsx # x-pack/solutions/security/plugins/security_solution_serverless/public/navigation/ai_navigation/icon.tsx # x-pack/solutions/security/plugins/security_solution_serverless/public/navigation/ai_navigation/translations.ts # x-pack/solutions/security/plugins/security_solution_serverless/public/navigation/index.ts # x-pack/solutions/security/plugins/security_solution_serverless/public/navigation/navigation.test.ts # x-pack/solutions/security/plugins/security_solution_serverless/public/navigation/security_side_navigation.tsx # x-pack/solutions/security/plugins/security_solution_serverless/public/navigation/side_navigation.ts # x-pack/test/security_solution_cypress/cypress/screens/serverless_security_header.ts
…217890) (#221923) # Backport This will backport the following commits from `main` to `8.19`: - [[Security Solution] Solution navigation architecture revision (#217890)](#217890) <!--- Backport version: 10.0.0 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Sergi Massaneda","email":"sergi.massaneda@elastic.co"},"sourceCommit":{"committedDate":"2025-04-28T16:27:06Z","message":"[Security Solution] Solution navigation architecture revision (#217890)\n\n## Summary\n\nThis PR updates and simplifies the general architecture of the Security\nSolution links, removing unnecessary code.\n\nThe new architecture leverages the static `navigationTree` files. This\napproach was discussed and agreed with @tsullivan (Shared-UX team) and\nintroduced in [this PR](https://github.com/elastic/kibana/pull/215969).\n\nWith these changes, the `navigationTree` becomes the SSoT (Single Source\nof Truth) for the links hierarchy. This is done by registering the\nSecurity Solution plugin `deepLinks` using the regular\n`ApplicationLinks` information, but following the same hierarchy as the\n`navigationTree`. This ensures consistency across the app and keeps the\ncode DRY.\n\n>[!note]\nThese changes only affect the new _Solution navigation_. The _Classic\nnavigation_ remains unchanged and isolated, as it is expected to be\ndeprecated and removed in the near future.\n\n### Architecture change\n\n- The \"links switchers\", which were functions to programmatically change\nthe links hierarchy, have been removed.\n- The `NavigationLinks` from which we were generating the\n`navigationTree` programatically have also been dropped.\n- The SecuritySolution plugin `deepLinks` are now generated using the\n`ApplicationLinks` for the link configuration (title, path...) and the\ncurrent `navigationTree` for the hierarchy.\n\n#### Previous architecture\n\n\n#### New architecture\n\n\n>[!important]\nThe landing pages (Rules, Explore, Assets...) were made inaccessible\nrecently by the shared-ux team\n([PR](#210893)) in the new\nSolution navigation as part of an effort to unify with the rest of\nsolutions. This fact also helped simplify the architecture.\n\n>[!tip]\nWe have multiple static `navigationTree` definitions, which are used\ndepending on the serverless product tier. Right now, we have the\n\"default\" `navigationTree` used in the _essentials_ and _complete_\ntiers, and the \"AI\" `navigationTree` used in the new _searchAiLake_\ntier.\n\nThis approach ensures consistency for the links' locations across\nKibana: the \"left navigation\", the \"breadcrumbs\", and the \"global\nsearch\" will always be aligned.\n\n### Screenshots\n\n#### ECH navigations\n\n| Classic nav | Solution nav |\n|-|-|\n|<img width=\"248\" alt=\"classic\"\nsrc=\"https://github.com/user-attachments/assets/bb9e722e-316e-4c04-9978-068c35680382\"\n/>|<img width=\"248\" alt=\"solution_nav\"\nsrc=\"https://github.com/user-attachments/assets/a993ce49-b780-4405-b829-4d36023ae627\"\n/>|\n\n\n#### Serverless navigations\n\n| Regular tiers | AI for SOC |\n|-|-|\n|<img width=\"248\" alt=\"regular_serverless_nav\"\nsrc=\"https://github.com/user-attachments/assets/d782bf49-6c76-4414-a807-35245a5e9883\"\n/>|<img width=\"248\" alt=\"ai_nav\"\nsrc=\"https://github.com/user-attachments/assets/25d9950d-77c8-4d44-ab53-4b07423713af\"\n/>|\n\n#### Example of hierarchy for the `Endpoints` page:\n\n##### Classic nav\n\n\n\n##### Solution nav\n\n\n\n### Other changes\n\n- `NavLinks` are no longer used by the Solution navigation and have been\ndeprecated. They are only used in the Classic navigation now and will be\nremoved along with it.\n- `ExternalPageNames` are no longer used and have been removed.\n- `ApplicationLinks` observables moved to a singleton class.\n- Link-related hooks have been moved to their own `links_hooks.ts` file.\n\n### Next steps\n\nWhen the Classic navigation is deprecated, we'll be able to:\n\n- Define a flat structure of `ApplicationLinks` and remove the concept\nof `category` in them.\n- Remove Classic Security navigation components.\n- Remove all the landing pages and their components in the navigation\npackage.\n\n\nThe\n[docs](https://docs.elastic.dev/security-solution/dev-docs/app-links)\nwill be updated once this is merged.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>","sha":"c9f2f7cd815a6e473aa704027e7783547072c477","branchLabelMapping":{"^v9.1.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:skip","Team: SecuritySolution","ci:cloud-deploy","ci:cloud-persist-deployment","ci:project-deploy-security","ci:project-persist-deployment","v9.1.0"],"title":"[Security Solution] Solution navigation architecture revision","number":217890,"url":"https://github.com/elastic/kibana/pull/217890","mergeCommit":{"message":"[Security Solution] Solution navigation architecture revision (#217890)\n\n## Summary\n\nThis PR updates and simplifies the general architecture of the Security\nSolution links, removing unnecessary code.\n\nThe new architecture leverages the static `navigationTree` files. This\napproach was discussed and agreed with @tsullivan (Shared-UX team) and\nintroduced in [this PR](https://github.com/elastic/kibana/pull/215969).\n\nWith these changes, the `navigationTree` becomes the SSoT (Single Source\nof Truth) for the links hierarchy. This is done by registering the\nSecurity Solution plugin `deepLinks` using the regular\n`ApplicationLinks` information, but following the same hierarchy as the\n`navigationTree`. This ensures consistency across the app and keeps the\ncode DRY.\n\n>[!note]\nThese changes only affect the new _Solution navigation_. The _Classic\nnavigation_ remains unchanged and isolated, as it is expected to be\ndeprecated and removed in the near future.\n\n### Architecture change\n\n- The \"links switchers\", which were functions to programmatically change\nthe links hierarchy, have been removed.\n- The `NavigationLinks` from which we were generating the\n`navigationTree` programatically have also been dropped.\n- The SecuritySolution plugin `deepLinks` are now generated using the\n`ApplicationLinks` for the link configuration (title, path...) and the\ncurrent `navigationTree` for the hierarchy.\n\n#### Previous architecture\n\n\n#### New architecture\n\n\n>[!important]\nThe landing pages (Rules, Explore, Assets...) were made inaccessible\nrecently by the shared-ux team\n([PR](#210893)) in the new\nSolution navigation as part of an effort to unify with the rest of\nsolutions. This fact also helped simplify the architecture.\n\n>[!tip]\nWe have multiple static `navigationTree` definitions, which are used\ndepending on the serverless product tier. Right now, we have the\n\"default\" `navigationTree` used in the _essentials_ and _complete_\ntiers, and the \"AI\" `navigationTree` used in the new _searchAiLake_\ntier.\n\nThis approach ensures consistency for the links' locations across\nKibana: the \"left navigation\", the \"breadcrumbs\", and the \"global\nsearch\" will always be aligned.\n\n### Screenshots\n\n#### ECH navigations\n\n| Classic nav | Solution nav |\n|-|-|\n|<img width=\"248\" alt=\"classic\"\nsrc=\"https://github.com/user-attachments/assets/bb9e722e-316e-4c04-9978-068c35680382\"\n/>|<img width=\"248\" alt=\"solution_nav\"\nsrc=\"https://github.com/user-attachments/assets/a993ce49-b780-4405-b829-4d36023ae627\"\n/>|\n\n\n#### Serverless navigations\n\n| Regular tiers | AI for SOC |\n|-|-|\n|<img width=\"248\" alt=\"regular_serverless_nav\"\nsrc=\"https://github.com/user-attachments/assets/d782bf49-6c76-4414-a807-35245a5e9883\"\n/>|<img width=\"248\" alt=\"ai_nav\"\nsrc=\"https://github.com/user-attachments/assets/25d9950d-77c8-4d44-ab53-4b07423713af\"\n/>|\n\n#### Example of hierarchy for the `Endpoints` page:\n\n##### Classic nav\n\n\n\n##### Solution nav\n\n\n\n### Other changes\n\n- `NavLinks` are no longer used by the Solution navigation and have been\ndeprecated. They are only used in the Classic navigation now and will be\nremoved along with it.\n- `ExternalPageNames` are no longer used and have been removed.\n- `ApplicationLinks` observables moved to a singleton class.\n- Link-related hooks have been moved to their own `links_hooks.ts` file.\n\n### Next steps\n\nWhen the Classic navigation is deprecated, we'll be able to:\n\n- Define a flat structure of `ApplicationLinks` and remove the concept\nof `category` in them.\n- Remove Classic Security navigation components.\n- Remove all the landing pages and their components in the navigation\npackage.\n\n\nThe\n[docs](https://docs.elastic.dev/security-solution/dev-docs/app-links)\nwill be updated once this is merged.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>","sha":"c9f2f7cd815a6e473aa704027e7783547072c477"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217890","number":217890,"mergeCommit":{"message":"[Security Solution] Solution navigation architecture revision (#217890)\n\n## Summary\n\nThis PR updates and simplifies the general architecture of the Security\nSolution links, removing unnecessary code.\n\nThe new architecture leverages the static `navigationTree` files. This\napproach was discussed and agreed with @tsullivan (Shared-UX team) and\nintroduced in [this PR](https://github.com/elastic/kibana/pull/215969).\n\nWith these changes, the `navigationTree` becomes the SSoT (Single Source\nof Truth) for the links hierarchy. This is done by registering the\nSecurity Solution plugin `deepLinks` using the regular\n`ApplicationLinks` information, but following the same hierarchy as the\n`navigationTree`. This ensures consistency across the app and keeps the\ncode DRY.\n\n>[!note]\nThese changes only affect the new _Solution navigation_. The _Classic\nnavigation_ remains unchanged and isolated, as it is expected to be\ndeprecated and removed in the near future.\n\n### Architecture change\n\n- The \"links switchers\", which were functions to programmatically change\nthe links hierarchy, have been removed.\n- The `NavigationLinks` from which we were generating the\n`navigationTree` programatically have also been dropped.\n- The SecuritySolution plugin `deepLinks` are now generated using the\n`ApplicationLinks` for the link configuration (title, path...) and the\ncurrent `navigationTree` for the hierarchy.\n\n#### Previous architecture\n\n\n#### New architecture\n\n\n>[!important]\nThe landing pages (Rules, Explore, Assets...) were made inaccessible\nrecently by the shared-ux team\n([PR](#210893)) in the new\nSolution navigation as part of an effort to unify with the rest of\nsolutions. This fact also helped simplify the architecture.\n\n>[!tip]\nWe have multiple static `navigationTree` definitions, which are used\ndepending on the serverless product tier. Right now, we have the\n\"default\" `navigationTree` used in the _essentials_ and _complete_\ntiers, and the \"AI\" `navigationTree` used in the new _searchAiLake_\ntier.\n\nThis approach ensures consistency for the links' locations across\nKibana: the \"left navigation\", the \"breadcrumbs\", and the \"global\nsearch\" will always be aligned.\n\n### Screenshots\n\n#### ECH navigations\n\n| Classic nav | Solution nav |\n|-|-|\n|<img width=\"248\" alt=\"classic\"\nsrc=\"https://github.com/user-attachments/assets/bb9e722e-316e-4c04-9978-068c35680382\"\n/>|<img width=\"248\" alt=\"solution_nav\"\nsrc=\"https://github.com/user-attachments/assets/a993ce49-b780-4405-b829-4d36023ae627\"\n/>|\n\n\n#### Serverless navigations\n\n| Regular tiers | AI for SOC |\n|-|-|\n|<img width=\"248\" alt=\"regular_serverless_nav\"\nsrc=\"https://github.com/user-attachments/assets/d782bf49-6c76-4414-a807-35245a5e9883\"\n/>|<img width=\"248\" alt=\"ai_nav\"\nsrc=\"https://github.com/user-attachments/assets/25d9950d-77c8-4d44-ab53-4b07423713af\"\n/>|\n\n#### Example of hierarchy for the `Endpoints` page:\n\n##### Classic nav\n\n\n\n##### Solution nav\n\n\n\n### Other changes\n\n- `NavLinks` are no longer used by the Solution navigation and have been\ndeprecated. They are only used in the Classic navigation now and will be\nremoved along with it.\n- `ExternalPageNames` are no longer used and have been removed.\n- `ApplicationLinks` observables moved to a singleton class.\n- Link-related hooks have been moved to their own `links_hooks.ts` file.\n\n### Next steps\n\nWhen the Classic navigation is deprecated, we'll be able to:\n\n- Define a flat structure of `ApplicationLinks` and remove the concept\nof `category` in them.\n- Remove Classic Security navigation components.\n- Remove all the landing pages and their components in the navigation\npackage.\n\n\nThe\n[docs](https://docs.elastic.dev/security-solution/dev-docs/app-links)\nwill be updated once this is merged.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>","sha":"c9f2f7cd815a6e473aa704027e7783547072c477"}}]}] BACKPORT--> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Tomasz Ciecierski <tomasz.ciecierski@elastic.co> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
…hen side nav is collapsed (#227705) Closes #227616 The bug was caused some time around #210893 where support for the landing pages of panel opener nav items ("four squares" design) was removed. During that removal, the behavior changed when the side nav is collapsed: panel opener items need to open as an accordion in that scenario. ### Other changes - Initially, I thought the root cause was due to styling, so I cleaned up styles in `navigation_panel.tsx` and refactored them to use `@emotion/react`. ### Release Note Fixed a bug with the solution nav submenu items when the nav is collapsed. ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - ~~[ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)~~ - ~~[ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials~~ - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - ~~[ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~~ - ~~[ ] This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The `release_note:breaking` label should be applied in these situations.~~ - ~~[ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed~~ - [x] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) - [x] Review the [backport guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing) and apply applicable `backport:*` labels.
…hen side nav is collapsed (elastic#227705) Closes elastic#227616 The bug was caused some time around elastic#210893 where support for the landing pages of panel opener nav items ("four squares" design) was removed. During that removal, the behavior changed when the side nav is collapsed: panel opener items need to open as an accordion in that scenario. ### Other changes - Initially, I thought the root cause was due to styling, so I cleaned up styles in `navigation_panel.tsx` and refactored them to use `@emotion/react`. ### Release Note Fixed a bug with the solution nav submenu items when the nav is collapsed. ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - ~~[ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)~~ - ~~[ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials~~ - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - ~~[ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~~ - ~~[ ] This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The `release_note:breaking` label should be applied in these situations.~~ - ~~[ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed~~ - [x] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) - [x] Review the [backport guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing) and apply applicable `backport:*` labels. (cherry picked from commit d85f216)
…hen side nav is collapsed (elastic#227705) Closes elastic#227616 The bug was caused some time around elastic#210893 where support for the landing pages of panel opener nav items ("four squares" design) was removed. During that removal, the behavior changed when the side nav is collapsed: panel opener items need to open as an accordion in that scenario. ### Other changes - Initially, I thought the root cause was due to styling, so I cleaned up styles in `navigation_panel.tsx` and refactored them to use `@emotion/react`. ### Release Note Fixed a bug with the solution nav submenu items when the nav is collapsed. ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - ~~[ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)~~ - ~~[ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials~~ - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - ~~[ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~~ - ~~[ ] This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The `release_note:breaking` label should be applied in these situations.~~ - ~~[ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed~~ - [x] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) - [x] Review the [backport guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing) and apply applicable `backport:*` labels. (cherry picked from commit d85f216) # Conflicts: # src/platform/packages/shared/shared-ux/chrome/navigation/src/ui/components/panel/styles.ts
…hen side nav is collapsed (elastic#227705) Closes elastic#227616 The bug was caused some time around elastic#210893 where support for the landing pages of panel opener nav items ("four squares" design) was removed. During that removal, the behavior changed when the side nav is collapsed: panel opener items need to open as an accordion in that scenario. ### Other changes - Initially, I thought the root cause was due to styling, so I cleaned up styles in `navigation_panel.tsx` and refactored them to use `@emotion/react`. ### Release Note Fixed a bug with the solution nav submenu items when the nav is collapsed. ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - ~~[ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)~~ - ~~[ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials~~ - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - ~~[ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~~ - ~~[ ] This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The `release_note:breaking` label should be applied in these situations.~~ - ~~[ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed~~ - [x] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) - [x] Review the [backport guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing) and apply applicable `backport:*` labels. (cherry picked from commit d85f216)
…hen side nav is collapsed (elastic#227705) Closes elastic#227616 The bug was caused some time around elastic#210893 where support for the landing pages of panel opener nav items ("four squares" design) was removed. During that removal, the behavior changed when the side nav is collapsed: panel opener items need to open as an accordion in that scenario. ### Other changes - Initially, I thought the root cause was due to styling, so I cleaned up styles in `navigation_panel.tsx` and refactored them to use `@emotion/react`. ### Release Note Fixed a bug with the solution nav submenu items when the nav is collapsed. ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - ~~[ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)~~ - ~~[ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials~~ - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - ~~[ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~~ - ~~[ ] This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The `release_note:breaking` label should be applied in these situations.~~ - ~~[ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed~~ - [x] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) - [x] Review the [backport guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing) and apply applicable `backport:*` labels. (cherry picked from commit d85f216) # Conflicts: # src/platform/packages/shared/shared-ux/chrome/navigation/src/ui/components/panel/styles.ts
…eners when side nav is collapsed (#227705) (#228083) # Backport This will backport the following commits from `main` to `8.19`: - [[SharedUX Project Navigation] Fix issue with items in panel openers when side nav is collapsed (#227705)](#227705) <!--- Backport version: 10.0.1 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Tim Sullivan","email":"tsullivan@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-07-15T16:42:08Z","message":"[SharedUX Project Navigation] Fix issue with items in panel openers when side nav is collapsed (#227705)\n\nCloses https://github.com/elastic/kibana/issues/227616\n\nThe bug was caused some time around\nhttps://github.com//pull/210893 where support for the\nlanding pages of panel opener nav items (\"four squares\" design) was\nremoved. During that removal, the behavior changed when the side nav is\ncollapsed: panel opener items need to open as an accordion in that\nscenario.\n\n### Other changes\n- Initially, I thought the root cause was due to styling, so I cleaned\nup styles in `navigation_panel.tsx` and refactored them to use\n`@emotion/react`.\n\n### Release Note\n\nFixed a bug with the solution nav submenu items when the nav is\ncollapsed.\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- ~~[ ] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)~~\n- ~~[ ]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas added for features that require explanation or tutorials~~\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- ~~[ ] If a plugin configuration key changed, check if it needs to be\nallowlisted in the cloud and added to the [docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~~\n- ~~[ ] This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.~~\n- ~~[ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed~~\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n- [x] Review the [backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand apply applicable `backport:*` labels.","sha":"d85f216c8749525cb360649a641754f343800f69","branchLabelMapping":{"^v9.2.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","ci:cloud-deploy","backport:version","v9.1.0","v8.19.0","v9.2.0"],"title":"[SharedUX Project Navigation] Fix issue with items in panel openers when side nav is collapsed","number":227705,"url":"https://github.com/elastic/kibana/pull/227705","mergeCommit":{"message":"[SharedUX Project Navigation] Fix issue with items in panel openers when side nav is collapsed (#227705)\n\nCloses https://github.com/elastic/kibana/issues/227616\n\nThe bug was caused some time around\nhttps://github.com//pull/210893 where support for the\nlanding pages of panel opener nav items (\"four squares\" design) was\nremoved. During that removal, the behavior changed when the side nav is\ncollapsed: panel opener items need to open as an accordion in that\nscenario.\n\n### Other changes\n- Initially, I thought the root cause was due to styling, so I cleaned\nup styles in `navigation_panel.tsx` and refactored them to use\n`@emotion/react`.\n\n### Release Note\n\nFixed a bug with the solution nav submenu items when the nav is\ncollapsed.\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- ~~[ ] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)~~\n- ~~[ ]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas added for features that require explanation or tutorials~~\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- ~~[ ] If a plugin configuration key changed, check if it needs to be\nallowlisted in the cloud and added to the [docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~~\n- ~~[ ] This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.~~\n- ~~[ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed~~\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n- [x] Review the [backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand apply applicable `backport:*` labels.","sha":"d85f216c8749525cb360649a641754f343800f69"}},"sourceBranch":"main","suggestedTargetBranches":["8.19"],"targetPullRequestStates":[{"branch":"9.1","label":"v9.1.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/228067","number":228067,"state":"OPEN"},{"branch":"8.19","label":"v8.19.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.2.0","branchLabelMappingKey":"^v9.2.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/227705","number":227705,"mergeCommit":{"message":"[SharedUX Project Navigation] Fix issue with items in panel openers when side nav is collapsed (#227705)\n\nCloses https://github.com/elastic/kibana/issues/227616\n\nThe bug was caused some time around\nhttps://github.com//pull/210893 where support for the\nlanding pages of panel opener nav items (\"four squares\" design) was\nremoved. During that removal, the behavior changed when the side nav is\ncollapsed: panel opener items need to open as an accordion in that\nscenario.\n\n### Other changes\n- Initially, I thought the root cause was due to styling, so I cleaned\nup styles in `navigation_panel.tsx` and refactored them to use\n`@emotion/react`.\n\n### Release Note\n\nFixed a bug with the solution nav submenu items when the nav is\ncollapsed.\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- ~~[ ] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)~~\n- ~~[ ]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas added for features that require explanation or tutorials~~\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- ~~[ ] If a plugin configuration key changed, check if it needs to be\nallowlisted in the cloud and added to the [docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~~\n- ~~[ ] This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.~~\n- ~~[ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed~~\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n- [x] Review the [backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand apply applicable `backport:*` labels.","sha":"d85f216c8749525cb360649a641754f343800f69"}}]}] BACKPORT--> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
…ners when side nav is collapsed (#227705) (#228067) # Backport This will backport the following commits from `main` to `9.1`: - [[SharedUX Project Navigation] Fix issue with items in panel openers when side nav is collapsed (#227705)](#227705) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Tim Sullivan","email":"tsullivan@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-07-15T16:42:08Z","message":"[SharedUX Project Navigation] Fix issue with items in panel openers when side nav is collapsed (#227705)\n\nCloses https://github.com/elastic/kibana/issues/227616\n\nThe bug was caused some time around\nhttps://github.com//pull/210893 where support for the\nlanding pages of panel opener nav items (\"four squares\" design) was\nremoved. During that removal, the behavior changed when the side nav is\ncollapsed: panel opener items need to open as an accordion in that\nscenario.\n\n### Other changes\n- Initially, I thought the root cause was due to styling, so I cleaned\nup styles in `navigation_panel.tsx` and refactored them to use\n`@emotion/react`.\n\n### Release Note\n\nFixed a bug with the solution nav submenu items when the nav is\ncollapsed.\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- ~~[ ] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)~~\n- ~~[ ]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas added for features that require explanation or tutorials~~\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- ~~[ ] If a plugin configuration key changed, check if it needs to be\nallowlisted in the cloud and added to the [docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~~\n- ~~[ ] This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.~~\n- ~~[ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed~~\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n- [x] Review the [backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand apply applicable `backport:*` labels.","sha":"d85f216c8749525cb360649a641754f343800f69","branchLabelMapping":{"^v9.2.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","ci:cloud-deploy","backport:version","v9.1.0","v8.19.0","v9.2.0"],"title":"[SharedUX Project Navigation] Fix issue with items in panel openers when side nav is collapsed","number":227705,"url":"https://github.com/elastic/kibana/pull/227705","mergeCommit":{"message":"[SharedUX Project Navigation] Fix issue with items in panel openers when side nav is collapsed (#227705)\n\nCloses https://github.com/elastic/kibana/issues/227616\n\nThe bug was caused some time around\nhttps://github.com//pull/210893 where support for the\nlanding pages of panel opener nav items (\"four squares\" design) was\nremoved. During that removal, the behavior changed when the side nav is\ncollapsed: panel opener items need to open as an accordion in that\nscenario.\n\n### Other changes\n- Initially, I thought the root cause was due to styling, so I cleaned\nup styles in `navigation_panel.tsx` and refactored them to use\n`@emotion/react`.\n\n### Release Note\n\nFixed a bug with the solution nav submenu items when the nav is\ncollapsed.\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- ~~[ ] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)~~\n- ~~[ ]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas added for features that require explanation or tutorials~~\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- ~~[ ] If a plugin configuration key changed, check if it needs to be\nallowlisted in the cloud and added to the [docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~~\n- ~~[ ] This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.~~\n- ~~[ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed~~\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n- [x] Review the [backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand apply applicable `backport:*` labels.","sha":"d85f216c8749525cb360649a641754f343800f69"}},"sourceBranch":"main","suggestedTargetBranches":["9.1","8.19"],"targetPullRequestStates":[{"branch":"9.1","label":"v9.1.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.19","label":"v8.19.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.2.0","branchLabelMappingKey":"^v9.2.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/227705","number":227705,"mergeCommit":{"message":"[SharedUX Project Navigation] Fix issue with items in panel openers when side nav is collapsed (#227705)\n\nCloses https://github.com/elastic/kibana/issues/227616\n\nThe bug was caused some time around\nhttps://github.com//pull/210893 where support for the\nlanding pages of panel opener nav items (\"four squares\" design) was\nremoved. During that removal, the behavior changed when the side nav is\ncollapsed: panel opener items need to open as an accordion in that\nscenario.\n\n### Other changes\n- Initially, I thought the root cause was due to styling, so I cleaned\nup styles in `navigation_panel.tsx` and refactored them to use\n`@emotion/react`.\n\n### Release Note\n\nFixed a bug with the solution nav submenu items when the nav is\ncollapsed.\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- ~~[ ] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)~~\n- ~~[ ]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas added for features that require explanation or tutorials~~\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- ~~[ ] If a plugin configuration key changed, check if it needs to be\nallowlisted in the cloud and added to the [docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~~\n- ~~[ ] This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.~~\n- ~~[ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed~~\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n- [x] Review the [backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand apply applicable `backport:*` labels.","sha":"d85f216c8749525cb360649a641754f343800f69"}}]}] BACKPORT--> Co-authored-by: Tim Sullivan <tsullivan@users.noreply.github.com>
…hen side nav is collapsed (elastic#227705) Closes elastic#227616 The bug was caused some time around elastic#210893 where support for the landing pages of panel opener nav items ("four squares" design) was removed. During that removal, the behavior changed when the side nav is collapsed: panel opener items need to open as an accordion in that scenario. ### Other changes - Initially, I thought the root cause was due to styling, so I cleaned up styles in `navigation_panel.tsx` and refactored them to use `@emotion/react`. ### Release Note Fixed a bug with the solution nav submenu items when the nav is collapsed. ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - ~~[ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)~~ - ~~[ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials~~ - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - ~~[ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~~ - ~~[ ] This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The `release_note:breaking` label should be applied in these situations.~~ - ~~[ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed~~ - [x] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) - [x] Review the [backport guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing) and apply applicable `backport:*` labels.
…hen side nav is collapsed (elastic#227705) Closes elastic#227616 The bug was caused some time around elastic#210893 where support for the landing pages of panel opener nav items ("four squares" design) was removed. During that removal, the behavior changed when the side nav is collapsed: panel opener items need to open as an accordion in that scenario. ### Other changes - Initially, I thought the root cause was due to styling, so I cleaned up styles in `navigation_panel.tsx` and refactored them to use `@emotion/react`. ### Release Note Fixed a bug with the solution nav submenu items when the nav is collapsed. ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - ~~[ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)~~ - ~~[ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials~~ - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - ~~[ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~~ - ~~[ ] This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The `release_note:breaking` label should be applied in these situations.~~ - ~~[ ] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed~~ - [x] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) - [x] Review the [backport guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing) and apply applicable `backport:*` labels.
Summary
Part of Epic: https://github.com/elastic/kibana-team/issues/1439
Requires: #212903
Changes:
EuiCollapsibleNavBetacomponent.@emotion/cssto@emotion/reactfor better developer experienceScreenshots
Before
After
Checklist
Check the PR satisfies following conditions.
Reviewers should verify this PR satisfies this list as well.
release_note:*label is applied per the guidelinesIdentify risks
Does this PR introduce any risks? For example, consider risks like hard to test bugs, performance regression, potential of data loss.
Describe the risk, its severity, and mitigation for each identified risk. Invite stakeholders and evaluate how to proceed before merging.