From 7f23ee7459f59f9e05a86fed7186911f32506087 Mon Sep 17 00:00:00 2001 From: eliza Date: Tue, 18 Feb 2025 13:51:38 -0800 Subject: [PATCH 1/5] deprecated(block): deprecate open/close props in favor of expanded/collapsed --- .../src/components/block/block.e2e.ts | 42 +++++++++++-------- .../src/components/block/block.scss | 4 +- .../src/components/block/block.tsx | 37 ++++++++++++---- 3 files changed, 55 insertions(+), 28 deletions(-) diff --git a/packages/calcite-components/src/components/block/block.e2e.ts b/packages/calcite-components/src/components/block/block.e2e.ts index 80b18ff5eee..bcffc325fc1 100644 --- a/packages/calcite-components/src/components/block/block.e2e.ts +++ b/packages/calcite-components/src/components/block/block.e2e.ts @@ -48,6 +48,10 @@ describe("calcite-block", () => { propertyName: "open", defaultValue: false, }, + { + propertyName: "expanded", + defaultValue: false, + }, { propertyName: "overlayPositioning", defaultValue: "absolute", @@ -81,6 +85,10 @@ describe("calcite-block", () => { propertyName: "open", value: true, }, + { + propertyName: "expanded", + value: true, + }, { propertyName: "overlayPositioning", value: "fixed", @@ -110,7 +118,7 @@ describe("calcite-block", () => { describe("accessible", () => { accessible(html` - +
content
@@ -121,8 +129,8 @@ describe("calcite-block", () => { describe("setFocus", () => { describe("focuses block heading toggle", () => { focusable( - html` - + html` + { const blockSectionClass = "my-block-section"; describe("focuses block section", () => { focusable( - html` - + html` + { it("has a loading state", async () => { const page = await newE2EPage({ html: ` - +
content
`, @@ -212,14 +220,14 @@ describe("calcite-block", () => { const element = await page.find("calcite-block"); const content = await page.find(`calcite-block >>> #${IDS.content}`); - expect(await element.getProperty("open")).toBe(false); + expect(await element.getProperty("expanded")).toBe(false); expect(await content.isVisible()).toBe(false); - element.setProperty("open", true); + element.setProperty("expanded", true); await page.waitForChanges(); expect(await content.isVisible()).toBe(true); - element.setProperty("open", false); + element.setProperty("expanded", false); await page.waitForChanges(); expect(await content.isVisible()).toBe(false); @@ -246,7 +254,7 @@ describe("calcite-block", () => { expect(toggleSpy).toHaveReceivedEventTimes(1); expect(openSpy).toHaveReceivedEventTimes(1); - expect(await element.getProperty("open")).toBe(true); + expect(await element.getProperty("expanded")).toBe(true); expect(toggle.getAttribute("aria-expanded")).toBe("true"); expect(toggle.getAttribute("title")).toBe(messages.collapse); @@ -254,7 +262,7 @@ describe("calcite-block", () => { expect(toggleSpy).toHaveReceivedEventTimes(2); expect(closeSpy).toHaveReceivedEventTimes(1); - expect(await element.getProperty("open")).toBe(false); + expect(await element.getProperty("expanded")).toBe(false); expect(toggle.getAttribute("aria-expanded")).toBe("false"); expect(toggle.getAttribute("title")).toBe(messages.expand); }); @@ -333,7 +341,7 @@ describe("calcite-block", () => { expect(statusIcon).not.toBeNull(); }); - it("displays a loading icon when `loading` is set to true and `open` is set to false", async () => { + it("displays a loading icon when `loading` is set to true and `expanded` is set to false", async () => { const headerIcon = "header-icon"; const page = await newE2EPage(); await page.setContent( @@ -399,7 +407,7 @@ describe("calcite-block", () => { --calcite-block-padding: ${overrideStyle} } - + `, ); @@ -413,7 +421,7 @@ describe("calcite-block", () => { const overrideStyle = "0px"; const page = await newE2EPage(); await page.setContent( - ` + ` `, ); @@ -427,8 +435,8 @@ describe("calcite-block", () => { const label = "Spatial"; const page = await newE2EPage(); await page.setContent( - html` - + html` +
Use layer effects sparingly, for emphasis
`, @@ -447,7 +455,7 @@ describe("calcite-block", () => { html` ); - const collapseIcon = open ? ICONS.opened : ICONS.closed; + const collapseIcon = expanded ? ICONS.opened : ICONS.closed; const headerNode = (
@@ -483,7 +497,7 @@ export class Block extends LitElement implements InteractiveComponent, OpenClose
) : ( @@ -190,7 +210,7 @@ export class BlockSection extends LitElement { >