Skip to content

Comments

NavigationItemOpenPanel: remove handling of landing page ("four squares" design)#210893

Merged
tsullivan merged 32 commits intoelastic:mainfrom
tsullivan:solution-nav/ignore-link-when-renderas-panel
Apr 9, 2025
Merged

NavigationItemOpenPanel: remove handling of landing page ("four squares" design)#210893
tsullivan merged 32 commits intoelastic:mainfrom
tsullivan:solution-nav/ignore-link-when-renderas-panel

Conversation

@tsullivan
Copy link
Member

@tsullivan tsullivan commented Feb 12, 2025

Summary

Part of Epic: https://github.com/elastic/kibana-team/issues/1439
Requires: #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

Before

01-security-solution-before

After

02-security-solution-after

Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

  • Unit or functional tests were updated or added to match the most common scenarios
  • The PR description includes the appropriate Release Notes section, and the correct release_note:* label is applied per the guidelines

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.

@tsullivan tsullivan added release_note:skip Skip the PR/issue when compiling release notes backport:skip This PR does not require backporting Team: SecuritySolution Security Solutions Team working on SIEM, Endpoint, Timeline, Resolver, etc. Team:SharedUX Platform AppEx-SharedUX (formerly Global Experience) t// labels Feb 12, 2025
@tsullivan tsullivan requested a review from semd February 12, 2025 17:15
@tsullivan tsullivan self-assigned this Feb 12, 2025
@tsullivan tsullivan force-pushed the solution-nav/ignore-link-when-renderas-panel branch 7 times, most recently from 90e6ab1 to e072275 Compare February 18, 2025 20:20
@tsullivan tsullivan force-pushed the solution-nav/ignore-link-when-renderas-panel branch from e072275 to 099e52f Compare February 18, 2025 22:21
@tsullivan tsullivan marked this pull request as ready for review February 19, 2025 00:07
@tsullivan tsullivan requested review from a team as code owners February 19, 2025 00:07
@elasticmachine
Copy link
Contributor

Pinging @elastic/security-solution (Team: SecuritySolution)

@elasticmachine
Copy link
Contributor

Pinging @elastic/appex-sharedux (Team:SharedUX)

@botelastic botelastic bot added the ci:project-deploy-observability Create an Observability project label Feb 19, 2025
@tsullivan tsullivan merged commit 77523f7 into elastic:main Apr 9, 2025
17 checks passed
@tsullivan tsullivan deleted the solution-nav/ignore-link-when-renderas-panel branch April 9, 2025 14:25
@kibanamachine
Copy link
Contributor

Starting backport for target branches: 8.x

https://github.com/elastic/kibana/actions/runs/14359683544

@kibanamachine
Copy link
Contributor

💔 All backports failed

Status Branch Result
8.x Backport failed because of merge conflicts

Manual backport

To create the backport manually run:

node scripts/backport --pr 210893

Questions ?

Please refer to the Backport tool documentation

@kibanamachine kibanamachine added the backport missing Added to PRs automatically when the are determined to be missing a backport. label Apr 11, 2025
@kibanamachine
Copy link
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 210893 locally

@tsullivan
Copy link
Member Author

💚 All backports created successfully

Status Branch Result
8.x

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

tsullivan added a commit to tsullivan/kibana that referenced this pull request Apr 14, 2025
…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>

![01-security-solution-before](https://github.com/user-attachments/assets/259442a2-6cd5-45f2-be27-1b4e9ef26b04)

</details>

<details><summary>After</summary>

![02-security-solution-after](https://github.com/user-attachments/assets/a8ef8476-e36d-479f-9eba-2450b1df71ac)

</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
@kibanamachine
Copy link
Contributor

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.

tsullivan added a commit that referenced this pull request Apr 15, 2025
… 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![01-security-solution-before](https://github.com/user-attachments/assets/259442a2-6cd5-45f2-be27-1b4e9ef26b04)\n\n</details>\n\n<details><summary>After</summary>\n\n\n![02-security-solution-after](https://github.com/user-attachments/assets/a8ef8476-e36d-479f-9eba-2450b1df71ac)\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![01-security-solution-before](https://github.com/user-attachments/assets/259442a2-6cd5-45f2-be27-1b4e9ef26b04)\n\n</details>\n\n<details><summary>After</summary>\n\n\n![02-security-solution-after](https://github.com/user-attachments/assets/a8ef8476-e36d-479f-9eba-2450b1df71ac)\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![01-security-solution-before](https://github.com/user-attachments/assets/259442a2-6cd5-45f2-be27-1b4e9ef26b04)\n\n</details>\n\n<details><summary>After</summary>\n\n\n![02-security-solution-after](https://github.com/user-attachments/assets/a8ef8476-e36d-479f-9eba-2450b1df71ac)\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-->
@kibanamachine kibanamachine removed the backport missing Added to PRs automatically when the are determined to be missing a backport. label Apr 15, 2025
semd added a commit that referenced this pull request Apr 28, 2025
## 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
![Old Security Serverless links
architecture](https://github.com/user-attachments/assets/0c9db269-bd67-4967-9ca1-bec5e874abff)

#### New architecture
![New Security Serverless links
architecture](https://github.com/user-attachments/assets/9ff24ff8-3ce9-455e-ad76-4baa6b11daa1)

>[!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

![classic_nav_hierarchy](https://github.com/user-attachments/assets/d4c41c0a-f24f-469d-843c-10ff5b3c5174)

##### Solution nav

![solution_nav_hierarchy](https://github.com/user-attachments/assets/e7f753e2-a499-4130-9bd0-9d22788d612b)

### 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>
akowalska622 pushed a commit to akowalska622/kibana that referenced this pull request May 29, 2025
…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
![Old Security Serverless links
architecture](https://github.com/user-attachments/assets/0c9db269-bd67-4967-9ca1-bec5e874abff)

#### New architecture
![New Security Serverless links
architecture](https://github.com/user-attachments/assets/9ff24ff8-3ce9-455e-ad76-4baa6b11daa1)

>[!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

![classic_nav_hierarchy](https://github.com/user-attachments/assets/d4c41c0a-f24f-469d-843c-10ff5b3c5174)

##### Solution nav

![solution_nav_hierarchy](https://github.com/user-attachments/assets/e7f753e2-a499-4130-9bd0-9d22788d612b)

### 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>
semd added a commit to semd/kibana that referenced this pull request May 29, 2025
…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
![Old Security Serverless links
architecture](https://github.com/user-attachments/assets/0c9db269-bd67-4967-9ca1-bec5e874abff)

#### New architecture
![New Security Serverless links
architecture](https://github.com/user-attachments/assets/9ff24ff8-3ce9-455e-ad76-4baa6b11daa1)

>[!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

![classic_nav_hierarchy](https://github.com/user-attachments/assets/d4c41c0a-f24f-469d-843c-10ff5b3c5174)

##### Solution nav

![solution_nav_hierarchy](https://github.com/user-attachments/assets/e7f753e2-a499-4130-9bd0-9d22788d612b)

### 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
semd added a commit that referenced this pull request May 30, 2025
…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![Old Security Serverless
links\narchitecture](https://github.com/user-attachments/assets/0c9db269-bd67-4967-9ca1-bec5e874abff)\n\n####
New architecture\n![New Security Serverless
links\narchitecture](https://github.com/user-attachments/assets/9ff24ff8-3ce9-455e-ad76-4baa6b11daa1)\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![classic_nav_hierarchy](https://github.com/user-attachments/assets/d4c41c0a-f24f-469d-843c-10ff5b3c5174)\n\n#####
Solution
nav\n\n![solution_nav_hierarchy](https://github.com/user-attachments/assets/e7f753e2-a499-4130-9bd0-9d22788d612b)\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![Old Security Serverless
links\narchitecture](https://github.com/user-attachments/assets/0c9db269-bd67-4967-9ca1-bec5e874abff)\n\n####
New architecture\n![New Security Serverless
links\narchitecture](https://github.com/user-attachments/assets/9ff24ff8-3ce9-455e-ad76-4baa6b11daa1)\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![classic_nav_hierarchy](https://github.com/user-attachments/assets/d4c41c0a-f24f-469d-843c-10ff5b3c5174)\n\n#####
Solution
nav\n\n![solution_nav_hierarchy](https://github.com/user-attachments/assets/e7f753e2-a499-4130-9bd0-9d22788d612b)\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![Old Security Serverless
links\narchitecture](https://github.com/user-attachments/assets/0c9db269-bd67-4967-9ca1-bec5e874abff)\n\n####
New architecture\n![New Security Serverless
links\narchitecture](https://github.com/user-attachments/assets/9ff24ff8-3ce9-455e-ad76-4baa6b11daa1)\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![classic_nav_hierarchy](https://github.com/user-attachments/assets/d4c41c0a-f24f-469d-843c-10ff5b3c5174)\n\n#####
Solution
nav\n\n![solution_nav_hierarchy](https://github.com/user-attachments/assets/e7f753e2-a499-4130-9bd0-9d22788d612b)\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>
tsullivan added a commit that referenced this pull request Jul 15, 2025
…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.
kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request Jul 15, 2025
…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)
tsullivan added a commit to tsullivan/kibana that referenced this pull request Jul 15, 2025
…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
tsullivan added a commit to kibanamachine/kibana that referenced this pull request Jul 15, 2025
…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)
tsullivan added a commit to tsullivan/kibana that referenced this pull request Jul 15, 2025
…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
tsullivan added a commit that referenced this pull request Jul 16, 2025
…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>
kibanamachine added a commit that referenced this pull request Jul 16, 2025
…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>
Bluefinger pushed a commit to Bluefinger/kibana that referenced this pull request Jul 22, 2025
…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.
kertal pushed a commit to kertal/kibana that referenced this pull request Jul 25, 2025
…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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:version Backport to applied version labels blocked ci:project-deploy-observability Create an Observability project release_note:skip Skip the PR/issue when compiling release notes Team: SecuritySolution Security Solutions Team working on SIEM, Endpoint, Timeline, Resolver, etc. Team:SharedUX Platform AppEx-SharedUX (formerly Global Experience) t// v8.19.0 v9.1.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants