From f41f722fc7acac8528801adba263a4fe1deb55c0 Mon Sep 17 00:00:00 2001 From: Jiri Matyas Date: Wed, 10 Jun 2026 11:29:45 +0200 Subject: [PATCH 1/5] feat: add support for hiding navigation pages --- packages/app-bridge-theme/src/types/Guideline.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/app-bridge-theme/src/types/Guideline.ts b/packages/app-bridge-theme/src/types/Guideline.ts index 4aceb0944..4e4f98b84 100644 --- a/packages/app-bridge-theme/src/types/Guideline.ts +++ b/packages/app-bridge-theme/src/types/Guideline.ts @@ -40,6 +40,7 @@ interface DocumentBase { } export interface DocumentNavigationItem extends DocumentBase { parentId(): Nullable; + hasVisiblePages(): boolean; } export interface Document extends DocumentBase { documentGroupId(): Nullable; @@ -89,6 +90,7 @@ interface DocumentPageBase { } export interface DocumentPageNavigationItem extends DocumentPageBase { headings(): DocumentPageHeadingNavigationItem[]; + isHiddenInNavigation(): boolean; } export interface AdjacentPage { From f926a97e05119536728e095051e77e70365d6616 Mon Sep 17 00:00:00 2001 From: Jiri Matyas Date: Wed, 10 Jun 2026 11:32:14 +0200 Subject: [PATCH 2/5] changeset --- .changeset/witty-points-tap.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/witty-points-tap.md diff --git a/.changeset/witty-points-tap.md b/.changeset/witty-points-tap.md new file mode 100644 index 000000000..e173625a9 --- /dev/null +++ b/.changeset/witty-points-tap.md @@ -0,0 +1,5 @@ +--- +"@frontify/app-bridge-theme": patch +--- + +Extend DocumentNavigationItem and DocumentPageNavigationItem to enable working with pages hidden from navigation From 5524081360a8bf4f1ffa7b6d35a46582d0729669 Mon Sep 17 00:00:00 2001 From: Jiri Matyas Date: Wed, 10 Jun 2026 13:32:55 +0200 Subject: [PATCH 3/5] remove isHiddenFromnavigation from page --- packages/app-bridge-theme/src/types/Guideline.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/app-bridge-theme/src/types/Guideline.ts b/packages/app-bridge-theme/src/types/Guideline.ts index 4e4f98b84..1df63ca32 100644 --- a/packages/app-bridge-theme/src/types/Guideline.ts +++ b/packages/app-bridge-theme/src/types/Guideline.ts @@ -90,7 +90,6 @@ interface DocumentPageBase { } export interface DocumentPageNavigationItem extends DocumentPageBase { headings(): DocumentPageHeadingNavigationItem[]; - isHiddenInNavigation(): boolean; } export interface AdjacentPage { From 072c1b04c6159930c7c27e36b32d6bd739e12591 Mon Sep 17 00:00:00 2001 From: Jiri Matyas Date: Wed, 10 Jun 2026 13:36:36 +0200 Subject: [PATCH 4/5] update changeset --- .changeset/witty-points-tap.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.changeset/witty-points-tap.md b/.changeset/witty-points-tap.md index e173625a9..eeef4c1a4 100644 --- a/.changeset/witty-points-tap.md +++ b/.changeset/witty-points-tap.md @@ -1,5 +1,11 @@ --- -"@frontify/app-bridge-theme": patch +"@frontify/app-bridge-theme": minor --- -Extend DocumentNavigationItem and DocumentPageNavigationItem to enable working with pages hidden from navigation +feat: add `hasVisiblePages()` to `DocumentNavigationItem` + +Lets consumers detect navigation documents whose pages are all hidden from navigation, so they don't need to attempt fetching their children and/or can modify their UI accordingly if needed + +```ts +navigationItems.filter((item) => item.hasVisiblePages()); +``` From 2aec2d31e7dfa419bb3b1ee5bfe5e137f9ce3b0d Mon Sep 17 00:00:00 2001 From: Jiri Matyas Date: Wed, 10 Jun 2026 13:38:51 +0200 Subject: [PATCH 5/5] scope changeset --- .changeset/witty-points-tap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/witty-points-tap.md b/.changeset/witty-points-tap.md index eeef4c1a4..c07fc31fa 100644 --- a/.changeset/witty-points-tap.md +++ b/.changeset/witty-points-tap.md @@ -2,7 +2,7 @@ "@frontify/app-bridge-theme": minor --- -feat: add `hasVisiblePages()` to `DocumentNavigationItem` +feat(app-bridge-theme): add `hasVisiblePages()` to `DocumentNavigationItem` Lets consumers detect navigation documents whose pages are all hidden from navigation, so they don't need to attempt fetching their children and/or can modify their UI accordingly if needed