From 38b72b9e311261265b6c34cfb8d344f621a173dc Mon Sep 17 00:00:00 2001 From: Jun Han YIP Date: Mon, 21 Sep 2026 16:29:16 +0800 Subject: [PATCH 1/7] [MOL-22548][JH] feat: add customCallToAction prop to drawer component --- src/drawer/drawer.styles.ts | 50 ++++++++++++++++++++---- src/drawer/drawer.tsx | 63 +++++++++++++++++++++---------- src/drawer/types.ts | 4 ++ stories/drawer/drawer.mdx | 6 +++ stories/drawer/drawer.stories.tsx | 44 +++++++++++++++++++++ tests/drawer/drawer.spec.tsx | 51 +++++++++++++++++++++++++ 6 files changed, 192 insertions(+), 26 deletions(-) diff --git a/src/drawer/drawer.styles.ts b/src/drawer/drawer.styles.ts index 6e82b46be6..3c666fdf50 100644 --- a/src/drawer/drawer.styles.ts +++ b/src/drawer/drawer.styles.ts @@ -67,25 +67,59 @@ export const header = css` align-items: center; gap: ${Spacing["spacing-16"]}; padding: ${Spacing["spacing-32"]} ${Spacing["spacing-16"]} - ${Spacing["spacing-16"]} - calc(${Font.Spec["heading-lh-md"]} + ${Spacing["spacing-32"]}); + ${Spacing["spacing-16"]} ${Spacing["spacing-16"]}; background-color: ${Colour["bg"]}; border-bottom: ${Border["width-010"]} ${Border["solid"]} ${Colour["border"]}; ${MediaQuery.MaxWidth.lg} { gap: ${Spacing["spacing-8"]}; padding: ${Spacing["spacing-32"]} ${Spacing["spacing-20"]} - ${Spacing["spacing-16"]} - calc(${Font.Spec["heading-lh-md"]} + ${Spacing["spacing-24"]}); + ${Spacing["spacing-16"]} ${Spacing["spacing-16"]}; } `; +/** + * When a call-to-action is present the header content is taller than a lone + * heading, so the top padding is reduced to match the bottom — keeping the + * heading and buttons evenly spaced within the header. + */ +export const headerWithCallToAction = css` + padding-top: ${Spacing["spacing-16"]}; +`; + +export const headerStacked = css` + flex-direction: column; + align-items: stretch; + gap: ${Spacing["spacing-16"]}; +`; + +export const titleRow = css` + display: flex; + align-items: center; + gap: ${Spacing["spacing-16"]}; + min-width: 0; + + ${MediaQuery.MaxWidth.lg} { + gap: ${Spacing["spacing-8"]}; + } +`; + +export const callToAction = css` + display: flex; + gap: ${Spacing["spacing-16"]}; + flex-shrink: 0; + margin-left: auto; +`; + +export const callToActionStacked = css` + /* indent to line up with the heading (past the close icon + its gap) */ + margin-left: calc(${Font.Spec["heading-lh-md"]} + ${Spacing["spacing-8"]}); +`; + export const closeButton = css` + flex-shrink: 0; color: ${Colour["icon"]}; padding: 0; - position: absolute; - top: ${Spacing["spacing-32"]}; - left: ${Spacing["spacing-16"]}; &:active, &:focus { color: ${Colour["icon-hover"]}; @@ -98,6 +132,8 @@ export const closeButton = css` `; export const heading = css` + flex: 1; + min-width: 0; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; diff --git a/src/drawer/drawer.tsx b/src/drawer/drawer.tsx index 78b40f723b..cd3760b237 100644 --- a/src/drawer/drawer.tsx +++ b/src/drawer/drawer.tsx @@ -11,6 +11,7 @@ import { useEffect, useRef, useState } from "react"; import { Overlay } from "../overlay"; import { ClickableIcon } from "../shared/clickable-icon"; +import { useMaxWidthMediaQuery } from "../theme"; import { Typography } from "../typography"; import { useId } from "../util"; import * as styles from "./drawer.styles"; @@ -31,6 +32,7 @@ export const Drawer = ({ show, onClose, onOverlayClick, + customCallToAction, className, ...otherProps }: DrawerProps) => { @@ -40,6 +42,9 @@ export const Drawer = ({ const [showOverlay, setShowOverlay] = useState(show); const id = useId(); const initialFocusRef = useRef(null); + // stack the call-to-action below the heading once the drawer spans the full + // viewport width and can no longer fit both on one line + const stackCallToAction = useMaxWidthMediaQuery("sm"); // ========================================================================= // FLOATING UI CONFIG @@ -113,27 +118,47 @@ export const Drawer = ({ {...getFloatingProps()} {...otherProps} > -
- - {heading} - +
+
+ + + + + {heading} + +
+ {customCallToAction ? ( +
+ {customCallToAction} +
+ ) : null}
{children}
- - -
) : undefined} diff --git a/src/drawer/types.ts b/src/drawer/types.ts index 4bd25542ee..a9ef0f1848 100644 --- a/src/drawer/types.ts +++ b/src/drawer/types.ts @@ -23,4 +23,8 @@ export interface DrawerProps { onClose?: (() => void) | undefined; /** Called when the user clicks the background overlay. */ onOverlayClick?: (() => void) | undefined; + /** + * Optional element rendered in the header alongside the title, e.g. a link or button. + */ + customCallToAction?: JSX.Element | undefined; } diff --git a/stories/drawer/drawer.mdx b/stories/drawer/drawer.mdx index 4e42c62b2f..c3c2dd75d1 100644 --- a/stories/drawer/drawer.mdx +++ b/stories/drawer/drawer.mdx @@ -20,6 +20,12 @@ import { Drawer } from "@lifesg/react-design-system/drawer"; +## Custom call-to-action + +You can also specify a custom call to action that will appear on the header of the `Drawer`. + + + ## Component API diff --git a/stories/drawer/drawer.stories.tsx b/stories/drawer/drawer.stories.tsx index 74bf5c73c6..9287618b6c 100644 --- a/stories/drawer/drawer.stories.tsx +++ b/stories/drawer/drawer.stories.tsx @@ -46,6 +46,50 @@ export const Default: StoryObj = { }, }; +export const WithCustomCallToAction: StoryObj = { + render: () => { + const [show, setShow] = useState(false); + const openDrawer = () => setShow(true); + const closeDrawer = () => setShow(false); + return ( + <> + + Open drawer + + + + Confirm + + + Cancel + + + } + > +
+ + The call-to-action buttons sit beside the heading + when the drawer is wide, and wrap onto a new line + below the heading when the drawer is narrow. Resize + the window to see the layout respond to the drawer + width. + +
+
+ + ); + }, +}; + export const HandlingContentOverflow: StoryObj = { render: () => { const [show, setShow] = useState(false); diff --git a/tests/drawer/drawer.spec.tsx b/tests/drawer/drawer.spec.tsx index e0665e8f42..7c1ca9686e 100644 --- a/tests/drawer/drawer.spec.tsx +++ b/tests/drawer/drawer.spec.tsx @@ -73,4 +73,55 @@ describe("Drawer", () => { expect(onClose).toHaveBeenCalled(); }); + + it("should render customCallToAction content when provided", async () => { + render( + Confirm} + > +
content
+
+ ); + + await waitFor(() => { + expect( + screen.getByRole("button", { name: "Confirm" }) + ).toBeVisible(); + }); + }); + + it("should not render a call-to-action when customCallToAction is not provided", async () => { + render( + +
content
+
+ ); + + await waitFor(() => { + expect(screen.getByLabelText("Close drawer")).toBeVisible(); + }); + expect( + screen.queryByRole("button", { name: "Confirm" }) + ).not.toBeInTheDocument(); + }); + + it("should keep the dialog labelled by its heading when a call-to-action is present", async () => { + render( + Confirm} + > +
content
+
+ ); + + await waitFor(() => { + expect( + screen.getByRole("dialog", { name: "Accessible title" }) + ).toBeInTheDocument(); + }); + }); }); From 108b1758a2bf7de20b8ddb91d79177e114063602 Mon Sep 17 00:00:00 2001 From: Jun Han YIP Date: Tue, 22 Sep 2026 11:37:22 +0800 Subject: [PATCH 2/7] [MOL-22548][JH] feat: add titleAddon prop to localNav component --- .../local-nav-dropdown.styles.ts | 22 +++++ .../local-nav-dropdown/local-nav-dropdown.tsx | 47 +++++++--- .../local-nav-menu/local-nav-menu.styles.ts | 24 ++++- .../local-nav-menu/local-nav-menu.tsx | 22 ++++- src/local-nav/types.ts | 19 ++++ stories/local-nav/local-nav.mdx | 11 +++ stories/local-nav/local-nav.stories.tsx | 88 ++++++++++++++++++- tests/local-nav/local-nav.spec.tsx | 74 ++++++++++++++++ 8 files changed, 293 insertions(+), 14 deletions(-) diff --git a/src/local-nav/local-nav-dropdown/local-nav-dropdown.styles.ts b/src/local-nav/local-nav-dropdown/local-nav-dropdown.styles.ts index 7be3cc5133..dd799fc2a8 100644 --- a/src/local-nav/local-nav-dropdown/local-nav-dropdown.styles.ts +++ b/src/local-nav/local-nav-dropdown/local-nav-dropdown.styles.ts @@ -99,6 +99,28 @@ export const navItemList = css` max-height: var(${tokens.navItemList.viewportHeight}); `; +export const titleContainer = css` + display: flex; + align-items: center; + gap: ${Spacing["spacing-8"]}; + flex: 1; +`; + +/* Keeps the left addon aligned with the first line when the title wraps. */ +export const leftAddon = css` + display: inline-flex; + align-items: center; + align-self: flex-start; + min-height: ${Font.Spec["body-lh-baseline"]}; +`; + +/* Flushed right; stays vertically centred against the (possibly wrapped) title. */ +export const rightAddon = css` + display: inline-flex; + align-items: center; + margin-left: auto; +`; + export const navItemLabel = css` ${Font["body-baseline-regular"]} color: ${Colour["text"]}; diff --git a/src/local-nav/local-nav-dropdown/local-nav-dropdown.tsx b/src/local-nav/local-nav-dropdown/local-nav-dropdown.tsx index f10e16d61a..4072b454b8 100644 --- a/src/local-nav/local-nav-dropdown/local-nav-dropdown.tsx +++ b/src/local-nav/local-nav-dropdown/local-nav-dropdown.tsx @@ -283,7 +283,7 @@ const Component = ( renderItem, index, }: LocalNavDropdownItemComponentProps) => { - const { id, title } = item; + const { id, title, titleAddon } = item; if (renderItem) { return ( @@ -324,15 +324,42 @@ const Component = ( listItemRefs.current[index] = el as HTMLLIElement; }} > - {isSelected && } -
- {title} -
+ {isSelected && ( + + + + )} + {titleAddon ? ( + + {titleAddon.left && ( + + {titleAddon.left} + + )} +
+ {title} +
+ {titleAddon.right && ( + + {titleAddon.right} + + )} +
+ ) : ( +
+ {title} +
+ )} ); }; diff --git a/src/local-nav/local-nav-menu/local-nav-menu.styles.ts b/src/local-nav/local-nav-menu/local-nav-menu.styles.ts index c4fbe5ddf0..ea1f419312 100644 --- a/src/local-nav/local-nav-menu/local-nav-menu.styles.ts +++ b/src/local-nav/local-nav-menu/local-nav-menu.styles.ts @@ -1,6 +1,6 @@ import { css } from "@linaria/core"; -import { Colour, Radius, Spacing } from "../../theme"; +import { Colour, Font, Radius, Spacing } from "../../theme"; export const nav = css` list-style-type: none; @@ -12,6 +12,28 @@ export const textLabel = css` margin: 0; `; +export const titleContainer = css` + display: flex; + align-items: center; + gap: ${Spacing["spacing-8"]}; + width: 100%; +`; + +/* Keeps the left addon aligned with the first line when the title wraps. */ +export const leftAddon = css` + display: inline-flex; + align-items: center; + align-self: flex-start; + min-height: ${Font.Spec["body-lh-baseline"]}; +`; + +/* Flushed right; stays vertically centred against the (possibly wrapped) title. */ +export const rightAddon = css` + display: inline-flex; + align-items: center; + margin-left: auto; +`; + export const navItem = css` display: block; position: relative; diff --git a/src/local-nav/local-nav-menu/local-nav-menu.tsx b/src/local-nav/local-nav-menu/local-nav-menu.tsx index d4842621c3..a8e7a536f3 100644 --- a/src/local-nav/local-nav-menu/local-nav-menu.tsx +++ b/src/local-nav/local-nav-menu/local-nav-menu.tsx @@ -51,13 +51,13 @@ const Component = ( renderItem, index, }: LocalNavMenuItemComponentProps) => { - const { id, title } = item; + const { id, title, titleAddon } = item; const renderTitle = () => { if (renderItem) { return renderItem(item, { selected: isSelected }); } - return ( + const label = ( ); + if (!titleAddon) { + return label; + } + return ( + + {titleAddon.left && ( + + {titleAddon.left} + + )} + {label} + {titleAddon.right && ( + + {titleAddon.right} + + )} + + ); }; return ( diff --git a/src/local-nav/types.ts b/src/local-nav/types.ts index bf7ab10781..7f67b5a0b4 100644 --- a/src/local-nav/types.ts +++ b/src/local-nav/types.ts @@ -1,3 +1,15 @@ +// @storybookSection LocalNavMenu, LocalNavDropdown +/** + * Configuration for the optional addon elements displayed alongside a + * navigation item's title. Both slots may be used at the same time. + */ +export interface TitleAddonProps { + /** Element rendered immediately before the title. */ + left?: JSX.Element | undefined; + /** Element rendered after the title, flushed to the far right of the item. */ + right?: JSX.Element | undefined; +} + // @storybookSection LocalNavMenu, LocalNavDropdown /** * Data for a single local navigation item. @@ -5,6 +17,13 @@ export interface LocalNavItemProps { title: string | React.ReactNode; id?: string | undefined; + /** + * Optional addon element rendered alongside the item title. + * + * Ignored when a custom `renderItem` is provided, since the caller then + * controls the item's layout. + */ + titleAddon?: TitleAddonProps | undefined; } // @storybookSkipProps diff --git a/stories/local-nav/local-nav.mdx b/stories/local-nav/local-nav.mdx index 5be7e5a5d5..3389c90847 100644 --- a/stories/local-nav/local-nav.mdx +++ b/stories/local-nav/local-nav.mdx @@ -27,6 +27,12 @@ You are able to customise the display of the nav items. +Use `titleAddon` to render elements alongside an item's title. It has `left` +and `right` slots — both can be used together, and the `right` slot is flushed +to the far right of the item. + + + ## Dropdown The `LocalNavDropdown` displays navigation items in a dropdown. It becomes @@ -40,6 +46,11 @@ You are able to customise the display of the nav items in the dropdown. +`titleAddon` works in the dropdown too — open it to see the addon beside each +item title. + + + ## Combined usage A common use case to to use the menu on desktop, and switch to the dropdown on diff --git a/stories/local-nav/local-nav.stories.tsx b/stories/local-nav/local-nav.stories.tsx index 7a9c72eed2..4bf41ec663 100644 --- a/stories/local-nav/local-nav.stories.tsx +++ b/stories/local-nav/local-nav.stories.tsx @@ -1,6 +1,9 @@ +import { DocIcon } from "@lifesg/react-icons/doc"; +import { ExclamationCircleFillIcon } from "@lifesg/react-icons/exclamation-circle-fill"; +import { PencilIcon } from "@lifesg/react-icons/pencil"; import type { Meta, StoryObj } from "@storybook/react-webpack5"; import { useRef, useState } from "react"; -import { ThemeProvider, useMaxWidthMediaQuery } from "src"; +import { Colour, ThemeProvider, useMaxWidthMediaQuery } from "src"; import type { LocalNavItemProps } from "src/local-nav"; import { LocalNavDropdown, LocalNavMenu } from "src/local-nav"; @@ -85,6 +88,42 @@ export const MenuWithCustomTitle: StoryObj = { }, }; +// A red status pill flushed to the right of an item, e.g. to flag errors. +const ErrorIndicator = () => ( + +); + +// One item per combination: left + right, left only, right only. +const ADDON_ITEMS: LocalNavItemProps[] = [ + { + title: "Title 1", + titleAddon: { left: , right: }, + }, + { title: "Title 2", titleAddon: { left: } }, + { title: "Title 3", titleAddon: { right: } }, +]; + +export const MenuWithTitleAddon: StoryObj = { + render: (_args) => { + const [selectedIndex, setSelectedIndex] = useState(-1); + + return ( + setSelectedIndex(index)} + /> + ); + }, +}; + export const Dropdown: StoryObj = { render: (_args) => { const [selectedIndex, setSelectedIndex] = useState(-1); @@ -199,6 +238,53 @@ export const DropdownWithCustomTitle: StoryObj = { }, }; +export const DropdownWithTitleAddon: StoryObj = { + render: (_args) => { + const [selectedIndex, setSelectedIndex] = useState(-1); + const contentRef = useRef(null); + + const handleNavItemClick = ( + e: React.MouseEvent | React.KeyboardEvent, + item: LocalNavItemProps, + index: number + ) => { + setSelectedIndex(index); + + const section = ADDON_ITEMS[index]; + if (section) { + const element = contentRef.current?.children[index]; + if (element) { + const top = + element.getBoundingClientRect().top + + window.scrollY - + 200; + window.scrollTo({ top, behavior: "smooth" }); + } + } + }; + + return ( +
+ + +
+ +
+
+ ); + }, + parameters: { + layout: "fullscreen", + docs: { story: { inline: false, iframeHeight: 500 } }, + }, +}; + export const CombinedUsage: StoryObj = { render: (_args) => { const [selectedIndex, setSelectedIndex] = useState( diff --git a/tests/local-nav/local-nav.spec.tsx b/tests/local-nav/local-nav.spec.tsx index 13edce7a8e..8685c87ce3 100644 --- a/tests/local-nav/local-nav.spec.tsx +++ b/tests/local-nav/local-nav.spec.tsx @@ -79,6 +79,49 @@ describe("LocalNav", () => { expect(screen.getByText("Custom: Section 1")).toBeInTheDocument(); }); + it("should render both left and right titleAddon slots alongside the item title", () => { + const mockOnSelect = jest.fn(); + const items: LocalNavItemProps[] = [ + { + title: "Section 1", + titleAddon: { + left: left-addon, + right: right-addon, + }, + }, + { title: "Section 2" }, + ]; + + render( + + ); + + expect(screen.getByText("left-addon")).toBeInTheDocument(); + expect(screen.getByText("right-addon")).toBeInTheDocument(); + expect(screen.getByText("Section 1")).toBeInTheDocument(); + }); + + it("should not render the titleAddon when renderItem is provided", () => { + const mockOnSelect = jest.fn(); + const items: LocalNavItemProps[] = [ + { + title: "Section 1", + titleAddon: { right: addon }, + }, + ]; + + render( + Custom: {item.title}} + /> + ); + + expect(screen.queryByText("addon")).not.toBeInTheDocument(); + expect(screen.getByText("Custom: Section 1")).toBeInTheDocument(); + }); + it("should handle keyboard navigation and selection", async () => { const user = userEvent.setup(); const mockOnSelect = jest.fn(); @@ -267,6 +310,37 @@ describe("LocalNav", () => { expect(screen.getByText("Custom: Section 1")).toBeInTheDocument(); }); + it("should render both left and right titleAddon slots on a dropdown item", async () => { + const user = userEvent.setup(); + const mockOnSelect = jest.fn(); + const items: LocalNavItemProps[] = [ + { + title: "Section 1", + titleAddon: { + left: left-addon, + right: right-addon, + }, + }, + { title: "Section 2" }, + ]; + + render( + + ); + + await user.click(screen.getByText("Select section")); + + expect(screen.getByText("left-addon")).toBeInTheDocument(); + expect(screen.getByText("right-addon")).toBeInTheDocument(); + expect( + screen.getByRole("menuitem", { name: /Section 1/ }) + ).toBeInTheDocument(); + }); + it("should handle keyboard navigation and selection", async () => { const user = userEvent.setup(); const mockOnSelect = jest.fn(); From 2dbae694aff429ecbfed8c6c553b8b77862a74a6 Mon Sep 17 00:00:00 2001 From: Jun Han YIP Date: Wed, 23 Sep 2026 13:21:34 +0800 Subject: [PATCH 3/7] [MOL-22548][JH] test: add e2e tests --- .../drawer/custom-call-to-action.e2e.tsx | 42 +++++++++++++ .../local-nav/dropdown-title-addon.e2e.tsx | 55 ++++++++++++++++++ .../local-nav/menu-title-addon.e2e.tsx | 53 +++++++++++++++++ .../local-nav/title-addon.module.css | 14 +++++ ...ction-Narrow-stacked---cta-open-mobile.png | Bin 0 -> 12126 bytes ...r-Custom-call-to-action-Wide--cta-open.png | Bin 0 -> 18865 bytes .../components/drawer/drawer.e2e.spec.ts | 32 +++++++++- ...n-with-title-addon-Default--addon-open.png | Bin 0 -> 24285 bytes ...-with-title-addon-Default--addon-mount.png | Bin 0 -> 16654 bytes .../local-nav/local-nav.e2e.spec.ts | 23 ++++++++ 10 files changed, 218 insertions(+), 1 deletion(-) create mode 100644 e2e/nextjs-app/src/app/components/drawer/custom-call-to-action.e2e.tsx create mode 100644 e2e/nextjs-app/src/app/components/local-nav/dropdown-title-addon.e2e.tsx create mode 100644 e2e/nextjs-app/src/app/components/local-nav/menu-title-addon.e2e.tsx create mode 100644 e2e/nextjs-app/src/app/components/local-nav/title-addon.module.css create mode 100644 e2e/tests/components/drawer/__screenshots__/chromium/Drawer-Custom-call-to-action-Narrow-stacked---cta-open-mobile.png create mode 100644 e2e/tests/components/drawer/__screenshots__/chromium/Drawer-Custom-call-to-action-Wide--cta-open.png create mode 100644 e2e/tests/components/local-nav/__screenshots__/chromium/Local-nav-Dropdown-with-title-addon-Default--addon-open.png create mode 100644 e2e/tests/components/local-nav/__screenshots__/chromium/Local-nav-Menu-with-title-addon-Default--addon-mount.png diff --git a/e2e/nextjs-app/src/app/components/drawer/custom-call-to-action.e2e.tsx b/e2e/nextjs-app/src/app/components/drawer/custom-call-to-action.e2e.tsx new file mode 100644 index 0000000000..40231d9d30 --- /dev/null +++ b/e2e/nextjs-app/src/app/components/drawer/custom-call-to-action.e2e.tsx @@ -0,0 +1,42 @@ +"use client"; + +import { Button } from "@lifesg/react-design-system/button"; +import { Drawer } from "@lifesg/react-design-system/drawer"; +import { Typography } from "@lifesg/react-design-system/typography"; +import { useState } from "react"; + +import styles from "./drawer.module.css"; + +export default function Story() { + const [show, setShow] = useState(false); + + return ( + <> + + setShow(false)} + onOverlayClick={() => setShow(false)} + customCallToAction={ + <> + + + + } + > +
+ Drawer content +
+
+ + ); +} diff --git a/e2e/nextjs-app/src/app/components/local-nav/dropdown-title-addon.e2e.tsx b/e2e/nextjs-app/src/app/components/local-nav/dropdown-title-addon.e2e.tsx new file mode 100644 index 0000000000..2b36a7a3a9 --- /dev/null +++ b/e2e/nextjs-app/src/app/components/local-nav/dropdown-title-addon.e2e.tsx @@ -0,0 +1,55 @@ +"use client"; + +import { LocalNavDropdown } from "@lifesg/react-design-system/local-nav"; +import { DocIcon } from "@lifesg/react-icons/doc"; +import { ExclamationCircleFillIcon } from "@lifesg/react-icons/exclamation-circle-fill"; +import { useState } from "react"; + +import styles from "./title-addon.module.css"; + +const LeftIcon = () => ; +const RightIcon = () => ( + +); + +// One item per combination, with a wrapping title to exercise first-line +// alignment of the left addon and the selected tick. +const ITEMS = [ + { + id: "section-1", + title: "A long section title that wraps onto multiple lines", + titleAddon: { left: , right: }, + }, + { + id: "section-2", + title: "A long section title that wraps onto multiple lines", + titleAddon: { left: }, + }, + { + id: "section-3", + title: "A long section title that wraps onto multiple lines", + titleAddon: { right: }, + }, +]; + +export default function Story() { + const [selectedItemIndex, setSelectedItemIndex] = useState(0); + + return ( +
+ + setSelectedItemIndex(index) + } + /> +
+ ); +} diff --git a/e2e/nextjs-app/src/app/components/local-nav/menu-title-addon.e2e.tsx b/e2e/nextjs-app/src/app/components/local-nav/menu-title-addon.e2e.tsx new file mode 100644 index 0000000000..e018dacbc6 --- /dev/null +++ b/e2e/nextjs-app/src/app/components/local-nav/menu-title-addon.e2e.tsx @@ -0,0 +1,53 @@ +"use client"; + +import { LocalNavMenu } from "@lifesg/react-design-system/local-nav"; +import { DocIcon } from "@lifesg/react-icons/doc"; +import { ExclamationCircleFillIcon } from "@lifesg/react-icons/exclamation-circle-fill"; +import { useState } from "react"; + +import styles from "./title-addon.module.css"; + +const LeftIcon = () => ; +const RightIcon = () => ( + +); + +// One item per combination, with a wrapping title to exercise first-line +// alignment of the left addon and the selected tick. +const ITEMS = [ + { + id: "section-1", + title: "A long section title that wraps onto multiple lines", + titleAddon: { left: , right: }, + }, + { + id: "section-2", + title: "A long section title that wraps onto multiple lines", + titleAddon: { left: }, + }, + { + id: "section-3", + title: "A long section title that wraps onto multiple lines", + titleAddon: { right: }, + }, +]; + +export default function Story() { + const [selectedItemIndex, setSelectedItemIndex] = useState(0); + + return ( +
+ + setSelectedItemIndex(index) + } + /> +
+ ); +} diff --git a/e2e/nextjs-app/src/app/components/local-nav/title-addon.module.css b/e2e/nextjs-app/src/app/components/local-nav/title-addon.module.css new file mode 100644 index 0000000000..fb010567e3 --- /dev/null +++ b/e2e/nextjs-app/src/app/components/local-nav/title-addon.module.css @@ -0,0 +1,14 @@ +.container { + max-width: 320px; +} + +.icon { + width: 1.25rem; + height: 1.25rem; +} + +.right-icon { + width: 1.25rem; + height: 1.25rem; + color: var(--fds-colour-icon-error); +} diff --git a/e2e/tests/components/drawer/__screenshots__/chromium/Drawer-Custom-call-to-action-Narrow-stacked---cta-open-mobile.png b/e2e/tests/components/drawer/__screenshots__/chromium/Drawer-Custom-call-to-action-Narrow-stacked---cta-open-mobile.png new file mode 100644 index 0000000000000000000000000000000000000000..09b2b74d58ac1a3a9076d6b37dfc070721ac5038 GIT binary patch literal 12126 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

!il=Sw}NeJ}0@V6|Lg1@1VHC-M-!2X)&) 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 AO8@`> literal 0 HcmV?d00001 diff --git a/e2e/tests/components/drawer/drawer.e2e.spec.ts b/e2e/tests/components/drawer/drawer.e2e.spec.ts index 218cf43572..0355d8987c 100644 --- a/e2e/tests/components/drawer/drawer.e2e.spec.ts +++ b/e2e/tests/components/drawer/drawer.e2e.spec.ts @@ -90,9 +90,9 @@ test.describe("Drawer", () => { await expect(story.locators.drawer).toMatchAriaSnapshot(` - dialog "Drawer heading": + - button "Close drawer" - heading "Drawer heading" [level=2] - paragraph: Drawer content - - button "Close drawer" `); }); }); @@ -119,6 +119,36 @@ test.describe("Drawer", () => { }); }); + test.describe("Custom call to action", () => { + test.describe(() => { + test.beforeEach(async ({ story }) => { + await story.init("custom-call-to-action"); + }); + + // Wide drawer: CTA sits inline to the right of the (truncated) heading. + test("Wide", async ({ story }) => { + await story.open(); + await compareScreenshot(story, "cta-open", { + fullscreen: true, + }); + }); + }); + + test.describe(() => { + test.beforeEach(async ({ story }) => { + await story.init("custom-call-to-action", { size: "mobile" }); + }); + + // Narrow drawer: CTA wraps below the heading, buttons flushed left. + test("Narrow (stacked)", async ({ story }) => { + await story.open(); + await compareScreenshot(story, "cta-open-mobile", { + fullscreen: true, + }); + }); + }); + }); + test.describe(() => { test.beforeEach(async ({ story }) => { await story.init("sticky-header"); diff --git a/e2e/tests/components/local-nav/__screenshots__/chromium/Local-nav-Dropdown-with-title-addon-Default--addon-open.png b/e2e/tests/components/local-nav/__screenshots__/chromium/Local-nav-Dropdown-with-title-addon-Default--addon-open.png new file mode 100644 index 0000000000000000000000000000000000000000..e02cbe880ede3717048b22ec41b9cb12011620d9 GIT binary patch literal 24285 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 literal 0 HcmV?d00001 diff --git a/e2e/tests/components/local-nav/__screenshots__/chromium/Local-nav-Menu-with-title-addon-Default--addon-mount.png b/e2e/tests/components/local-nav/__screenshots__/chromium/Local-nav-Menu-with-title-addon-Default--addon-mount.png new file mode 100644 index 0000000000000000000000000000000000000000..84228c77f843e56e8478f9f04ed726817416a97d GIT binary patch literal 16654 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ê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 JDq { await compareScreenshot(story, "hover"); }); }); + test.describe("Menu with title addon", () => { + test.beforeEach(async ({ story }) => { + await story.init("menu-title-addon"); + }); + + // Left addon + selected tick align to the first line of a wrapped + // title; right addon stays vertically centred and flushed right. + test("Default", async ({ story }) => { + await compareScreenshot(story, "addon-mount"); + }); + }); test.describe("Dropdown", () => { test.beforeEach(async ({ story }) => { await story.init("dropdown"); @@ -148,6 +159,18 @@ test.describe("Local nav", () => { }); }); }); + test.describe("Dropdown with title addon", () => { + test.beforeEach(async ({ story }) => { + await story.init("dropdown-title-addon"); + }); + + // Left addon + selected tick align to the first line of a wrapped + // title; right addon stays vertically centred and flushed right. + test("Default", async ({ story }) => { + await story.locators.dropdownLabel.click(); + await compareScreenshot(story, "addon-open", { fullscreen: true }); + }); + }); test.describe(() => { test.beforeEach(async ({ story }) => { await story.init("dropdown", { mode: "dark" }); From cb0eafd45d390694bbaec94a5459cb4fe857ba27 Mon Sep 17 00:00:00 2001 From: Jun Han YIP Date: Fri, 25 Sep 2026 04:58:03 +0800 Subject: [PATCH 4/7] [MOL-22548][JH] feat: use reactnode instead of jsx element type for prop --- src/drawer/types.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/drawer/types.ts b/src/drawer/types.ts index a9ef0f1848..610656a3c0 100644 --- a/src/drawer/types.ts +++ b/src/drawer/types.ts @@ -24,7 +24,10 @@ export interface DrawerProps { /** Called when the user clicks the background overlay. */ onOverlayClick?: (() => void) | undefined; /** - * Optional element rendered in the header alongside the title, e.g. a link or button. + * Optional element rendered in the header, e.g. a link or button. + * + * Sits beside the title on wider drawers, and wraps onto its own line + * below the title once the drawer is narrow. */ - customCallToAction?: JSX.Element | undefined; + customCallToAction?: React.ReactNode | undefined; } From 38c5e753288853c529ae68e7aa3d028bb6ceff70 Mon Sep 17 00:00:00 2001 From: Jun Han YIP Date: Fri, 25 Sep 2026 05:01:18 +0800 Subject: [PATCH 5/7] [MOL-22548][JH] refactor: minor refactors and removal of redundant code --- .../drawer/custom-call-to-action.e2e.tsx | 4 +- .../app/components/drawer/drawer.module.css | 6 ++ stories/drawer/drawer.stories.tsx | 76 +++++++++---------- stories/local-nav/doc-elements.tsx | 14 +++- stories/local-nav/local-nav.stories.tsx | 17 +---- tests/drawer/drawer.spec.tsx | 15 ---- 6 files changed, 61 insertions(+), 71 deletions(-) diff --git a/e2e/nextjs-app/src/app/components/drawer/custom-call-to-action.e2e.tsx b/e2e/nextjs-app/src/app/components/drawer/custom-call-to-action.e2e.tsx index 40231d9d30..3758eee208 100644 --- a/e2e/nextjs-app/src/app/components/drawer/custom-call-to-action.e2e.tsx +++ b/e2e/nextjs-app/src/app/components/drawer/custom-call-to-action.e2e.tsx @@ -20,7 +20,7 @@ export default function Story() { onClose={() => setShow(false)} onOverlayClick={() => setShow(false)} customCallToAction={ - <> +

@@ -30,7 +30,7 @@ export default function Story() { > Cancel - +
} >
diff --git a/e2e/nextjs-app/src/app/components/drawer/drawer.module.css b/e2e/nextjs-app/src/app/components/drawer/drawer.module.css index 0227ac8acf..6625475133 100644 --- a/e2e/nextjs-app/src/app/components/drawer/drawer.module.css +++ b/e2e/nextjs-app/src/app/components/drawer/drawer.module.css @@ -2,6 +2,12 @@ padding: 1rem; } +.cta { + display: flex; + gap: 1rem; + white-space: nowrap; +} + .item-margin-bottom { margin-bottom: 1rem; } diff --git a/stories/drawer/drawer.stories.tsx b/stories/drawer/drawer.stories.tsx index 9287618b6c..368139de7b 100644 --- a/stories/drawer/drawer.stories.tsx +++ b/stories/drawer/drawer.stories.tsx @@ -46,7 +46,7 @@ export const Default: StoryObj = { }, }; -export const WithCustomCallToAction: StoryObj = { +export const HandlingContentOverflow: StoryObj = { render: () => { const [show, setShow] = useState(false); const openDrawer = () => setShow(true); @@ -60,28 +60,24 @@ export const WithCustomCallToAction: StoryObj = { show={show} onClose={closeDrawer} onOverlayClick={closeDrawer} - heading="Header text" - customCallToAction={ - <> - - Confirm - - - Cancel - - - } + heading="This title is truncated to a single line when it exceeds the available space" > -
+
+ + Drawer content is scrollable when its height is + taller than the current screen. The header remains + at the top when scrolling down. + - The call-to-action buttons sit beside the heading - when the drawer is wide, and wrap onto a new line - below the heading when the drawer is narrow. Resize - the window to see the layout respond to the drawer - width. + This line marks the end of content.
@@ -90,7 +86,7 @@ export const WithCustomCallToAction: StoryObj = { }, }; -export const HandlingContentOverflow: StoryObj = { +export const WithCustomCallToAction: StoryObj = { render: () => { const [show, setShow] = useState(false); const openDrawer = () => setShow(true); @@ -104,24 +100,28 @@ export const HandlingContentOverflow: StoryObj = { show={show} onClose={closeDrawer} onOverlayClick={closeDrawer} - heading="This title is truncated to a single line when it exceeds the available space" + heading="Header text" + customCallToAction={ +
+ + Confirm + + + Cancel + +
+ } > -
- - Drawer content is scrollable when its height is - taller than the current screen. The header remains - at the top when scrolling down. - +
- This line marks the end of content. + The call-to-action buttons sit beside the heading + when the drawer is wide, and wrap onto a new line + below the heading when the drawer is narrow. Resize + the window to see the layout respond to the drawer + width.
diff --git a/stories/local-nav/doc-elements.tsx b/stories/local-nav/doc-elements.tsx index d6632a2bfb..69eedfc458 100644 --- a/stories/local-nav/doc-elements.tsx +++ b/stories/local-nav/doc-elements.tsx @@ -1,7 +1,19 @@ +import { ExclamationCircleFillIcon } from "@lifesg/react-icons/exclamation-circle-fill"; import { css } from "@linaria/core"; -import { MediaQuery } from "src/theme"; +import { Colour, MediaQuery } from "src/theme"; import { Typography } from "src/typography"; +export const ErrorIndicator = () => ( + +); + export const Page = ({ children }: React.ComponentProps<"div">) => (
{children}
); diff --git a/stories/local-nav/local-nav.stories.tsx b/stories/local-nav/local-nav.stories.tsx index 4bf41ec663..28b320f6d9 100644 --- a/stories/local-nav/local-nav.stories.tsx +++ b/stories/local-nav/local-nav.stories.tsx @@ -1,13 +1,12 @@ import { DocIcon } from "@lifesg/react-icons/doc"; -import { ExclamationCircleFillIcon } from "@lifesg/react-icons/exclamation-circle-fill"; import { PencilIcon } from "@lifesg/react-icons/pencil"; import type { Meta, StoryObj } from "@storybook/react-webpack5"; import { useRef, useState } from "react"; -import { Colour, ThemeProvider, useMaxWidthMediaQuery } from "src"; +import { ThemeProvider, useMaxWidthMediaQuery } from "src"; import type { LocalNavItemProps } from "src/local-nav"; import { LocalNavDropdown, LocalNavMenu } from "src/local-nav"; -import { Content, Page, TopContent } from "./doc-elements"; +import { Content, ErrorIndicator, Page, TopContent } from "./doc-elements"; type MenuComponent = typeof LocalNavMenu; type DropdownComponent = typeof LocalNavDropdown; @@ -88,18 +87,6 @@ export const MenuWithCustomTitle: StoryObj = { }, }; -// A red status pill flushed to the right of an item, e.g. to flag errors. -const ErrorIndicator = () => ( - -); - // One item per combination: left + right, left only, right only. const ADDON_ITEMS: LocalNavItemProps[] = [ { diff --git a/tests/drawer/drawer.spec.tsx b/tests/drawer/drawer.spec.tsx index 7c1ca9686e..0f456f5c75 100644 --- a/tests/drawer/drawer.spec.tsx +++ b/tests/drawer/drawer.spec.tsx @@ -92,21 +92,6 @@ describe("Drawer", () => { }); }); - it("should not render a call-to-action when customCallToAction is not provided", async () => { - render( - -
content
-
- ); - - await waitFor(() => { - expect(screen.getByLabelText("Close drawer")).toBeVisible(); - }); - expect( - screen.queryByRole("button", { name: "Confirm" }) - ).not.toBeInTheDocument(); - }); - it("should keep the dialog labelled by its heading when a call-to-action is present", async () => { render( Date: Fri, 25 Sep 2026 05:04:53 +0800 Subject: [PATCH 6/7] [MOL-22548][JH] feat: fix stylings, reposition CTAs based on drawer size instead of viewport, restore previous a11y ordering for close button (last item) --- .../components/drawer/drawer.e2e.spec.ts | 3 +- src/drawer/drawer.styles.ts | 41 +++------ src/drawer/drawer.tsx | 90 +++++++++++++------ 3 files changed, 77 insertions(+), 57 deletions(-) diff --git a/e2e/tests/components/drawer/drawer.e2e.spec.ts b/e2e/tests/components/drawer/drawer.e2e.spec.ts index 0355d8987c..976c278616 100644 --- a/e2e/tests/components/drawer/drawer.e2e.spec.ts +++ b/e2e/tests/components/drawer/drawer.e2e.spec.ts @@ -1,6 +1,5 @@ import { test as base, expect, Locator, Page } from "@playwright/test"; import { AbstractStoryPage, compareScreenshot } from "../../utils"; -import { viewport } from "../../consts"; class StoryPage extends AbstractStoryPage { protected readonly component = "drawer"; @@ -90,9 +89,9 @@ test.describe("Drawer", () => { await expect(story.locators.drawer).toMatchAriaSnapshot(` - dialog "Drawer heading": - - button "Close drawer" - heading "Drawer heading" [level=2] - paragraph: Drawer content + - button "Close drawer" `); }); }); diff --git a/src/drawer/drawer.styles.ts b/src/drawer/drawer.styles.ts index 3c666fdf50..8384933474 100644 --- a/src/drawer/drawer.styles.ts +++ b/src/drawer/drawer.styles.ts @@ -67,59 +67,44 @@ export const header = css` align-items: center; gap: ${Spacing["spacing-16"]}; padding: ${Spacing["spacing-32"]} ${Spacing["spacing-16"]} - ${Spacing["spacing-16"]} ${Spacing["spacing-16"]}; + ${Spacing["spacing-16"]} + calc(${Font.Spec["heading-lh-md"]} + ${Spacing["spacing-32"]}); background-color: ${Colour["bg"]}; border-bottom: ${Border["width-010"]} ${Border["solid"]} ${Colour["border"]}; ${MediaQuery.MaxWidth.lg} { gap: ${Spacing["spacing-8"]}; padding: ${Spacing["spacing-32"]} ${Spacing["spacing-20"]} - ${Spacing["spacing-16"]} ${Spacing["spacing-16"]}; + ${Spacing["spacing-16"]} + calc(${Font.Spec["heading-lh-md"]} + ${Spacing["spacing-24"]}); } `; -/** - * When a call-to-action is present the header content is taller than a lone - * heading, so the top padding is reduced to match the bottom — keeping the - * heading and buttons evenly spaced within the header. - */ -export const headerWithCallToAction = css` - padding-top: ${Spacing["spacing-16"]}; -`; - +// Stack the call-to-action below the heading when the drawer is too narrow +// to fit both on one line. export const headerStacked = css` flex-direction: column; align-items: stretch; gap: ${Spacing["spacing-16"]}; `; -export const titleRow = css` - display: flex; - align-items: center; - gap: ${Spacing["spacing-16"]}; - min-width: 0; - - ${MediaQuery.MaxWidth.lg} { - gap: ${Spacing["spacing-8"]}; - } -`; - export const callToAction = css` display: flex; - gap: ${Spacing["spacing-16"]}; - flex-shrink: 0; margin-left: auto; `; +// When stacked, flush left so the buttons line up with the heading (the +// header's left padding already clears the close icon). export const callToActionStacked = css` - /* indent to line up with the heading (past the close icon + its gap) */ - margin-left: calc(${Font.Spec["heading-lh-md"]} + ${Spacing["spacing-8"]}); + margin-left: 0; `; export const closeButton = css` - flex-shrink: 0; color: ${Colour["icon"]}; padding: 0; + position: absolute; + top: ${Spacing["spacing-32"]}; + left: ${Spacing["spacing-16"]}; &:active, &:focus { color: ${Colour["icon-hover"]}; @@ -132,8 +117,6 @@ export const closeButton = css` `; export const heading = css` - flex: 1; - min-width: 0; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; diff --git a/src/drawer/drawer.tsx b/src/drawer/drawer.tsx index cd3760b237..0811df0b72 100644 --- a/src/drawer/drawer.tsx +++ b/src/drawer/drawer.tsx @@ -8,10 +8,15 @@ import { import { CrossIcon } from "@lifesg/react-icons/cross"; import clsx from "clsx"; import { useEffect, useRef, useState } from "react"; +import { useResizeDetector } from "react-resize-detector"; import { Overlay } from "../overlay"; import { ClickableIcon } from "../shared/clickable-icon"; -import { useMaxWidthMediaQuery } from "../theme"; +import { + Breakpoint, + parsePxOrRemValue, + useResolvedBreakpointToken, +} from "../theme"; import { Typography } from "../typography"; import { useId } from "../util"; import * as styles from "./drawer.styles"; @@ -40,11 +45,36 @@ export const Drawer = ({ // CONST, STATE, REFS // ========================================================================= const [showOverlay, setShowOverlay] = useState(show); + // vertical centre of the heading, used to align the (last-in-DOM, + // absolutely positioned) close button with it + const [closeButtonTop, setCloseButtonTop] = useState(); const id = useId(); const initialFocusRef = useRef(null); - // stack the call-to-action below the heading once the drawer spans the full - // viewport width and can no longer fit both on one line - const stackCallToAction = useMaxWidthMediaQuery("sm"); + // Observe the header (whose size tracks the drawer's actual width, which + // consumers may override) to drive layout in one pass: the width decides + // call-to-action stacking, and each resize re-centres the close button on + // the heading. offsetTop/offsetHeight are relative to the drawer (the + // positioned ancestor), so they share the close button's coordinate space. + const { width: headerWidth, ref: headerRef } = + useResizeDetector({ + refreshMode: "throttle", + refreshRate: 300, + onResize: () => { + const headingEl = initialFocusRef.current; + if (headingEl) { + setCloseButtonTop( + headingEl.offsetTop + headingEl.offsetHeight / 2 + ); + } + }, + }); + // stack the call-to-action below the heading once the drawer is too narrow + // to fit both on one line + const stackWidth = parsePxOrRemValue( + useResolvedBreakpointToken(Breakpoint["sm-max"]) + ); + const stackCallToAction = + headerWidth !== undefined && headerWidth <= stackWidth; // ========================================================================= // FLOATING UI CONFIG @@ -119,33 +149,22 @@ export const Drawer = ({ {...otherProps} >
-
- - - - - {heading} - -
+ + {heading} + {customCallToAction ? (
{children}
+ {/* Rendered last so assistive tech reaches the heading + and content before the close button; centred against + the header via its measured height. */} + + +
) : undefined} From 36794453338939d41e0f1110981d0e45bcd6f14d Mon Sep 17 00:00:00 2001 From: Jun Han YIP Date: Fri, 25 Sep 2026 05:05:55 +0800 Subject: [PATCH 7/7] [MOL-22548][JH] test: add short title case and amend e2e snapshots --- .../local-nav/dropdown-title-addon.e2e.tsx | 11 +++++++++-- .../local-nav/menu-title-addon.e2e.tsx | 11 +++++++++-- ...ction-Narrow-stacked---cta-open-mobile.png | Bin 12126 -> 12126 bytes ...r-Custom-call-to-action-Wide--cta-open.png | Bin 18865 -> 18803 bytes ...n-with-title-addon-Default--addon-open.png | Bin 24285 -> 25919 bytes ...-with-title-addon-Default--addon-mount.png | Bin 16654 -> 18691 bytes 6 files changed, 18 insertions(+), 4 deletions(-) diff --git a/e2e/nextjs-app/src/app/components/local-nav/dropdown-title-addon.e2e.tsx b/e2e/nextjs-app/src/app/components/local-nav/dropdown-title-addon.e2e.tsx index 2b36a7a3a9..c93c21a1b0 100644 --- a/e2e/nextjs-app/src/app/components/local-nav/dropdown-title-addon.e2e.tsx +++ b/e2e/nextjs-app/src/app/components/local-nav/dropdown-title-addon.e2e.tsx @@ -3,6 +3,7 @@ import { LocalNavDropdown } from "@lifesg/react-design-system/local-nav"; import { DocIcon } from "@lifesg/react-icons/doc"; import { ExclamationCircleFillIcon } from "@lifesg/react-icons/exclamation-circle-fill"; +import clsx from "clsx"; import { useState } from "react"; import styles from "./title-addon.module.css"; @@ -16,7 +17,8 @@ const RightIcon = () => ( ); // One item per combination, with a wrapping title to exercise first-line -// alignment of the left addon and the selected tick. +// alignment of the left addon and the selected tick. A final short-title item +// captures right-addon alignment on a single line. const ITEMS = [ { id: "section-1", @@ -33,13 +35,18 @@ const ITEMS = [ title: "A long section title that wraps onto multiple lines", titleAddon: { right: }, }, + { + id: "section-4", + title: "Short title", + titleAddon: { right: }, + }, ]; export default function Story() { const [selectedItemIndex, setSelectedItemIndex] = useState(0); return ( -
+
( ); // One item per combination, with a wrapping title to exercise first-line -// alignment of the left addon and the selected tick. +// alignment of the left addon and the selected tick. A final short-title item +// captures right-addon alignment on a single line. const ITEMS = [ { id: "section-1", @@ -33,13 +35,18 @@ const ITEMS = [ title: "A long section title that wraps onto multiple lines", titleAddon: { right: }, }, + { + id: "section-4", + title: "Short title", + titleAddon: { right: }, + }, ]; export default function Story() { const [selectedItemIndex, setSelectedItemIndex] = useState(0); return ( -
+
^6S?!pHOE;KpqX3<3$jhHuCHfg%i^u6{1-oD!M< Dl^`Q1 diff --git a/e2e/tests/components/drawer/__screenshots__/chromium/Drawer-Custom-call-to-action-Wide--cta-open.png b/e2e/tests/components/drawer/__screenshots__/chromium/Drawer-Custom-call-to-action-Wide--cta-open.png index 698546457c4282719dcc8bb09917c18d976b3b80..994046c903eee6005ba12b1a78ae2819d211acd7 100644 GIT binary patch literal 18803 zcmeHvXIN8Pzh{&qs0ip$0jY=MQB&!hdvkAh!n!a7GFkkb(DJL*RMscTbgAwu>q_nDucpS`cHbMhaxkcUUZ zrW3w;@~WLt=RBkSP@OC58}jsy-#3A$1pPB%EWaMV%*=Bi$dXf6Qw!7z{Oh!WNcgR3 zW`!cLx7QN=TyFd~C0GJoPwcLThX>;qKYvcN_8q^J_bA^h&sn|gt>M)STkXM>WAn_C zirabElV4C*tLPn<-IzR9z9QEjO#F87n+{l1CQo{Oe|<(X;*|DdW*`ehp>jyV*%0fK zheuoqzG8h~X{${=`Yv)|H$_}P)^+TSX!>otmasn{U(yqyZq|yliG+jmKj0aI&?48F zkpVYDj0Ue+)KC##(07dRE%QC!trriELi*KwAb#*|uehD{4c?o|4-qaYy>`7SnR{3P z*%vc=clmgi(D@Na=>XP96btLAv1c*LLz0kwtGf_C6Rh9~EB@+iR=F&gFYqr`U@|oUyTX}*2EvI>LVnoxX$FdJ!=VX#^0ju z545OPIP>#^fqm+OUmlbsUErZ#tUrmzig+KX|6LkcYC(|+6Z%;u5ul7<)g6yYgr(sosL<Eg_n ziV^Ttg9z3ozqcL8#72l3I-aG*h;s3&{!9I9tLU2%iUa8B+wO)ko0j<%Q4cDnf(lBK zVk{GkqFEPVFvRV`O65S(&%OW_G#R?(*mmcI{HdL1#*Qrd5J=sZ?7+(E1;f1C^%FMO zd3%aY^SY@bbacjrGVO{N!jEd~rx=#VB4j_x5B_RgFDSp*6t5G0_M*M8abmNe&xFcm ziXNt;E<)7IjCC6zuvsM`}EoO@hcj>ES!G_eU`lANx$51p?81 zAGml#LZ)WyQA_wik;-M0pv}a5s0}TbI@hM%2#uJekMER1 z-c3yiJJ$=87U3>d@1G-`eO}GAoI?@GoZ!E$-Kp6?vHPOPd4dBB$!}+lnYRzXI;`8p zA;j6|Xd2XWOS90XaO7n@Z}c^4oyH(5*C@?{=Po~5m@Ln~?}oKfk#w;5gt3A>^&(iv zzhkfXl6L9@1Y&lyDqf*ruyaJ*03pG}J~{;3ir3c88$Y*nvf&m-9p-%UUVGZk*J35_ zvW zu1u1aABkK&*5t+`77?uL)WhzIhw(xnPqa-gG-bbiM=^t5&BGbgDBZVGx@}U1V9z~T ztiQaSI_YXVIDNm>rm*W4j2ymyE--j*`^1Nnk-kvXMB}`nGqvmZTj$6tJ))|nQAc>H zS;2t)S#`_SI^TIVD<_iuaYn(aoa!aRG>l%XjnIYlWAt@Oym7B@u|=vLqIXu-O|=JR zQJVxa98<3us~J}dwjdr!qw|2HYWhpd9 zCcp%4gq4YTe72Rcl~|B|52c)8IGhluo`TwvQ~hR4kgv9ukjSqKpf-3DF9M)qb}E6T zCV$46)5BP>b^h_+!_!&teY8*cedcH`o9cFUnz3i*<-(QU$D)fXga0N-TrR>33yuoAVxjlZe zK>B5Jt;rfKe`c@=+w)R6b}=oUUH5FT>i%pkR4MNt1A{pR26awqJm^)!iwQaj%(eXV zH8^gbRX@dMowksc=wdu$Lf7uhOO@1qhm1Y;*tt5V_x-pG-Z{RGZhiz(`h!MFxNt%@ zOei?suG?$BG~>j21c#u)vxV-glsdj9`|On?_=Aip_bhAi#Y!!fQm4Moddt8qT3z^? zB_F>F(3?;$NYhh719?&O`kBDZN4;rsePggk{&In(lHQI-tX2j(4gH`N%Ku=VoEX!J zPTq5G^yCuCt4Qh}AG~rN;d_q^YIbX7;kf&=cTz=x4KI20DJDu!8zR>R2F*T@tvSJ- zePg)_VpADd_Oh!3W3iMP0oL3XgQ|bt8O5y>D7U)h`VA|xd0TjkB=f}sbi5=DzkM{- zH^6RP)@hX61Xj_sUiUiEZjhB-L77zsRAbt58f1fTCbJGZ=Yo=TM}7)R^$oh);q)nx z*bJUdR7*SNj+;wJgW)R}EA=nq(w8J}eDYni)>*ZZKwS7Jivf#O&8klRs8xcaQxG&k zON9N5$yQ%69u9LIp~tOC)W-?=+~vBg;YWZDIEaB)Ck9)Cwzswaz^Sb)`C75PX}&Df zKZgA;H$?rn{-*3=p@;b;mQw4Cj3U12taqAqPN5F^1xeX(#>x@1KMT>*f#cyBnvv5% z#D<@LiXa~WEL}@%q}F-Hi51t(c1!mO+Tb?P7Z1N?x44!qqnqx=RGjVuu8eNN}l{ zL~EL)JARXD$2D5FHNlAK@!y8r?MZCf6V+E_EUKEgf2$-nmMch#<5h$mh-=fU!EZk9 z{d%p`^e5q9wS-F*g*aFq)K^@8eepf7lD~Ug^kQ!s70;yO4OA%4Yk~*$2O&tZGX zwR+q^TT*_bX3oSGzPsrm9JE&UbGDF;*xeGa-oW^H#K@_R%YEYEv-OA1J=Siz*;=oR z6+hdNbEz<-w)bQfyJtUIbBKu_3QC6Cix@p6tQXq+Iv7Z9tgf^ZY3^n-=%J>YMk1;+bN$!ZQ z>1%{=X36lq3zJ*tHP`pr$|ftF{T3>>b<))5vbF?|-dXL}9eKkn~ma3WviN5Ga%GtsDeTGnJsdwNjdv>cJxo79MNwM?7d(l~MT5 z!CgNG5z@!qJi!rb1a`e0TH3jpU}_e)f~i2IE0Az(_}k>_t0z1@$+}Ea&{$7u987h$ zGio%a=K_Xi2-?Sl{oEs}YlY#Tp93#8IrU_ulG^n;Wvt#$2AfaF3NBBS=}9M$3I-Lr zR+s&oaxSHMi$-96!JU%0ea!O~Fk!)WcL&;~JH;I2P3x1)FCJl58>BPuMf0g5Xd;mU<%9_Sk%ph^Xgp#rS}vlj@n@W9A4*kq zq9LG59Idq3#1hFRJUumP=rUa&Ksayh-h6C)cr!uW1GUm2jI4L2ifBfJp-ioPjE|Qh z86?y=^=x{dI-8);d5h@x8Z-u#Xp5lCBPm_BEsx>rRihD{f_yeZIB*r@=^$7|k8Dq* z7|-wO+N+OqQiC>XfiU1$^YB`NiKSarnlH`?EFWuV?R@Mpf5*CQ9BG~~`j-;4hU6|n zlj!*@?Kq!c${5O3@d2Y2X*-vd*GT;ldyHyr@l>FEFu#LXWm2=buv6QIRdLyUq-nx0 z|9o$f>ks#Tgy2pGD%jweXz~K5z=vXmr^_;?0tahDpZgkRUGfr-oMCl8c%!YjXsWX= ze}OSPzE|O&5ljhP)5wEYY=>vjnF0}?=e&0`-&#E^^XtgOvo?X;A%AHot+>Xyx%n`I* z%C-wg&Y^6Bjr;Fqw*VHl)e)#LD&hZcC8gL=I`XnN&Pc+As1TLoeHEu=2 zCgJ3%DsnZLW#%3lE2!w}x=u$fNTW`i2m~X;jpnk9SZ^(IMwckC^|kTX(&A9G=L_AR zwUuod+etC<3!i3VPY2=Y8-AM6LsJYgmI=S#xY3ws0VZPctbx+67j8C>Deq2JT~Jt$ zf2^N}^91vyxR~l?VWDu3eFY%_13NE*x(za(9fH-R zKa@4E#0c&GtQHfO+uvEWQQGS33o8g^&54ucyU_lUxwTfArTWJ0r1xGRW@DU3G)5Th zJfJ7-*vDMrBBs+8sEUOcS_x-*O-t#Byk5pKWAFDwrs^&Ksj_zrmoLXYADs#%XT^~q zrl|&Kc!(TkvM~jwayccj{7t`G0j?vg;NJ7WWUB37Rhpl(56EUKzjLOn8z2KYF4xkL zd!vn66nFxDmiExB>f*9fa@OwG#$RPk1NrNauSNoFh_$i~eX!Y{<_(}j%YR;G?!lOe z*S*^w;iWzpTlsAN6dk2oA~tEHK4G7sM?5zEcI)|F5|~0?JKnoAFpKnDRr=NC2fW%Y zMp$jje*M(jWxP*R>B|QE!!Ta)?)JL4^u|Q1xcGdr`svdjs=726=tL$1_G5oRuCJGC z=*9Yb#f>p7bWf_!h`A3ccwo=x=PxZ`!A6mT-=eCY#g{h}2gRfHW4uSL{j39*vq2-$ ziksN`p98NOb*8IQwoituG2J>%5xbK_wUvaHGJT(san5Zr_c*K({#|0QzD9Z;nz`D! zXampP4Rc4+pR87y@*SkHqZFtkNu+g2)xe6P5v#r2B-NnKVac$9jLi2_aN6YpacM+b z#^dQgX2#D!gW45}sI3!knV5v)zGBe?@SY_3wHqT@qO9N@Z^Ry0+57XJ=^@H<5f>yKm(^L`Puf=*KyO|Wa*A4Y!O z?WqfYo;J^b_sLWQ`8zJuqpT@b`(Ik~jZMq~Nn2eJF;56wy!IazO{j9nyXYJ})Jo_ex@(ju@AIFq{Uhwmveb`i`rgE0 zj@* z#svS9!agXaHfma+0ZP0o3$Yc3n@P*UDvNNAyP=}2OggG?+%{0=-3^kI%eLOl5! zRnjZ4o6$^IZjgsVk(@JP8$seUrKP!o-@BHh%cBkZOS*%av>0Bjb0=-;D^JZNn2m=HK_RIwC%|y@U7P;mo!lv#UyeFH60#G!a#!!T27L9j+x8kz zp~!2WrcM@%0Yehi%pc+@KQYN(QxmFTA5L+iv3$}Tl4K6t^#b;D^b#T zuo5ZYdB0I_3cD1!Ua@&xUIE}SsgX2sF1vmwh^X6Oi&hlxM_Uf{KRsQD4dmY9h?*YL z@S8s+BY!itVvwn}>qVond4V_zVn{DciTcw35o>MZGi=`@kj(FI59ZqY+9Pv4ut&xmy zQ9}B5CA8#QqWq~6n5S$tH_;E%7~lY@Ryg%2IRC-eDyOGbdOE|L@pqIoK>VrBNgT| znU>*13ff;f5PR;D#E**|CXOPRX1tcuL8}S+)PcZ~Mn%U7VVd%(D8Ko6SG=tI0cB9A ze*Miz$)gs(BaiWEX*HU?~*MJw%@_&+Ay z*xn4k+ZD3YjDjk9epV+;aSDHDPSOT^xEeklb6;BgP-7Xz?9bM68yWCT*=$hrZFM!? z&zX_4o%-t>>_;2XW=J7p<~LS}+}c-^cHR3t^Qj&Q~@kxkuF}DJPBY6znG`=^;YP3(P83T5oyZ81ARSbRRenHfeKAHIamT(eXgG zWQiNa-W8|8m7_kLkHN=rk&m@q?Z~)G>S|M8``8(_&j3_;PCCPHguU7{-U?3sY?0X zZOo8rxQ_gGYDaEQGS9#~6=hB8JzFgg?UQ*o_Yw)G6xZ_8LLD>1-KBx!Pba`}R zs@8ryTI}de+w*UC43IFv=Qgzuf9RzWVc?oG?fmEU0tM+ZPXY<>d zuOIO3qr&85qrxKD$trT<^>?*ZxmC!UBuz~Pd2Z_$qru3TwF*xB#rgyNHeE&6ftrtQ zgUhXQoG2H?z>(i__&yWsaoJv4m7uAcljOpgR<`q|aL}O3x28W_W?Sp8BhrTf_PKsi zyzQ~T@HM|j9UovgkDJqLG$l743r9tC3=6urdylTyB?>7%USQbTzoL#DmY04QH>|f4 zx>tZms;l;~DRZKZo|{j5$==bJ|N8gJ5j#loRiTq&XNx1kDei+UJonleR4fzYOwg6| z>27qnmAc!`4;zv=#kAv$ zWJ)d7wVV{&nR1KkL|6Lvm**F>m53Y+eSdQn)F0Y|L8EBHRy(z-?<0~9igW?i+6{%R zl~I;THfmM^#kdrM2WspiE1y@q((Dd)>o8WST3-6_@nX`2RIapBP|4q_c#;KgW0!-v zBMH^|a5I~Eg>7@}yv3aKsSRW0*(I)FRm*A6myUpw!^Z$l_p= ziEFX;t<%f3OcXA77mL`-Wen;J;^eB=b$tC7vobvgE4QU}l7r*J35$ES5iR2X+&o=Y z(W@X%O9Q+QrcgWr8J{jPrIy#Oe+%W2bZn&QcM=zOLWDJZ;;#{ zrmSs?mDI=HIv;q^8>cOrHuMd_ul#fKYrcMwm0!i>mBvINcIJ4u0X9C5Zx1FBd@Bji zYYEI+EYa{>dlM31wD8%JSPi(}M3xlJoSG=n;N1~oR*hZNDE$leOnznb@Bh*Q(B4}Y zE%yQ0n(Q7YN!9>a6A^6S`#Zk@ZSJ%*Gs1nFVLN)zY~vDsr0EEYh2L6thpAW6B;EN( zt}C~ZK?RU!VoE$mxzHz6i2(~!lBiwx4%W1WQ~*NY1#=rpdo8&_{)`5H1(AIUdLW4#(R6h6(aSz@3v zuJEM1zx^dCO{CR-Mkr`)tC_6`Ij6+fpDO{v%~Qg4%v!lJ|Bqzp+}YDIUK7ugDjpZf zZgm0TO^ED5x=cQOC$4d-1k^}Dah#N02Ou=QA9-kvg_#GG7I8P!5_ocZKtOHJe!{VJJSG39%} zKKQO~|D!k!pWUW$C3UbQh>(IQuHN}_q>F?9mRIkZ)OCSGB>8JDf;l?!b44?WZ-4FT zdA29)Mf|Mthg`1@>E8`ai9V?-(YQJsy#5Z>h}{^o6UmpvlBh zGAZO(=*mu>Z`-H&L<{)Phl{-kT9uQRP_P|NF`;U*Ey=65NHS6tHSKD|E5_)}?Ld)6 zlkiSfQ}0IhR*N@d9CPV?dU0etbS;Dxxrklr9f2t!17-rpzb}lFRLs_2V=qtLaG+$T z!`(&>O&;FIbjeh}MNi;O1S+U}%z-B+Gz}ACO6{#YCDJ2mTQy1Gyr>4cCs<#h4!!HF zLab#It#qsWa-cGBPmH_#SWLT+>iVrbp=wynRHf80g}l!+t0?Op_Wt{22+;?hKBWC| zJE|09NbK0LFQq|y^nH=>PNMFLRl0(Y^XtCZtG-&%d-v%qHt{ZWXXzI~?m3fAW&#)~ z(C$+a4w#B?iq_hzNnapcQ~p}K7^74U_|0O$TP>(quV+l>EEO}f$~lHuGv=yiv`!#yz#yV-&!D(;a9ns*&L(r{kyejyoJ zNwc+L233!3DPz|p8+I9}lN`1~%U$EJi5nTw6&KpZOWpTf_GS|ABK=?AYoz^3(4?#E zu5@4Q3s`fc7V$Uk|48hke%Tq>sU08MAmjGV3aJLZ7%;(N>lebaQhcXh{QfNWfYH+< z33ncRG#*A;6+(C!PH+wrfb`WX=sV#6VHJ-uV1-O8m2$hOi08Tr@uC zVN1Ba#H8ldjX%>)eP0~KGJMJq@7S)`RC3UwVZn3x1;w2XuIXOA@^)&sqiP%qWbwhI z5AoykNj8B_Ki z=6SmrL^#yKS8a`P_0Ga)Ha(^N(HN`X(V-M!xJyw&ghQ8bx)R+*v3NUesw1*%qOf67 zFQ&1oPg3|eY~f;DZb{{&A%CHQl47tok6>-r3PCYEC_TV$l{i(qeNs1)XmS}#VH7wb zlnM`U*uq1|GP%2hu@v-kloeL=U&~%*gV)oR*v;FHyKC8SOCb`LO z!K}GLEn`up_$8UoBjP@<3I~Ihi<)Qd{)w1Uae8cbr3S=nwCL4+NPTv+&gzs?zW>Wl z;RhU-60Lhz(9WZscgLFS{*Z~f%Use@)xq6^GVx3*5~vrba%5MeM+>P}QF3Ap_+#}z zCIK2d)zyj&l5GC_gveHs5_PS@)Z9J+hvDclwQ$Pbe5%G^G~mJ;hW9-MCewq1Xxk|% z3Q73FS={AY6F^@$SryQ{{ut^a+(vJgkBL;nIrrGhnc440$29uPGL_*?oMNLU^XJKp zzGGP)1W78-^rNle2TSeB2m~HWtX-J4EIC)_v9Lyo!v``Y$yi^f(5v48UnGsk5mlGj z&sLkej03E%NG(TU4q1YB`s*RYwG08X1k5g8n+gTe8(42SY;w0o44-$SbM^* zj!CpkVXSp7_BO1~e`vN_LhOFjWcaKm?2SEbd;aLY=z6^_b$+{WVLM?jRN0YAO)MuJ zMKi7^Y*)?49RpdNaK&p9U%1X=hoGnf3`M#O`x;o1kb#B zKgU;zU|Oi0dNMKmRQmes{y34=@-Cp$ZGc^H_g;tdwGA$TwbE8jk-M?eaYRkU=RZDB zH!za6LM=1WC<-u>mEx@F)8xh^6m7v#l{yYXQYS8x1L(V>i^yLkm>B4-aR;3S6*PeqrOFx-1xR$ zgS0%825V)1e*WcmF|J3DN!8PVtFFCmV`a}^^;_-1lnzzKmZ_~rv)q`W&?o)1E!{CAR}B-0f!3%tTb3FX0F4 z{r_b&XsB~d#~pDptdMh>&%Pxdb;04{+kl5vj>a9sm8IA8*s|Vfls6%{Ggd_7&M}N& zihm&^UGTJR_PqU1v7JBrWQ4tso~{jk1tlHm;W}QDv|A_~R14l7YBLw&gDpqqa|$OK zPg{@+l4|vutnuK7*4PcVG>5V=0iDlNQ1dQ&XyW6Sue1lEs!H2G>f|VZ-{G8sM3v#< zRR%CSp~Sr6O}DlqYyuy4?(@KceuzZU0NV`O|KV&Jjvpw^&qu^Dwt9z#c?=3o5lLpT z&pYHAH!|e5NkaCEnw-m+535Ocv*}m*DUEgOai~F>d;k2txIKoRSRQpPp=2TGG}_N7 zZ{-1YewW?rx_=pGZDri5px8k2`dhqFmLU6J@a8{Qi%$>IW$R3pPkna;HbcYAEB2Np zd){6*L+t0mm(0yb)%rc0i{0%j=4RECo?XD_TaMs|-pBO{@ayaX=%kO+XYm3u$9nYy zbkruujaMK=DZtZrI|ayiUbEld0N&&^WmkMb+QAA4ZeVA^fj9uuUR-dNxjz>pDWsqG zF~QV^GN3D|OspquV3`cCSsUq&`*VOE#h7ny(0$&>lIwQoWBh z471t7-b&pB%Ax~IW1#x+j_ic%*}8&XwT?ma)wOgoUX{k04&NL9kH`XQGo==ox#5z0 z8mf^VUAT1~oZ_H0eCs>+rr*`cJ)mD7$4j1zId(dDQ4xQlYq9&Y7w8r|Nnp9*8S|1z zdHBK3X4@SNtT**B@d3{LyL=>cfAjaUaJ&u+TNZzD-GhN@M^6obfi%S&HPQ8o^wkGp zy`rk3^G%7wnleq4z%x*~08SqG5dM_7I}S~{y5Uuz%d|~SBS^`>|5da zOZHO7D&*-lW0I@oNy!#a0Tj91<^AIf35K;VC*D(2x%*xjB{Y9_{nN*}9^EH%e?;Tp za`=JXpaMH71%xgky5%bneV5)aqhC$)ZyeozT6RwdA9c%{jmIu)q>$>r=Yskwe>!Di z3T^$TIH)fIc?1%2>5;Bm)`)(XM9g;L+sBS#(zo-Hk6QD7y51cF9sOqFl2XuR&40Hz zdpK#ppjLA>}6S(!l#YqQvbjOO+>x_xufFp?nW9SHwpQEgX$40&awvw4uW8{#8WzYrD;yJ=cc~F*vIV zg3_ZSLekgm-t>pYc!KQNpkw!g7jhtbW~Ui>dFs}eUvJ;OoUH7{CI7j>tNnm(zJzpE zDQ%xhF@jq`AlHT7f2y?jk7V5Z&DMy%KqeiHhs#9;U-n=ps`(2$^ae6DTO&oMhFpKt z1eVNX^}bAXx%XOdHQ?j2VW+~C3m~`VGOBkkow^&XkJ$?s&Fuy`5u29T1x-zh%Ta>9 z-+K%6aPD^o^u)zkOac6Sd)y2i_*5vB>3Ch}ac_jHkkid6JtS!%1 z)k(2pfjlWY(~`%w{ykP?XZmE9I6vc`9V1gezG4aB3f^3sz^S0O5 zhOI4c{VBLqH-<4S6vH z{QLS91jID|I(ZbNV?(YS2gihb{pV*dcnKj&i8g zx4##}?2cGQvI{ddBU}4m2vQ20aPTH*rtUv4B}MVcT+8UG8nsE;d8txo33<_STnZ8| z4ul?2RPgp8zG*(j^PBw;P#Dp+wusvQE((%lDIg`a z11>~dCHr2Cjs3ySGLwR0Qh=9)0C6~u7=|!&OW13%x5q>;O<@s2HM10$GEInevt zlGGpYUw3)*K1pRzGI<)9462=*|98;2=|I`;JT#GK-$`=v-MUg3NS^X*%^$CD6!z{{ zCyYldx&u;lNNfm;{TZ61pxbj%(m8r5zB4b`B680NZ5*att_(l?Wj9QS6h>@;SPXD~ z0h{sNQpap}2f3pm{kfpZjm$ul?+`)G#(>w(}{=SyX+(zKA{HZVIqQzF$JD!pE60R zOt0S`wH8v80RWW42YZ>U#a-4rX|N1ZA3sdoz!Z(oyB7Nwi}lsBfwG2oo_hiLCgnO- zn*U54x%N!hWdPL->;pkW#Er2{FCaH%$ZDQ)EYQ%69O0O25II(H2?Raype*Ty{D&Ut z>2695G&#qPMggE_X(TgJ5tN^s^Qzo&mI?x+;-Dw2o=X>6Lx`Al04~3^2Wk-{BqLq* zlUF*WiOo|-)lfH&o`Re|%thvZZg(jxyEiNgR#Y<>c7ea8PBlcl>6^U|oI6?yy zqkez(T?Px#P3Tg*{1PBmAW?_|8K(;IR#sqYY}zMTC*CrlE*aZ^Oqr`v?S@O9^?AO1 zVdlQpaO~``dMN98vRQG#e_gx|gheg=I!QA;VuudGttw!`5)%`}tH=JH@C0@cXLMZ% zwK+oZ#9Wz=X;IaPgHUTS$1fN)zOvtbJ$ve`Y!lsS`;&*8tTB zYHq>wa4u(Y0N_FaU&Df3@bFVf>7 z1kVD37|5V3x|q^eu?&}Q8^Caox7}`GmkhfE5{sq-_9D2}KA=kH*0?vL0;a&#tJwd+ z8{!{6%dvbLHeLVWwVl-tNIP+9=77OJm}w48!MlTK;i=FjU7%dB^1B}X7dBB`IiS1Fi{AQMvBAXW_;e%%A@HBTQIOX(r$aqu8mh{8ow8i z-(Jd$(XYFXi38>02mJbJ0QNOcL?#{bh;U;O@52QK5V)vf^d^v3|4cW&Pws7U%DjdKevIcy7Hc;mn_sa^r~ybrqEjF7+Wsozv9u;r!mrkRP|_V>Q`$?F_iE9d0CnF;N+bU6%NLWy zy~t$l$1ra%XT@n0zURI1x7hG8ViE5T!IydiA{xXTz6kM2YeNd^-x6lQL&Hu=7`jG0XmxV=K}KhXIY2A1W`>nw|Q6HvL^k z^EDefxc~T2Cjwh{^o1j=Uu+A~NLD@~XP@o^J(3T6Hx3Y8`4N{P5ShbsMb7GD$3xs@ zFDlroAQ?0uaV&xR5xIE4EpQb(z#Xg_G6ZM9FohuyCR4-xz6t0wtcMtg1v2H`$?~}- SYYaRB(Y~vHrtN#J{$RK$D literal 18865 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

!il=Sw}NeJ}0@V6|Lg1@1VHC-M-!2X)&) zDf1umtO6@Z;T~{0eq^=i{;WCAecydT2DSt~4wi>w&ARDJ6{330E6E;ryoc@t=}vf) z7DS5g%|?t8>fsYb@uk5>{XDBr*0j1gsYa_LLiJ+Zj5PN90an!U3Z2+F7{waNDX>Qk z866ME>bFbeS0W`R)BT8hyU>vG&@&wrI44e_Y2Vx4e=0L-*Z6qXa!|UC)GnHfnKQxzHlN*& z*J}|9p0hy4rYvQ}McT}4^(}Li0C6G_iq3^lW;n;)YNvd0w+(V7YA4_7sgma*wCy+n z-!UP9fz2)#&78Ry1a-}EFnSp_q!|K5O&tZT17cyDc7URjMy)wH_aOrV`Yqq>t`ZP0y7oW35dri#c zc;B)aL^vL(@3RbXY_I{e87pE`TN-(ZR(lcOZC0D^GQR~`!?4{m#8yEIxk5sUE|49gGE%u_;go!PHKr(t z9`Y{nAj&Pxa)#zem>?1lB3Hu?e7C06OwPcq;6b!)L1?c(RK zRWfRx*2)R{Y`IoE`nAA+VjMQa9)ACLh7sG_D!EG!1_W4lqWVFuH8?z~4%l>0(z57Opku?0 zOHTfi-T{Cj@5Ohlv3?0W`v2mr3$G%jt| zE=tr9mq#x5Gs9mE)A7*sgOWxyUIF%GznNm`;E>v3LhVNWLL@tEHGRaNHfAIqr2{`6 z<(I~~vbU9PjwmJg5iiO%Z>2J;Uymd>!D-7RRWg2CW3znm1qxnu)RjGoIO;JMq%Ny0 z4}O<%PNs0FeJD95p`vuunRsAT^m)b_0s6mgMwnA|tp+-!=T1rdCI`hLCGWZUa&B6~ z+r3v=gv|zysDDj4qskXTYOTma*yiJ$%eysH{JPDnrsSl`5U1(A_&of<0lXR(bD^2_ zyQ-c0-B1+;H>1P)g_Le^^TfZ$dRD$;)80?^B5IL`)n0U;U36&_SdL$q)7qqpO>FWY z%dJxae4`0B^ZpQ#n$fsVGadwSP_JC@>(<f4d? ze}aS&y8|E3U;5sBNyA~<*YicLaU-Kf-s8y zU`jhw8TYXMjCgy+?4CJ>)0Vhi(Jdth<$uBxFOp5-e=C~1~QTjxzG0{0esveDJZEoC` zn4}K%Y;oUYG&!6^WBu4S=S{pbEi0*EgIJ~DxUGRyd+GJE+ZQ_%atEWJS5#jp1&&mW z;x)mRFZdj3v$2KMRXn>(_EGcTll^bmADUl-UF&Puq#7O|ze;d~D4eqJVuBjnHiz4b zGKa5hUt6(Nz4mt4e5B@Q-`>?>&|U#0vrK=+)+Cu7OhU=r-S4)hRoE_gVSRd<3&Clm zmBLb^Qi)3}Kpl>iDgi|P_|BjnB;DI#W3ryd!lQK)cF<^S^@|$x?9PGUBEU2h%`t7I zX0_JZdh=1^8lQMi_=flE>apL_+);wCLn4Gu-s62)>4>EbB52;g%`Mx z9L6L6{z2zGvw-<)D~T)o?&0yXAPJ|&uwGVlsLveVM62Ui$yh(+mB`Hj)4pX2QRY%` z7X)|8zwKl3_GP96v8$ewjn0T-XG;FaDr9f6C_A?EtuiM{G3enD+hBCM>hO?kDdv|S zr_k8d0NVN%N3aW46IH)mFTGahY;xHQ96hFMjp39InN=1vKh84$bo|G`Zqq-wBN_Zm z+dQzv4E9Ky_mhss=Bnw-70On!>YWf@*z6G{!d~{YNbKbd6fXN-(0%0LP5qhfzW2ML!O_UmqQF1DOLGwyaz3Gb9pCP zy7~LPOM$}P6aR{4n3Td+Rl2r*is=?x>^id#1xrqGH=q8ai%KZq-G@p9-%GOe9WQCz zND;`t|0#?P2pX1lE*cAI$}N8KjU&li$h&h zD(~V3@=dgUL?NI^8yYqQ+ibY&lzm&N4i?dqVGJHt3Mu$?xsqq7F=~swt2u8n2*}tR z8t)f)@wT?YbWpi-fCDaX`FB_j38Qgp%xYr&81Yt^!@u}ZkTLN zmQBGVrxM|!jgA1lppdcfs~vXea~mh1qN=fN>#$1{ao>3;UoUv}Vu&~HT-Y+HkT5`b zv`16Kx#hua0$;=nn$qc(X4k{p6xSyln`>|@fQ~n_ng2Y#y9mhCG8&FY)px|&T(mIG z#9=F5G)W*-vdW!zev+sn9<;huesga7t=@kp3aKcGY` z@4$xc>NVdd_VeH~?lS%{)oLYV)jp_ z)mMFenAd?^;pU8$B~L3+YCU+nJ*d)!0hQ zT>CyPakh~CVZVaSmE0(6`Wi>!l`6DY=Fh=7-F4(b9fV%_%in$Rm+#81pb4pdlt4Bp znb}neQDk;iR;}_>%2E*E=D2;Q%6?n$>dy=;68`NuDh_$?_>b3B+A_mxgtY1aiItnn z8X*TspP(8!L8MQ4)&DmOn9-bjawF%6+CGfEVOiDPVTY-MO+eiPH-PM}BbsJ?+~Q)O zrTj7qr6?4N4smbX$WMvGV^i3tgM+_CnT+SCZB$i_r!*XlF(SuWLZ;qL@qQ@@iWiCU zW?f%(dF+un!o~21ax{va|=`z^oHAOLdjFc-08#S&=ywUr;-n&@r-bxUw~?zlOe?3j@Z zxj6uZ?WVdaHsz4bNjT*}LnQ5Y;Ogdp{&XiIC3uz=FBq~7^eDMw`4n$_`cqxf)U*zd zJGd`r*VvT>JIG-dM5roPS@ZHxM_Hkco$6Xsl&w{pH{QE)1g=Es#>O@65`$8hLmsT~oK<~tn-nSk%0u~-(n<<*kOqdq@~ zoUF>V{gzADcR#%cE6k5_T6uTwrCtpTS^uVyy(;)!el=RTj-l zK#J{jY$A@~2FPQrXl$?2;d?hAGFD*5FNU>{MSZ_hO7QCKiw+$=tP%L&ZxLp2z9Oi% zMtadLbJIVn#cIgw8}o{cpIJ!!S`wDJtF^YHf2+bO71prSF!UK`CGPZuC+_q)2u)ZS zuLn!p3csj(_}94kZR=^CNu#$TrjAq;{ebQ};gm;V2-`W~Xh{waqdDD%h5{6(Jog#E%fX@4p2*UQa?9qL8wd!>f8lM0k=Ez&%g&wjgy$ zqZHViC`Ul&MI@M!OMXFb<68np9d$bn9t{wrS={|-gAL-8j+1h-AHL`eMgq7%1u zK?~IG+}1(_c>k|m&7=+T1s17#fX{Q30vFk9EqfbiF3U{O4@kYu4XZ1=JW?!i{B6g@ zimZ@k(%&Grdi@H8OTHNcfjjSQar9c+t(w^ML|W;02{8ff(!D$qsyuoi!q!O$H`M(3 zhMTdroT|HR=5lLKO`f3!@qM9BjBCS-zpz?{3HvEYM~aC?jGSDJCoXKGNv4T*44#2&#uCweAnC>u;! z)`K@}ckmA`kVedNh(@Mu;N(oZZEMX*}#(;2zH`4MCN&J zwK9+5CMa$$uzxh29H2<(6@6uq{6_$RlXVNtbd1dN#{x z(PuA;giGJ9APG{YnXLnVRbNGq>XSnlRCm6_We;9yLn(=ITqBsDG{M5JD$uudd?#PE zd(mla(j_n@m7QH97fCo7EYHcxAG|9#{>$Z9L+QaplPDrx-f7nPtm2fv-o%qo7oBgC z*4FtJ*7<4AQfXPw??{-cXVxD{zErVVS6+RVsdA>9?yWxh#51)S8_3W1>1d>cV1_Mt zt|HX%`G%q2sRy5R`rIr~n!^enzUXG|C%erD$W415^exjG^!jM?ezkkgRvN$spYXfA zEPo4V`4bc<&T-CCGQqGnT`W#<@w;%`{fb2$*j|>P&jeo6&sv)_xQa#J9lq3DeAwft z8t<(gU(2q(K_?^VmsKlPbY`GVV=rHzx?21lomZkoN5tVtCMnsS;AQ{{RPJ8QA*ypM z4E2VnSlv+!D8lb2o`H~R-McKgYw;xN&Fg?8*0cgH^Jske9X_ z>qV2#mj)gL2C*261ZL9GR@91*89ofVH?I5A$i%4rZkaUP514@yBOL%l{^W%uw8!%S zYXB1!0u80*qt#M9Eyq~)oWKE1(VIDgEmwd}XX9q`vD~P|MW)VNoz%n(ibHYr$i%Dn z?7rjnNhxRxpntvp&DbgcXmrpBbgK2lfDr9OIa6j5R!r@`8J>`K0-bgMxc4?uG*W4q zLuIc#&W{jsFzJPrQM<|{h8`@e>pI+?lWy8-15oCFwQztmZ0$c2ahjF;lYp{sH=wW` z5g`?YKAY7qAxNN7I&9j-q$>G1^Il*h2)LHFbI%lO2jWiiSe(O09d9&Bhg|$Rpxcjg zt<+g62_$B$f5SO&+}~>10&lHVVqtsz8fa=bD%qtJ>3jH7XwQqcwx}8QUrCoouP6$h z)aG^qU$>}gG!sy3Z8NF342EwC0Lo>5812c>Wuam<*TBM_67gC?s$D2anCflRb!c19A-|G@JnoosOWTh5-__sSoVU=Pp6$S z?M`?o`K{Ib7D2zLDatmF^TjPJer?NG6L-d=lZ&-Cr1yD#GaLj8y=f&%WROxuxC@D6 zEYAAPd;SWIb_)X4#+^0(^oP4(1EoLh(n6A$_s;ri7t%f;b6Dk7T_{zUUQ1F1Rwz(a%6_*==!iQC1tS|hZZ z3Fal<9m_IR(+8W>zpMf)~lJmy(M%()tB8SpCG^dKuwpb0k_c)iBM%y^V z=o}(ZEwew_0oRb91!EQPOf`Z!W%|^39V>XOcI>Oax;d;&;|}slc^f0kC^t6Q0(yh` z>-VeP#g7e?l-`=ZLwT}19w){TYuMKW7>A#k0R!f%>+^hGcmvT9vBM}~{4CrZI_FLE z%It#)TB;tt6g9prAJQu#&-uy?+jO*G6r0PlGgmi$gQ%u|hg?6BE?Up;Q&ghLC z1~T1Pyvd&yZ$MZZo)?W-0F!8ND(OP)=R#sE)aK;m78Q8j zUd)WY0cR^xBej-KIBM}+$OK$k5>#h_e+oY*AjtV4<Qv zaLs3LS4=Fw<(q>29fQEaceN&d_XEzx)L*^7uC`GurcKC}jKpcz6~iiV^I8g{UG+hK zAWweA1NOa7J{@sQ#9zs0wVStIh*(yw{W)KW&p@6y1{0c8g7*KM7yc?$;CX53V@{11 zjXQqr-qUsqM!-77Fy%`rtav3RVwgN~Q|?{SV9;`L>va1Cn5C+df%~nx5d{woYGOLm zujjOX6ZDFVfOTXXJa1q`pG@YwAwh1_NcQf3E1Z;0TPcM0JXIq-R^_wfsIlH|G~tpC5k*Wmh;f}Eg+~J&y)|iNX90b{X8yCwZ1TqnNMACcQP=f zE^^Q&J*SsC{5U`@EoDHH2}Awck!Q8rlO^4x0(2q6Z}v7u);`OS+4*2;gsA9W%8oWO zV~WD3D!Pp98C#{JuC3_7pK5C#a$jrWpHb0l$iJCdlU8u`AE|i}H6njq$G`7(Ws?Ra z%q5hG`xGG_yL~Qx3#pg)%PXcrceCmv_Jz&4Dxw8QfW57xjz<^;jMw^1o_p0r?Wn#W z@shG8(>|4cz_%#jT*wrL^Ieu?C)UV$IC<25U*}JIt=_76oE)Zn^@m#!+;>Y~?jMVT z_DcnJ3gAY?T8Kvj0h+mH+c_+r+R#T9W&}d-i_$&=W~X-Ujmda_Iu7u6kDEYg|2(Z1 z2#IzJN%Qq+wAC<{Ow5v#wlCnXp0jBFHrJvlKVoioO94(*yB@#*3e7PmJuLgnr%)>f zCM$MrUQg?u&X(xc|vh9p9dT8y3TP5b54gqtT; zaFA`kzWkASV_5v(%<1gA@8fGO=oX;CVA%%t(A$xxlpm_B9I2L$?{t&LXyC`ejooNS-gPOoR@@P;3(E8G^j8Zr?po)u0EC0JC{EEQK<3anb*SEL=|H zLIM~0ON!aU3Rx#64>t__7t9L+{V2bB+C#+_FrS8or& zhf$ygf&pFis1231GPHY(Daisw*l<7PO)v197FvK~c>OnnF<=O1^f+5qPi~!MZ z@TR`d5U2*sUiM&V?&!>t+7qbE%Htpo*~{b%Au1CzlN_-b)Jg=^m6+~_cSvrrRM4(V3VGmA!~Mmtf_73SKyTG zQWPx^utZ#;4&|wS!{47A1`Mg`?$o_JNXTNcqe%VbxpDT?fW@ggbI_9VlTd~qXy?M> z{fvVqA{2g%GX@Bq>jI$8-vSVA14X9^xu00lycaC}rsOV94!p2U7JMZ5~w zJ7&fsi5|;2NhjS-P6*Ka`Z9%H&O@jI*3S1FO1JLEYGHup}jBw!|q z$12Qy>WItWY1{dgm(ei)Rl6*@w|l|yDPBF^Zo!D&Qz z?ERfTYtEby%9ajzDuMer;kH4WK?49126cdAMm`N`7%uF+-JV9zT2No!voNO6yTIwF zA_eX}X4S1QChFy)N{rHsBky~52*9!hon?P}G~BN8elsP5=hv69^a4CFK#UwYfvtRo z4TZi}dQPcjp6fv5>84NQXmI*f0L9$PQRq1)2Q)R0l*$qyIAQ_t1#;nuQ-&Op0eC4d zRVX^;Cp+R}8c&C++W!O0Wz*h(HkWJ+aPRbfT$M1Z0&trY%X!{ND|CxP&0WhgSt(8+ z$oB7xSk+_Kr4~PYfGAr>k+|x)qi?GTUuwO5VpsHh0ueQGAwqh zUqV^fDOfnI(pHBy`&meRCrDy+s7H3QW9rlc#Dx~nbCK68KsfEVFtHb;$@l<7Fx|7` zvW@FLKtcddMs=d8Loyb&UpYR~mj>LOg6h0cGlc#u4QSJLM`p}P&rRk`6Od`5!e+gh zr-x2XrO|1}q9j8|V1%t^ug;7oGv`$cWb^e$=v}>rl0ip25*Tzdkbi!l(ZCV`^7{(l zl8Y(z-EQa6OTN31V4$lh-3*`~ad1<+F3;a^MrktIekdTYD2(r-AHj$H0YT#s`o}P8m?uiE%Vm z^=PRpUi8H46jKU_siJR2X15#tfi~|#ZAn=h3*ZH&0d7-j3nORvi&^gl4&^lu0FF)q z=F&`9WoG~9&QWVP^~7zp*Md>r4DJ;0yHDL498OgQoKI0JFn}sl%3<&CJ~OEVR_lfi zYyVYPGvI|Je^Y@k%58FkjuOtl0?l%L1ZU5^JI$(gJ<_uuKu*$Z$r%8U1+2+#!RX?e z2{E=)oc!{xfTy|%crw}z0168fE`ZdhdPE4RM`kle=xTLV9PQVlLV*9d0wntJ;S*;o z(3zviBFH^F&07&bW_<-T!864=KV9C9fd&gZnFWdh4sJSNmuWo7gcmrZiGX38JymT9 z$T;;tWLpRF%`giF%iJ&gyn#6UEt-O&Z<)1Wfz4p&q#5pCI#7A#fRa4g1Y|!T3xxVx zzPRhZHN8F88MO!aA5e|J@jPEMR4d@q_ZWJiL0tr+oSdA-?c!9_Wb;~+15UhJCniz= z&n}bw;|I#Na#P)vd{%}iRWs*>pQHh%J=d9EV{2N2-+l0O?a?jyW) ze5VVymTU$&VO#Hk=?wxH#7xdQ&}bwajnq~+4u6UP;}21^Rg~`i?ce7Lvozv#wX2EP zrp1$R7YnDK69LIw%jxtLyTme%^%g3UPRQm#KYx7+)OQ)!tNzEg=KmYp|9{@&e^Oli zXLkQHyZ=|!{C@)Oe@Va{KYjWI1Uf5!@_7OOS+xHpi}s&|`hUAnz^Uoq5B^7K$bVM& z|LqF@4}z}$EbV`m_J5HUi+FezB$52F-4>`e@BRN&n`?}0EnoAVf0e>r!zV|0fsf9S1&Z;T>M)EK z?3MxrpnswlL7|v4uRw|SZEh(LTJ%&%FHfpm;8|a9q@GSEFdPCWuhJoK81QJ{G;oky znISYxvU_R;aFDeDn5-JGZ~^%29s?*JdqxJN9qQWVMN=>#N1wQ=5dO3O0`I8`jDqdW zuvdmSx4uy12@*P~+H3KFGmfV~&mV&r%U=K4+)L#+lPCMLk_1@fn*cThkUe~v3~;jF z1|2C`*>e}5>y30y5Qt8HE_c5MsKJ>|6ci&U`E;67auEMR;1Q7KW8Ft3YOmh?AJ^G7 AO8@`> diff --git a/e2e/tests/components/local-nav/__screenshots__/chromium/Local-nav-Dropdown-with-title-addon-Default--addon-open.png b/e2e/tests/components/local-nav/__screenshots__/chromium/Local-nav-Dropdown-with-title-addon-Default--addon-open.png index e02cbe880ede3717048b22ec41b9cb12011620d9..1141a2b20905d4d5b1a953d35a054840a1c49f71 100644 GIT binary patch literal 25919 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 literal 24285 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 diff --git a/e2e/tests/components/local-nav/__screenshots__/chromium/Local-nav-Menu-with-title-addon-Default--addon-mount.png b/e2e/tests/components/local-nav/__screenshots__/chromium/Local-nav-Menu-with-title-addon-Default--addon-mount.png index 84228c77f843e56e8478f9f04ed726817416a97d..13a1552033474ccb04d2e5403d0e7ef2973addd8 100644 GIT binary patch literal 18691 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 Z1p6cJj_|J-VSd4pf2H!WMA{_ie*o_mFd+Z{ literal 16654 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ê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 JDq