diff --git a/packages/calcite-components/src/components/flow-item/flow-item.e2e.ts b/packages/calcite-components/src/components/flow-item/flow-item.e2e.ts
index 56b34c2390b..c95699698d2 100644
--- a/packages/calcite-components/src/components/flow-item/flow-item.e2e.ts
+++ b/packages/calcite-components/src/components/flow-item/flow-item.e2e.ts
@@ -287,4 +287,18 @@ describe("calcite-flow-item", () => {
expect(toggleSpy).toHaveReceivedEventTimes(1);
});
+
+ it("honors calciteFlowItemClose event", async () => {
+ const page = await newE2EPage({
+ html: "test",
+ });
+
+ const toggleSpy = await page.spyOnEvent("calciteFlowItemClose");
+ const panel = await page.find("calcite-flow-item >>> calcite-panel");
+ panel.triggerEvent("calcitePanelClose");
+ await page.waitForChanges();
+
+ expect(toggleSpy).toHaveReceivedEventTimes(1);
+ expect(await panel.getProperty("closed")).toBe(true);
+ });
});
diff --git a/packages/calcite-components/src/components/flow-item/flow-item.tsx b/packages/calcite-components/src/components/flow-item/flow-item.tsx
index 9d87efa0715..4851ec3aad6 100644
--- a/packages/calcite-components/src/components/flow-item/flow-item.tsx
+++ b/packages/calcite-components/src/components/flow-item/flow-item.tsx
@@ -294,6 +294,7 @@ export class FlowItem
handlePanelClose = (event: CustomEvent): void => {
event.stopPropagation();
+ this.closed = true;
this.calciteFlowItemClose.emit();
};