From 14bdf5d47d7e15943fca19bd3167df0bd83023a9 Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Tue, 13 May 2025 14:54:47 -0600 Subject: [PATCH 01/43] feat(#2715): spike pull information from github --- .../component-card/ComponentCard.css | 1 - .../component-card/ComponentCard.tsx | 71 ++- src/routes/components/AllComponents.tsx | 537 ++---------------- src/utils/index.ts | 201 +++++-- 4 files changed, 272 insertions(+), 538 deletions(-) diff --git a/src/components/component-card/ComponentCard.css b/src/components/component-card/ComponentCard.css index 998329079..da7df0c62 100644 --- a/src/components/component-card/ComponentCard.css +++ b/src/components/component-card/ComponentCard.css @@ -19,7 +19,6 @@ } .card-content a { - font-size: var(--goa-font-size-7); display: flex; } diff --git a/src/components/component-card/ComponentCard.tsx b/src/components/component-card/ComponentCard.tsx index 9e1d9daa9..f221682d6 100644 --- a/src/components/component-card/ComponentCard.tsx +++ b/src/components/component-card/ComponentCard.tsx @@ -7,7 +7,7 @@ import { useState, useEffect } from "react"; export type ComponentStatus = "Published" | "Not Published" | "In Progress"; // Define allowed group options as a union type -type Group = +export type Group = | "Content layout" | "Feedback and alerts" | "Inputs and actions" @@ -20,19 +20,22 @@ import { ANGULAR_VERSIONS, REACT_VERSIONS } from "@components/version-language-s export interface Props { name: string; description: string; - groups: Group[]; // Use the Group type here tags?: string[]; status: ComponentStatus; githubLink?: string; openIssues?: number; isNew?: boolean; // if true, show a badge on the component card to let users know the component is available in the latest version + designSystemUrl?: string; + designComponentFigmaUrl?: string; + designContributionFigmaUrl?: string; } function dasherize(value: string): string { - return value.split(" ").join("-"); + return value.toLowerCase().split(" ").join("-"); } export function ComponentCard(props: Props) { + console.log("Rendering card for:", props.name); const [imageUrl, setImageUrl] = useState(`/images/${dasherize(props.name)}.png`); useEffect(() => { @@ -53,11 +56,10 @@ export function ComponentCard(props: Props) { return "information"; // Fallback for unknown status } }; - - const badgeType = getBadgeType(props.status); - + getBadgeType(props.status); const {language} = useContext(LanguageVersionContext); return ( +
{props.status === "Published" ? ( @@ -69,44 +71,61 @@ export function ComponentCard(props: Props) { ) : (
+ >
)}
-
- {badgeType && } + {props.isNew && ( + + )} +

{props.status === "Published" ? ( - - - {`${props.name.substring(0, 1).toUpperCase()}${props.name.substring(1)}`} - - + {props.name} ) : ( - - - {`${props.name.substring(0, 1).toUpperCase()}${props.name.substring(1)}`} - - + props.name )} -

- + + + {props.description} + + {props.status !== "Published" && ( + + )} + {props.status !== "Published" && props.githubLink && ( - + - View issues{typeof props.openIssues === 'number' && ` (${props.openIssues})`} + View open issues + {props.openIssues !== undefined ? ` (${props.openIssues})` : ""} )} - {props.isNew && } + +
); diff --git a/src/routes/components/AllComponents.tsx b/src/routes/components/AllComponents.tsx index 3059cb5ad..684639ef4 100644 --- a/src/routes/components/AllComponents.tsx +++ b/src/routes/components/AllComponents.tsx @@ -1,493 +1,59 @@ import { useEffect, useState } from "react"; -import { ComponentStatus } from "@components/component-card/ComponentCard"; -import { toSentenceCase, fetchAllIssueCounts } from "../../utils"; +import { toSentenceCase, fetchAllIssueCounts, fetchComponentMetadataFromProject } from "../../utils"; import { GoabTable, GoabTableSortHeader, GoabTabs, GoabTab, - GoabGrid, GoabText, GoabFormItem, GoabInput, GoabBadge } from "@abgov/react-components"; -import { ComponentCard, Props as ComponentProps } from "@components/component-card/ComponentCard"; +import { ComponentCard, Props as RawComponentProps, ComponentStatus } from "@components/component-card/ComponentCard"; + +type ComponentProps = Omit & { + status: ComponentStatus; + designSystemUrl?: string; + designComponentFigmaUrl?: string; + designContributionFigmaUrl?: string; + openIssuesUrl?: string; + metatags?: string[]; +}; const AllComponents = () => { const [filter, setFilter] = useState(""); const [issueCounts, setIssueCounts] = useState>({}); - const [cards, setCards] = useState(() => { - const initialCards: ComponentProps[] = [ - { - name: "accordion", - groups: ["Content layout"], - tags: ["blind", "collapse", "content layout", "expandable panel", "expand"], - description: "Let users show and hide sections of related content on a page.", - status: "Published", - }, - { - name: "callout", - groups: ["Content layout"], - tags: ["alert", "feedback and alerts", "show more information"], - description: "Communicate important information through a strong visual emphasis.", - status: "Published", - }, - { - name: "container", - groups: ["Content layout"], - tags: ["card", "content", "content layout", "group", "structure"], - description: "Group information, create hierarchy, and show related information.", - status: "Published", - }, - { - name: "details", - groups: ["Content layout"], - tags: [ - "accordion details", - "additional info", - "additional information", - "content layout", - "detail accordion", - "details expander", - "details toggle", - "disclosure", - "expand", - "expander", - "expanding detail", - "expandable details", - "expandable help text", - "more info", - "see more", - "show more", - "show more information", - ], - description: "Let users reveal more detailed information when they need it.", - status: "Published", - }, - { - name: "hero banner", - groups: ["Content layout"], - tags: ["promotion banner", "hero panel", "structure and navigation"], - description: "A visual band of text, including an image and a call to action.", - status: "Published", - }, - { - name: "list", - groups: ["Content layout"], - tags: ["content layout"], - description: "Organize information into brief and clear groups.", - status: "Published", - }, - { - name: "popover", - groups: ["Content layout"], - tags: ["content layout", "show more information"], - description: "A small overlay that opens on demand, used in other components.", - status: "Published", - }, - { - name: "table", - groups: ["Content layout"], - tags: ["data table", "content layout", "interactive table", "sortable table"], - description: - "A set of structured data that is easy for a user to scan, examine, and compare.", - status: "Published", - }, - { - name: "badge", - groups: ["Feedback and alerts"], - tags: ["feedback and alerts", "label", "lozenge", "status", "tag", "token"], - description: - "Small labels which hold small amounts of information, system feedback, or states.", - status: "Published", - }, - { - name: "filter chip", - groups: ["Feedback and alerts"], - tags: ["inputs and actions", "pill"], - description: "Allow the user to enter information, filter content, and make selections.", - status: "Published", - }, - { - name: "modal", - groups: ["Feedback and alerts"], - tags: [ - "feedback and alerts", - "popup modal", - "popup box", - "modal dialog", - "show more information", - ], - description: - "An overlay that appears in front of all other content, and requires a user to take an action before continuing.", - status: "Published", - }, - { - name: "notification banner", - groups: ["Feedback and alerts"], - tags: ["alert banner", "banner", "feedback and alerts"], - description: "Display important page level information or notifications.", - status: "Published", - }, - { - name: "progress indicator", - groups: ["Feedback and alerts"], - tags: [ - "feedback and alerts", - "loading", - "loader", - "loading indicator", - "progress spinner", - "process timer", - "spinner", - ], - description: "Provide feedback of progress to users while loading.", - status: "Published", - }, - { - name: "skeleton loader", - groups: ["Feedback and alerts"], - tags: ["content layout", "loading"], - description: - "Provide visual feedback to users while loading a content heavy page or page element.", - status: "Published", - }, - { - name: "tooltip", - groups: ["Feedback and alerts"], - tags: ["feedback and alerts"], - description: "A small popover that displays more information about an item.", - status: "Published", - }, - { - name: "button", - groups: ["Inputs and actions"], - tags: ["action", "inputs and actions", "submit"], - description: "Carry out an important action or navigate to another page.", - status: "Published", - }, - { - name: "button group", - groups: ["Inputs and actions"], - tags: ["action", "inputs and actions", "submit"], - description: - "Display multiple related actions stacked or in a horizontal row to help with arrangement and spacing.", - status: "Published", - }, - { - name: "checkbox", - groups: ["Inputs and actions"], - tags: ["checkbox", "checklist", "input", "inputs and actions", "options"], - description: "Let the user select one or more options.", - status: "Published", - }, - { - name: "date picker", - groups: ["Inputs and actions"], - tags: ["calendar, date, date picker, inputs and actions, input"], - description: - "Lets users select a date through a calendar without the need to manually type it in a field.", - status: "Published", - }, - { - name: "drawer", - groups: ["Structure and navigation"], - tags: ["sections", "structure and navigation", "Sheet", "Sidesheet", "Sidepanel"], - description: - "A panel that slides in from the side of the screen to display additional content or actions without navigating away from the current view.", - status: "Published", - isNew: true, - }, - { - name: "dropdown", - groups: ["Inputs and actions"], - tags: ["inputs and actions", "select", "single select dropdown"], - description: "Present a list of options to the user to select from.", - status: "Published", - }, - { - name: "file uploader", - groups: ["Inputs and actions"], - tags: ["drag and drop", "file upload", "inputs and actions", "uploader"], - description: "Help users select and upload a file.", - status: "Published", - }, - { - name: "icon button", - groups: ["Inputs and actions"], - tags: ["action", "inputs and actions", "submit"], - description: "A compact button with an icon and no text.", - status: "Published", - }, - { - name: "input", - groups: ["Inputs and actions"], - tags: ["inputs and actions", "text field", "text box", "search", "text input"], - description: "A single-line field where users can input and edit text.", - status: "Published", - }, - { - name: "radio", - groups: ["Inputs and actions"], - tags: ["inputs and actions", "option button", "radio button group", "radio buttons"], - description: "Allow users to select one option from a set.", - status: "Published", - }, - { - name: "text area", - groups: ["Inputs and actions"], - tags: [ - "inputs and actions", - "long answer input field", - "multi line text input", - "multiple text box", - "text box", - "text input area", - ], - description: "A multi-line field where users can input and edit text.", - status: "Published", - }, - { - name: "footer", - groups: ["Structure and navigation"], - tags: ["page footer", "structure and navigation"], - description: "Provides information related your service at the bottom of every page.", - status: "Published", - }, - { - name: "form stepper", - groups: ["Structure and navigation"], - tags: [ - "form stepper", - "horizontal step navigation", - "process overview", - "progress indicator", - "steps", - "structure and navigation", - "wizard", - ], - description: "Provides a visual representation of a form through a series of steps.", - status: "Published", - }, - { - name: "header", - groups: ["Structure and navigation"], - tags: [ - "app header", - "global navigation", - "header", - "header and navigation", - "main navigation", - "navigation header", - "navigation menu", - "primary navigation", - "service header", - "structure and navigation", - "top navigation", - ], - description: "Provide structure to help users find their way around the service.", - status: "Published", - }, - { - name: "microsite header", - groups: ["Structure and navigation"], - tags: [ - "banner", - "development header", - "feedback bar", - "microheader", - "microsite banner", - "service header", - "service bar", - "service stage banner", - "service state banner", - "status bar", - "structure and navigation", - ], - description: - "Communicate what stage the service is at, connect to Alberta.ca, and gather feedback on your service.", - status: "Published", - }, - { - name: "pagination", - groups: ["Structure and navigation"], - tags: ["pager", "pagination controls", "structure and navigation"], - description: - "Help users navigation between multiple pages or screens as part of a set.", - status: "Published", - }, - { - name: "side menu", - groups: ["Structure and navigation"], - tags: ["secondary navigation", "side nav", "side bar", "structure and navigation"], - description: "A side navigation that helps the user navigate between pages.", - status: "Published", - }, - { - name: "tabs", - groups: ["Structure and navigation"], - tags: ["sections", "structure and navigation", "tabbed interface"], - description: - "Let users navigate between related sections of content, displaying one section at a time.", - status: "Published", - }, - { - name: "block", - groups: ["Utilities"], - tags: ["utility"], - description: - "Used when grouping components into a block with consistent space between.", - status: "Published", - }, - { - name: "divider", - groups: ["Utilities"], - tags: ["dividing line", "page divider", "utilities"], - description: - "Indicate a separation of layout, or to distinguish large chunks of information on a page.", - status: "Published", - }, - { - name: "form item", - groups: ["Utilities"], - tags: ["form", "input", "inputs and actions"], - description: - "Wraps an input control with a text label, requirement label, helper text, and error text.", - status: "Published", - }, - { - name: "grid", - groups: ["Utilities"], - tags: ["utilities"], - description: "Arrange a number of components into a responsive grid pattern.", - status: "Published", - }, - { - name: "icons", - groups: ["Utilities"], - tags: ["utilities"], - description: - "A simple and universal graphic symbol representing an action, object, or concept to help guide the user.", - status: "Published", - }, - { - name: "link", - groups: ["Utilities"], - tags: ["utilities"], - description: "Wraps an anchor element to add icons or margins.", - status: "Published", - }, - { - name: "spacer", - groups: ["Utilities"], - tags: ["gap", "margin", "padding", "space", "utilities"], - description: "Negative area between the components and the interface.", - status: "Published", - }, - { - name: "toggle button", - groups: ["Inputs and actions"], - tags: ["button", "inputs and actions"], - description: "Currently tracking this need in services.", - status: "Not Published", - }, - { - name: "back button", - groups: ["Inputs and actions"], - tags: ["button", "inputs and actions"], - description: "Related to form pattern, currently tracking this need in services.", - status: "Not Published", - }, - { - name: "breadcrumb", - groups: ["Structure and navigation"], - tags: ["breadcrumb"], - description: "Currently tracking this need in services.", - status: "Not Published", - }, - { - name: "error summary", - groups: ["Feedback and alerts"], - tags: ["Error"], - description: "Related to form pattern, currently tracking this need in services.", - status: "Not Published", - }, - { - name: "floating action button", - groups: ["Inputs and actions"], - tags: ["FAB"], - description: "Currently tracking this need in services.", - status: "Not Published", - }, - { - name: "quick exit", - groups: ["Structure and navigation"], - tags: ["Quick exit"], - description: "Currently tracking this need in services.", - status: "Not Published", - }, - { - name: "skip to content", - groups: ["Structure and navigation"], - tags: ["Skip to content", "accessibility"], - description: "Currently tracking this need in services.", - status: "Not Published", - }, - { - name: "rich text editor", - groups: ["Inputs and actions"], - tags: ["Skip to content", "accessibility"], - description: "Currently tracking this need in services.", - status: "Not Published", - }, - { - name: "temporary notification", - groups: ["Feedback and alerts"], - tags: ["Snackbar", "Toast", "Temporary notification"], - description: "Planned for development", - status: "Not Published", - }, - { - name: "menu button", - groups: ["Inputs and actions"], - tags: ["Menu button", "split button"], - description: "Planned for development.", - status: "Not Published", - }, - { - name: "time picker", - groups: ["Inputs and actions"], - tags: ["Time picker", "date picker"], - description: "Currently tracking this need in services.", - status: "Not Published", - }, - { - name: "text", - groups: ["Content layout"], - tags: ["text", "body", "copy"], - description: "Provides consistent sizing, spacing, and colour to written content.", - status: "Published" - }, - ]; + const [cards, setCards] = useState([]); - return initialCards.sort((a, b) => { - const statusOrder: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; - const statusComparison = statusOrder.indexOf(a.status) - statusOrder.indexOf(b.status); - if (statusComparison !== 0) return statusComparison; - return a.name.localeCompare(b.name); - }); - }); + useEffect(() => { + const fetchData = async () => { + const metadata = await fetchComponentMetadataFromProject(); + console.log("Fetched metadata from GitHub:", metadata); + const sorted = metadata.sort((a, b) => { + const statusOrder: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; + const statusComparison = + statusOrder.indexOf(a.status as ComponentStatus) - statusOrder.indexOf(b.status as ComponentStatus); + if (statusComparison !== 0) return statusComparison; + return a.name.localeCompare(b.name); + }); + setCards(sorted); + }; + fetchData(); + }, []); const [sortDirection, setSortDirection] = useState<{ [key: string]: number }>({ status: -1, name: 1, }); const filteredCards = cards.filter((card) => { - const filterLowerCase = (filter || "").toLowerCase(); - const nameMatches = card.name.toLowerCase().includes(filterLowerCase); - const tagsMatch = card.tags?.some((tag) => tag.toLowerCase().includes(filterLowerCase)); - return !filter || nameMatches || tagsMatch; + const search = filter.toLowerCase(); + return ( + card.name.toLowerCase().includes(search) || + card.description.toLowerCase().includes(search) || + card.tags?.some((tag) => tag.toLowerCase().includes(search)) || + card.metatags?.some((tag) => tag.toLowerCase().includes(search)) + ); }); const sortData = (detailOrSortBy: string | { sortBy: string }) => { @@ -498,12 +64,13 @@ const AllComponents = () => { const sorted = [...cards].sort((a, b) => { if (sortBy === "status") { const statusOrder: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; - const statusComparison = statusOrder.indexOf(a.status) - statusOrder.indexOf(b.status); + const statusComparison = + statusOrder.indexOf(a.status as ComponentStatus) - statusOrder.indexOf(b.status as ComponentStatus); if (statusComparison !== 0) return statusComparison * newDirection; } const key = sortBy as keyof ComponentProps; - const aField = a[key]; - const bField = b[key]; + const aField = (a as any)[key]; + const bField = (b as any)[key]; const aValue = sortBy === "name" @@ -535,7 +102,10 @@ const AllComponents = () => { // Helper to format the label query for GraphQL (escaping inner quotes) useEffect(() => { + if (cards.length === 0) return; + const loadIssueCounts = async () => { + console.log("cards passed to fetchAllIssueCounts:", cards); const issueCounts = await fetchAllIssueCounts(cards); setIssueCounts(issueCounts); }; @@ -561,7 +131,7 @@ const AllComponents = () => { - + Category @@ -586,7 +156,7 @@ const AllComponents = () => { {toSentenceCase(card.name)} )} - {card.groups.join(", ")} + {card.tags?.[0] || ""} { type="text" value={filter} width="100%" - onChange={({ value }) => setFilter(value || "")} /> + onChange={({ value }) => setFilter(value || "")} + /> - +
{filteredCards.map((card) => ( ))} - +
{renderTable()}
diff --git a/src/utils/index.ts b/src/utils/index.ts index afb57330a..74f34d2ad 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -1,3 +1,5 @@ +import { Props as ComponentProps, ComponentStatus, Group } from "@components/component-card/ComponentCard.tsx"; + export function toKebabCase(str: string) { return str .replace(/\s+/g, '-') // Replace spaces with - @@ -10,59 +12,192 @@ export const toSentenceCase = (str: string) => { return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase(); }; -export async function fetchAllIssueCounts(cards: { name: string }[]): Promise> { - const token = - import.meta.env.VITE_GITHUB_TOKEN || - import.meta.env.VITE_GITHUB_TOKEN_ALTERNATE; - +export async function fetchComponentMetadataFromProject(): Promise { + const token = import.meta.env.VITE_GITHUB_TOKEN; if (!token) { - console.error("GitHub token not provided"); - return {}; + console.error("GitHub token missing"); + return []; } - const queryFields = cards.map((card) => { - const alias = card.name.replace(/\s+/g, "").toLowerCase(); - const label = card.name.charAt(0).toUpperCase() + card.name.slice(1).toLowerCase(); - const labelQuery = label.includes(" ") ? `\\"${label}\\"` : label; - return `${alias}: search(query: "is:issue is:open repo:GovAlta/ui-components label:${labelQuery}", type: ISSUE, first: 1) { issueCount }`; - }).join("\n"); - - const graphQLQuery = ` - query { - ${queryFields} - } - `; + const allItems: any[] = []; + let hasNextPage = true; + let endCursor = null; + + while (hasNextPage) { + const query = ` + query { + node(id: "PVT_kwDOBQjO6M4A1oga") { + ... on ProjectV2 { + items(first: 100${endCursor ? `, after: "${endCursor}"` : ""}) { + pageInfo { + hasNextPage + endCursor + } + nodes { + content { + ... on Issue { + title + body + url + labels(first: 10) { + nodes { + name + } + } + } + } + fieldValues(first: 20) { + nodes { + ... on ProjectV2ItemFieldSingleSelectValue { + name + field { + ... on ProjectV2SingleSelectField { + name + } + } + } + ... on ProjectV2ItemFieldTextValue { + text + field { + ... on ProjectV2FieldCommon { + name + } + } + } + } + } + } + } + } + } + } + `; - try { const response = await fetch("https://api.github.com/graphql", { method: "POST", headers: { "Content-Type": "application/json", Authorization: `Bearer ${token}` }, - body: JSON.stringify({ query: graphQLQuery }) + body: JSON.stringify({ query }) }); const result = await response.json(); if (result.errors) { - console.error("GraphQL errors:", result.errors); - return {}; + console.error("GraphQL errors:", result.errors.map((e: any) => e.message)); + console.error("Full error object:", result.errors); + console.error("Query that caused error:", query); + return []; } - const issueCounts: Record = {}; - cards.forEach((card) => { - const alias = card.name.replace(/\s+/g, "").toLowerCase(); - issueCounts[card.name] = - result.data[alias] && result.data[alias].issueCount - ? result.data[alias].issueCount - : 0; + const pageItems = result.data.node.items.nodes; + allItems.push(...pageItems); + + hasNextPage = result.data.node.items.pageInfo.hasNextPage; + endCursor = result.data.node.items.pageInfo.endCursor; + } + + const validStatuses: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; + + const components = allItems + .filter((item: any) => + item.fieldValues.nodes.some( + (f: any) => f.field?.name === "Category" && f.name === "Components" + ) + ) + .map((item: any) => { + const title = item.content?.title || ""; + const name = toSentenceCase(title.trim()); + const body = item.content?.body || ""; + const labels = item.content?.labels?.nodes.map((l: any) => l.name) || []; + + const group = labels.find((l: string) => + ["Content layout", "Inputs and actions", "Feedback and alerts", "Structure and navigation"].includes(l) + ); + + const statusField = item.fieldValues.nodes.find((f: any) => f.field?.name === "Status"); + const descriptionField = item.fieldValues.nodes.find((f: any) => f.field?.name === "Description"); + + const rawStatus = statusField?.name; + const status: ComponentStatus = + validStatuses.includes(rawStatus as ComponentStatus) + ? (rawStatus as ComponentStatus) + : "Not Published"; + + const designSystemUrl = item.fieldValues.nodes.find((f: any) => f.field?.name === "Design System website URL")?.text; + const designComponentFigmaUrl = item.fieldValues.nodes.find((f: any) => f.field?.name === "Design component (Figma)")?.text; + const designContributionFigmaUrl = item.fieldValues.nodes.find((f: any) => f.field?.name === "Design contribution file (Figma)")?.text; + const openIssuesUrl = item.fieldValues.nodes.find((f: any) => f.field?.name === "Open issues (Github)")?.text; + + let metatags: string[] = []; + const metatagField = item.fieldValues.nodes.find((f: any) => f.field?.name === "Metatags"); + if (metatagField?.text) { + metatags = metatagField.text.split(",").map((t: string) => t.trim().toLowerCase()); + } + + return { + name, + groups: group ? [group as Group] : [], + tags: labels.filter((l: string) => l !== group), + metatags, + description: descriptionField?.text || body, + status, + designSystemUrl, + designComponentFigmaUrl, + designContributionFigmaUrl, + openIssuesUrl + }; }); - return issueCounts; - } catch (error) { - console.error("Error fetching issue counts:", error); + return components; +} +export async function fetchAllIssueCounts(cards: { name: string }[]): Promise> { + const token = + import.meta.env.VITE_GITHUB_TOKEN || + import.meta.env.VITE_GITHUB_TOKEN_ALTERNATE; + + if (!token) { + console.error("GitHub token not provided"); return {}; } + + const results = await Promise.all(cards.map(async (card) => { + const label = toSentenceCase(card.name.replace(/-/g, " ")); + const labelQuery = label.includes(" ") ? `\\"${label}\\"` : label; + + const query = ` + query { + search(query: "is:issue is:open repo:GovAlta/ui-components label:${labelQuery}", type: ISSUE, first: 1) { + issueCount + } + } + `; + + try { + const response = await fetch("https://api.github.com/graphql", { + method: "POST", + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${token}` + }, + body: JSON.stringify({ query }) + }); + + const result = await response.json(); + + if (result.errors) { + console.error(`Error fetching issue count for label ${label}:`, result.errors); + return { [card.name]: 0 }; + } + + return { [card.name]: result.data.search.issueCount || 0 }; + } catch (error) { + console.error(`Error fetching issue count for label ${label}:`, error); + return { [card.name]: 0 }; + } + })); + + return results.reduce((acc, curr) => ({ ...acc, ...curr }), {}); } export async function fetchIssueCount(label: string): Promise { From 3d89657f64b4ca761f88195038e9badd1aa423cb Mon Sep 17 00:00:00 2001 From: Benji Franck Date: Tue, 13 May 2025 16:00:35 -0600 Subject: [PATCH 02/43] add a shared function for GitHub queries --- src/utils/index.ts | 133 ++++++++++++++++----------------------------- 1 file changed, 47 insertions(+), 86 deletions(-) diff --git a/src/utils/index.ts b/src/utils/index.ts index 74f34d2ad..f70c9b9fc 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -12,13 +12,41 @@ export const toSentenceCase = (str: string) => { return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase(); }; -export async function fetchComponentMetadataFromProject(): Promise { - const token = import.meta.env.VITE_GITHUB_TOKEN; +async function executeGraphQLQuery(query: string): Promise { + const token = + import.meta.env.VITE_GITHUB_TOKEN || + import.meta.env.VITE_GITHUB_TOKEN_ALTERNATE; + if (!token) { - console.error("GitHub token missing"); - return []; + console.error("GitHub token not provided"); + return null; } + try { + const response = await fetch("https://api.github.com/graphql", { + method: "POST", + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${token}` + }, + body: JSON.stringify({ query }) + }); + + const result = await response.json(); + + if (result.errors) { + console.error("GraphQL errors:", result.errors); + return null; + } + + return result.data; + } catch (error) { + console.error("Error executing GraphQL query:", error); + return null; + } +} + +export async function fetchComponentMetadataFromProject(): Promise { const allItems: any[] = []; let hasNextPage = true; let endCursor = null; @@ -28,7 +56,7 @@ export async function fetchComponentMetadataFromProject(): Promise e.message)); - console.error("Full error object:", result.errors); - console.error("Query that caused error:", query); - return []; - } - - const pageItems = result.data.node.items.nodes; + const pageItems = result.node.items.nodes; allItems.push(...pageItems); - hasNextPage = result.data.node.items.pageInfo.hasNextPage; - endCursor = result.data.node.items.pageInfo.endCursor; + hasNextPage = result.node.items.pageInfo.hasNextPage; + endCursor = result.node.items.pageInfo.endCursor; } const validStatuses: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; @@ -151,19 +165,11 @@ export async function fetchComponentMetadataFromProject(): Promise> { - const token = - import.meta.env.VITE_GITHUB_TOKEN || - import.meta.env.VITE_GITHUB_TOKEN_ALTERNATE; - - if (!token) { - console.error("GitHub token not provided"); - return {}; - } +export async function fetchAllIssueCounts(cards: { name: string }[]): Promise> { const results = await Promise.all(cards.map(async (card) => { const label = toSentenceCase(card.name.replace(/-/g, " ")); - const labelQuery = label.includes(" ") ? `\\"${label}\\"` : label; + const labelQuery = label.includes(" ") ? `\\\"${label}\\\"` : label; const query = ` query { @@ -173,44 +179,17 @@ export async function fetchAllIssueCounts(cards: { name: string }[]): Promise ({ ...acc, ...curr }), {}); } export async function fetchIssueCount(label: string): Promise { - const token = - import.meta.env.VITE_GITHUB_TOKEN || - import.meta.env.VITE_GITHUB_TOKEN_ALTERNATE; - - if (!token) { - console.error("GitHub token not provided"); - return null; - } - - const labelQuery = label.includes(" ") ? `\\"${label}\\"` : label; + const labelQuery = label.includes(" ") ? `\\\"${label}\\\"` : label; const query = ` query { @@ -220,26 +199,8 @@ export async function fetchIssueCount(label: string): Promise { } `; - try { - const response = await fetch("https://api.github.com/graphql", { - method: "POST", - headers: { - "Content-Type": "application/json", - Authorization: `Bearer ${token}` - }, - body: JSON.stringify({ query }) - }); - - const result = await response.json(); - - if (result.errors) { - console.error("GraphQL errors:", result.errors); - return null; - } + const result = await executeGraphQLQuery(query); + if (!result) return null; - return result.data.issues.issueCount; - } catch (error) { - console.error("Error fetching issue count:", error); - return null; - } + return result.issues.issueCount; } \ No newline at end of file From 68ae5c68f457c3bdcd45f36ae5bd2c6941472afc Mon Sep 17 00:00:00 2001 From: Benji Franck Date: Wed, 14 May 2025 09:12:41 -0600 Subject: [PATCH 03/43] Turn Patterns into Examples page --- src/routes/patterns/PatternsOverview.tsx | 261 +++++++++++++++++++---- src/routes/root.tsx | 2 +- 2 files changed, 224 insertions(+), 39 deletions(-) diff --git a/src/routes/patterns/PatternsOverview.tsx b/src/routes/patterns/PatternsOverview.tsx index d55083960..71403a970 100644 --- a/src/routes/patterns/PatternsOverview.tsx +++ b/src/routes/patterns/PatternsOverview.tsx @@ -1,42 +1,227 @@ -import { ComponentContent } from "@components/component-content/ComponentContent"; -import css from "./patterns.module.css"; -import { Link } from "react-router-dom"; +import { useEffect, useState } from "react"; +import { toSentenceCase, fetchAllIssueCounts, fetchComponentMetadataFromProject } from "../../utils"; +import { + GoabTable, + GoabTableSortHeader, + GoabTabs, + GoabTab, + GoabText, + GoabFormItem, + GoabInput, + GoabBadge +} from "@abgov/react-components"; +import { ComponentCard, Props as RawComponentProps, ComponentStatus } from "@components/component-card/ComponentCard"; + +type ComponentProps = Omit & { + status: ComponentStatus; + designSystemUrl?: string; + designComponentFigmaUrl?: string; + designContributionFigmaUrl?: string; + openIssuesUrl?: string; + metatags?: string[]; +}; export default function PatternsOverviewPage() { + const [filter, setFilter] = useState(""); + const [issueCounts, setIssueCounts] = useState>({}); + const [cards, setCards] = useState([]); + + useEffect(() => { + const fetchData = async () => { + const metadata = await fetchComponentMetadataFromProject(); + console.log("Fetched metadata from GitHub:", metadata); + const sorted = metadata.sort((a, b) => { + const statusOrder: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; + const statusComparison = + statusOrder.indexOf(a.status as ComponentStatus) - statusOrder.indexOf(b.status as ComponentStatus); + if (statusComparison !== 0) return statusComparison; + return a.name.localeCompare(b.name); + }); + setCards(sorted); + }; + fetchData(); + }, []); + const [sortDirection, setSortDirection] = useState<{ [key: string]: number }>({ + status: -1, + name: 1, + }); + + const filteredCards = cards.filter((card) => { + const search = filter.toLowerCase(); + return ( + card.name.toLowerCase().includes(search) || + card.description.toLowerCase().includes(search) || + card.tags?.some((tag) => tag.toLowerCase().includes(search)) || + card.metatags?.some((tag) => tag.toLowerCase().includes(search)) + ); + }); + + const sortData = (detailOrSortBy: string | { sortBy: string }) => { + // If a string is passed, use it directly; otherwise extract the sortBy property + const sortBy = typeof detailOrSortBy === "string" ? detailOrSortBy : detailOrSortBy.sortBy; + + const newDirection = sortDirection[sortBy] === 1 ? -1 : 1; + const sorted = [...cards].sort((a, b) => { + if (sortBy === "status") { + const statusOrder: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; + const statusComparison = + statusOrder.indexOf(a.status as ComponentStatus) - statusOrder.indexOf(b.status as ComponentStatus); + if (statusComparison !== 0) return statusComparison * newDirection; + } + const key = sortBy as keyof ComponentProps; + const aField = (a as any)[key]; + const bField = (b as any)[key]; + + const aValue = + sortBy === "name" + ? a.name.toLowerCase() + : Array.isArray(aField) + ? (aField.length > 0 ? aField[0] : "") + : (aField ?? ""); + const bValue = + sortBy === "name" + ? b.name.toLowerCase() + : Array.isArray(bField) + ? (bField.length > 0 ? bField[0] : "") + : (bField ?? ""); + + if (aValue > bValue) return newDirection; + if (aValue < bValue) return -newDirection; + return 0; + }); + + setCards(sorted); + setSortDirection({ [sortBy]: newDirection }); + }; + + // Helper to format the label query for REST URLs + const getLabelQuery = (name: string) => { + const formatted = toSentenceCase(name); + return formatted.includes(" ") ? `"${formatted}"` : formatted; + }; + + // Helper to format the label query for GraphQL (escaping inner quotes) + useEffect(() => { + if (cards.length === 0) return; + + const loadIssueCounts = async () => { + console.log("cards passed to fetchAllIssueCounts:", cards); + const issueCounts = await fetchAllIssueCounts(cards); + setIssueCounts(issueCounts); + }; + + loadIssueCounts(); + }, [cards]); + + const renderTable = () => ( + + + + + + Status + + + + + Name + + + + + Category + + + Open issues + + + + {filteredCards.map((card) => ( + + + + + + {card.status === "Published" ? ( +
+ {toSentenceCase(card.name)} + + ) : ( + {toSentenceCase(card.name)} + )} + + {card.tags?.[0] || ""} + + + View + {issueCounts[card.name] !== undefined && ` (${issueCounts[card.name]})`} + + + + ))} + + + ); + return ( - -

Patterns

-

- Common patterns and page templates to use as a starting point for a government service. -

-
-

Patterns

-
    -
  • - Public form -
  • -
-
-
-

Pages

-
    -
  • - Start page -
  • -
  • - Task list page -
  • -
  • - Question page -
  • -
  • - Review page -
  • -
  • - Results page -
  • -
-
-
+
+ + Examples + + + A description of examples. + + + + setFilter(value || "")} + /> + + + + +
+ {filteredCards.map((card) => ( + + ))} +
+
+ {renderTable()} +
+
); -} +} \ No newline at end of file diff --git a/src/routes/root.tsx b/src/routes/root.tsx index aaff06bb2..a450af352 100644 --- a/src/routes/root.tsx +++ b/src/routes/root.tsx @@ -58,7 +58,7 @@ export default function Root() { /> Get started - Patterns + Examples Components Tokens Content From cb0e3ffea4a30e4624205ddf5486170358e046a6 Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Wed, 14 May 2025 11:43:56 -0600 Subject: [PATCH 04/43] updated Github query for examples page --- src/routes/patterns/PatternsOverview.tsx | 26 +++-- src/utils/index.ts | 120 +++++++++++++++++++++++ 2 files changed, 137 insertions(+), 9 deletions(-) diff --git a/src/routes/patterns/PatternsOverview.tsx b/src/routes/patterns/PatternsOverview.tsx index 71403a970..0945eb88e 100644 --- a/src/routes/patterns/PatternsOverview.tsx +++ b/src/routes/patterns/PatternsOverview.tsx @@ -1,5 +1,5 @@ import { useEffect, useState } from "react"; -import { toSentenceCase, fetchAllIssueCounts, fetchComponentMetadataFromProject } from "../../utils"; +import { toSentenceCase, fetchAllIssueCounts, fetchExampleMetadataFromProject } from "../../utils"; import { GoabTable, GoabTableSortHeader, @@ -28,7 +28,7 @@ export default function PatternsOverviewPage() { useEffect(() => { const fetchData = async () => { - const metadata = await fetchComponentMetadataFromProject(); + const metadata = await fetchExampleMetadataFromProject(); console.log("Fetched metadata from GitHub:", metadata); const sorted = metadata.sort((a, b) => { const statusOrder: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; @@ -130,11 +130,7 @@ export default function PatternsOverviewPage() { Name
- - - Category - - + Tag Open issues @@ -156,7 +152,18 @@ export default function PatternsOverviewPage() { {toSentenceCase(card.name)} )} - {card.tags?.[0] || ""} + + {card.tags?.map((tag) => ( + + ))} + - A description of examples. + Common patterns, pages, tasks, component configurations, flows, and more to use as a starting point when + creating government digital services. diff --git a/src/utils/index.ts b/src/utils/index.ts index f70c9b9fc..bb17c5060 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -166,6 +166,126 @@ export async function fetchComponentMetadataFromProject(): Promise { + const allItems: any[] = []; + let hasNextPage = true; + let endCursor = null; + + while (hasNextPage) { + const query = ` + query { + node(id: "PVT_kwDOBQjO6M4A1oga") { + ... on ProjectV2 { + items(first: 100${endCursor ? `, after: \"${endCursor}\"` : ""}) { + pageInfo { + hasNextPage + endCursor + } + nodes { + content { + ... on Issue { + title + body + url + labels(first: 10) { + nodes { + name + } + } + } + } + fieldValues(first: 20) { + nodes { + ... on ProjectV2ItemFieldSingleSelectValue { + name + field { + ... on ProjectV2SingleSelectField { + name + } + } + } + ... on ProjectV2ItemFieldTextValue { + text + field { + ... on ProjectV2FieldCommon { + name + } + } + } + } + } + } + } + } + } + } + `; + + const result = await executeGraphQLQuery(query); + if (!result) return []; + + const pageItems = result.node.items.nodes; + allItems.push(...pageItems); + + hasNextPage = result.node.items.pageInfo.hasNextPage; + endCursor = result.node.items.pageInfo.endCursor; + } + + const validStatuses: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; + + const examples = allItems + .filter((item: any) => + item.fieldValues.nodes.some( + (f: any) => f.field?.name === "Category" && f.name === "Examples" + ) + ) + .map((item: any) => { + const title = item.content?.title || ""; + const name = toSentenceCase(title.trim()); + const body = item.content?.body || ""; + const labels = item.content?.labels?.nodes.map((l: any) => l.name) || []; + + const group = labels.find((l: string) => + ["Content layout", "Inputs and actions", "Feedback and alerts", "Structure and navigation"].includes(l) + ); + + const statusField = item.fieldValues.nodes.find((f: any) => f.field?.name === "Status"); + const descriptionField = item.fieldValues.nodes.find((f: any) => f.field?.name === "Description"); + + const rawStatus = statusField?.name; + const status: ComponentStatus = + validStatuses.includes(rawStatus as ComponentStatus) + ? (rawStatus as ComponentStatus) + : "Not Published"; + + const designSystemUrl = item.fieldValues.nodes.find((f: any) => f.field?.name === "Design System website URL")?.text; + const designComponentFigmaUrl = item.fieldValues.nodes.find((f: any) => f.field?.name === "Design component (Figma)")?.text; + const designContributionFigmaUrl = item.fieldValues.nodes.find((f: any) => f.field?.name === "Design contribution file (Figma)")?.text; + const openIssuesUrl = item.fieldValues.nodes.find((f: any) => f.field?.name === "Open issues (Github)")?.text; + + let metatags: string[] = []; + const metatagField = item.fieldValues.nodes.find((f: any) => f.field?.name === "Metatags"); + if (metatagField?.text) { + metatags = metatagField.text.split(",").map((t: string) => t.trim().toLowerCase()); + } + + return { + name, + groups: group ? [group as Group] : [], + tags: labels.filter((l: string) => l !== group), + metatags, + description: descriptionField?.text || body, + status, + designSystemUrl, + designComponentFigmaUrl, + designContributionFigmaUrl, + openIssuesUrl + }; + }); + + return examples; +} + export async function fetchAllIssueCounts(cards: { name: string }[]): Promise> { const results = await Promise.all(cards.map(async (card) => { const label = toSentenceCase(card.name.replace(/-/g, " ")); From 6cda6f422f27b8acff18416c82c2bad01d38da47 Mon Sep 17 00:00:00 2001 From: Benji Franck Date: Wed, 14 May 2025 15:53:34 -0600 Subject: [PATCH 05/43] add a shared function for fetching metadata --- src/utils/index.ts | 132 ++++----------------------------------------- 1 file changed, 11 insertions(+), 121 deletions(-) diff --git a/src/utils/index.ts b/src/utils/index.ts index bb17c5060..480651c0e 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -46,77 +46,13 @@ async function executeGraphQLQuery(query: string): Promise { } } -export async function fetchComponentMetadataFromProject(): Promise { - const allItems: any[] = []; - let hasNextPage = true; - let endCursor = null; - - while (hasNextPage) { - const query = ` - query { - node(id: "PVT_kwDOBQjO6M4A1oga") { - ... on ProjectV2 { - items(first: 100${endCursor ? `, after: \"${endCursor}\"` : ""}) { - pageInfo { - hasNextPage - endCursor - } - nodes { - content { - ... on Issue { - title - body - url - labels(first: 10) { - nodes { - name - } - } - } - } - fieldValues(first: 20) { - nodes { - ... on ProjectV2ItemFieldSingleSelectValue { - name - field { - ... on ProjectV2SingleSelectField { - name - } - } - } - ... on ProjectV2ItemFieldTextValue { - text - field { - ... on ProjectV2FieldCommon { - name - } - } - } - } - } - } - } - } - } - } - `; - - const result = await executeGraphQLQuery(query); - if (!result) return []; - - const pageItems = result.node.items.nodes; - allItems.push(...pageItems); - - hasNextPage = result.node.items.pageInfo.hasNextPage; - endCursor = result.node.items.pageInfo.endCursor; - } - +function mapItemsToMetadata(items: any[], category: string): ComponentProps[] { const validStatuses: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; - const components = allItems + return items .filter((item: any) => item.fieldValues.nodes.some( - (f: any) => f.field?.name === "Category" && f.name === "Components" + (f: any) => f.field?.name === "Category" && f.name === category ) ) .map((item: any) => { @@ -162,11 +98,9 @@ export async function fetchComponentMetadataFromProject(): Promise { +export async function fetchMetadataFromProject(category: string): Promise { const allItems: any[] = []; let hasNextPage = true; let endCursor = null; @@ -231,59 +165,15 @@ export async function fetchExampleMetadataFromProject(): Promise - item.fieldValues.nodes.some( - (f: any) => f.field?.name === "Category" && f.name === "Examples" - ) - ) - .map((item: any) => { - const title = item.content?.title || ""; - const name = toSentenceCase(title.trim()); - const body = item.content?.body || ""; - const labels = item.content?.labels?.nodes.map((l: any) => l.name) || []; - - const group = labels.find((l: string) => - ["Content layout", "Inputs and actions", "Feedback and alerts", "Structure and navigation"].includes(l) - ); - - const statusField = item.fieldValues.nodes.find((f: any) => f.field?.name === "Status"); - const descriptionField = item.fieldValues.nodes.find((f: any) => f.field?.name === "Description"); - - const rawStatus = statusField?.name; - const status: ComponentStatus = - validStatuses.includes(rawStatus as ComponentStatus) - ? (rawStatus as ComponentStatus) - : "Not Published"; - - const designSystemUrl = item.fieldValues.nodes.find((f: any) => f.field?.name === "Design System website URL")?.text; - const designComponentFigmaUrl = item.fieldValues.nodes.find((f: any) => f.field?.name === "Design component (Figma)")?.text; - const designContributionFigmaUrl = item.fieldValues.nodes.find((f: any) => f.field?.name === "Design contribution file (Figma)")?.text; - const openIssuesUrl = item.fieldValues.nodes.find((f: any) => f.field?.name === "Open issues (Github)")?.text; - - let metatags: string[] = []; - const metatagField = item.fieldValues.nodes.find((f: any) => f.field?.name === "Metatags"); - if (metatagField?.text) { - metatags = metatagField.text.split(",").map((t: string) => t.trim().toLowerCase()); - } + return mapItemsToMetadata(allItems, category); +} - return { - name, - groups: group ? [group as Group] : [], - tags: labels.filter((l: string) => l !== group), - metatags, - description: descriptionField?.text || body, - status, - designSystemUrl, - designComponentFigmaUrl, - designContributionFigmaUrl, - openIssuesUrl - }; - }); +export async function fetchComponentMetadataFromProject(): Promise { + return fetchMetadataFromProject("Components"); +} - return examples; +export async function fetchExampleMetadataFromProject(): Promise { + return fetchMetadataFromProject("Examples"); } export async function fetchAllIssueCounts(cards: { name: string }[]): Promise> { From 09de96c0c1e8c3d7311177ddfc1a6aee2c116651 Mon Sep 17 00:00:00 2001 From: Benji Franck Date: Fri, 16 May 2025 09:09:34 -0600 Subject: [PATCH 06/43] change /patterns route to /examples and add birthday example --- src/App.tsx | 2 +- src/routes/components/AppFooter.tsx | 2 +- src/routes/components/AppHeader.tsx | 2 +- src/routes/components/Block.tsx | 2 +- src/routes/components/Grid.tsx | 2 +- src/routes/components/SideMenu.tsx | 2 +- src/routes/components/Spacer.tsx | 2 +- src/routes/examples/Birthday.tsx | 10 ++++++++++ src/routes/get-started/GetStartedOverview.tsx | 2 +- src/routes/home.tsx | 2 +- src/routes/patterns/PublicFormPage.tsx | 10 +++++----- src/routes/root.tsx | 4 ++-- src/versioned-router.tsx | 2 ++ 13 files changed, 28 insertions(+), 16 deletions(-) create mode 100644 src/routes/examples/Birthday.tsx diff --git a/src/App.tsx b/src/App.tsx index a207abd59..937aa5a54 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -117,7 +117,7 @@ const router = createBrowserRouter( } /> - }> + }> ) ); diff --git a/src/routes/components/AppFooter.tsx b/src/routes/components/AppFooter.tsx index 64db3a71f..2c71b9c19 100644 --- a/src/routes/components/AppFooter.tsx +++ b/src/routes/components/AppFooter.tsx @@ -26,7 +26,7 @@ const description = "Provides information related your service at the bottom of const componentCategory = Category.STRUCTURE_AND_NAVIGATION; const relatedComponents = [ { link: "/components/header", name: "Header" }, - { link: "/patterns/layout", name: "Layout" }, + { link: "/examples/layout", name: "Layout" }, ]; type ComponentPropsType = GoabAppFooterProps; diff --git a/src/routes/components/AppHeader.tsx b/src/routes/components/AppHeader.tsx index 09eb0d853..cdbdd36d8 100644 --- a/src/routes/components/AppHeader.tsx +++ b/src/routes/components/AppHeader.tsx @@ -25,7 +25,7 @@ const description = const componentCategory = Category.STRUCTURE_AND_NAVIGATION; const relatedComponents = [ { link: "/components/footer", name: "Footer" }, - { link: "/patterns/layout", name: "Layout" }, + { link: "/examples/layout", name: "Layout" }, { link: "/components/microsite-header", name: "Microsite header" } ]; type ComponentPropsType = GoabAppHeaderProps; diff --git a/src/routes/components/Block.tsx b/src/routes/components/Block.tsx index bcc00597b..d2eea46ac 100644 --- a/src/routes/components/Block.tsx +++ b/src/routes/components/Block.tsx @@ -109,7 +109,7 @@ export default function BlockPage() { relatedComponents={[ { link: "/components/divider", name: "Divider" }, { link: "/components/grid", name: "Grid" }, - { link: "/patterns/layout", name: "Layout" }, + { link: "/examples/layout", name: "Layout" }, { link: "/components/spacer", name: "Spacer" }, ]} githubLink="Block" diff --git a/src/routes/components/Grid.tsx b/src/routes/components/Grid.tsx index 3b97876b6..0b16ef2c8 100644 --- a/src/routes/components/Grid.tsx +++ b/src/routes/components/Grid.tsx @@ -94,7 +94,7 @@ export default function GridPage() { relatedComponents={[ { link: "/components/block", name: "Block" }, { link: "/components/divider", name: "Divider" }, - { link: "/patterns/layout", name: "Layout" }, + { link: "/examples/layout", name: "Layout" }, { link: "/components/spacer", name: "Spacer" }, ]} githubLink="Grid" diff --git a/src/routes/components/SideMenu.tsx b/src/routes/components/SideMenu.tsx index a21aa1915..fc754dba8 100644 --- a/src/routes/components/SideMenu.tsx +++ b/src/routes/components/SideMenu.tsx @@ -28,7 +28,7 @@ const description = const componentCategory = Category.STRUCTURE_AND_NAVIGATION; const relatedComponents = [ { link: "/components/header", name: "Header" }, - { link: "/patterns/layout", name: "Layout" } + { link: "/examples/layout", name: "Layout" } ]; export default function SideMenuPage() { diff --git a/src/routes/components/Spacer.tsx b/src/routes/components/Spacer.tsx index eec8017ab..e2259a043 100644 --- a/src/routes/components/Spacer.tsx +++ b/src/routes/components/Spacer.tsx @@ -113,7 +113,7 @@ export default function SpacerPage() { { link: "/components/block", name: "Block" }, { link: "/components/divider", name: "Divider" }, { link: "/components/grid", name: "Grid" }, - { link: "/patterns/layout", name: "Layout" }, + { link: "/examples/layout", name: "Layout" }, ]} figmaLink={FIGMA_LINK} githubLink="Spacer" diff --git a/src/routes/examples/Birthday.tsx b/src/routes/examples/Birthday.tsx new file mode 100644 index 000000000..3514ff530 --- /dev/null +++ b/src/routes/examples/Birthday.tsx @@ -0,0 +1,10 @@ +import { TextFieldAskBirthdayExample } from '@examples/text-field/TextFieldAskBirthdayExample'; + +export default function BirthdayExample() { + return ( + <> +

Ask a user for their birthday

+ + + ); +} diff --git a/src/routes/get-started/GetStartedOverview.tsx b/src/routes/get-started/GetStartedOverview.tsx index bf4641815..8d6826bd6 100644 --- a/src/routes/get-started/GetStartedOverview.tsx +++ b/src/routes/get-started/GetStartedOverview.tsx @@ -91,7 +91,7 @@ export default function GetStartedOverviewPage() {

How do I use the design system in my service?

Start by using the design system
components and patterns. You should expect that this will cover about 80% of your needs in a service. + href={"/examples"}>patterns. You should expect that this will cover about 80% of your needs in a service. When usability testing shows that a new solution or an improvement to an existing solution is needed, design a better solution. Use a 3rd party library, code your own, and/or share solutions with other teams. diff --git a/src/routes/home.tsx b/src/routes/home.tsx index 0a47c718e..e50270913 100644 --- a/src/routes/home.tsx +++ b/src/routes/home.tsx @@ -54,7 +54,7 @@ const HomePage = () => {

- 1. Start page + 1. Start page

This is the starting point for a citizen to begin your form from within your service or @@ -148,7 +148,7 @@ export default function PublicFormPage() {

- 2. Task list page (optional) + 2. Task list page (optional)

Outline the entire process for the user and help them through the process by breaking down @@ -158,21 +158,21 @@ export default function PublicFormPage() {

- 3. Question pages + 3. Question pages

Ask a user a question or a small set of related questions.

- 4. Review page + 4. Review page

Let users check answers before submitting information to a service.

- 5. Results page + 5. Results page

Let users know that they’ve completed a form, application, or task and tell them what to diff --git a/src/routes/root.tsx b/src/routes/root.tsx index a450af352..143d81d47 100644 --- a/src/routes/root.tsx +++ b/src/routes/root.tsx @@ -58,7 +58,7 @@ export default function Root() { /> Get started - Examples + Examples Components Tokens Content @@ -76,7 +76,7 @@ export default function Root() { Get started - Patterns + Examples Components Design tokens Content diff --git a/src/versioned-router.tsx b/src/versioned-router.tsx index 007d5c6cd..caaecfd01 100644 --- a/src/versioned-router.tsx +++ b/src/versioned-router.tsx @@ -57,6 +57,7 @@ import FilterChipPage from "@routes/components/FilterChip.tsx"; import TextPage from "@routes/components/Text.tsx"; import { DrawerPage } from "@routes/components/Drawer.tsx"; import LinkPage from "@routes/components/Link.tsx"; +import BirthdayExample from "@routes/examples/Birthday.tsx"; const ComponentRoute: React.FC<{ versionedPaths: Record; @@ -152,6 +153,7 @@ export const PatternsRouter = () => { "question-page": , "review-page": , "result-page": , + "ask-a-user-for-their-birthday": , }; return ( From a3c54eab37d7e4d049fed12df3dc70f7bc2ecd52 Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Tue, 20 May 2025 18:16:47 -0600 Subject: [PATCH 07/43] fix (#2743): version switcher stack on mobile --- .../version-language-switcher.css | 35 ++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/src/components/version-language-switcher/version-language-switcher.css b/src/components/version-language-switcher/version-language-switcher.css index 43b4209b7..e36d3c2cb 100644 --- a/src/components/version-language-switcher/version-language-switcher.css +++ b/src/components/version-language-switcher/version-language-switcher.css @@ -28,4 +28,37 @@ margin-top: 4px; display: flex; /* if needed to align items horizontally */ align-items: center; /* vertically align content */ -} \ No newline at end of file +} + +@media (max-width: 623px) { + [slot="version"] { + display: flex; /* if needed to align items horizontally */ + flex-direction: column; + align-items: flex-start; + gap: 2px; + margin-top: 0; + + } +} + +@media (max-width: 623px) { + [slot="version"] { + display: flex; /* if needed to align items horizontally */ + flex-direction: column; + align-items: flex-start; + gap: 2px; + margin-top: 0; + + } +} + +@media (max-width: 623px) { + [slot="version"] { + display: flex; /* if needed to align items horizontally */ + flex-direction: column; + align-items: flex-start; + gap: 2px; + margin-top: 0; + + } +} From 38392ad777b0a1b4a0a58e599883f4281b70cd47 Mon Sep 17 00:00:00 2001 From: Benji Franck Date: Wed, 21 May 2025 09:17:36 -0600 Subject: [PATCH 08/43] add loading state to examples and components cards --- src/routes/components/AllComponents.tsx | 13 ++++++++++++- src/routes/patterns/PatternsOverview.tsx | 13 ++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/routes/components/AllComponents.tsx b/src/routes/components/AllComponents.tsx index 684639ef4..087644a70 100644 --- a/src/routes/components/AllComponents.tsx +++ b/src/routes/components/AllComponents.tsx @@ -8,7 +8,8 @@ import { GoabText, GoabFormItem, GoabInput, - GoabBadge + GoabBadge, + GoabSkeleton } from "@abgov/react-components"; import { ComponentCard, Props as RawComponentProps, ComponentStatus } from "@components/component-card/ComponentCard"; @@ -203,6 +204,16 @@ const AllComponents = () => { width: "100%" }} > + + {cards.length === 0 && + <> + + + + + + } + {filteredCards.map((card) => ( + + {cards.length === 0 && + <> + + + + + + } + {filteredCards.map((card) => ( Date: Thu, 22 May 2025 11:47:28 -0600 Subject: [PATCH 09/43] updated from review --- .../version-language-switcher.css | 24 +------------------ 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/src/components/version-language-switcher/version-language-switcher.css b/src/components/version-language-switcher/version-language-switcher.css index e36d3c2cb..90615431b 100644 --- a/src/components/version-language-switcher/version-language-switcher.css +++ b/src/components/version-language-switcher/version-language-switcher.css @@ -39,26 +39,4 @@ margin-top: 0; } -} - -@media (max-width: 623px) { - [slot="version"] { - display: flex; /* if needed to align items horizontally */ - flex-direction: column; - align-items: flex-start; - gap: 2px; - margin-top: 0; - - } -} - -@media (max-width: 623px) { - [slot="version"] { - display: flex; /* if needed to align items horizontally */ - flex-direction: column; - align-items: flex-start; - gap: 2px; - margin-top: 0; - - } -} +} \ No newline at end of file From 351c890cecfa9a1ee7278f87b6253a32804ce393 Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Fri, 23 May 2025 15:26:01 -0600 Subject: [PATCH 10/43] feat: added template page for examples files, and added integration to pull all info from Github --- src/App.tsx | 10 +- .../example-header/ExampleHeader.tsx | 93 +++++++++++++++++++ src/examples/accordion/AccordionExamples.tsx | 5 +- ...le.tsx => add-another-item-in-a-modal.tsx} | 4 +- ... => expand-or-collapse-part-of-a-form.tsx} | 5 +- src/examples/modal/ModalExamples.tsx | 4 +- src/routes/patterns/ExamplePageTemplate.tsx | 66 +++++++++++++ src/routes/patterns/FallbackExample.tsx | 11 +++ src/routes/patterns/PatternsLayout.tsx | 38 +++++--- src/routes/patterns/PatternsOverview.tsx | 49 +++++----- src/utils/index.ts | 3 +- 11 files changed, 241 insertions(+), 47 deletions(-) create mode 100644 src/components/example-header/ExampleHeader.tsx rename src/examples/{modal/ModalAddAnotherItemExample.tsx => add-another-item-in-a-modal.tsx} (99%) rename src/examples/{accordion/AccordionExpandOrCollapseExample.tsx => expand-or-collapse-part-of-a-form.tsx} (98%) create mode 100644 src/routes/patterns/ExamplePageTemplate.tsx create mode 100644 src/routes/patterns/FallbackExample.tsx diff --git a/src/App.tsx b/src/App.tsx index 937aa5a54..e605704a3 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -57,10 +57,13 @@ import HelperTextPage from "@routes/content/HelperText"; import UserExperienceGuidelinesPage from "@routes/get-started/UserExperienceGuidelines"; import { VersionFromUrlProvider } from "@contexts/VersionFromUrlContext.tsx"; -import { ComponentsRouter, PatternsRouter } from "./versioned-router"; +import { ComponentsRouter } from "./versioned-router"; +import ExamplePageTemplate from "@routes/patterns/ExamplePageTemplate"; +import PatternsOverviewPage from "@routes/patterns/PatternsOverview"; import ComponentNotFound from "@routes/not-found/NotFound.tsx"; import { LanguageVersionProvider } from "@contexts/LanguageVersionContext.tsx"; import DevelopersUpgradePage from "@routes/get-started/developers/upgrade-guide/DevelopersUpgrade.tsx"; +import PatternsLayout from "@routes/patterns/PatternsLayout.tsx"; const router = createBrowserRouter( createRoutesFromElements( @@ -117,7 +120,10 @@ const router = createBrowserRouter( } /> - }> + }> + } /> + + } /> ) ); diff --git a/src/components/example-header/ExampleHeader.tsx b/src/components/example-header/ExampleHeader.tsx new file mode 100644 index 000000000..52d35f94b --- /dev/null +++ b/src/components/example-header/ExampleHeader.tsx @@ -0,0 +1,93 @@ +import { GoabBlock, GoabText, GoabBadge } from "@abgov/react-components"; +import "../component-header/ComponentHeader.css"; // reusing existing styling from component pages + +interface Props { + name: string; + description?: string; + githubLink?: string; + figmaLink?: string; + tags?: string[]; +} + +export const ExampleHeader: React.FC = ({ name, description, githubLink, figmaLink, tags }) => { + return ( +

+ + + {tags && tags.length > 0 && ( + + {tags.map((tag, index) => { + let type: "information" | "important" | "success" | "emergency" = "information"; + + if (/ask/i.test(tag)) type = "important"; + else if (/interact/i.test(tag)) type = "information"; + else if (/page/i.test(tag)) type = "success"; + else if (/error|block/i.test(tag)) type = "emergency"; + + return ( + + ); + })} + + )} + + + + + {name} + + {(githubLink || figmaLink) && ( + + {figmaLink && ( + +
+ + + + + + + +
+ + Figma + +
+ )} + {githubLink && ( + + + + Github issue + + + )} +
+ )} +
+ {description && ( + + {description} + + )} +
+
+ ); +}; \ No newline at end of file diff --git a/src/examples/accordion/AccordionExamples.tsx b/src/examples/accordion/AccordionExamples.tsx index bf65cd1d6..b9bcca27a 100644 --- a/src/examples/accordion/AccordionExamples.tsx +++ b/src/examples/accordion/AccordionExamples.tsx @@ -1,7 +1,6 @@ -import "./accordion-example.css"; -import { AccordionExpandOrCollapseExample } from "@examples/accordion/AccordionExpandOrCollapseExample.tsx"; import { AccordionHideOrShowSectionExample } from "@examples/accordion/AccordionHideOrShowSectionExample.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; +import ExpandOrCollapsePartOfAForm from "@examples/expand-or-collapse-part-of-a-form.tsx"; export default function AccordionExamples() { return ( @@ -10,7 +9,7 @@ export default function AccordionExamples() { exampleTitle="Expand or collapse part of a form" figmaExample="https://www.figma.com/design/aIRjvBzpIUH0GbkffjbL04/%E2%9D%96-Patterns-library-%7C-DDD?node-id=6302-491810&t=X0IQW5flDDaj8Vyg-4"> - + { +const AddAnotherItemInAModal = () => { const {version} = useContext(LanguageVersionContext); const [addItemModalOpen, setAddItemModalOpen] = useState(); const [type, setType] = useState(); @@ -329,3 +329,5 @@ export const ModalAddAnotherItemExample = () => { ) } + +export default AddAnotherItemInAModal; diff --git a/src/examples/accordion/AccordionExpandOrCollapseExample.tsx b/src/examples/expand-or-collapse-part-of-a-form.tsx similarity index 98% rename from src/examples/accordion/AccordionExpandOrCollapseExample.tsx rename to src/examples/expand-or-collapse-part-of-a-form.tsx index d0cfc96c7..d910a96e9 100644 --- a/src/examples/accordion/AccordionExpandOrCollapseExample.tsx +++ b/src/examples/expand-or-collapse-part-of-a-form.tsx @@ -4,7 +4,7 @@ import { GoabAccordion, GoabBadge } from "@abgov/react-components"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const AccordionExpandOrCollapseExample = () => { +const ExpandOrCollapsePartOfAForm = () => { const {version} = useContext(LanguageVersionContext); return ( @@ -204,3 +204,6 @@ export const AccordionExpandOrCollapseExample = () => { ) } + + +export default ExpandOrCollapsePartOfAForm; diff --git a/src/examples/modal/ModalExamples.tsx b/src/examples/modal/ModalExamples.tsx index 857f561d5..dcddb51f3 100644 --- a/src/examples/modal/ModalExamples.tsx +++ b/src/examples/modal/ModalExamples.tsx @@ -3,9 +3,9 @@ import { ModalBasicExample } from "@examples/modal/ModalBasicExample.tsx"; import { ModalConfirmDestructiveActionExample } from "@examples/modal/ModalConfirmDestructiveActionExample.tsx"; import { ModalWarnUserDeadlineExample } from "@examples/modal/ModalWarnUserDeadlineExample.tsx"; import { ModalConfirmRecordChangeExample } from "@examples/modal/ModalConfirmRecordChangeExample.tsx"; -import { ModalAddAnotherItemExample } from "@examples/modal/ModalAddAnotherItemExample.tsx"; import { ModalRouteChangeExample } from "@examples/modal/ModalRouteChangeExample.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; +import AddAnotherItemInAModal from "@examples/add-another-item-in-a-modal.tsx"; export default function ModalExamples() { return ( @@ -38,7 +38,7 @@ export default function ModalExamples() { exampleTitle="Add another item" figmaExample="https://www.figma.com/design/aIRjvBzpIUH0GbkffjbL04/%E2%9D%96-Patterns-library-%7C-DDD?node-id=6307-50217&t=X0IQW5flDDaj8Vyg-4"> - + (null); + + // Dynamic import based on slug + const ExampleComponent = useMemo(() => { + if (!slug) return () =>
Invalid slug
; + return lazy(() => + import(`../../examples/${slug}.tsx`).catch(() => + import("../patterns/FallbackExample.tsx") + ) + ); + }, [slug]); + console.log("Loaded example metadata:", example); + useEffect(() => { + if (!slug) return; + console.log("Looking for slug:", slug); + fetchExampleMetadataFromProject().then(data => { + console.log("Fetched metadata:", data); + const match = data.find((item: any) => + item.name?.toLowerCase().replace(/\s+/g, "-") === slug + ); + console.log("Matched example:", match); + setExample(match); + }).catch(error => { + console.error("Error fetching metadata:", error); + }); + }, [slug]); + return ( +
+ + + Back + + + {!example ? ( + + + + + + + + ) : ( + + )} + + }> + + +
+ ); +} \ No newline at end of file diff --git a/src/routes/patterns/FallbackExample.tsx b/src/routes/patterns/FallbackExample.tsx new file mode 100644 index 000000000..fb13f09b7 --- /dev/null +++ b/src/routes/patterns/FallbackExample.tsx @@ -0,0 +1,11 @@ +import { GoabText } from "@abgov/react-components"; + +export default function FallbackExample() { + return ( +
+ + Example not loading. + +
+ ); +} \ No newline at end of file diff --git a/src/routes/patterns/PatternsLayout.tsx b/src/routes/patterns/PatternsLayout.tsx index dd518341d..c1a7e2e28 100644 --- a/src/routes/patterns/PatternsLayout.tsx +++ b/src/routes/patterns/PatternsLayout.tsx @@ -1,4 +1,4 @@ -import { GoabSideMenu, GoabSideMenuHeading, GoabSpacer } from "@abgov/react-components"; +import { GoabSideMenu, GoabSideMenuGroup, GoabSpacer } from "@abgov/react-components"; import {Link, Outlet} from "react-router-dom"; import {SupportInfo} from "@components/support-info/SupportInfo.tsx"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; @@ -7,11 +7,7 @@ import { getVersionedUrlPath } from "@components/version-language-switcher/versi export default function PatternsLayout() { const {language, version} = useContext(LanguageVersionContext); - const prefixUrl = getVersionedUrlPath(version, language); - - const getUrl = (path: string) => { - return prefixUrl.length > 0 ? `${prefixUrl}/${path}`: path; - } + getVersionedUrlPath(version, language); return (
@@ -19,15 +15,27 @@ export default function PatternsLayout() { All - Public form - - Pages - Basic page layout - Start page - Task list page - Question pages - Review page - Results page + + Start page + Question page + + + Task 1 + Task 2 + Task 3 + + + A + B + C + D + E + + + A + B + +
diff --git a/src/routes/patterns/PatternsOverview.tsx b/src/routes/patterns/PatternsOverview.tsx index 7c465a3f9..3229b6fea 100644 --- a/src/routes/patterns/PatternsOverview.tsx +++ b/src/routes/patterns/PatternsOverview.tsx @@ -1,4 +1,5 @@ import { useEffect, useState } from "react"; +import { Link } from "react-router-dom"; import { toSentenceCase, fetchAllIssueCounts, fetchExampleMetadataFromProject } from "../../utils"; import { GoabTable, @@ -20,6 +21,7 @@ type ComponentProps = Omit & { designContributionFigmaUrl?: string; openIssuesUrl?: string; metatags?: string[]; + url?: string; }; export default function PatternsOverviewPage() { @@ -95,13 +97,7 @@ export default function PatternsOverviewPage() { setSortDirection({ [sortBy]: newDirection }); }; - // Helper to format the label query for REST URLs - const getLabelQuery = (name: string) => { - const formatted = toSentenceCase(name); - return formatted.includes(" ") ? `"${formatted}"` : formatted; - }; - - // Helper to format the label query for GraphQL (escaping inner quotes) +// Helper to format the label query for GraphQL (escaping inner quotes) useEffect(() => { if (cards.length === 0) return; @@ -131,8 +127,8 @@ export default function PatternsOverviewPage() { Name - Tag - Open issues + Category + Github @@ -146,9 +142,9 @@ export default function PatternsOverviewPage() { {card.status === "Published" ? ( - + {toSentenceCase(card.name)} - + ) : ( {toSentenceCase(card.name)} )} @@ -166,14 +162,23 @@ export default function PatternsOverviewPage() { ))} - - View - {issueCounts[card.name] !== undefined && ` (${issueCounts[card.name]})`} - + {card.url ? ( + + View issue + + ) : ( + + View issue + + )} ))} @@ -221,7 +226,7 @@ export default function PatternsOverviewPage() { } - + {filteredCards.map((card) => ( diff --git a/src/utils/index.ts b/src/utils/index.ts index 480651c0e..c22288733 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -95,7 +95,8 @@ function mapItemsToMetadata(items: any[], category: string): ComponentProps[] { designSystemUrl, designComponentFigmaUrl, designContributionFigmaUrl, - openIssuesUrl + openIssuesUrl, + url: item.content?.url }; }); } From 11310e4a95344afa2830c34a3cfda6c160143dc6 Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Wed, 28 May 2025 09:11:00 -0600 Subject: [PATCH 11/43] chore: renamed and moved all examples files --- .../{ => component-thumbnails}/accordion.png | Bin .../{ => component-thumbnails}/badge.png | Bin .../{ => component-thumbnails}/block.png | Bin .../button-group.png | Bin .../{ => component-thumbnails}/button.png | Bin .../{ => component-thumbnails}/callout.png | Bin .../{ => component-thumbnails}/card.png | Bin .../{ => component-thumbnails}/checkbox.png | Bin .../{ => component-thumbnails}/combobox.png | Bin .../{ => component-thumbnails}/container.png | Bin .../{ => component-thumbnails}/date-dst.png | Bin .../date-picker.png | Bin .../{ => component-thumbnails}/date-st.png | Bin .../design-system-technologies.png | Bin .../details-demo.jpg | Bin .../{ => component-thumbnails}/details.png | Bin .../{ => component-thumbnails}/disclaimer.png | Bin .../{ => component-thumbnails}/divider.png | Bin .../{ => component-thumbnails}/drawer.png | Bin .../{ => component-thumbnails}/dropdown.png | Bin .../file-uploader.png | Bin .../filter-chip.png | Bin .../{ => component-thumbnails}/footer.png | Bin .../{ => component-thumbnails}/form-item.png | Bin .../form-stepper.png | Bin .../governance-process.png | Bin .../{ => component-thumbnails}/grid.png | Bin .../{ => component-thumbnails}/header.png | Bin .../heading-band.png | Bin .../hero-banner.png | Bin .../icon-button.png | Bin .../{ => component-thumbnails}/icon.png | Bin .../{ => component-thumbnails}/icons.png | Bin .../{ => component-thumbnails}/input.png | Bin .../{ => component-thumbnails}/link.png | Bin .../{ => component-thumbnails}/list.png | Bin .../microsite-header.png | Bin .../{ => component-thumbnails}/modal.png | Bin .../not-yet-available.png | Bin .../notification-banner.png | Bin .../{ => component-thumbnails}/pagination.png | Bin .../{ => component-thumbnails}/popover.png | Bin .../progress-indicator.png | Bin .../{ => component-thumbnails}/radio.png | Bin .../{ => component-thumbnails}/side-menu.png | Bin .../skeleton-loader.png | Bin .../{ => component-thumbnails}/snackbar.png | Bin .../{ => component-thumbnails}/spacer.png | Bin .../{ => component-thumbnails}/table.png | Bin .../{ => component-thumbnails}/tabs.png | Bin .../{ => component-thumbnails}/text-area.png | Bin .../{ => component-thumbnails}/text-field.png | Bin .../{ => component-thumbnails}/text.png | Bin .../{ => component-thumbnails}/tooltip.png | Bin .../add-another-item-in-a-modal.png | Bin 0 -> 28552 bytes .../ask-a-user-for-a-birthday.png | Bin 0 -> 8426 bytes .../ask-a-user-for-an-address.png | Bin 0 -> 17848 bytes ...user-for-an-indian-registration-number.png | Bin 0 -> 11392 bytes ...-a-user-for-direct-deposit-information.png | Bin 0 -> 36240 bytes .../ask-a-user-for-dollar-amounts.png | Bin 0 -> 10623 bytes ...-user-to-select-one-option-from-a-list.png | Bin 0 -> 12761 bytes .../images/example-thumbnails/card-grid.png | Bin 0 -> 57662 bytes .../component-card/ComponentCard.tsx | 45 +- .../example-header/ExampleHeader.tsx | 94 +-- src/examples/accordion/AccordionExamples.tsx | 4 +- ...ctiveExample.tsx => add-a-filter-chip.tsx} | 4 +- ...le.tsx => add-a-record-using-a-drawer.tsx} | 4 +- ...e.tsx => add-and-edit-lots-of-filters.tsx} | 4 +- src/examples/add-another-item-in-a-modal.tsx | 2 +- src/examples/app-footer/AppFooterExamples.tsx | 8 +- src/examples/app-header/AppHeaderExamples.tsx | 8 +- ...mple.tsx => ask-a-user-for-a-birthday.tsx} | 4 +- ...mple.tsx => ask-a-user-for-an-address.tsx} | 4 +- ...ser-for-an-indian-registration-number.tsx} | 4 +- ...a-user-for-direct-deposit-information.tsx} | 4 +- ....tsx => ask-a-user-for-dollar-amounts.tsx} | 4 +- .../ask-a-user-one-question-at-a-time.tsx | 66 ++ src/examples/badge/BadgeExamples.tsx | 8 +- .../ButtonConfirmDestructiveActionExample.tsx | 7 - src/examples/button/ButtonExamples.tsx | 12 +- src/examples/callout/CalloutExamples.tsx | 154 +--- ...ainerCardGridExample.tsx => card-grid.tsx} | 6 +- ...xample.tsx => card-view-of-case-files.tsx} | 6 +- src/examples/checkbox/CheckboxExamples.tsx | 9 +- ...> communicate-a-future-service-outage.tsx} | 4 +- ...ChangeExample.tsx => confirm-a-change.tsx} | 4 +- ...e.tsx => confirm-a-destructive-action.tsx} | 4 +- ...tsx => confirm-before-navigating-away.tsx} | 4 +- ...firm-that-an-application-was-submitted.tsx | 145 ++++ src/examples/container/ContainerExamples.tsx | 16 +- ...boardExample.tsx => copy-to-clipboard.tsx} | 6 +- .../date-picker/DatePickerExamples.tsx | 4 +- src/examples/details/DetailsExamples.tsx | 21 +- ...disabled-button-with-a-required-field.tsx} | 4 +- ...ample.tsx => display-user-information.tsx} | 6 +- src/examples/drawer/DrawerExamples.tsx | 10 +- src/examples/dropdown/DropdownExamples.tsx | 10 +- ...ically-add-an-item-to-a-dropdown-list.tsx} | 4 +- ...cally-change-items-in-a-dropdown-list.tsx} | 4 +- .../filter-chip/FilterChipExamples.tsx | 18 +- ...Example.tsx => filter-data-in-a-table.tsx} | 4 +- src/examples/form-item/FormItemExamples.tsx | 12 +- ...rm-stepper-with-controlled-navigation.tsx} | 4 +- .../form-stepper/FormStepperExamples.tsx | 10 +- ...d-information-before-asking-a-question.tsx | 79 ++ ...-before-asking-a-long-answer-question.tsx} | 9 +- src/examples/give-feedback-link.tsx | 19 + ...-questions-together-on-a-question-page.tsx | 118 +++ ...e.tsx => header-with-menu-click-event.tsx} | 4 +- ...Example.tsx => header-with-navigation.tsx} | 4 +- ...and-show-many-sections-of-information.tsx} | 4 +- ...-link-in-the-helper-text-of-an-option.tsx} | 4 +- ...riptions-for-items-in-a-checkbox-list.tsx} | 3 +- src/examples/link-to-an-external-page.tsx | 16 + src/examples/link/LinkExamples.tsx | 18 +- .../MicrositeHeaderExamples.tsx | 205 +----- src/examples/modal/ModalExamples.tsx | 25 +- .../notification/NotificationExamples.tsx | 4 +- .../pagination/PaginationExamples.tsx | 571 +-------------- .../question-page/QuestionPageExamples.tsx | 683 ++---------------- ...example.css => question-page-examples.css} | 0 src/examples/radio/RadioExamples.tsx | 10 +- ...teEventExample.tsx => remove-a-filter.tsx} | 4 +- ...require-user-action-before-continuing.tsx} | 4 +- ...xample.tsx => reset-date-picker-field.tsx} | 4 +- .../result-page/result-page-example.css | 4 - ...esultPageExamples.tsx => results-page.tsx} | 16 +- ...-information-to-help-answer-a-question.tsx | 73 ++ ...ctionExample.tsx => review-and-action.tsx} | 6 +- ...ReviewPageExamples.tsx => review-page.tsx} | 16 +- .../review-page/review-page-example.css | 8 - .../TextFieldSearchExample.tsx => search.tsx} | 4 +- ...one-any-all-or-no-options-from-a-list.tsx} | 2 +- ... set-a-max-width-on-a-long-radio-item.tsx} | 5 +- ...sx => set-a-specific-tab-to-be-active.tsx} | 14 +- ...-the-status-of-step-on-a-form-stepper.tsx} | 4 +- ...> show-a-label-on-an-icon-only-button.tsx} | 4 +- ...show-a-list-to-help-answer-a-question.tsx} | 4 +- ...how-a-section-title-on-a-question-page.tsx | 74 ++ ...-question-page-with-multiple-questions.tsx | 222 ++++++ ...-progress-indicator-on-a-question-page.tsx | 73 ++ ...ow-different-views-of-data-in-a-table.tsx} | 8 +- ...le.tsx => show-full-date-in-a-tooltip.tsx} | 4 +- ...tsx => show-links-to-navigation-items.tsx} | 4 +- ...information-to-help-answer-a-question.tsx} | 4 +- .../show-number-of-results-per-page.tsx | 576 +++++++++++++++ ...ckLinkExample.tsx => show-quick-links.tsx} | 4 +- ...Example.tsx => show-status-in-a-table.tsx} | 4 +- ...dExample.tsx => show-status-on-a-card.tsx} | 4 +- src/examples/show-version-number.tsx | 22 + ... => slotted-error-text-in-a-form-item.tsx} | 4 +- ...=> slotted-helper-text-in-a-form-item.tsx} | 4 +- .../StartPageExamples.tsx => start-page.tsx} | 16 +- .../start-page/start-page-example.css | 10 - src/examples/tabs/TabsExamples.tsx | 8 +- ...istPageExamples.tsx => task-list-page.tsx} | 14 +- src/examples/text-field/TextFieldExamples.tsx | 22 +- src/examples/textarea/TextAreaExamples.tsx | 6 +- src/examples/tooltip/TooltipExamples.tsx | 10 +- ...le.tsx => type-to-create-a-new-filter.tsx} | 4 +- ...mple.tsx => warn-a-user-of-a-deadline.tsx} | 4 +- src/routes/components/AllComponents.tsx | 8 +- src/routes/components/Link.tsx | 2 +- src/routes/components/Table.tsx | 4 +- src/routes/content/DateFormat.tsx | 4 +- src/routes/examples/Birthday.tsx | 4 +- .../developers/DevelopersTechnologies.tsx | 2 +- src/routes/home.tsx | 2 +- src/routes/patterns/ExamplePageTemplate.tsx | 4 +- src/routes/patterns/PatternsLayout.tsx | 8 +- src/routes/patterns/PatternsOverview.tsx | 19 +- src/routes/patterns/QuestionPage.tsx | 4 +- src/routes/patterns/ResultPage.tsx | 4 +- src/routes/patterns/ReviewPage.tsx | 4 +- src/routes/patterns/StartPage.tsx | 4 +- src/routes/patterns/TaskListPage.tsx | 4 +- src/utils/index.ts | 2 + 177 files changed, 1978 insertions(+), 1905 deletions(-) rename public/images/{ => component-thumbnails}/accordion.png (100%) rename public/images/{ => component-thumbnails}/badge.png (100%) rename public/images/{ => component-thumbnails}/block.png (100%) rename public/images/{ => component-thumbnails}/button-group.png (100%) rename public/images/{ => component-thumbnails}/button.png (100%) rename public/images/{ => component-thumbnails}/callout.png (100%) rename public/images/{ => component-thumbnails}/card.png (100%) rename public/images/{ => component-thumbnails}/checkbox.png (100%) rename public/images/{ => component-thumbnails}/combobox.png (100%) rename public/images/{ => component-thumbnails}/container.png (100%) rename public/images/{ => component-thumbnails}/date-dst.png (100%) rename public/images/{ => component-thumbnails}/date-picker.png (100%) rename public/images/{ => component-thumbnails}/date-st.png (100%) rename public/images/{ => component-thumbnails}/design-system-technologies.png (100%) rename public/images/{ => component-thumbnails}/details-demo.jpg (100%) rename public/images/{ => component-thumbnails}/details.png (100%) rename public/images/{ => component-thumbnails}/disclaimer.png (100%) rename public/images/{ => component-thumbnails}/divider.png (100%) rename public/images/{ => component-thumbnails}/drawer.png (100%) rename public/images/{ => component-thumbnails}/dropdown.png (100%) rename public/images/{ => component-thumbnails}/file-uploader.png (100%) rename public/images/{ => component-thumbnails}/filter-chip.png (100%) rename public/images/{ => component-thumbnails}/footer.png (100%) rename public/images/{ => component-thumbnails}/form-item.png (100%) rename public/images/{ => component-thumbnails}/form-stepper.png (100%) rename public/images/{ => component-thumbnails}/governance-process.png (100%) rename public/images/{ => component-thumbnails}/grid.png (100%) rename public/images/{ => component-thumbnails}/header.png (100%) rename public/images/{ => component-thumbnails}/heading-band.png (100%) rename public/images/{ => component-thumbnails}/hero-banner.png (100%) rename public/images/{ => component-thumbnails}/icon-button.png (100%) rename public/images/{ => component-thumbnails}/icon.png (100%) rename public/images/{ => component-thumbnails}/icons.png (100%) rename public/images/{ => component-thumbnails}/input.png (100%) rename public/images/{ => component-thumbnails}/link.png (100%) rename public/images/{ => component-thumbnails}/list.png (100%) rename public/images/{ => component-thumbnails}/microsite-header.png (100%) rename public/images/{ => component-thumbnails}/modal.png (100%) rename public/images/{ => component-thumbnails}/not-yet-available.png (100%) rename public/images/{ => component-thumbnails}/notification-banner.png (100%) rename public/images/{ => component-thumbnails}/pagination.png (100%) rename public/images/{ => component-thumbnails}/popover.png (100%) rename public/images/{ => component-thumbnails}/progress-indicator.png (100%) rename public/images/{ => component-thumbnails}/radio.png (100%) rename public/images/{ => component-thumbnails}/side-menu.png (100%) rename public/images/{ => component-thumbnails}/skeleton-loader.png (100%) rename public/images/{ => component-thumbnails}/snackbar.png (100%) rename public/images/{ => component-thumbnails}/spacer.png (100%) rename public/images/{ => component-thumbnails}/table.png (100%) rename public/images/{ => component-thumbnails}/tabs.png (100%) rename public/images/{ => component-thumbnails}/text-area.png (100%) rename public/images/{ => component-thumbnails}/text-field.png (100%) rename public/images/{ => component-thumbnails}/text.png (100%) rename public/images/{ => component-thumbnails}/tooltip.png (100%) create mode 100644 public/images/example-thumbnails/add-another-item-in-a-modal.png create mode 100644 public/images/example-thumbnails/ask-a-user-for-a-birthday.png create mode 100644 public/images/example-thumbnails/ask-a-user-for-an-address.png create mode 100644 public/images/example-thumbnails/ask-a-user-for-an-indian-registration-number.png create mode 100644 public/images/example-thumbnails/ask-a-user-for-direct-deposit-information.png create mode 100644 public/images/example-thumbnails/ask-a-user-for-dollar-amounts.png create mode 100644 public/images/example-thumbnails/ask-a-user-to-select-one-option-from-a-list.png create mode 100644 public/images/example-thumbnails/card-grid.png rename src/examples/{filter-chip/FilterChipInteractiveExample.tsx => add-a-filter-chip.tsx} (98%) rename src/examples/{drawer/DrawerAddRecordExample.tsx => add-a-record-using-a-drawer.tsx} (99%) rename src/examples/{drawer/DrawerFiltersExample.tsx => add-and-edit-lots-of-filters.tsx} (99%) rename src/examples/{text-field/TextFieldAskBirthdayExample.tsx => ask-a-user-for-a-birthday.tsx} (98%) rename src/examples/{button/ButtonAskUserAddressExample.tsx => ask-a-user-for-an-address.tsx} (98%) rename src/examples/{text-field/TextFieldAskUserIndianRegistrationExample.tsx => ask-a-user-for-an-indian-registration-number.tsx} (97%) rename src/examples/{details/DetailsShowDirectDepositInformationExample.tsx => ask-a-user-for-direct-deposit-information.tsx} (98%) rename src/examples/{text-field/TextFieldAskUserAmountExample.tsx => ask-a-user-for-dollar-amounts.tsx} (99%) create mode 100644 src/examples/ask-a-user-one-question-at-a-time.tsx delete mode 100644 src/examples/button/ButtonConfirmDestructiveActionExample.tsx rename src/examples/{container/ContainerCardGridExample.tsx => card-grid.tsx} (96%) rename src/examples/{container/ContainerCaseFilesExample.tsx => card-view-of-case-files.tsx} (96%) rename src/examples/{notification/NotificationServiceOutageExample.tsx => communicate-a-future-service-outage.tsx} (96%) rename src/examples/{modal/ModalConfirmRecordChangeExample.tsx => confirm-a-change.tsx} (99%) rename src/examples/{modal/ModalConfirmDestructiveActionExample.tsx => confirm-a-destructive-action.tsx} (98%) rename src/examples/{modal/ModalRouteChangeExample.tsx => confirm-before-navigating-away.tsx} (98%) create mode 100644 src/examples/confirm-that-an-application-was-submitted.tsx rename src/examples/{tooltip/TooltipClickCopyToClipboardExample.tsx => copy-to-clipboard.tsx} (97%) rename src/examples/{button/ButtonDisabledWithRequiredFieldExample.tsx => disabled-button-with-a-required-field.tsx} (96%) rename src/examples/{container/ContainerUserInformationExample.tsx => display-user-information.tsx} (98%) rename src/examples/{dropdown/DropdownAddItemExample.tsx => dynamically-add-an-item-to-a-dropdown-list.tsx} (99%) rename src/examples/{dropdown/DropdownChangeItemExample.tsx => dynamically-change-items-in-a-dropdown-list.tsx} (98%) rename src/examples/{filter-chip/TableWithGlobalFiltersExample.tsx => filter-data-in-a-table.tsx} (99%) rename src/examples/{form-stepper/FormStepperControlledNavigationExample.tsx => form-stepper-with-controlled-navigation.tsx} (98%) create mode 100644 src/examples/give-background-information-before-asking-a-question.tsx rename src/examples/{textarea/TextAreaAskQuestionMoreInformationExample.tsx => give-context-before-asking-a-long-answer-question.tsx} (94%) create mode 100644 src/examples/give-feedback-link.tsx create mode 100644 src/examples/group-related-questions-together-on-a-question-page.tsx rename src/examples/{app-header/AppHeaderWithMenuClickEventExample.tsx => header-with-menu-click-event.tsx} (98%) rename src/examples/{app-header/AppHeaderWithNavigationExample.tsx => header-with-navigation.tsx} (97%) rename src/examples/{accordion/AccordionHideOrShowSectionExample.tsx => hide-and-show-many-sections-of-information.tsx} (99%) rename src/examples/{radio/RadioSlottedDescriptionExample.tsx => include-a-link-in-the-helper-text-of-an-option.tsx} (97%) rename src/examples/{checkbox/CheckboxDescriptionExample.tsx => include-descriptions-for-items-in-a-checkbox-list.tsx} (98%) create mode 100644 src/examples/link-to-an-external-page.tsx rename src/examples/question-page/{question-page-example.css => question-page-examples.css} (100%) rename src/examples/{filter-chip/FilterChipDeleteEventExample.tsx => remove-a-filter.tsx} (97%) rename src/examples/{modal/ModalBasicExample.tsx => require-user-action-before-continuing.tsx} (98%) rename src/examples/{date-picker/DatePickerResetExample.tsx => reset-date-picker-field.tsx} (99%) delete mode 100644 src/examples/result-page/result-page-example.css rename src/examples/{result-page/ResultPageExamples.tsx => results-page.tsx} (93%) create mode 100644 src/examples/reveal-more-information-to-help-answer-a-question.tsx rename src/examples/{container/ContainerReviewActionExample.tsx => review-and-action.tsx} (98%) rename src/examples/{review-page/ReviewPageExamples.tsx => review-page.tsx} (86%) delete mode 100644 src/examples/review-page/review-page-example.css rename src/examples/{text-field/TextFieldSearchExample.tsx => search.tsx} (98%) rename src/examples/{checkbox/CheckboxNoneOrManyExample.tsx => select-one-any-all-or-no-options-from-a-list.tsx} (98%) rename src/examples/{radio/RadioMaxWidthExample.tsx => set-a-max-width-on-a-long-radio-item.tsx} (96%) rename src/examples/{tabs/TabsSetSpecificTabActiveExample.tsx => set-a-specific-tab-to-be-active.tsx} (98%) rename src/examples/{form-stepper/FormStepperStepStatusExample.tsx => set-the-status-of-step-on-a-form-stepper.tsx} (98%) rename src/examples/{tooltip/TooltipShowLabelForIconOnlyButtonExample.tsx => show-a-label-on-an-icon-only-button.tsx} (86%) rename src/examples/{details/DetailsAdditionalInformationHelpUserExample.tsx => show-a-list-to-help-answer-a-question.tsx} (96%) create mode 100644 src/examples/show-a-section-title-on-a-question-page.tsx create mode 100644 src/examples/show-a-simple-progress-indicator-on-a-question-page-with-multiple-questions.tsx create mode 100644 src/examples/show-a-simple-progress-indicator-on-a-question-page.tsx rename src/examples/{tabs/TabsDifferentViewsTableExample.tsx => show-different-views-of-data-in-a-table.tsx} (99%) rename src/examples/{tooltip/TooltipShowFullDateExample.tsx => show-full-date-in-a-tooltip.tsx} (98%) rename src/examples/{app-footer/AppFooterShowNavigationItemsExample.tsx => show-links-to-navigation-items.tsx} (98%) rename src/examples/{details/DetailsMoreInformationBasicQuestionExample.tsx => show-more-information-to-help-answer-a-question.tsx} (93%) create mode 100644 src/examples/show-number-of-results-per-page.tsx rename src/examples/{app-footer/AppFooterShowQuickLinkExample.tsx => show-quick-links.tsx} (98%) rename src/examples/{badge/BadgeShowStatusInTableExample.tsx => show-status-in-a-table.tsx} (99%) rename src/examples/{badge/BadgeShowStatusOnCardExample.tsx => show-status-on-a-card.tsx} (97%) create mode 100644 src/examples/show-version-number.tsx rename src/examples/{form-item/FormItemSlottedErrorTextExample.tsx => slotted-error-text-in-a-form-item.tsx} (97%) rename src/examples/{form-item/FormItemSlottedHelperTextExample.tsx => slotted-helper-text-in-a-form-item.tsx} (96%) rename src/examples/{start-page/StartPageExamples.tsx => start-page.tsx} (95%) delete mode 100644 src/examples/start-page/start-page-example.css rename src/examples/{task-list-page/TaskListPageExamples.tsx => task-list-page.tsx} (88%) rename src/examples/{filter-chip/FilterChipTypedChipExample.tsx => type-to-create-a-new-filter.tsx} (99%) rename src/examples/{modal/ModalWarnUserDeadlineExample.tsx => warn-a-user-of-a-deadline.tsx} (98%) diff --git a/public/images/accordion.png b/public/images/component-thumbnails/accordion.png similarity index 100% rename from public/images/accordion.png rename to public/images/component-thumbnails/accordion.png diff --git a/public/images/badge.png b/public/images/component-thumbnails/badge.png similarity index 100% rename from public/images/badge.png rename to public/images/component-thumbnails/badge.png diff --git a/public/images/block.png b/public/images/component-thumbnails/block.png similarity index 100% rename from public/images/block.png rename to public/images/component-thumbnails/block.png diff --git a/public/images/button-group.png b/public/images/component-thumbnails/button-group.png similarity index 100% rename from public/images/button-group.png rename to public/images/component-thumbnails/button-group.png diff --git a/public/images/button.png b/public/images/component-thumbnails/button.png similarity index 100% rename from public/images/button.png rename to public/images/component-thumbnails/button.png diff --git a/public/images/callout.png b/public/images/component-thumbnails/callout.png similarity index 100% rename from public/images/callout.png rename to public/images/component-thumbnails/callout.png diff --git a/public/images/card.png b/public/images/component-thumbnails/card.png similarity index 100% rename from public/images/card.png rename to public/images/component-thumbnails/card.png diff --git a/public/images/checkbox.png b/public/images/component-thumbnails/checkbox.png similarity index 100% rename from public/images/checkbox.png rename to public/images/component-thumbnails/checkbox.png diff --git a/public/images/combobox.png b/public/images/component-thumbnails/combobox.png similarity index 100% rename from public/images/combobox.png rename to public/images/component-thumbnails/combobox.png diff --git a/public/images/container.png b/public/images/component-thumbnails/container.png similarity index 100% rename from public/images/container.png rename to public/images/component-thumbnails/container.png diff --git a/public/images/date-dst.png b/public/images/component-thumbnails/date-dst.png similarity index 100% rename from public/images/date-dst.png rename to public/images/component-thumbnails/date-dst.png diff --git a/public/images/date-picker.png b/public/images/component-thumbnails/date-picker.png similarity index 100% rename from public/images/date-picker.png rename to public/images/component-thumbnails/date-picker.png diff --git a/public/images/date-st.png b/public/images/component-thumbnails/date-st.png similarity index 100% rename from public/images/date-st.png rename to public/images/component-thumbnails/date-st.png diff --git a/public/images/design-system-technologies.png b/public/images/component-thumbnails/design-system-technologies.png similarity index 100% rename from public/images/design-system-technologies.png rename to public/images/component-thumbnails/design-system-technologies.png diff --git a/public/images/details-demo.jpg b/public/images/component-thumbnails/details-demo.jpg similarity index 100% rename from public/images/details-demo.jpg rename to public/images/component-thumbnails/details-demo.jpg diff --git a/public/images/details.png b/public/images/component-thumbnails/details.png similarity index 100% rename from public/images/details.png rename to public/images/component-thumbnails/details.png diff --git a/public/images/disclaimer.png b/public/images/component-thumbnails/disclaimer.png similarity index 100% rename from public/images/disclaimer.png rename to public/images/component-thumbnails/disclaimer.png diff --git a/public/images/divider.png b/public/images/component-thumbnails/divider.png similarity index 100% rename from public/images/divider.png rename to public/images/component-thumbnails/divider.png diff --git a/public/images/drawer.png b/public/images/component-thumbnails/drawer.png similarity index 100% rename from public/images/drawer.png rename to public/images/component-thumbnails/drawer.png diff --git a/public/images/dropdown.png b/public/images/component-thumbnails/dropdown.png similarity index 100% rename from public/images/dropdown.png rename to public/images/component-thumbnails/dropdown.png diff --git a/public/images/file-uploader.png b/public/images/component-thumbnails/file-uploader.png similarity index 100% rename from public/images/file-uploader.png rename to public/images/component-thumbnails/file-uploader.png diff --git a/public/images/filter-chip.png b/public/images/component-thumbnails/filter-chip.png similarity index 100% rename from public/images/filter-chip.png rename to public/images/component-thumbnails/filter-chip.png diff --git a/public/images/footer.png b/public/images/component-thumbnails/footer.png similarity index 100% rename from public/images/footer.png rename to public/images/component-thumbnails/footer.png diff --git a/public/images/form-item.png b/public/images/component-thumbnails/form-item.png similarity index 100% rename from public/images/form-item.png rename to public/images/component-thumbnails/form-item.png diff --git a/public/images/form-stepper.png b/public/images/component-thumbnails/form-stepper.png similarity index 100% rename from public/images/form-stepper.png rename to public/images/component-thumbnails/form-stepper.png diff --git a/public/images/governance-process.png b/public/images/component-thumbnails/governance-process.png similarity index 100% rename from public/images/governance-process.png rename to public/images/component-thumbnails/governance-process.png diff --git a/public/images/grid.png b/public/images/component-thumbnails/grid.png similarity index 100% rename from public/images/grid.png rename to public/images/component-thumbnails/grid.png diff --git a/public/images/header.png b/public/images/component-thumbnails/header.png similarity index 100% rename from public/images/header.png rename to public/images/component-thumbnails/header.png diff --git a/public/images/heading-band.png b/public/images/component-thumbnails/heading-band.png similarity index 100% rename from public/images/heading-band.png rename to public/images/component-thumbnails/heading-band.png diff --git a/public/images/hero-banner.png b/public/images/component-thumbnails/hero-banner.png similarity index 100% rename from public/images/hero-banner.png rename to public/images/component-thumbnails/hero-banner.png diff --git a/public/images/icon-button.png b/public/images/component-thumbnails/icon-button.png similarity index 100% rename from public/images/icon-button.png rename to public/images/component-thumbnails/icon-button.png diff --git a/public/images/icon.png b/public/images/component-thumbnails/icon.png similarity index 100% rename from public/images/icon.png rename to public/images/component-thumbnails/icon.png diff --git a/public/images/icons.png b/public/images/component-thumbnails/icons.png similarity index 100% rename from public/images/icons.png rename to public/images/component-thumbnails/icons.png diff --git a/public/images/input.png b/public/images/component-thumbnails/input.png similarity index 100% rename from public/images/input.png rename to public/images/component-thumbnails/input.png diff --git a/public/images/link.png b/public/images/component-thumbnails/link.png similarity index 100% rename from public/images/link.png rename to public/images/component-thumbnails/link.png diff --git a/public/images/list.png b/public/images/component-thumbnails/list.png similarity index 100% rename from public/images/list.png rename to public/images/component-thumbnails/list.png diff --git a/public/images/microsite-header.png b/public/images/component-thumbnails/microsite-header.png similarity index 100% rename from public/images/microsite-header.png rename to public/images/component-thumbnails/microsite-header.png diff --git a/public/images/modal.png b/public/images/component-thumbnails/modal.png similarity index 100% rename from public/images/modal.png rename to public/images/component-thumbnails/modal.png diff --git a/public/images/not-yet-available.png b/public/images/component-thumbnails/not-yet-available.png similarity index 100% rename from public/images/not-yet-available.png rename to public/images/component-thumbnails/not-yet-available.png diff --git a/public/images/notification-banner.png b/public/images/component-thumbnails/notification-banner.png similarity index 100% rename from public/images/notification-banner.png rename to public/images/component-thumbnails/notification-banner.png diff --git a/public/images/pagination.png b/public/images/component-thumbnails/pagination.png similarity index 100% rename from public/images/pagination.png rename to public/images/component-thumbnails/pagination.png diff --git a/public/images/popover.png b/public/images/component-thumbnails/popover.png similarity index 100% rename from public/images/popover.png rename to public/images/component-thumbnails/popover.png diff --git a/public/images/progress-indicator.png b/public/images/component-thumbnails/progress-indicator.png similarity index 100% rename from public/images/progress-indicator.png rename to public/images/component-thumbnails/progress-indicator.png diff --git a/public/images/radio.png b/public/images/component-thumbnails/radio.png similarity index 100% rename from public/images/radio.png rename to public/images/component-thumbnails/radio.png diff --git a/public/images/side-menu.png b/public/images/component-thumbnails/side-menu.png similarity index 100% rename from public/images/side-menu.png rename to public/images/component-thumbnails/side-menu.png diff --git a/public/images/skeleton-loader.png b/public/images/component-thumbnails/skeleton-loader.png similarity index 100% rename from public/images/skeleton-loader.png rename to public/images/component-thumbnails/skeleton-loader.png diff --git a/public/images/snackbar.png b/public/images/component-thumbnails/snackbar.png similarity index 100% rename from public/images/snackbar.png rename to public/images/component-thumbnails/snackbar.png diff --git a/public/images/spacer.png b/public/images/component-thumbnails/spacer.png similarity index 100% rename from public/images/spacer.png rename to public/images/component-thumbnails/spacer.png diff --git a/public/images/table.png b/public/images/component-thumbnails/table.png similarity index 100% rename from public/images/table.png rename to public/images/component-thumbnails/table.png diff --git a/public/images/tabs.png b/public/images/component-thumbnails/tabs.png similarity index 100% rename from public/images/tabs.png rename to public/images/component-thumbnails/tabs.png diff --git a/public/images/text-area.png b/public/images/component-thumbnails/text-area.png similarity index 100% rename from public/images/text-area.png rename to public/images/component-thumbnails/text-area.png diff --git a/public/images/text-field.png b/public/images/component-thumbnails/text-field.png similarity index 100% rename from public/images/text-field.png rename to public/images/component-thumbnails/text-field.png diff --git a/public/images/text.png b/public/images/component-thumbnails/text.png similarity index 100% rename from public/images/text.png rename to public/images/component-thumbnails/text.png diff --git a/public/images/tooltip.png b/public/images/component-thumbnails/tooltip.png similarity index 100% rename from public/images/tooltip.png rename to public/images/component-thumbnails/tooltip.png diff --git a/public/images/example-thumbnails/add-another-item-in-a-modal.png b/public/images/example-thumbnails/add-another-item-in-a-modal.png new file mode 100644 index 0000000000000000000000000000000000000000..5ffed184c1a5ff2c53780a974cd2e77483c7ed7a GIT binary patch literal 28552 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 DrhvTg literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/ask-a-user-for-a-birthday.png b/public/images/example-thumbnails/ask-a-user-for-a-birthday.png new file mode 100644 index 0000000000000000000000000000000000000000..7f2b0539a20bdac00409aa121e8e62f167b9b661 GIT binary patch literal 8426 zcmeHMX*gS3+uo)+McZ>)V-+1aim0Jf(G*psMN4Z6mD5&ZrWHxigbq4TRMp(jQbUi1 zkPu?7W2mvDHAko#BZ-QLNRxc&`~LfWe%E_l?~kuP_TFo+YhQbSb`=Bnl>-C+9BY78B zp)ccd{RHX2SM^tOW ze+Qk1hO)LoP@2`Y$S}^2c`73Ils)VwsjMvM?|KrN8l6`X=ob+3ch^3?BfmXn8NI%kq2|d{ z`l8*zahZwv`p;8Y>-MYb0v;3DnW9165?LR`SZJ^@>2n0 z=QySH3{n~73|$x;S~r&wN^L?>+|JAPxk(xW(?bV5aF=)QH3aHDGPTQ%=3i@ongr~M z*c+$Aw;7Z`t|S+ilsQ>Dgz_1#Dwi#Er}lUoR>&DLQs%n;;P&d1iCn)N!CGGd_;+(w zV8!u${un>ik%I`cMVHAbUW)H3{m~BV# zUz^@_x(f3qR_VGzICLR(S!@<)fs5qOj}PpyBHa2zd(HI(@q=-DAoz|kw#-Rp=9$X%Z>sjDSYi4QZ;_bBt30V(^;Zd;Xg8%Oo?IaFb)!Jh3_QH|F-lamrwvTB04 zzOe0zdfq#jw2B9J7BEPV^2pFGMLus28ohzfPZ|!%K)T@k2kMrJb5HHoUGo6{L-6Z9 zSr=pl$pfJJx7B191(4|tS(+e~FJF%RWN$2$9tCnyBiF2HwSTF3#s90mLIk+0A@f zMKgN#3A%ZduCYVd7ly{)`o{tcF`y)H>@-mD^@yRRi$+wm7<%p7$0WCB0&TB7r$7jT zrQH^!w98^`T)P}H-DOyWLw`%PJB!^OWsx$sUOAf)qKJ*uveIQO6BWO~yfo(1x~@~1y;^z-e7rqdBxW4_h)0Vu{}4qRo{RotN@iweoxDB(e|e1r zo-asx>VF-yTTau*_Yir#{&>-7nB58_vp~^hEhn4m=6!~-I@6|l{q#7E08Jg~3i9ji zes7o}nb*B^2QNpD9SG9epJx_PECC=gpkmk86IbOM+r)-aZ%MM2k>|Tvypj4R=+oJX zx?2?(KQ$-QALcy`3QA%Z2B$Jd7)omk{TSMO>T8$A4m45^KEi1J zfDgLnYr$>)^z&=6_*vPl0aYYv^sifuSFZ2qP@wa9^C-+;7suqR#DR@%t>UE6>lW7J zZLTG81IqE5e0D@ekvu-iNmv=}i)qH}jYB;YTA8S?#OhQGAdi*AkW%NDQF7-Fwk7TgJyMb+71!vTD2nX%yF%mQwy&0Yzws06c0j~-TN`?uXx;^p(zHju zlT3JZ$|N31@~k#GId^g=c6DHSRdb}fcJ%eUE{v9tE)Mp=8&=Fzh0HCvvG#h#(&6|C z_DLHq7(c~h?f`Ja-xPH*xAes5ACPt_>W$L^`5wNG6$c_d{_d~qcOI3Z?{rlw+zxUl zqNndkn}Fm@Ljk09SGZZn$F=#$iT3r5cuX%$M^=EqJnI9o-dBb4V7Y-bADjrv&f}mn zMd#?gVMpDAQurzO;-^KE3JcEnP7S62?~KD-Nd5hJWMfm)6y;W@TH$kp3UY~aN~pFq znElQNkACzJCv=@)^kZ1eGJo zZ>tYTgXUAAsS;||?O(fN>a*#;E8c^)esCB`7NzP6UblPGP;1q>+H>bNC#V7wR>Tn1 z_lt zt*rrl2{_Brh(_v%M}^6)_}q=k2MfNZ1XV(pep3W+HbYEx=%wwV676(0R15%K{^y3r zTI(VfNMR@%gyM`|OJn@tvM4t#*`Hl0rp?^GL1)0@@_nfm$yfm^zg}b|_<$wHo71Kt z2zQ@oZk@-pck4E ze&8~I>y?y^Q*o44vX%mRoJ0$?)rO}AUH(l0&^2!rhdQ-|4>ETi5q!k*Bh{Pe{spj*%Seg+FUYMH50AgaRJL=|s%N z%3{q5BDyh5idu+6dJnhWj}dSe?9B5dq<6xJA~+rmSi4i4_>(x-uXXFxV^+VVIVWG` z%w_sApr%E~V(8T)pxQ7Il`f>ucc_M~AjY5W(K_3+-fJ`f&-HAQ?{Eh5*Xv~K7r)#Yr%u!qG zrE#%~Zysx^$M?*ZIAQkkdy~V=ZwQc6Q84M4O9>ly1-{WsMT{iVDP?{yRpg}uixIg8 zZ?IRd{zG zQOSPv~W`l^3(7K`+5z#)&QsqQ-(}?VRE+O3P z<-&Y*jxJ2xHZMlIn$U7^x2}hbnRupJ|J(ANV^I`1*^z>9c!N)CR|)PI5CI!w&`v{5 ztuA&ZUdbeZ$3!t>%s04>-!UNw@ALmO^kg11BQInOr%bv$DfU-W0=Z0vy5Gvl_#{fK zG3zKJ-7H8}_Zq`3$X14h4zkbSH1Qa!*pV4hAXee=E)8|Z{5kaz2jk%QkML|}ZTOcD zcEx=$sY^rm4PHWDL{$$bbgdhdr^}3*iM)CyC#YP7{sb-LQDeVV?&J3Mhj}4WBwws- zc1oq8q5k}|$F?@=VeJlR4R^pX8njX@AEw>S;?gyagn9`#CbzIC@_jfX|FdCM=McZx z*Z68McejbA9`$0Av>}Q#E0+=uyQ+PYh(F;d_R3Eg6eLhr?BPe6+w(&AmJ5}eq_Yt& z{@pC25S>rC@>^z$hTiU6^Pb$-@?60MPVvJJGw{JMDSMiA6Ot!%57M)L{?z_}E_qJq z&k8a`U8QogRzR)yi=M0bAV$ZscOc(uU#oK6=e~GDIwMrkY;O)oiE9?j7)Tw6VKyQO z68!OzCX<|U$BE(|i>kJeX4qC!z(71D;~GvOgdUMiFN(D3Hc2h);>r=5m`m1aosZ(L z*0fFvMK+6A394SwVz+8&9XQa=eE%TX^-g%kgy966 z$2)yK$ruGEb-~+)Uzqr0lxTbyhtJ-JHFfG&-&?@>OUhQ%2Y@!;8*-9FJg78F-ty<6Bq& z>k-=Xx#NY!#_07zb`Cq2J*Yu@E};+-9s?0#6Wz(ff7R<#eN}cDINhIm+xZClhxR&4 zeMhq?Bm_@P)OebAYJLQ33mng8X$D~b2#F$Nf?o~qOz@eoJuBj)Uv_vV#aXo&{v64??k(r!?;Znho4*+5p>$` z&M@?uKfZ5bF!LgLD#hNa=p*l)j{J)HNG0?gVgAR;GuMW1@)>+|A8KqcSts0UrqZXR zD88{&A&<_=zmH2&2*lnqOZWG!A?{1hen=d}kSHNTg5RMw8D9|NQhv9=dXAd^R8;Tay_e;2?JI zgfd02cr--%m3WE5{UO9EknR%xF-wsMkI7rA2Ny_x86_cFS6r`vl)73mE|sUc-p*#5V}H zzbQjbQMt!PteuiSEX4dNb~Ht+cMcW{y{j5j>A4-Axi$83d@Bcz(1G%nWZH)U;++uv zWYS)OQRNL-UPS8x6LFvs@#tj~!6^5})hLSZkFQE9hk15l4j*V|6PWRs=L|oU z<`*=l8!CHr*YKEP(vIi-!t|iW1jcpGU3L0YSC;zbVhVU7+2EM@f!4rDPfi>LUsY36 zGu0}tYFZjGi5gQ`@Lvos$-zW}jMMY8(RYmTK7EMI29whb&1pdusn+{h*$Z_z%s34H z5oSyb$ZxeMiG(M%irarvAs?e#2h0)@3wG3B2`QNY*nXc$ zkLll{sWMU2HGw0kOC1+M5UrpW+QgktGT4zu8o6K?W}5eRRKow}#&TANi&bf&c&j literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/ask-a-user-for-an-address.png b/public/images/example-thumbnails/ask-a-user-for-an-address.png new file mode 100644 index 0000000000000000000000000000000000000000..bcfcfa5d8cea6ad16f07fb6946fb718026d5175d GIT binary patch literal 17848 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 literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/ask-a-user-for-an-indian-registration-number.png b/public/images/example-thumbnails/ask-a-user-for-an-indian-registration-number.png new file mode 100644 index 0000000000000000000000000000000000000000..013fe6279243a6a706a15d5303b51be3b4950827 GIT binary patch literal 11392 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 OU~$dnYRzS@r2hfKJV;*v literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/ask-a-user-for-direct-deposit-information.png b/public/images/example-thumbnails/ask-a-user-for-direct-deposit-information.png new file mode 100644 index 0000000000000000000000000000000000000000..7751258d84f3c47c5848b0407b44299d390dec9e GIT binary patch literal 36240 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 { const testImage = new Image(); @@ -62,7 +68,8 @@ export function ComponentCard(props: Props) {

); diff --git a/src/components/example-header/ExampleHeader.tsx b/src/components/example-header/ExampleHeader.tsx index 52d35f94b..7de2e3a6d 100644 --- a/src/components/example-header/ExampleHeader.tsx +++ b/src/components/example-header/ExampleHeader.tsx @@ -36,57 +36,59 @@ export const ExampleHeader: React.FC = ({ name, description, githubLink, {name} - {(githubLink || figmaLink) && ( - - {figmaLink && ( - -
- - - - - - - -
- - Figma - -
- )} - {githubLink && ( - - - - Github issue - - - )} -
- )} + {description && ( - + {description} )} + {(githubLink || figmaLink) && ( + + + {githubLink && ( + + + + Github issue + + + )} + {figmaLink && ( + +
+ + + + + + + +
+ + Figma + +
+ )} +
+ )}
); diff --git a/src/examples/accordion/AccordionExamples.tsx b/src/examples/accordion/AccordionExamples.tsx index b9bcca27a..a861ff3e6 100644 --- a/src/examples/accordion/AccordionExamples.tsx +++ b/src/examples/accordion/AccordionExamples.tsx @@ -1,4 +1,4 @@ -import { AccordionHideOrShowSectionExample } from "@examples/accordion/AccordionHideOrShowSectionExample.tsx"; +import { HideAndShowManySectionsOfInformation } from "@examples/hide-and-show-many-sections-of-information.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; import ExpandOrCollapsePartOfAForm from "@examples/expand-or-collapse-part-of-a-form.tsx"; @@ -15,7 +15,7 @@ export default function AccordionExamples() { exampleTitle="Hide and show many sections of information (FAQ)" figmaExample="https://www.figma.com/design/aIRjvBzpIUH0GbkffjbL04/%E2%9D%96-Patterns-library-%7C-DDD?node-id=6469-76255&t=X0IQW5flDDaj8Vyg-4">
- + ); } diff --git a/src/examples/filter-chip/FilterChipInteractiveExample.tsx b/src/examples/add-a-filter-chip.tsx similarity index 98% rename from src/examples/filter-chip/FilterChipInteractiveExample.tsx rename to src/examples/add-a-filter-chip.tsx index 88adcf008..b28cf82ab 100644 --- a/src/examples/filter-chip/FilterChipInteractiveExample.tsx +++ b/src/examples/add-a-filter-chip.tsx @@ -4,7 +4,7 @@ import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; import { useContext, useState } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const FilterChipInteractiveExample = () => { +export const AddAFilterChip = () => { const {version} = useContext(LanguageVersionContext); const [activeFilters, setActiveFilters] = useState([]); const addFilter = () => { @@ -169,3 +169,5 @@ export const FilterChipInteractiveExample = () => { ) } + +export default AddAFilterChip; diff --git a/src/examples/drawer/DrawerAddRecordExample.tsx b/src/examples/add-a-record-using-a-drawer.tsx similarity index 99% rename from src/examples/drawer/DrawerAddRecordExample.tsx rename to src/examples/add-a-record-using-a-drawer.tsx index 51d9df313..c26d812dc 100644 --- a/src/examples/drawer/DrawerAddRecordExample.tsx +++ b/src/examples/add-a-record-using-a-drawer.tsx @@ -9,7 +9,7 @@ import { import { useState } from "react"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -export const DrawerAddRecordExample = () => { +export const AddARecordUsingADrawer = () => { const [open, setOpen] = useState(false); const noop = () => {/* do something */} return ( @@ -265,3 +265,5 @@ export const DrawerAddRecordExample = () => { ); }; + +export default AddARecordUsingADrawer; diff --git a/src/examples/drawer/DrawerFiltersExample.tsx b/src/examples/add-and-edit-lots-of-filters.tsx similarity index 99% rename from src/examples/drawer/DrawerFiltersExample.tsx rename to src/examples/add-and-edit-lots-of-filters.tsx index b5e618a63..89c0a69e6 100644 --- a/src/examples/drawer/DrawerFiltersExample.tsx +++ b/src/examples/add-and-edit-lots-of-filters.tsx @@ -12,7 +12,7 @@ import { import { useState } from "react"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -export const DrawerFiltersExample = () => { +export const AddAndEditLotsOfFilters = () => { const [open, setOpen] = useState(false); // const noop = () => {/* do something */}; return ( @@ -229,3 +229,5 @@ export const DrawerFiltersExample = () => { ); }; + +export default AddAndEditLotsOfFilters; diff --git a/src/examples/add-another-item-in-a-modal.tsx b/src/examples/add-another-item-in-a-modal.tsx index 3035016cf..e5f0b110e 100644 --- a/src/examples/add-another-item-in-a-modal.tsx +++ b/src/examples/add-another-item-in-a-modal.tsx @@ -11,7 +11,7 @@ import { useContext, useState } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { GoabDropdownOnChangeDetail, GoabTextAreaOnChangeDetail } from "@abgov/ui-components-common"; -const AddAnotherItemInAModal = () => { +export const AddAnotherItemInAModal = () => { const {version} = useContext(LanguageVersionContext); const [addItemModalOpen, setAddItemModalOpen] = useState(); const [type, setType] = useState(); diff --git a/src/examples/app-footer/AppFooterExamples.tsx b/src/examples/app-footer/AppFooterExamples.tsx index dabf9710c..4201429b1 100644 --- a/src/examples/app-footer/AppFooterExamples.tsx +++ b/src/examples/app-footer/AppFooterExamples.tsx @@ -1,5 +1,5 @@ -import { AppFooterShowQuickLinkExample } from "@examples/app-footer/AppFooterShowQuickLinkExample.tsx"; -import { AppFooterShowNavigationItemsExample } from "@examples/app-footer/AppFooterShowNavigationItemsExample.tsx"; +import { ShowQuickLinks } from "@examples/show-quick-links.tsx"; +import { ShowLinksToNavigationItems } from "@examples/show-links-to-navigation-items.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; export const AppFooterExamples = () => { @@ -9,13 +9,13 @@ export const AppFooterExamples = () => { exampleTitle="Show quick links" figmaExample="https://www.figma.com/design/aIRjvBzpIUH0GbkffjbL04/%E2%9D%96-Patterns-library-%7C-DDD?node-id=6309-60928&t=X0IQW5flDDaj8Vyg-4"> - + - + ) } diff --git a/src/examples/app-header/AppHeaderExamples.tsx b/src/examples/app-header/AppHeaderExamples.tsx index c343e4630..160267ff8 100644 --- a/src/examples/app-header/AppHeaderExamples.tsx +++ b/src/examples/app-header/AppHeaderExamples.tsx @@ -1,5 +1,5 @@ -import { AppHeaderWithNavigationExample } from "@examples/app-header/AppHeaderWithNavigationExample.tsx"; -import { AppHeaderWithMenuClickEventExample } from "@examples/app-header/AppHeaderWithMenuClickEventExample.tsx"; +import { HeaderWithNavigation } from "@examples/header-with-navigation.tsx"; +import { HeaderWithMenuClickEvent } from "@examples/header-with-menu-click-event.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; export const AppHeaderExamples = () => { @@ -9,13 +9,13 @@ export const AppHeaderExamples = () => { exampleTitle="Header with navigation" figmaExample="https://www.figma.com/design/aIRjvBzpIUH0GbkffjbL04/%E2%9D%96-Patterns-library-%7C-DDD?node-id=6309-90004&t=X0IQW5flDDaj8Vyg-4"> - + - + ); }; diff --git a/src/examples/text-field/TextFieldAskBirthdayExample.tsx b/src/examples/ask-a-user-for-a-birthday.tsx similarity index 98% rename from src/examples/text-field/TextFieldAskBirthdayExample.tsx rename to src/examples/ask-a-user-for-a-birthday.tsx index a12651a81..cd47bcec0 100644 --- a/src/examples/text-field/TextFieldAskBirthdayExample.tsx +++ b/src/examples/ask-a-user-for-a-birthday.tsx @@ -5,7 +5,7 @@ import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const TextFieldAskBirthdayExample = () => { +export const AskAUserForABirthday = () => { const {version} = useContext(LanguageVersionContext); const noop = () => {} @@ -125,3 +125,5 @@ export const TextFieldAskBirthdayExample = () => { ) } + +export default AskAUserForABirthday; diff --git a/src/examples/button/ButtonAskUserAddressExample.tsx b/src/examples/ask-a-user-for-an-address.tsx similarity index 98% rename from src/examples/button/ButtonAskUserAddressExample.tsx rename to src/examples/ask-a-user-for-an-address.tsx index b8c4f432c..0cc890cb4 100644 --- a/src/examples/button/ButtonAskUserAddressExample.tsx +++ b/src/examples/ask-a-user-for-an-address.tsx @@ -12,7 +12,7 @@ import { import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { useContext } from "react"; -export const ButtonAskUserAddressExample = () => { +export const AskAUserForAnAddress = () => { const {version} = useContext(LanguageVersionContext); const noop = () => {} return ( @@ -136,3 +136,5 @@ export const ButtonAskUserAddressExample = () => { ); }; + +export default AskAUserForAnAddress; diff --git a/src/examples/text-field/TextFieldAskUserIndianRegistrationExample.tsx b/src/examples/ask-a-user-for-an-indian-registration-number.tsx similarity index 97% rename from src/examples/text-field/TextFieldAskUserIndianRegistrationExample.tsx rename to src/examples/ask-a-user-for-an-indian-registration-number.tsx index 74292c1b0..b44d08336 100644 --- a/src/examples/text-field/TextFieldAskUserIndianRegistrationExample.tsx +++ b/src/examples/ask-a-user-for-an-indian-registration-number.tsx @@ -4,7 +4,7 @@ import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -export const TextFieldAskUserIndianRegistrationExample = () => { +export const AskAUserForAnIndianRegistrationNumber = () => { const {version} = useContext(LanguageVersionContext); const noop = () => {} @@ -140,3 +140,5 @@ export const TextFieldAskUserIndianRegistrationExample = () => { ) } + +export default AskAUserForAnIndianRegistrationNumber; diff --git a/src/examples/details/DetailsShowDirectDepositInformationExample.tsx b/src/examples/ask-a-user-for-direct-deposit-information.tsx similarity index 98% rename from src/examples/details/DetailsShowDirectDepositInformationExample.tsx rename to src/examples/ask-a-user-for-direct-deposit-information.tsx index 7bc5af659..0faf09f91 100644 --- a/src/examples/details/DetailsShowDirectDepositInformationExample.tsx +++ b/src/examples/ask-a-user-for-direct-deposit-information.tsx @@ -4,7 +4,7 @@ import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -export const DetailsShowDirectDepositInformationExample = () => { +export const AskAUserForDirectDepositInformation = () => { const {version} = useContext(LanguageVersionContext); const noop = () => {}; @@ -149,3 +149,5 @@ export const DetailsShowDirectDepositInformationExample = () => { ); }; + +export default AskAUserForDirectDepositInformation; diff --git a/src/examples/text-field/TextFieldAskUserAmountExample.tsx b/src/examples/ask-a-user-for-dollar-amounts.tsx similarity index 99% rename from src/examples/text-field/TextFieldAskUserAmountExample.tsx rename to src/examples/ask-a-user-for-dollar-amounts.tsx index 75708251f..1e0097d52 100644 --- a/src/examples/text-field/TextFieldAskUserAmountExample.tsx +++ b/src/examples/ask-a-user-for-dollar-amounts.tsx @@ -4,7 +4,7 @@ import { GoabFormItem, GoabInput } from "@abgov/react-components"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const TextFieldAskUserAmountExample = () => { +export const AskAUserForDollarAmounts = () => { const {version} = useContext(LanguageVersionContext); const noop = () => {} @@ -210,3 +210,5 @@ export const TextFieldAskUserAmountExample = () => { ) } + +export default AskAUserForDollarAmounts; diff --git a/src/examples/ask-a-user-one-question-at-a-time.tsx b/src/examples/ask-a-user-one-question-at-a-time.tsx new file mode 100644 index 000000000..1e1b4de04 --- /dev/null +++ b/src/examples/ask-a-user-one-question-at-a-time.tsx @@ -0,0 +1,66 @@ +import { Sandbox } from "@components/sandbox"; +import "./question-page/question-page-examples.css"; +import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; +import { + GoabButton, + GoabFormItem, + GoabRadioGroup, + GoabRadioItem +} from "@abgov/react-components"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; +import { useContext } from "react"; + +export default function QuestionPage() { + useContext(LanguageVersionContext); + return ( +
+ + {/*CSS Code Snippet*/} + ') center center no-repeat; + } + + a.back-link:visited::before, + a.back-link:hover::before { + background: url('data:image/svg+xml,') center center no-repeat; + } + + a.back-link { + margin-top: var(--goa-space-m); + } + `} + /> + + + Back + + + { + }}> + + + No + + + + + Save and continue + + + +
+ ); +} diff --git a/src/examples/badge/BadgeExamples.tsx b/src/examples/badge/BadgeExamples.tsx index d8b515eab..1743ff880 100644 --- a/src/examples/badge/BadgeExamples.tsx +++ b/src/examples/badge/BadgeExamples.tsx @@ -3,8 +3,8 @@ import { GoabBlock, } from "@abgov/react-components"; import { Sandbox } from "@components/sandbox"; -import { BadgeShowStatusInTableExample } from "@examples/badge/BadgeShowStatusInTableExample.tsx"; -import { BadgeShowStatusOnCardExample } from "@examples/badge/BadgeShowStatusOnCardExample.tsx"; +import { ShowStatusInATable } from "@examples/show-status-in-a-table.tsx"; +import { ShowStatusOnACard } from "@examples/show-status-on-a-card.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; export default function BadgeExamples() { @@ -15,7 +15,7 @@ export default function BadgeExamples() { exampleTitle="Show status in a table" figmaExample="https://www.figma.com/design/aIRjvBzpIUH0GbkffjbL04/%E2%9D%96-Patterns-library-%7C-DDD?node-id=6304-22364&t=X0IQW5flDDaj8Vyg-4"> - + - + ); } diff --git a/src/examples/button/ButtonConfirmDestructiveActionExample.tsx b/src/examples/button/ButtonConfirmDestructiveActionExample.tsx deleted file mode 100644 index 8446c5204..000000000 --- a/src/examples/button/ButtonConfirmDestructiveActionExample.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import { ModalConfirmDestructiveActionExample } from "@examples/modal/ModalConfirmDestructiveActionExample.tsx"; - -export const ButtonConfirmDestructiveActionExample = () => { - return ( - - ); -}; diff --git a/src/examples/button/ButtonExamples.tsx b/src/examples/button/ButtonExamples.tsx index 93b1c880c..484468bc7 100644 --- a/src/examples/button/ButtonExamples.tsx +++ b/src/examples/button/ButtonExamples.tsx @@ -1,6 +1,6 @@ -import { ButtonAskUserAddressExample } from "@examples/button/ButtonAskUserAddressExample.tsx"; -import { ButtonConfirmDestructiveActionExample } from "@examples/button/ButtonConfirmDestructiveActionExample.tsx"; -import { ButtonDisabledWithRequiredFieldExample } from "@examples/button/ButtonDisabledWithRequiredFieldExample.tsx"; +import { AskAUserForAnAddress } from "@examples/ask-a-user-for-an-address.tsx"; +import { ConfirmADestructiveAction } from "@examples/confirm-a-destructive-action.tsx"; +import { DisabledButtonWithARequiredField } from "@examples/disabled-button-with-a-required-field.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; export const ButtonExamples = () => { @@ -11,20 +11,20 @@ export const ButtonExamples = () => { exampleTitle="Ask a user for an address" figmaExample="https://www.figma.com/design/aIRjvBzpIUH0GbkffjbL04/%E2%9D%96-Patterns-library-%7C-DDD?node-id=6304-43250&t=X0IQW5flDDaj8Vyg-4"> - + {/*Button example 2*/} - + {/*Button example */} - + ; }; diff --git a/src/examples/callout/CalloutExamples.tsx b/src/examples/callout/CalloutExamples.tsx index 70fc9b1cc..e68e49eb3 100644 --- a/src/examples/callout/CalloutExamples.tsx +++ b/src/examples/callout/CalloutExamples.tsx @@ -1,146 +1,16 @@ -import { Sandbox } from "@components/sandbox"; -import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -import { GoabButton, GoabButtonGroup, GoabCallout, GoabSpacer } from "@abgov/react-components"; -import { useContext } from "react"; -import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; +import { ConfirmThatAnApplicationWasSubmitted } from "@examples/confirm-that-an-application-was-submitted.tsx"; export const CalloutExamples = () => { - const {version} = useContext(LanguageVersionContext); - return ( - <> - - - - {/*Angular code*/} - {version === "old" && You have completed the application - - Your application was successful -

You will receive a copy of the confirmation to the email person@email.com

-

Confirmation number: 1234ABC

-
- -

Go back to the dashboard, or direct your user somewhere else useful.

-

- Other information about what was just completed, other tertiary information, and/or contact information. - Phone: 780 123 4567 - Email: information@gov.ab.ca -

- - - Go to application - Back to dashboard - - `} - />} - - {version === "new" && You have completed the application - - -

You will receive a copy of the confirmation to the email person@email.com

-

Confirmation number: 1234ABC

-
- -

Go back to the dashboard, or direct your user somewhere else useful.

-

Other information about what was just completed, other tertiary information, and/or contact information. -
- Phone: 780 123 4567 -
- Email: information@gov.ab.ca -

- - - Go to application - Back to dashboard - - `} - />} - - {/*React code*/} - {version === "old" && You have completed the application - - -

You will receive a copy of the confirmation to the email person@email.com

-

Confirmation number: 1234ABC

-
- -

Go back to the dashboard, or direct your user somewhere else useful.

-

- Other information about what was just completed, other tertiary information, and/or contact information. - Phone: 780 123 4567 - Email: information@gov.ab.ca -

- - - Go to application - Back to dashboard - - `} - />} - - {version === "new" && You have completed the application - - -

You will receive a copy of the confirmation to the email person@email.com

-

Confirmation number: 1234ABC

-
- -

Go back to the dashboard, or direct your user somewhere else useful.

-

- Other information about what was just completed, other tertiary information, and/or contact information. -
- Phone: 780 123 4567 -
- Email: information@gov.ab.ca -

- - - Go to application - Back to dashboard - - `} - />} - -

You have completed the application

- -

You will receive a copy of the confirmation to the email person@email.com

-

Confirmation number: 1234ABC

-
-

Go back to the dashboard, or direct your user somewhere else useful.

-

- Other information about what was just completed, other tertiary information, and/or contact information.
- Phone: 780 123 4567
- Email: information@gov.ab.ca -

- - - Go to application - Back to dashboard - -
- - ) -} + return <> + {/*Callout Example 1*/} + + + + + {/*Callout example 2*/} + ; +}; diff --git a/src/examples/container/ContainerCardGridExample.tsx b/src/examples/card-grid.tsx similarity index 96% rename from src/examples/container/ContainerCardGridExample.tsx rename to src/examples/card-grid.tsx index ec7b8cd78..f767f44f5 100644 --- a/src/examples/container/ContainerCardGridExample.tsx +++ b/src/examples/card-grid.tsx @@ -1,9 +1,9 @@ -import "./container-card-grid-example.css"; +import "./container/container-card-grid-example.css"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; import { GoabContainer, GoabGrid } from "@abgov/react-components"; import { Sandbox } from "@components/sandbox"; -export const ContainerCardGridExample = () => { +export const CardGrid = () => { return ( { ) } + +export default CardGrid; diff --git a/src/examples/container/ContainerCaseFilesExample.tsx b/src/examples/card-view-of-case-files.tsx similarity index 96% rename from src/examples/container/ContainerCaseFilesExample.tsx rename to src/examples/card-view-of-case-files.tsx index 977da0199..55bb7f6d3 100644 --- a/src/examples/container/ContainerCaseFilesExample.tsx +++ b/src/examples/card-view-of-case-files.tsx @@ -1,9 +1,9 @@ -import "./container-case-files-example.css"; +import "./container/container-case-files-example.css"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; import { GoabBadge, GoabBlock, GoabButton, GoabContainer } from "@abgov/react-components"; import { Sandbox } from "@components/sandbox"; -export const ContainerCaseFilesExample = () => { +export const CardViewOfCaseFiles = () => { return ( { ) } + +export default CardViewOfCaseFiles; diff --git a/src/examples/checkbox/CheckboxExamples.tsx b/src/examples/checkbox/CheckboxExamples.tsx index 4a275448f..433d68d83 100644 --- a/src/examples/checkbox/CheckboxExamples.tsx +++ b/src/examples/checkbox/CheckboxExamples.tsx @@ -1,5 +1,6 @@ -import CheckboxDescriptionExample from "@examples/checkbox/CheckboxDescriptionExample.tsx"; -import CheckboxNoneOrManyExample from "@examples/checkbox/CheckboxNoneOrManyExample.tsx"; +import IncludeDescriptionsForItemsInACheckboxList + from "@examples/include-descriptions-for-items-in-a-checkbox-list.tsx"; +import SelectOneAnyAllOrNoOptionsFromAList from "@examples/select-one-any-all-or-no-options-from-a-list.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; export const CheckboxExamples = () => { @@ -9,13 +10,13 @@ export const CheckboxExamples = () => { exampleTitle="Include descriptions for items in a checkbox list" figmaExample="https://www.figma.com/design/aIRjvBzpIUH0GbkffjbL04/%E2%9D%96-Patterns-library-%7C-DDD?node-id=6307-131778&t=X0IQW5flDDaj8Vyg-4"> - + {/*Checkbox example 2*/} - + ; } diff --git a/src/examples/notification/NotificationServiceOutageExample.tsx b/src/examples/communicate-a-future-service-outage.tsx similarity index 96% rename from src/examples/notification/NotificationServiceOutageExample.tsx rename to src/examples/communicate-a-future-service-outage.tsx index 495947814..4fab70607 100644 --- a/src/examples/notification/NotificationServiceOutageExample.tsx +++ b/src/examples/communicate-a-future-service-outage.tsx @@ -4,7 +4,7 @@ import { GoabNotification } from "@abgov/react-components"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const NotificationServiceOutageExample = () => { +export const CommunicateAFutureServiceOutage = () => { const {version} = useContext(LanguageVersionContext); return ( <> @@ -64,3 +64,5 @@ export const NotificationServiceOutageExample = () => { ) } + +export default CommunicateAFutureServiceOutage; diff --git a/src/examples/modal/ModalConfirmRecordChangeExample.tsx b/src/examples/confirm-a-change.tsx similarity index 99% rename from src/examples/modal/ModalConfirmRecordChangeExample.tsx rename to src/examples/confirm-a-change.tsx index edac7aeb1..1310df5cc 100644 --- a/src/examples/modal/ModalConfirmRecordChangeExample.tsx +++ b/src/examples/confirm-a-change.tsx @@ -11,7 +11,7 @@ import { useContext, useState } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { GoabDatePickerOnChangeDetail } from "@abgov/ui-components-common"; -export const ModalConfirmRecordChangeExample = () => { +export const ConfirmAChange = () => { const {version} = useContext(LanguageVersionContext); const [inputModalOpen, setInputModalOpen] = useState(); const [effectiveDate, setEffectiveDate] = useState(new Date()); @@ -298,3 +298,5 @@ export const ModalConfirmRecordChangeExample = () => { ) } + +export default ConfirmAChange; diff --git a/src/examples/modal/ModalConfirmDestructiveActionExample.tsx b/src/examples/confirm-a-destructive-action.tsx similarity index 98% rename from src/examples/modal/ModalConfirmDestructiveActionExample.tsx rename to src/examples/confirm-a-destructive-action.tsx index c275e25e6..1d49f02ef 100644 --- a/src/examples/modal/ModalConfirmDestructiveActionExample.tsx +++ b/src/examples/confirm-a-destructive-action.tsx @@ -4,7 +4,7 @@ import { Sandbox } from "@components/sandbox"; import { useContext, useState } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const ModalConfirmDestructiveActionExample = () => { +export const ConfirmADestructiveAction = () => { const {version} = useContext(LanguageVersionContext); const [destructiveModalOpen, setDestructiveModalOpen] = useState(); return ( @@ -159,3 +159,5 @@ export const ModalConfirmDestructiveActionExample = () => { ) } + +export default ConfirmADestructiveAction; diff --git a/src/examples/modal/ModalRouteChangeExample.tsx b/src/examples/confirm-before-navigating-away.tsx similarity index 98% rename from src/examples/modal/ModalRouteChangeExample.tsx rename to src/examples/confirm-before-navigating-away.tsx index 9296863be..726f1838c 100644 --- a/src/examples/modal/ModalRouteChangeExample.tsx +++ b/src/examples/confirm-before-navigating-away.tsx @@ -5,7 +5,7 @@ import { useContext, useState } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { useNavigate } from "react-router-dom"; -export const ModalRouteChangeExample = () => { +export const ConfirmBeforeNavigatingAway = () => { const {version} = useContext(LanguageVersionContext); const [onRouteChangeModalOpen, setOnRouteChangeModalOpen] = useState(); const navigate = useNavigate(); @@ -170,3 +170,5 @@ export const ModalRouteChangeExample = () => { ) } + +export default ConfirmBeforeNavigatingAway; diff --git a/src/examples/confirm-that-an-application-was-submitted.tsx b/src/examples/confirm-that-an-application-was-submitted.tsx new file mode 100644 index 000000000..3d1c0eb74 --- /dev/null +++ b/src/examples/confirm-that-an-application-was-submitted.tsx @@ -0,0 +1,145 @@ +import { Sandbox } from "@components/sandbox"; +import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; +import { GoabButton, GoabButtonGroup, GoabCallout, GoabSpacer } from "@abgov/react-components"; +import { useContext } from "react"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; + +export const ConfirmThatAnApplicationWasSubmitted = () => { + const { version } = useContext(LanguageVersionContext); + return ( + <> + + + {/*Angular code*/} + {version === "old" && You have completed the application + + + Your application was successful +

You will receive a copy of the confirmation to the email person@email.com

+

Confirmation number: 1234ABC

+
+ +

Go back to the dashboard, or direct your user somewhere else useful.

+

+ Other information about what was just completed, other tertiary information, and/or contact information. + Phone: 780 123 4567 + Email: information@gov.ab.ca +

+ + + Go to application + Back to dashboard + + `} + />} + + {version === "new" && You have completed the application + + +

You will receive a copy of the confirmation to the email person@email.com

+

Confirmation number: 1234ABC

+
+ +

Go back to the dashboard, or direct your user somewhere else useful.

+

Other information about what was just completed, other tertiary information, and/or contact information. +
+ Phone: 780 123 4567 +
+ Email: information@gov.ab.ca +

+ + + Go to application + Back to dashboard + + `} + />} + + {/*React code*/} + {version === "old" && You have completed the application + + +

You will receive a copy of the confirmation to the email person@email.com

+

Confirmation number: 1234ABC

+
+ +

Go back to the dashboard, or direct your user somewhere else useful.

+

+ Other information about what was just completed, other tertiary information, and/or contact information. + Phone: 780 123 4567 + Email: information@gov.ab.ca +

+ + + Go to application + Back to dashboard + + `} + />} + + {version === "new" && You have completed the application + + +

You will receive a copy of the confirmation to the email person@email.com

+

Confirmation number: 1234ABC

+
+ +

Go back to the dashboard, or direct your user somewhere else useful.

+

+ Other information about what was just completed, other tertiary information, and/or contact information. +
+ Phone: 780 123 4567 +
+ Email: information@gov.ab.ca +

+ + + Go to application + Back to dashboard + + `} + />} + +

You have completed the application

+ +

You will receive a copy of the confirmation to the email person@email.com

+

Confirmation number: 1234ABC

+
+

Go back to the dashboard, or direct your user somewhere else useful.

+

+ Other information about what was just completed, other tertiary information, and/or contact information.
+ Phone: 780 123 4567
+ Email: information@gov.ab.ca +

+ + + Go to application + Back to dashboard + +
+ + ); + +}; + +export default ConfirmThatAnApplicationWasSubmitted; diff --git a/src/examples/container/ContainerExamples.tsx b/src/examples/container/ContainerExamples.tsx index 5e3bb9618..627c1ed32 100644 --- a/src/examples/container/ContainerExamples.tsx +++ b/src/examples/container/ContainerExamples.tsx @@ -1,7 +1,7 @@ -import { ContainerUserInformationExample } from "@examples/container/ContainerUserInformationExample.tsx"; -import { ContainerCaseFilesExample } from "@examples/container/ContainerCaseFilesExample.tsx"; -import { ContainerCardGridExample } from "@examples/container/ContainerCardGridExample.tsx"; -import { ContainerReviewActionExample } from "@examples/container/ContainerReviewActionExample.tsx"; +import { DisplayUserInformation } from "@examples/display-user-information.tsx"; +import { CardViewOfCaseFiles } from "@examples/card-view-of-case-files.tsx"; +import { CardGrid } from "@examples/card-grid.tsx"; +import { ReviewAndAction } from "@examples/review-and-action.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; export default function ContainerExamples() { @@ -13,26 +13,26 @@ export default function ContainerExamples() { exampleTitle="User information" figmaExample="https://www.figma.com/design/aIRjvBzpIUH0GbkffjbL04/%E2%9D%96-Patterns-library-%7C-DDD?node-id=6307-154067&t=X0IQW5flDDaj8Vyg-4"> - + - + - + - + ); } diff --git a/src/examples/tooltip/TooltipClickCopyToClipboardExample.tsx b/src/examples/copy-to-clipboard.tsx similarity index 97% rename from src/examples/tooltip/TooltipClickCopyToClipboardExample.tsx rename to src/examples/copy-to-clipboard.tsx index 6357f3cf9..56b49da82 100644 --- a/src/examples/tooltip/TooltipClickCopyToClipboardExample.tsx +++ b/src/examples/copy-to-clipboard.tsx @@ -1,11 +1,11 @@ import { Sandbox } from "@components/sandbox"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; import { GoabBlock, GoabIconButton, GoabTooltip } from "@abgov/react-components"; -import { getCssVarValue } from "src/utils/styling.ts"; +import { getCssVarValue } from "../utils/styling.ts"; import { useContext, useState } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const TooltipClickCopyToClipboardExample = () => { +export const CopyToClipboard = () => { const {version} = useContext(LanguageVersionContext); const [isCopied, setIsCopied] = useState(false); @@ -150,3 +150,5 @@ export const TooltipClickCopyToClipboardExample = () => { ) } + +export default CopyToClipboard; diff --git a/src/examples/date-picker/DatePickerExamples.tsx b/src/examples/date-picker/DatePickerExamples.tsx index 90dee0aa4..12e61da93 100644 --- a/src/examples/date-picker/DatePickerExamples.tsx +++ b/src/examples/date-picker/DatePickerExamples.tsx @@ -1,4 +1,4 @@ -import { DatePickerResetExample } from "@examples/date-picker/DatePickerResetExample.tsx"; +import { ResetDatePickerField } from "@examples/reset-date-picker-field.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; export const DatePickerExamples = () => { @@ -8,7 +8,7 @@ export const DatePickerExamples = () => { exampleTitle="Reset example" figmaExample=""> - + ) } diff --git a/src/examples/details/DetailsExamples.tsx b/src/examples/details/DetailsExamples.tsx index 2f10f98c6..ed1a125dd 100644 --- a/src/examples/details/DetailsExamples.tsx +++ b/src/examples/details/DetailsExamples.tsx @@ -1,13 +1,12 @@ import { - DetailsMoreInformationBasicQuestionExample -} from "@examples/details/DetailsMoreInformationBasicQuestionExample.tsx"; + ShowAListToHelpAnswerAQuestion +} from "@examples/show-a-list-to-help-answer-a-question.tsx"; import { - DetailsAdditionalInformationHelpUserExample -} from "@examples/details/DetailsAdditionalInformationHelpUserExample.tsx"; -import { - DetailsShowDirectDepositInformationExample -} from "@examples/details/DetailsShowDirectDepositInformationExample.tsx"; + AskAUserForDirectDepositInformation +} from "@examples/ask-a-user-for-direct-deposit-information.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; +import RevealMoreInformationToHelpAnswerAQuestion + from "@examples/reveal-more-information-to-help-answer-a-question.tsx"; export const DetailsExamples = () => { return ( @@ -16,19 +15,19 @@ export const DetailsExamples = () => { exampleTitle="Show more information to help answer a question" figmaExample="https://www.figma.com/design/aIRjvBzpIUH0GbkffjbL04/%E2%9D%96-Patterns-library-%7C-DDD?node-id=6307-197360&t=X0IQW5flDDaj8Vyg-4"> - + - + - + ) } diff --git a/src/examples/button/ButtonDisabledWithRequiredFieldExample.tsx b/src/examples/disabled-button-with-a-required-field.tsx similarity index 96% rename from src/examples/button/ButtonDisabledWithRequiredFieldExample.tsx rename to src/examples/disabled-button-with-a-required-field.tsx index f0b2f0411..1500df3f4 100644 --- a/src/examples/button/ButtonDisabledWithRequiredFieldExample.tsx +++ b/src/examples/disabled-button-with-a-required-field.tsx @@ -5,7 +5,7 @@ import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { GoabButtonGroup, GoabButton, GoabFormItem, GoabInput } from "@abgov/react-components"; -export const ButtonDisabledWithRequiredFieldExample = () => { +export const DisabledButtonWithARequiredField = () => { const { version } = useContext(LanguageVersionContext); const noop = () => {} return ( @@ -103,3 +103,5 @@ export const ButtonDisabledWithRequiredFieldExample = () => { ); }; + +export default DisabledButtonWithARequiredField; diff --git a/src/examples/container/ContainerUserInformationExample.tsx b/src/examples/display-user-information.tsx similarity index 98% rename from src/examples/container/ContainerUserInformationExample.tsx rename to src/examples/display-user-information.tsx index 85d395d44..908aa4967 100644 --- a/src/examples/container/ContainerUserInformationExample.tsx +++ b/src/examples/display-user-information.tsx @@ -1,11 +1,11 @@ -import "./container-user-information-example.css"; +import "./container/container-user-information-example.css"; import { Sandbox } from "@components/sandbox"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; import { GoabBlock, GoabButton, GoabContainer, GoabTable } from "@abgov/react-components"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const ContainerUserInformationExample = () => { +export const DisplayUserInformation = () => { const {version} = useContext(LanguageVersionContext); return ( @@ -365,3 +365,5 @@ export const ContainerUserInformationExample = () => { ) } + +export default DisplayUserInformation; diff --git a/src/examples/drawer/DrawerExamples.tsx b/src/examples/drawer/DrawerExamples.tsx index 8328f143f..14e7babb4 100644 --- a/src/examples/drawer/DrawerExamples.tsx +++ b/src/examples/drawer/DrawerExamples.tsx @@ -1,19 +1,19 @@ -import { DrawerFiltersExample } from "@examples/drawer/DrawerFiltersExample.tsx"; -import { DrawerAddRecordExample } from "@examples/drawer/DrawerAddRecordExample.tsx"; +import { AddAndEditLotsOfFilters } from "@examples/add-and-edit-lots-of-filters.tsx"; +import { AddARecordUsingADrawer } from "@examples/add-a-record-using-a-drawer.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; export const DrawerExamples = () => { return ( <> + exampleTitle="Add and edit lots of filters"> - + - + ); }; diff --git a/src/examples/dropdown/DropdownExamples.tsx b/src/examples/dropdown/DropdownExamples.tsx index 3a1917343..b172aa191 100644 --- a/src/examples/dropdown/DropdownExamples.tsx +++ b/src/examples/dropdown/DropdownExamples.tsx @@ -1,5 +1,7 @@ -import { DropdownAddItemExample } from "@examples/dropdown/DropdownAddItemExample.tsx"; -import { DropdownChangeItemExample } from "@examples/dropdown/DropdownChangeItemExample.tsx"; +import { DynamicallyAddAnItemToADropdownList } from "@examples/dynamically-add-an-item-to-a-dropdown-list.tsx"; +import { + DynamicallyChangeItemsInADropdownList +} from "@examples/dynamically-change-items-in-a-dropdown-list.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; export const DropdownExamples = () => { @@ -9,13 +11,13 @@ export const DropdownExamples = () => { exampleTitle="Dynamically add an item to a dropdown list" figmaExample=""> - + - + ); } diff --git a/src/examples/dropdown/DropdownAddItemExample.tsx b/src/examples/dynamically-add-an-item-to-a-dropdown-list.tsx similarity index 99% rename from src/examples/dropdown/DropdownAddItemExample.tsx rename to src/examples/dynamically-add-an-item-to-a-dropdown-list.tsx index 541ba23b3..a07ef32d7 100644 --- a/src/examples/dropdown/DropdownAddItemExample.tsx +++ b/src/examples/dynamically-add-an-item-to-a-dropdown-list.tsx @@ -26,7 +26,7 @@ type Task = { mount: GoabDropdownItemMountType; }; -export const DropdownAddItemExample = () => { +export const DynamicallyAddAnItemToADropdownList = () => { const { version } = useContext(LanguageVersionContext); const [taskError, setTaskError] = useState(false); const [newTask, setNewTask] = useState(""); @@ -620,3 +620,5 @@ export const DropdownAddItemExample = () => { ); }; + +export default DynamicallyAddAnItemToADropdownList; \ No newline at end of file diff --git a/src/examples/dropdown/DropdownChangeItemExample.tsx b/src/examples/dynamically-change-items-in-a-dropdown-list.tsx similarity index 98% rename from src/examples/dropdown/DropdownChangeItemExample.tsx rename to src/examples/dynamically-change-items-in-a-dropdown-list.tsx index 3f361dd5f..54e083901 100644 --- a/src/examples/dropdown/DropdownChangeItemExample.tsx +++ b/src/examples/dynamically-change-items-in-a-dropdown-list.tsx @@ -4,7 +4,7 @@ import { useContext, useState } from "react"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const DropdownChangeItemExample = () => { +export const DynamicallyChangeItemsInADropdownList = () => { const {version} = useContext(LanguageVersionContext); const [children, setChildren] = useState([]); const parents = ["All", "Big", "Small"]; @@ -250,3 +250,5 @@ export const DropdownChangeItemExample = () => { ); } + +export default DynamicallyChangeItemsInADropdownList; diff --git a/src/examples/filter-chip/FilterChipExamples.tsx b/src/examples/filter-chip/FilterChipExamples.tsx index a144e2046..a13e1a3fc 100644 --- a/src/examples/filter-chip/FilterChipExamples.tsx +++ b/src/examples/filter-chip/FilterChipExamples.tsx @@ -1,7 +1,7 @@ -import { TableWithGlobalFiltersExample } from "@examples/filter-chip/TableWithGlobalFiltersExample.tsx"; -import { FilterChipDeleteEventExample } from "@examples/filter-chip/FilterChipDeleteEventExample.tsx"; -import { FilterChipInteractiveExample } from "@examples/filter-chip/FilterChipInteractiveExample.tsx"; -import { FilterChipTypedChipExample } from "@examples/filter-chip/FilterChipTypedChipExample.tsx"; +import { FilterDataInATable } from "@examples/filter-data-in-a-table.tsx"; +import { RemoveAFilter } from "@examples/remove-a-filter.tsx"; +import { AddAFilterChip } from "@examples/add-a-filter-chip.tsx"; +import { TypeToCreateANewFilter } from "@examples/type-to-create-a-new-filter.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; export const FilterChipExamples = () => { @@ -11,13 +11,13 @@ export const FilterChipExamples = () => { exampleTitle="Remove a filter" figmaExample="https://www.figma.com/design/aIRjvBzpIUH0GbkffjbL04/%E2%9D%96-Patterns-library-%7C-DDD?node-id=6309-59262&t=X0IQW5flDDaj8Vyg-4"> - + - + { figmaExample="https://www.figma.com/design/aIRjvBzpIUH0GbkffjbL04/%E2%9D%96-Patterns-library-%7C-DDD?node-id=6308-51849&t=X0IQW5flDDaj8Vyg-4"> - + - + ) } diff --git a/src/examples/filter-chip/TableWithGlobalFiltersExample.tsx b/src/examples/filter-data-in-a-table.tsx similarity index 99% rename from src/examples/filter-chip/TableWithGlobalFiltersExample.tsx rename to src/examples/filter-data-in-a-table.tsx index 918f38c31..e683be1c9 100644 --- a/src/examples/filter-chip/TableWithGlobalFiltersExample.tsx +++ b/src/examples/filter-data-in-a-table.tsx @@ -18,7 +18,7 @@ import type { import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -export const TableWithGlobalFiltersExample = () => { +export const FilterDataInATable = () => { const { version } = useContext(LanguageVersionContext); const [typedChips, setTypedChips] = useState([]); @@ -912,3 +912,5 @@ export class TableComponent { // ); }; + +export default FilterDataInATable; \ No newline at end of file diff --git a/src/examples/form-item/FormItemExamples.tsx b/src/examples/form-item/FormItemExamples.tsx index a409a01d6..d4b9859a3 100644 --- a/src/examples/form-item/FormItemExamples.tsx +++ b/src/examples/form-item/FormItemExamples.tsx @@ -1,21 +1,21 @@ -import { FormItemSlottedHelperTextExample } from "@examples/form-item/FormItemSlottedHelperTextExample.tsx"; -import { FormItemSlottedErrorTextExample } from "@examples/form-item/FormItemSlottedErrorTextExample.tsx"; +import { SlottedHelperTextInAFormItem } from "@examples/slotted-helper-text-in-a-form-item.tsx"; +import { SlottedErrorTextInAFormItem } from "@examples/slotted-error-text-in-a-form-item.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; export const FormItemExamples = () => { return ( <> - + - + ) } diff --git a/src/examples/form-stepper/FormStepperControlledNavigationExample.tsx b/src/examples/form-stepper-with-controlled-navigation.tsx similarity index 98% rename from src/examples/form-stepper/FormStepperControlledNavigationExample.tsx rename to src/examples/form-stepper-with-controlled-navigation.tsx index a700519e6..6c2fa8cde 100644 --- a/src/examples/form-stepper/FormStepperControlledNavigationExample.tsx +++ b/src/examples/form-stepper-with-controlled-navigation.tsx @@ -11,7 +11,7 @@ import { Sandbox } from "@components/sandbox"; import { useContext, useState } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const FormStepperControlledNavigationExample = () => { +export const FormStepperWithControlledNavigation = () => { const {version} = useContext(LanguageVersionContext); const [controlledStep, setControlledStep] = useState(1); @@ -219,3 +219,5 @@ To use the controlled type you must set a step value ≥ 1.`}> ) } + +export default FormStepperWithControlledNavigation; diff --git a/src/examples/form-stepper/FormStepperExamples.tsx b/src/examples/form-stepper/FormStepperExamples.tsx index 1cc2e0420..0444a56c0 100644 --- a/src/examples/form-stepper/FormStepperExamples.tsx +++ b/src/examples/form-stepper/FormStepperExamples.tsx @@ -1,7 +1,7 @@ import { - FormStepperControlledNavigationExample -} from "@examples/form-stepper/FormStepperControlledNavigationExample.tsx"; -import { FormStepperStepStatusExample } from "@examples/form-stepper/FormStepperStepStatusExample.tsx"; + FormStepperWithControlledNavigation +} from "@examples/form-stepper-with-controlled-navigation.tsx"; +import { SetTheStatusOfStepOnAFormStepper } from "@examples/set-the-status-of-step-on-a-form-stepper.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; export const FormStepperExamples = () => { @@ -11,13 +11,13 @@ export const FormStepperExamples = () => { exampleTitle="Controlled Navigation" figmaExample=""> - + - + ) } diff --git a/src/examples/give-background-information-before-asking-a-question.tsx b/src/examples/give-background-information-before-asking-a-question.tsx new file mode 100644 index 000000000..1d0c0fda2 --- /dev/null +++ b/src/examples/give-background-information-before-asking-a-question.tsx @@ -0,0 +1,79 @@ +import { Sandbox } from "@components/sandbox"; +import "./question-page/question-page-examples.css"; +import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; +import { + GoabButton, + GoabFormItem, + GoabRadioGroup, + GoabRadioItem +} from "@abgov/react-components"; + +export default function QuestionPage() { + return ( +
+ + + {/*CSS Code Snippet*/} + ') center center no-repeat; + } + + a.back-link:visited::before, + a.back-link:hover::before { + background: url('data:image/svg+xml,') center center no-repeat; + } + + a.back-link { + margin-top: var(--goa-space-m); + } + + a.back-link + h2 { + margin-top: var(--goa-space-2xl); + } + `} + /> + + Back + +

Current school status

+

+ School can encompass foundational programs that help individuals gain basic skills for + further learning and living, such as literacy and numeracy courses. It also includes + skills and employment training programs, designed to equip you with specific skills for + the job market. +

+

+ Post-secondary education, such as Bachelor's, Master's, or Doctoral degrees, and + continuing education courses for professional or personal development, are also + categorized under 'school'. +

+

Contact your provider if you’re concerned about your school status.

+ + { + }}> + + + + + + Save and continue + +
+ + +
+ ); +} diff --git a/src/examples/textarea/TextAreaAskQuestionMoreInformationExample.tsx b/src/examples/give-context-before-asking-a-long-answer-question.tsx similarity index 94% rename from src/examples/textarea/TextAreaAskQuestionMoreInformationExample.tsx rename to src/examples/give-context-before-asking-a-long-answer-question.tsx index ccd4f6d11..e3de88d02 100644 --- a/src/examples/textarea/TextAreaAskQuestionMoreInformationExample.tsx +++ b/src/examples/give-context-before-asking-a-long-answer-question.tsx @@ -2,7 +2,6 @@ import { Sandbox } from "@components/sandbox"; import { GoabButton, GoabButtonGroup, - GoabContainer, GoabDetails, GoabFormItem, GoabTextarea @@ -11,7 +10,7 @@ import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const TextAreaAskQuestionMoreInformationExample = () => { +export const GiveContextBeforeAskingALongAnswerQuestion = () => { const {version} = useContext(LanguageVersionContext); const noop = () => {} return ( @@ -32,7 +31,6 @@ export const TextAreaAskQuestionMoreInformationExample = () => { } `} />} - Back @@ -61,9 +59,8 @@ export const TextAreaAskQuestionMoreInformationExample = () => { Continue - - - ) } + +export default GiveContextBeforeAskingALongAnswerQuestion; diff --git a/src/examples/give-feedback-link.tsx b/src/examples/give-feedback-link.tsx new file mode 100644 index 000000000..5bb062dd7 --- /dev/null +++ b/src/examples/give-feedback-link.tsx @@ -0,0 +1,19 @@ +import { GoabMicrositeHeader } from "@abgov/react-components"; +import { Sandbox } from "@components/sandbox"; + +export default function GiveFeedbackLinkExample() { + const onClick = () => { + console.log("Feedback clicked"); + alert("Thank you for your feedback!"); + }; + return ( + <> + + + + {/* ...React + Angular code snippets here (same as original)... */} + + + ); +} + diff --git a/src/examples/group-related-questions-together-on-a-question-page.tsx b/src/examples/group-related-questions-together-on-a-question-page.tsx new file mode 100644 index 000000000..1b213505e --- /dev/null +++ b/src/examples/group-related-questions-together-on-a-question-page.tsx @@ -0,0 +1,118 @@ +import { Sandbox } from "@components/sandbox"; +import "./question-page/question-page-examples.css"; +import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; +import { + GoabButton, + GoabDropdown, GoabDropdownItem, + GoabFormItem, + GoabInput +} from "@abgov/react-components"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; +import { useContext } from "react"; + +export default function QuestionPage() { + useContext(LanguageVersionContext); + return ( +
+ + + + {/*CSS Code Snippet*/} + ') center center no-repeat; + } + + a.back-link:visited::before, + a.back-link:hover::before { + background: url('data:image/svg+xml,') center center no-repeat; + } + + a.back-link { + margin-top: var(--goa-space-m); + } + + a.back-link + h2 { + margin-top: var(--goa-space-2xl); + } + + h2.section-title { + margin-bottom: 0; + } + + h2.section-title + h3 { + margin-top: var(--goa-space-xs); + } + `} + /> + + + Back + +

Your address

+

This is the home address of the person applying

+ + { + }} + name="address-line-1" + ariaLabel="Address line 1" + width="100%" + /> + + + { + }} + name="address-line-2" + ariaLabel="Address line 2" + width="100%" + /> + + + { + }} + name="town-city" + ariaLabel="Town or city name" + width={"460px"} + /> + + + { + }} name="province-territory" ariaLabelledBy="provinceLabel"> + + + + + + + + + + + + + + + + + { + }} name="postal-code" width={"105px"} /> + + + Save and continue + +
+ +
+ ); +} diff --git a/src/examples/app-header/AppHeaderWithMenuClickEventExample.tsx b/src/examples/header-with-menu-click-event.tsx similarity index 98% rename from src/examples/app-header/AppHeaderWithMenuClickEventExample.tsx rename to src/examples/header-with-menu-click-event.tsx index 3831f5de8..62738326d 100644 --- a/src/examples/app-header/AppHeaderWithMenuClickEventExample.tsx +++ b/src/examples/header-with-menu-click-event.tsx @@ -5,7 +5,7 @@ import { GoabRadioGroupOnChangeDetail } from "@abgov/ui-components-common"; import { useContext, useState } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const AppHeaderWithMenuClickEventExample = () => { +export const HeaderWithMenuClickEvent = () => { const {version} = useContext(LanguageVersionContext); const [deviceWidth, setDeviceWidth] = useState("5000"); function handleMenuClick() { @@ -203,3 +203,5 @@ export const AppHeaderWithMenuClickEventExample = () => { ) } + +export default HeaderWithMenuClickEvent; diff --git a/src/examples/app-header/AppHeaderWithNavigationExample.tsx b/src/examples/header-with-navigation.tsx similarity index 97% rename from src/examples/app-header/AppHeaderWithNavigationExample.tsx rename to src/examples/header-with-navigation.tsx index 00698cbc0..a25b7b041 100644 --- a/src/examples/app-header/AppHeaderWithNavigationExample.tsx +++ b/src/examples/header-with-navigation.tsx @@ -4,7 +4,7 @@ import { GoabAppHeader, GoabAppHeaderMenu } from "@abgov/react-components"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const AppHeaderWithNavigationExample = () => { +export const HeaderWithNavigation = () => { const {version} = useContext(LanguageVersionContext); return ( @@ -99,3 +99,5 @@ export const AppHeaderWithNavigationExample = () => { ) } + +export default HeaderWithNavigation; diff --git a/src/examples/accordion/AccordionHideOrShowSectionExample.tsx b/src/examples/hide-and-show-many-sections-of-information.tsx similarity index 99% rename from src/examples/accordion/AccordionHideOrShowSectionExample.tsx rename to src/examples/hide-and-show-many-sections-of-information.tsx index c81a09c91..0a30f4a68 100644 --- a/src/examples/accordion/AccordionHideOrShowSectionExample.tsx +++ b/src/examples/hide-and-show-many-sections-of-information.tsx @@ -4,7 +4,7 @@ import { GoabAccordion, GoabButton } from "@abgov/react-components"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { useContext, useEffect, useState } from "react"; -export const AccordionHideOrShowSectionExample = () => { +export const HideAndShowManySectionsOfInformation = () => { const {version} = useContext(LanguageVersionContext); const [expandedAll, setExpandedAll] = useState(false); const [expandedList, setExpandedList] = useState([]); @@ -262,3 +262,5 @@ export const AccordionHideOrShowSectionExample = () => { ) } + +export default HideAndShowManySectionsOfInformation; diff --git a/src/examples/radio/RadioSlottedDescriptionExample.tsx b/src/examples/include-a-link-in-the-helper-text-of-an-option.tsx similarity index 97% rename from src/examples/radio/RadioSlottedDescriptionExample.tsx rename to src/examples/include-a-link-in-the-helper-text-of-an-option.tsx index eb03ab42e..61ceab22e 100644 --- a/src/examples/radio/RadioSlottedDescriptionExample.tsx +++ b/src/examples/include-a-link-in-the-helper-text-of-an-option.tsx @@ -4,7 +4,7 @@ import { Sandbox } from "@components/sandbox"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const RadioSlottedDescriptionExample = () => { +export const IncludeALinkInTheHelperTextOfAnOption = () => { const {version} = useContext(LanguageVersionContext); const noop = () => {} return ( @@ -129,3 +129,5 @@ export const RadioSlottedDescriptionExample = () => { ) } + +export default IncludeALinkInTheHelperTextOfAnOption; diff --git a/src/examples/checkbox/CheckboxDescriptionExample.tsx b/src/examples/include-descriptions-for-items-in-a-checkbox-list.tsx similarity index 98% rename from src/examples/checkbox/CheckboxDescriptionExample.tsx rename to src/examples/include-descriptions-for-items-in-a-checkbox-list.tsx index 7b4aa8593..4ca187fc4 100644 --- a/src/examples/checkbox/CheckboxDescriptionExample.tsx +++ b/src/examples/include-descriptions-for-items-in-a-checkbox-list.tsx @@ -4,7 +4,7 @@ import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export default function CheckboxDescriptionExample () { +export default function IncludeDescriptionsForItemsInACheckboxList() { const {version} = useContext(LanguageVersionContext); return ( <> @@ -94,3 +94,4 @@ export default function CheckboxDescriptionExample () { ); } + diff --git a/src/examples/link-to-an-external-page.tsx b/src/examples/link-to-an-external-page.tsx new file mode 100644 index 000000000..bd1ae4826 --- /dev/null +++ b/src/examples/link-to-an-external-page.tsx @@ -0,0 +1,16 @@ +import { Sandbox } from "@components/sandbox"; +import { GoabLink } from "@abgov/react-components"; + +export const LinkToAnExternalPage = () => { + return ( + <> + + + External link + + + + ); +}; + +export default LinkToAnExternalPage; \ No newline at end of file diff --git a/src/examples/link/LinkExamples.tsx b/src/examples/link/LinkExamples.tsx index 1b123de1d..f4078897c 100644 --- a/src/examples/link/LinkExamples.tsx +++ b/src/examples/link/LinkExamples.tsx @@ -1,18 +1,12 @@ -import { Sandbox } from "@components/sandbox"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; -import { GoabLink } from "@abgov/react-components"; +import { LinkToAnExternalPage } from "../link-to-an-external-page.tsx"; -export const LinkExamples = () => { +export default function LinkExamples() { return ( <> - - - - - - External link - - + + ); -} \ No newline at end of file +} diff --git a/src/examples/microsite-header/MicrositeHeaderExamples.tsx b/src/examples/microsite-header/MicrositeHeaderExamples.tsx index 02a69a843..322a1194a 100644 --- a/src/examples/microsite-header/MicrositeHeaderExamples.tsx +++ b/src/examples/microsite-header/MicrositeHeaderExamples.tsx @@ -1,207 +1,20 @@ -import { GoabMicrositeHeader } from "@abgov/react-components"; -import { Sandbox } from "@components/sandbox"; -import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -import { useContext } from "react"; -import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; +import GiveFeedbackLinkExample from "../give-feedback-link.tsx"; +import ShowVersionNumberExample from "../show-version-number.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; export default function MicrositeHeaderExamples() { - const { version } = useContext(LanguageVersionContext); - const onClick = () => { - console.log("Feedback clicked"); - alert("Thank you for your feedback!"); - }; return ( <> - - - - {/*Angular code*/} - {version === "old" && ( - - )} - {version === "new" && ( - - )} - - {version === "old" && ( - - `} - /> - )} - {version === "new" && ( - - `} - /> - )} - - {version === "old" && ( - - onClick()} - /> - - ); - } - `} - /> - )} - {version === "new" && ( - - onClick()} - /> - - ); - } - `} - /> - )} - - + figmaExample="https://www.figma.com/design/aIRjvBzpIUH0GbkffjbL04/%E2%9D%96-Patterns-library-%7C-DDD?node-id=6311-92884" + /> + - - - {/*Angular*/} - {version === "old" && -
- Slotted version text. - v1.23 -
- - `} - />} - {version === "new" && - - Slotted version text. - v1.23 - - - `} - />} - {/*React*/} - {version === "old" && Slotted version text.v1.23} - > - `} - />} - {version === "new" && Slotted version text.v1.23} - > - `} - />} - - - Slotted version text. - - v1.23 - - } - /> -
+ figmaExample="https://www.figma.com/design/aIRjvBzpIUH0GbkffjbL04/%E2%9D%96-Patterns-library-%7C-DDD?node-id=6311-92885" + /> + ); -} +} \ No newline at end of file diff --git a/src/examples/modal/ModalExamples.tsx b/src/examples/modal/ModalExamples.tsx index dcddb51f3..74b1a2f70 100644 --- a/src/examples/modal/ModalExamples.tsx +++ b/src/examples/modal/ModalExamples.tsx @@ -1,38 +1,39 @@ import "./modal-examples.css"; -import { ModalBasicExample } from "@examples/modal/ModalBasicExample.tsx"; -import { ModalConfirmDestructiveActionExample } from "@examples/modal/ModalConfirmDestructiveActionExample.tsx"; -import { ModalWarnUserDeadlineExample } from "@examples/modal/ModalWarnUserDeadlineExample.tsx"; -import { ModalConfirmRecordChangeExample } from "@examples/modal/ModalConfirmRecordChangeExample.tsx"; -import { ModalRouteChangeExample } from "@examples/modal/ModalRouteChangeExample.tsx"; +import { RequireUserActionBeforeContinuing } from "@examples/require-user-action-before-continuing.tsx"; +import { ConfirmADestructiveAction } from "@examples/confirm-a-destructive-action.tsx"; +import { WarnAUserOfADeadline } from "@examples/warn-a-user-of-a-deadline.tsx"; +import { ConfirmAChange } from "@examples/confirm-a-change.tsx"; +import { ConfirmBeforeNavigatingAway } from "@examples/confirm-before-navigating-away.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; -import AddAnotherItemInAModal from "@examples/add-another-item-in-a-modal.tsx"; +import { AddAnotherItemInAModal } from "@examples/add-another-item-in-a-modal.tsx"; export default function ModalExamples() { return ( <> + exampleTitle="Basic Modal" + figmaExample={"https://www.figma.com/design/3pb2IK8s2QUqWieH79KdN7/%E2%9D%96-Component-library-%7C-DDD?node-id=26318-184965&t=Mgdr0KBlqhEz1RXF-4"}> - + - + - + - + - + ); } diff --git a/src/examples/notification/NotificationExamples.tsx b/src/examples/notification/NotificationExamples.tsx index bc9ff59df..97187f6bb 100644 --- a/src/examples/notification/NotificationExamples.tsx +++ b/src/examples/notification/NotificationExamples.tsx @@ -1,5 +1,5 @@ import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; -import { NotificationServiceOutageExample } from "@examples/notification/NotificationServiceOutageExample.tsx"; +import { CommunicateAFutureServiceOutage } from "@examples/communicate-a-future-service-outage.tsx"; export const NotificationExamples = () => { return ( @@ -8,7 +8,7 @@ export const NotificationExamples = () => { exampleTitle="Communicate a future service outage" figmaExample="https://www.figma.com/design/aIRjvBzpIUH0GbkffjbL04/%E2%9D%96-Patterns-library-%7C-DDD?node-id=6311-93778&t=sWyB4A2UXCb9rn2W-1">
- + ) } diff --git a/src/examples/pagination/PaginationExamples.tsx b/src/examples/pagination/PaginationExamples.tsx index af0e5e857..352428b22 100644 --- a/src/examples/pagination/PaginationExamples.tsx +++ b/src/examples/pagination/PaginationExamples.tsx @@ -1,581 +1,14 @@ -import { Sandbox } from "@components/sandbox"; -import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -import { - GoabBlock, - GoabDropdown, - GoabDropdownItem, - GoabPagination, - GoabSpacer, - GoabTable, -} from "@abgov/react-components"; -import { useContext, useEffect, useState } from "react"; -import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -import { GoabDropdownOnChangeDetail } from "@abgov/ui-components-common"; -import { faker } from "@faker-js/faker"; +import ShowNumberOfResultsPerPageExample from "../show-number-of-results-per-page.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; -interface User { - id: string; - firstName: string; - lastName: string; - age: number; -} - export const PaginationExamples = () => { - const { version } = useContext(LanguageVersionContext); - const [users, setUsers] = useState([]); - const [pageUsers, setPageUsers] = useState([]); - const [page, setPage] = useState(1); - const [perPage, setPerPage] = useState(10); - - useEffect(() => { - const _users = []; - for (let i = 1; i <= 100; i++) { - _users.push({ - id: faker.datatype.uuid(), - firstName: faker.name.firstName(), - lastName: faker.name.lastName(), - age: faker.datatype.number({ min: 18, max: 60 }), - }); - } - setUsers(_users); - setPageUsers(_users.slice(0, perPage)); - }, [perPage]); - - function changePage(newPage: number) { - const offset = (newPage - 1) * 10; - const _users = users.slice(offset, offset + perPage); - setPage(newPage); - setPageUsers(_users); - } - - function handlePerPageCountChangeEvent(event: GoabDropdownOnChangeDetail) { - const perPageValue = parseInt(event.value || "1"); - setPage(1); - setPerPage(perPageValue); - const _users = users.slice(0, perPageValue); - setPageUsers(_users); - } - return ( <> - - - {/*============= React code ==============*/} - {version === "old" && ( - ([]); - const [pageUsers, setPageUsers] = useState([]); - const [page, setPage] = useState(1); - const [perPage, setPerPage] = useState(10); - - useEffect(() => { - const _users = []; - for (let i = 1; i <= 100; i++) { - _users.push({ - id: faker.datatype.uuid(), - firstName: faker.name.firstName(), - lastName: faker.name.lastName(), - age: faker.datatype.number({ min: 18, max: 60 }), - }); - } - setUsers(_users); - setPageUsers(_users.slice(0, perPage)); - }, [perPage]); - - function changePage(newPage: number) { - const offset = (newPage - 1) * 10; - const _users = users.slice(offset, offset + perPage); - setPage(newPage); - setPageUsers(_users); - } - - function handlePerPageCountChangeEvent(name: string, value: string | string[]) { - const perPageValue = Array.isArray(value) ? parseInt(value[0]) : parseInt(value); - setPage(1); - setPerPage(perPageValue); - const _users = users.slice(0, perPageValue); - setPageUsers(_users); - } - `} - /> - )} - - {version === "new" && ( - ([]); - const [pageUsers, setPageUsers] = useState([]); - const [page, setPage] = useState(1); - const [perPage, setPerPage] = useState(10); - - useEffect(() => { - const _users = []; - for (let i = 1; i <= 100; i++) { - _users.push({ - id: faker.string.uuid(), - firstName: faker.person.firstName(), - lastName: faker.person.lastName(), - age: faker.number.int({ min: 18, max: 60 }), - }); - } - setUsers(_users); - setPageUsers(_users.slice(0, perPage)); - }, [perPage]); - - function changePage(newPage: number) { - const offset = (newPage - 1) * 10; - const _users = users.slice(offset, offset + perPage); - setPage(newPage); - setPageUsers(_users); - } - - function handlePerPageCountChangeEvent(event: GoabDropdownOnChangeDetail) { - const perPageValue = parseInt(event.value || '1'); - setPage(1); - setPerPage(perPageValue); - const _users = users.slice(0, perPageValue); - setPageUsers(_users); - } - `} - /> - )} - - {version === "old" && ( - - - - First name - Last name - Age - - - - {pageUsers.map((u) => ( - - {u.firstName} - {u.lastName} - {u.age} - - ))} - - - - - - Show - - - - - - of {users.length} - - - - - - - `} - /> - )} - - {version === "new" && ( - - - - First name - Last name - Age - - - - {pageUsers.map((u) => ( - - {u.firstName} - {u.lastName} - {u.age} - - ))} - - - - - - Show - - - - - - of {users.length} - - - - - changePage(event.page)} - /> - - `} - /> - )} - - {/*================ Angular code ==================*/} - {version === "old" && ( - - )} - - {version === "new" && ( - - )} - - {version === "old" && ( - - - - First name - Last name - Age - - - - - {{ user.firstName }} - {{ user.lastName }} - {{ user.age }} - - - - - - - Show - - - - - - - - - - - - - - of {{ this.users.length }} - - - - - - - - - `} - /> - )} - - {version === "new" && ( - - - - First name - Last name - Age - - - - - {{ user.firstName }} - {{ user.lastName }} - {{ user.age }} - - - - - - - Show - - - - - - - - - - - - - of {{ this.users.length }} - - - - - - - - `} - /> - )} - - - - - First name - Last name - Age - - - - {pageUsers.map(u => ( - - {u.firstName} - {u.lastName} - {u.age} - - ))} - - - - - - Show - - {[10, 20, 30].map(value => ( - - ))} - - per page - - - - changePage(event.page)} - /> - - + ); }; diff --git a/src/examples/question-page/QuestionPageExamples.tsx b/src/examples/question-page/QuestionPageExamples.tsx index 5d3a7e920..5e4657f65 100644 --- a/src/examples/question-page/QuestionPageExamples.tsx +++ b/src/examples/question-page/QuestionPageExamples.tsx @@ -1,639 +1,58 @@ -import { Sandbox } from "@components/sandbox"; -import "./question-page-example.css"; -import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -import { - GoabButton, - GoabDetails, GoabDropdown, GoabDropdownItem, - GoabFormItem, - GoabInput, - GoabRadioGroup, - GoabRadioItem -} from "@abgov/react-components"; -import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -import { useContext } from "react"; +import QuestionPageOneQuestion from "../ask-a-user-one-question-at-a-time.tsx"; +import QuestionPageAdditionalBackgroundInformation from "../give-background-information-before-asking-a-question.tsx"; +import QuestionPageProgressiveDisclosure from "../reveal-more-information-to-help-answer-a-question.tsx"; +import QuestionPageSectionTitle from "../show-a-section-title-on-a-question-page.tsx"; +import QuestionPageSimpleProgressIndicator from "../show-a-simple-progress-indicator-on-a-question-page.tsx"; +import QuestionPageMultipleQuestions from "../group-related-questions-together-on-a-question-page.tsx"; +import QuestionPageMultipleQuestionsWithProgress + from "../show-a-simple-progress-indicator-on-a-question-page-with-multiple-questions.tsx"; +import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; export default function QuestionPageExamples() { - const {version} = useContext(LanguageVersionContext); return (
-
-

One question

- - View in Figma - -
- - {/*CSS Code Snippet*/} - ') center center no-repeat; - } + + + + + + + + + + + + + + + + + + + + + + + + + + + - a.back-link:visited::before, - a.back-link:hover::before { - background: url('data:image/svg+xml,') center center no-repeat; - } - - a.back-link { - margin-top: var(--goa-space-m); - } - `} - /> - - - Back - - - {}}> - - - No - - - - - Save and continue - - - -
-

Additional background information

- - View in Figma - -
- - {/*CSS Code Snippet*/} - ') center center no-repeat; - } - - a.back-link:visited::before, - a.back-link:hover::before { - background: url('data:image/svg+xml,') center center no-repeat; - } - - a.back-link { - margin-top: var(--goa-space-m); - } - - a.back-link + h2 { - margin-top: var(--goa-space-2xl); - } - `} - /> - - Back - -

Current school status

-

- School can encompass foundational programs that help individuals gain basic skills for - further learning and living, such as literacy and numeracy courses. It also includes - skills and employment training programs, designed to equip you with specific skills for - the job market. -

-

- Post-secondary education, such as Bachelor's, Master's, or Doctoral degrees, and - continuing education courses for professional or personal development, are also - categorized under 'school'. -

-

Contact your provider if you’re concerned about your school status.

- - {}}> - - - - - - Save and continue - -
- -
-

Progressive disclosure

- - View in Figma - -
- - {/* - CSS Code Snippet*/} - ') center center no-repeat; - } - - a.back-link:visited::before, - a.back-link:hover::before { - background: url('data:image/svg+xml,') center center no-repeat; - } - - a.back-link { - margin-top: var(--goa-space-m); - } - `} - /> - - - Back - - - {}}> - - - - - - -

We ask this question to determine if you are eligible for child care benefits.

-
- - Save and continue - -
- -
-

Section title

- - View in Figma - -
- - {/*CSS Code Snippet*/} - ') center center no-repeat; - } - - a.back-link:visited::before, - a.back-link:hover::before { - background: url('data:image/svg+xml,') center center no-repeat; - } - - a.back-link { - margin-top: var(--goa-space-m); - } - - h3.section-title { - margin-bottom: 0; - color: var(--goa-color-text-secondary); - } - - a.back-link + h3 { - margin-top: var(--goa-space-2xl); - } - `} - /> - - - Back - -

Personal information

- - {}}> - - - - - - Save and continue - -
- -
-

Simple progress indicator

- - View in Figma - -
- - {/*CSS Code Snippet*/} - ') center center no-repeat; - } - - a.back-link:visited::before, - a.back-link:hover::before { - background: url('data:image/svg+xml,') center center no-repeat; - } - - a.back-link { - margin-top: var(--goa-space-m); - } - - a.back-link + h3 { - margin-top: var(--goa-space-2xl); - } - `} - /> - - Back - -

Question 3 of 9

- - {}}> - - - - - - Save and continue - -
- -
-

Multiple questions

- - View in Figma - -
- - {/*CSS Code Snippet*/} - ') center center no-repeat; - } - - a.back-link:visited::before, - a.back-link:hover::before { - background: url('data:image/svg+xml,') center center no-repeat; - } - - a.back-link { - margin-top: var(--goa-space-m); - } - - a.back-link + h2 { - margin-top: var(--goa-space-2xl); - } - - h2.section-title { - margin-bottom: 0; - } - - h2.section-title + h3 { - margin-top: var(--goa-space-xs); - } - `} - /> - - - Back - -

Your address

-

This is the home address of the person applying

- - {}} - name="address-line-1" - ariaLabel="Address line 1" - width="100%" - /> - - - {}} - name="address-line-2" - ariaLabel="Address line 2" - width="100%" - /> - - - {}} - name="town-city" - ariaLabel="Town or city name" - width={"460px"} - /> - - - {}} name="province-territory" ariaLabelledBy="provinceLabel"> - - - - - - - - - - - - - - - - - {}} name="postal-code" width={"105px"} /> - - - Save and continue - -
- -
-

Multiple questions and a simple progress indicator

- - View in Figma - -
- - {/*CSS Code Snippet*/} - ') center center no-repeat; - } - - a.back-link:visited::before, - a.back-link:hover::before { - background: url('data:image/svg+xml,') center center no-repeat; - } - - a.back-link { - margin-top: var(--goa-space-m); - } - - h3.section-title { - margin-bottom: 0; - color: var(--goa-color-text-secondary); - } - - a.back-link + h3 { - margin-top: var(--goa-space-2xl); - } - - h3.section-title + h2 { - margin-top: var(--goa-space-xs); - } - `} - /> - - {/*Angular Code Snippet - need for leadingContent slot*/} - - {version === "old" && - Back - -

- Step 1 of 5 -

-

- Personal information -

- - - - - -
+1
-
-
- - - - - Save and continue - - `} - />} - - {version === "new" && - Back - -

- Step 1 of 5 -

-

- Personal information -

- - - - - -
+1
-
-
- - - - - Save and continue - - `} - />} - - {/*React Code Snippet - need for leadingContent slot*/} - {version === "old" && - Back - -

Step 1 of 5

-

Personal information

- - {}} name="name" ariaLabel="what is your name?" width="50ch" /> - - - {}} - name="phone-number" - ariaLabel="what is your phone number?" - leadingContent="+1" - /> - - - {}} - name="postal-code" - width="14ch" - ariaLabel="what is your home postal code"> - - - Save and continue - - `} - />} - - {version === "new" && - Back - -

Step 1 of 5

-

Personal information

- - {}} name="name" ariaLabel="what is your name?" width="50ch" /> - - - {}} - name="phone-number" - ariaLabel="what is your phone number?" - leadingContent="+1" - /> - - - {}} - name="postal-code" - width="14ch" - ariaLabel="what is your home postal code"> - - - Save and continue - - `} - />} - - - Back - -

Step 1 of 5

-

Personal information

- - - {}} name="name" ariaLabel="what is your name?" width="50ch" /> - - - {}} - name="phone-number" - ariaLabel="what is your phone number?" - leadingContent="+1" - /> - - - {}} - name="postal-code" - width="14ch" - ariaLabel="what is your home postal code"> - - - Save and continue - -
); -} +} \ No newline at end of file diff --git a/src/examples/question-page/question-page-example.css b/src/examples/question-page/question-page-examples.css similarity index 100% rename from src/examples/question-page/question-page-example.css rename to src/examples/question-page/question-page-examples.css diff --git a/src/examples/radio/RadioExamples.tsx b/src/examples/radio/RadioExamples.tsx index 598e2c511..98634474b 100644 --- a/src/examples/radio/RadioExamples.tsx +++ b/src/examples/radio/RadioExamples.tsx @@ -1,5 +1,7 @@ -import { RadioSlottedDescriptionExample } from "@examples/radio/RadioSlottedDescriptionExample.tsx"; -import { RadioMaxWidthExample } from "@examples/radio/RadioMaxWidthExample.tsx"; +import { + IncludeALinkInTheHelperTextOfAnOption +} from "@examples/include-a-link-in-the-helper-text-of-an-option.tsx"; +import { SetAMaxWidthOnALongRadioItem } from "@examples/set-a-max-width-on-a-long-radio-item.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; export default function RadioExamples () { @@ -10,13 +12,13 @@ export default function RadioExamples () { exampleTitle="Include a link in the helper text of an option" figmaExample="https://www.figma.com/design/aIRjvBzpIUH0GbkffjbL04/%E2%9D%96-Patterns-library-%7C-DDD?node-id=6311-133375&t=X0IQW5flDDaj8Vyg-4"> - + - + ); } diff --git a/src/examples/filter-chip/FilterChipDeleteEventExample.tsx b/src/examples/remove-a-filter.tsx similarity index 97% rename from src/examples/filter-chip/FilterChipDeleteEventExample.tsx rename to src/examples/remove-a-filter.tsx index d1cf464d6..664bc5f5e 100644 --- a/src/examples/filter-chip/FilterChipDeleteEventExample.tsx +++ b/src/examples/remove-a-filter.tsx @@ -4,7 +4,7 @@ import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; import { useContext, useState } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const FilterChipDeleteEventExample = () => { +export const RemoveAFilter = () => { const {version} = useContext(LanguageVersionContext); const [chips, setChips] = useState(["Chip 1", "Chip 2", "Chip 3"]); const deleteChip = (chip: string) => { @@ -111,3 +111,5 @@ export const FilterChipDeleteEventExample = () => { ) } + +export default RemoveAFilter; diff --git a/src/examples/modal/ModalBasicExample.tsx b/src/examples/require-user-action-before-continuing.tsx similarity index 98% rename from src/examples/modal/ModalBasicExample.tsx rename to src/examples/require-user-action-before-continuing.tsx index 0ae259c33..822f749ed 100644 --- a/src/examples/modal/ModalBasicExample.tsx +++ b/src/examples/require-user-action-before-continuing.tsx @@ -4,7 +4,7 @@ import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; import { useContext, useState } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const ModalBasicExample = () => { +export const RequireUserActionBeforeContinuing = () => { const {version} = useContext(LanguageVersionContext); const [basicModalOpen, setBasicModalOpen] = useState(); return ( @@ -152,3 +152,5 @@ export const ModalBasicExample = () => { ) } + +export default RequireUserActionBeforeContinuing; diff --git a/src/examples/date-picker/DatePickerResetExample.tsx b/src/examples/reset-date-picker-field.tsx similarity index 99% rename from src/examples/date-picker/DatePickerResetExample.tsx rename to src/examples/reset-date-picker-field.tsx index 97f57f657..009dca0f7 100644 --- a/src/examples/date-picker/DatePickerResetExample.tsx +++ b/src/examples/reset-date-picker-field.tsx @@ -5,7 +5,7 @@ import { GoabDatePickerOnChangeDetail } from "@abgov/ui-components-common"; import { useContext, useState } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const DatePickerResetExample = () => { +export const ResetDatePickerField = () => { const {version} = useContext(LanguageVersionContext); const [date, setDate] = useState(); @@ -251,3 +251,5 @@ export const DatePickerResetExample = () => { ) } + +export default ResetDatePickerField; diff --git a/src/examples/result-page/result-page-example.css b/src/examples/result-page/result-page-example.css deleted file mode 100644 index 0c6cb13de..000000000 --- a/src/examples/result-page/result-page-example.css +++ /dev/null @@ -1,4 +0,0 @@ -.result-page-example .page-header h2 { - margin-top: 0; - margin-bottom: 0; -} diff --git a/src/examples/result-page/ResultPageExamples.tsx b/src/examples/results-page.tsx similarity index 93% rename from src/examples/result-page/ResultPageExamples.tsx rename to src/examples/results-page.tsx index 572249381..2cc413e7a 100644 --- a/src/examples/result-page/ResultPageExamples.tsx +++ b/src/examples/results-page.tsx @@ -1,23 +1,12 @@ import { Sandbox } from "@components/sandbox"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -import "./result-page-example.css"; import { GoabBlock, GoabCallout } from "@abgov/react-components"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export function ResultPageExamples() { +export function ResultsPage() { const {version} = useContext(LanguageVersionContext); return ( -
-
-

Result page

- - View in Figma - -
{/*CSS Code Snippet*/} -
); } + +export default ResultsPage; diff --git a/src/examples/reveal-more-information-to-help-answer-a-question.tsx b/src/examples/reveal-more-information-to-help-answer-a-question.tsx new file mode 100644 index 000000000..cd6d2cec8 --- /dev/null +++ b/src/examples/reveal-more-information-to-help-answer-a-question.tsx @@ -0,0 +1,73 @@ +import { Sandbox } from "@components/sandbox"; +import "./question-page/question-page-examples.css"; +import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; +import { + GoabButton, GoabDetails, + GoabFormItem, + GoabRadioGroup, + GoabRadioItem +} from "@abgov/react-components"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; +import { useContext } from "react"; + +export default function RevealMoreInformationToHelpAnswerAQuestion() { + useContext(LanguageVersionContext); + return ( +
+ + + {/* + CSS Code Snippet*/} + ') center center no-repeat; + } + + a.back-link:visited::before, + a.back-link:hover::before { + background: url('data:image/svg+xml,') center center no-repeat; + } + + a.back-link { + margin-top: var(--goa-space-m); + } + `} + /> + + + Back + + + { + }}> + + + + + + +

We ask this question to determine if you are eligible for child care benefits.

+
+ + Save and continue + +
+ +
+ ); +} diff --git a/src/examples/container/ContainerReviewActionExample.tsx b/src/examples/review-and-action.tsx similarity index 98% rename from src/examples/container/ContainerReviewActionExample.tsx rename to src/examples/review-and-action.tsx index 131e8100c..79d5b8f9d 100644 --- a/src/examples/container/ContainerReviewActionExample.tsx +++ b/src/examples/review-and-action.tsx @@ -1,4 +1,4 @@ -import "./container-review-action-example.css"; +import "./container/container-review-action-example.css"; import { Sandbox } from "@components/sandbox"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; import { @@ -11,7 +11,7 @@ import { import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const ContainerReviewActionExample = () => { +export const ReviewAndAction = () => { const {version} = useContext(LanguageVersionContext); return ( @@ -182,3 +182,5 @@ export const ContainerReviewActionExample = () => { ) } + +export default ReviewAndAction; diff --git a/src/examples/review-page/ReviewPageExamples.tsx b/src/examples/review-page.tsx similarity index 86% rename from src/examples/review-page/ReviewPageExamples.tsx rename to src/examples/review-page.tsx index dd5b5c827..6049821fc 100644 --- a/src/examples/review-page/ReviewPageExamples.tsx +++ b/src/examples/review-page.tsx @@ -1,21 +1,10 @@ import { Sandbox } from "@components/sandbox"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -import "./review-page-example.css"; import { GoabButton, GoabButtonGroup, GoabTable } from "@abgov/react-components"; -export function ReviewPageExamples() { +export function ReviewPage() { return ( -
-
-

Review page

- - View in Figma - -
{/*CSS Code Snippet*/} Back to application overview -
); } + +export default ReviewPage; diff --git a/src/examples/review-page/review-page-example.css b/src/examples/review-page/review-page-example.css deleted file mode 100644 index 21a1d4420..000000000 --- a/src/examples/review-page/review-page-example.css +++ /dev/null @@ -1,8 +0,0 @@ -.review-page-example h2.section-title { - margin-top: 0; - margin-bottom: 0; -} -.review-page-example h2.section-title + h3 { - margin-top: var(--goa-space-l); - color: var(--goa-color-text-secondary); -} diff --git a/src/examples/text-field/TextFieldSearchExample.tsx b/src/examples/search.tsx similarity index 98% rename from src/examples/text-field/TextFieldSearchExample.tsx rename to src/examples/search.tsx index af41377aa..7fddace6c 100644 --- a/src/examples/text-field/TextFieldSearchExample.tsx +++ b/src/examples/search.tsx @@ -4,7 +4,7 @@ import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -export const TextFieldSearchExample = () => { +export const Search = () => { const {version} = useContext(LanguageVersionContext); const noop = () => {} return ( @@ -89,3 +89,5 @@ export const TextFieldSearchExample = () => { ); } + +export default Search; diff --git a/src/examples/checkbox/CheckboxNoneOrManyExample.tsx b/src/examples/select-one-any-all-or-no-options-from-a-list.tsx similarity index 98% rename from src/examples/checkbox/CheckboxNoneOrManyExample.tsx rename to src/examples/select-one-any-all-or-no-options-from-a-list.tsx index 9dff6aadf..7e99168ad 100644 --- a/src/examples/checkbox/CheckboxNoneOrManyExample.tsx +++ b/src/examples/select-one-any-all-or-no-options-from-a-list.tsx @@ -4,7 +4,7 @@ import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export default function CheckboxNoneOrManyExample () { +export default function SelectOneAnyAllOrNoOptionsFromAList() { const {version} = useContext(LanguageVersionContext); return ( <> diff --git a/src/examples/radio/RadioMaxWidthExample.tsx b/src/examples/set-a-max-width-on-a-long-radio-item.tsx similarity index 96% rename from src/examples/radio/RadioMaxWidthExample.tsx rename to src/examples/set-a-max-width-on-a-long-radio-item.tsx index fe9041fea..0f1ce1aa4 100644 --- a/src/examples/radio/RadioMaxWidthExample.tsx +++ b/src/examples/set-a-max-width-on-a-long-radio-item.tsx @@ -4,7 +4,7 @@ import { useContext, useState } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -export const RadioMaxWidthExample = () => { +export const SetAMaxWidthOnALongRadioItem = () => { const {version} = useContext(LanguageVersionContext); const [selectOne, setSelectOne] = useState("1"); return ( @@ -59,4 +59,7 @@ export const RadioMaxWidthExample = () => { ); + }; + +export default SetAMaxWidthOnALongRadioItem; diff --git a/src/examples/tabs/TabsSetSpecificTabActiveExample.tsx b/src/examples/set-a-specific-tab-to-be-active.tsx similarity index 98% rename from src/examples/tabs/TabsSetSpecificTabActiveExample.tsx rename to src/examples/set-a-specific-tab-to-be-active.tsx index 013e24101..4410d26ec 100644 --- a/src/examples/tabs/TabsSetSpecificTabActiveExample.tsx +++ b/src/examples/set-a-specific-tab-to-be-active.tsx @@ -3,7 +3,7 @@ import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -export const TabsSetSpecificTabActiveExample = () => { +export const SetASpecificTabToBeActive = () => { const review = [0, 1, 2, 3]; const complete = [0, 1]; const {version} = useContext(LanguageVersionContext); @@ -12,7 +12,7 @@ export const TabsSetSpecificTabActiveExample = () => { <>
- + @@ -113,7 +113,7 @@ export const TabsSetSpecificTabActiveExample = () => { tags="angular" allowCopy={true} code={` - +
All
@@ -208,7 +208,7 @@ export const TabsSetSpecificTabActiveExample = () => { tags="angular" allowCopy={true} code={` - + @@ -312,7 +312,7 @@ export const TabsSetSpecificTabActiveExample = () => { tags="react" allowCopy={true} code={` - + @@ -411,7 +411,7 @@ export const TabsSetSpecificTabActiveExample = () => { tags="react" allowCopy={true} code={` - + @@ -508,3 +508,5 @@ export const TabsSetSpecificTabActiveExample = () => { ) } + +export default SetASpecificTabToBeActive; diff --git a/src/examples/form-stepper/FormStepperStepStatusExample.tsx b/src/examples/set-the-status-of-step-on-a-form-stepper.tsx similarity index 98% rename from src/examples/form-stepper/FormStepperStepStatusExample.tsx rename to src/examples/set-the-status-of-step-on-a-form-stepper.tsx index 44ded66f2..6b0486699 100644 --- a/src/examples/form-stepper/FormStepperStepStatusExample.tsx +++ b/src/examples/set-the-status-of-step-on-a-form-stepper.tsx @@ -12,7 +12,7 @@ import { useContext, useState } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { GoabFormStepStatus } from "@abgov/ui-components-common"; -export const FormStepperStepStatusExample = () => { +export const SetTheStatusOfStepOnAFormStepper = () => { const {version} = useContext(LanguageVersionContext); const [statusStep, setStatusStep] = useState(-1); const status: GoabFormStepStatus[] = ["complete", "complete", "incomplete", "incomplete"]; @@ -239,3 +239,5 @@ export const FormStepperStepStatusExample = () => { ) } + +export default SetTheStatusOfStepOnAFormStepper; diff --git a/src/examples/tooltip/TooltipShowLabelForIconOnlyButtonExample.tsx b/src/examples/show-a-label-on-an-icon-only-button.tsx similarity index 86% rename from src/examples/tooltip/TooltipShowLabelForIconOnlyButtonExample.tsx rename to src/examples/show-a-label-on-an-icon-only-button.tsx index 07f9444fa..d0939876f 100644 --- a/src/examples/tooltip/TooltipShowLabelForIconOnlyButtonExample.tsx +++ b/src/examples/show-a-label-on-an-icon-only-button.tsx @@ -1,7 +1,7 @@ import { Sandbox } from "@components/sandbox"; import { GoabButtonGroup, GoabIconButton, GoabTooltip } from "@abgov/react-components"; -export const TooltipShowLabelForIconOnlyButtonExample = () => { +export const ShowALabelOnAnIconOnlyButton = () => { return ( @@ -18,3 +18,5 @@ export const TooltipShowLabelForIconOnlyButtonExample = () => { ) } + +export default ShowALabelOnAnIconOnlyButton; diff --git a/src/examples/details/DetailsAdditionalInformationHelpUserExample.tsx b/src/examples/show-a-list-to-help-answer-a-question.tsx similarity index 96% rename from src/examples/details/DetailsAdditionalInformationHelpUserExample.tsx rename to src/examples/show-a-list-to-help-answer-a-question.tsx index 92e32e966..c3a4c57db 100644 --- a/src/examples/details/DetailsAdditionalInformationHelpUserExample.tsx +++ b/src/examples/show-a-list-to-help-answer-a-question.tsx @@ -4,7 +4,7 @@ import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const DetailsAdditionalInformationHelpUserExample = () => { +export const ShowAListToHelpAnswerAQuestion = () => { const {version} = useContext(LanguageVersionContext); const noop = () => {} @@ -77,3 +77,5 @@ export const DetailsAdditionalInformationHelpUserExample = () => { ) } + +export default ShowAListToHelpAnswerAQuestion; diff --git a/src/examples/show-a-section-title-on-a-question-page.tsx b/src/examples/show-a-section-title-on-a-question-page.tsx new file mode 100644 index 000000000..816e3eade --- /dev/null +++ b/src/examples/show-a-section-title-on-a-question-page.tsx @@ -0,0 +1,74 @@ +import { Sandbox } from "@components/sandbox"; +import "./question-page/question-page-examples.css"; +import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; +import { + GoabButton, + GoabFormItem, + GoabRadioGroup, + GoabRadioItem +} from "@abgov/react-components"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; +import { useContext } from "react"; + +export default function QuestionPage() { + useContext(LanguageVersionContext); + return ( +
+ + + {/*CSS Code Snippet*/} + ') center center no-repeat; + } + + a.back-link:visited::before, + a.back-link:hover::before { + background: url('data:image/svg+xml,') center center no-repeat; + } + + a.back-link { + margin-top: var(--goa-space-m); + } + + h3.section-title { + margin-bottom: 0; + color: var(--goa-color-text-secondary); + } + + a.back-link + h3 { + margin-top: var(--goa-space-2xl); + } + `} + /> + + + Back + +

Personal information

+ + { + }}> + + + + + + Save and continue + +
+ +
+ ); +} diff --git a/src/examples/show-a-simple-progress-indicator-on-a-question-page-with-multiple-questions.tsx b/src/examples/show-a-simple-progress-indicator-on-a-question-page-with-multiple-questions.tsx new file mode 100644 index 000000000..36033433a --- /dev/null +++ b/src/examples/show-a-simple-progress-indicator-on-a-question-page-with-multiple-questions.tsx @@ -0,0 +1,222 @@ +import { Sandbox } from "@components/sandbox"; +import "./question-page/question-page-examples.css"; +import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; +import { + GoabButton, + GoabFormItem, + GoabInput +} from "@abgov/react-components"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; +import { useContext } from "react"; + +export default function QuestionPage() { + const { version } = useContext(LanguageVersionContext); + return ( +
+ + + {/*CSS Code Snippet*/} + ') center center no-repeat; + } + + a.back-link:visited::before, + a.back-link:hover::before { + background: url('data:image/svg+xml,') center center no-repeat; + } + + a.back-link { + margin-top: var(--goa-space-m); + } + + h3.section-title { + margin-bottom: 0; + color: var(--goa-color-text-secondary); + } + + a.back-link + h3 { + margin-top: var(--goa-space-2xl); + } + + h3.section-title + h2 { + margin-top: var(--goa-space-xs); + } + `} + /> + + {/*Angular Code Snippet - need for leadingContent slot*/} + + {version === "old" && + Back + +

+ Step 1 of 5 +

+

+ Personal information +

+ + + + + +
+1
+
+
+ + + + + Save and continue + + `} + />} + + {version === "new" && + Back + +

+ Step 1 of 5 +

+

+ Personal information +

+ + + + + +
+1
+
+
+ + + + + Save and continue + + `} + />} + + {/*React Code Snippet - need for leadingContent slot*/} + {version === "old" && + Back + +

Step 1 of 5

+

Personal information

+ + {}} name="name" ariaLabel="what is your name?" width="50ch" /> + + + {}} + name="phone-number" + ariaLabel="what is your phone number?" + leadingContent="+1" + /> + + + {}} + name="postal-code" + width="14ch" + ariaLabel="what is your home postal code"> + + + Save and continue + + `} + />} + + {version === "new" && + Back + +

Step 1 of 5

+

Personal information

+ + {}} name="name" ariaLabel="what is your name?" width="50ch" /> + + + {}} + name="phone-number" + ariaLabel="what is your phone number?" + leadingContent="+1" + /> + + + {}} + name="postal-code" + width="14ch" + ariaLabel="what is your home postal code"> + + + Save and continue + + `} + />} + + + Back + +

Step 1 of 5

+

Personal information

+ + + { + }} name="name" ariaLabel="what is your name?" width="50ch" /> + + + { + }} + name="phone-number" + ariaLabel="what is your phone number?" + leadingContent="+1" + /> + + + { + }} + name="postal-code" + width="14ch" + ariaLabel="what is your home postal code"> + + + Save and continue + +
+
+ ); +} diff --git a/src/examples/show-a-simple-progress-indicator-on-a-question-page.tsx b/src/examples/show-a-simple-progress-indicator-on-a-question-page.tsx new file mode 100644 index 000000000..0f5a9f263 --- /dev/null +++ b/src/examples/show-a-simple-progress-indicator-on-a-question-page.tsx @@ -0,0 +1,73 @@ +import { Sandbox } from "@components/sandbox"; +import "./question-page/question-page-examples.css"; +import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; +import { + GoabButton, + GoabFormItem, + GoabRadioGroup, + GoabRadioItem +} from "@abgov/react-components"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; +import { useContext } from "react"; + +export default function QuestionPage() { + useContext(LanguageVersionContext); + return ( +
+ + + {/*CSS Code Snippet*/} + ') center center no-repeat; + } + + a.back-link:visited::before, + a.back-link:hover::before { + background: url('data:image/svg+xml,') center center no-repeat; + } + + a.back-link { + margin-top: var(--goa-space-m); + } + + a.back-link + h3 { + margin-top: var(--goa-space-2xl); + } + `} + /> + + Back + +

Question 3 of 9

+ + { + }}> + + + + + + Save and continue + +
+ +
+ ); +} diff --git a/src/examples/tabs/TabsDifferentViewsTableExample.tsx b/src/examples/show-different-views-of-data-in-a-table.tsx similarity index 99% rename from src/examples/tabs/TabsDifferentViewsTableExample.tsx rename to src/examples/show-different-views-of-data-in-a-table.tsx index 063442ced..446867320 100644 --- a/src/examples/tabs/TabsDifferentViewsTableExample.tsx +++ b/src/examples/show-different-views-of-data-in-a-table.tsx @@ -3,7 +3,7 @@ import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -export const TabsDifferentViewsTableExample = () => { +export const ShowDifferentViewsOfDataInATable = () => { const review = [0, 1, 2, 3]; const complete = [0, 1]; const {version} = useContext(LanguageVersionContext); @@ -12,7 +12,7 @@ export const TabsDifferentViewsTableExample = () => { <>
- + @@ -398,7 +398,7 @@ export const TabsDifferentViewsTableExample = () => { tags="react" allowCopy={true} code={` - + @@ -497,3 +497,5 @@ export const TabsDifferentViewsTableExample = () => { ) } + +export default ShowDifferentViewsOfDataInATable; diff --git a/src/examples/tooltip/TooltipShowFullDateExample.tsx b/src/examples/show-full-date-in-a-tooltip.tsx similarity index 98% rename from src/examples/tooltip/TooltipShowFullDateExample.tsx rename to src/examples/show-full-date-in-a-tooltip.tsx index 49dfd035f..b4ac6f493 100644 --- a/src/examples/tooltip/TooltipShowFullDateExample.tsx +++ b/src/examples/show-full-date-in-a-tooltip.tsx @@ -4,7 +4,7 @@ import { GoabContainer, GoabTooltip } from "@abgov/react-components"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const TooltipShowFullDateExample = () => { +export const ShowFullDateInATooltip = () => { const {version} = useContext(LanguageVersionContext); return ( @@ -109,3 +109,5 @@ export const TooltipShowFullDateExample = () => { ) } + +export default ShowFullDateInATooltip; diff --git a/src/examples/app-footer/AppFooterShowNavigationItemsExample.tsx b/src/examples/show-links-to-navigation-items.tsx similarity index 98% rename from src/examples/app-footer/AppFooterShowNavigationItemsExample.tsx rename to src/examples/show-links-to-navigation-items.tsx index 6e37da23a..9234e49e3 100644 --- a/src/examples/app-footer/AppFooterShowNavigationItemsExample.tsx +++ b/src/examples/show-links-to-navigation-items.tsx @@ -17,7 +17,7 @@ type CastingType = { [key: string]: unknown; }; -export const AppFooterShowNavigationItemsExample = () => { +export const ShowLinksToNavigationItems = () => { const {version} = useContext(LanguageVersionContext); const [appFooterNavBindings, setAppFooterNavBindings] = useState([ @@ -201,3 +201,5 @@ export const AppFooterShowNavigationItemsExample = () => { ) } + +export default ShowLinksToNavigationItems; diff --git a/src/examples/details/DetailsMoreInformationBasicQuestionExample.tsx b/src/examples/show-more-information-to-help-answer-a-question.tsx similarity index 93% rename from src/examples/details/DetailsMoreInformationBasicQuestionExample.tsx rename to src/examples/show-more-information-to-help-answer-a-question.tsx index e24e9ec90..93fbf0e21 100644 --- a/src/examples/details/DetailsMoreInformationBasicQuestionExample.tsx +++ b/src/examples/show-more-information-to-help-answer-a-question.tsx @@ -4,7 +4,7 @@ import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -export const DetailsMoreInformationBasicQuestionExample = () => { +export const ShowMoreInformationToHelpAnswerAQuestion = () => { const {version} = useContext(LanguageVersionContext); return ( @@ -51,3 +51,5 @@ export const DetailsMoreInformationBasicQuestionExample = () => { ) } + +export default ShowMoreInformationToHelpAnswerAQuestion; diff --git a/src/examples/show-number-of-results-per-page.tsx b/src/examples/show-number-of-results-per-page.tsx new file mode 100644 index 000000000..6764a0140 --- /dev/null +++ b/src/examples/show-number-of-results-per-page.tsx @@ -0,0 +1,576 @@ +import { Sandbox } from "@components/sandbox"; +import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; +import { + GoabBlock, + GoabDropdown, + GoabDropdownItem, + GoabPagination, + GoabSpacer, + GoabTable +} from "@abgov/react-components"; +import { useContext, useEffect, useState } from "react"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; +import { GoabDropdownOnChangeDetail } from "@abgov/ui-components-common"; +import { faker } from "@faker-js/faker"; + +interface User { + id: string; + firstName: string; + lastName: string; + age: number; +} + +export default function ShowResultsPerPageExample() { + const { version } = useContext(LanguageVersionContext); + const [users, setUsers] = useState([]); + const [pageUsers, setPageUsers] = useState([]); + const [page, setPage] = useState(1); + const [perPage, setPerPage] = useState(10); + + useEffect(() => { + const _users = []; + for (let i = 1; i <= 100; i++) { + _users.push({ + id: faker.string.uuid(), + firstName: faker.person.firstName(), + lastName: faker.person.lastName(), + age: faker.number.int({ min: 18, max: 60 }) + }); + } + setUsers(_users); + setPageUsers(_users.slice(0, perPage)); + }, [perPage]); + + function changePage(newPage: number) { + const offset = (newPage - 1) * perPage; + const _users = users.slice(offset, offset + perPage); + setPage(newPage); + setPageUsers(_users); + } + + function handlePerPageCountChangeEvent(event: GoabDropdownOnChangeDetail) { + const perPageValue = parseInt(event.value || "1"); + setPage(1); + setPerPage(perPageValue); + const _users = users.slice(0, perPageValue); + setPageUsers(_users); + } + + return ( + <> + + + {/*============= React code ==============*/} + {version === "old" && ( + ([]); + const [pageUsers, setPageUsers] = useState([]); + const [page, setPage] = useState(1); + const [perPage, setPerPage] = useState(10); + + useEffect(() => { + const _users = []; + for (let i = 1; i <= 100; i++) { + _users.push({ + id: faker.datatype.uuid(), + firstName: faker.name.firstName(), + lastName: faker.name.lastName(), + age: faker.datatype.number({ min: 18, max: 60 }), + }); + } + setUsers(_users); + setPageUsers(_users.slice(0, perPage)); + }, [perPage]); + + function changePage(newPage: number) { + const offset = (newPage - 1) * 10; + const _users = users.slice(offset, offset + perPage); + setPage(newPage); + setPageUsers(_users); + } + + function handlePerPageCountChangeEvent(name: string, value: string | string[]) { + const perPageValue = Array.isArray(value) ? parseInt(value[0]) : parseInt(value); + setPage(1); + setPerPage(perPageValue); + const _users = users.slice(0, perPageValue); + setPageUsers(_users); + } + `} + /> + )} + + {version === "new" && ( + ([]); + const [pageUsers, setPageUsers] = useState([]); + const [page, setPage] = useState(1); + const [perPage, setPerPage] = useState(10); + + useEffect(() => { + const _users = []; + for (let i = 1; i <= 100; i++) { + _users.push({ + id: faker.string.uuid(), + firstName: faker.person.firstName(), + lastName: faker.person.lastName(), + age: faker.number.int({ min: 18, max: 60 }), + }); + } + setUsers(_users); + setPageUsers(_users.slice(0, perPage)); + }, [perPage]); + + function changePage(newPage: number) { + const offset = (newPage - 1) * 10; + const _users = users.slice(offset, offset + perPage); + setPage(newPage); + setPageUsers(_users); + } + + function handlePerPageCountChangeEvent(event: GoabDropdownOnChangeDetail) { + const perPageValue = parseInt(event.value || '1'); + setPage(1); + setPerPage(perPageValue); + const _users = users.slice(0, perPageValue); + setPageUsers(_users); + } + `} + /> + )} + + {version === "old" && ( + + + + First name + Last name + Age + + + + {pageUsers.map((u) => ( + + {u.firstName} + {u.lastName} + {u.age} + + ))} + + + + + + Show + + + + + + of {users.length} + + + + + + + `} + /> + )} + + {version === "new" && ( + + + + First name + Last name + Age + + + + {pageUsers.map((u) => ( + + {u.firstName} + {u.lastName} + {u.age} + + ))} + + + + + + Show + + + + + + of {users.length} + + + + + changePage(event.page)} + /> + + `} + /> + )} + + {/*================ Angular code ==================*/} + {version === "old" && ( + + )} + + {version === "new" && ( + + )} + + {version === "old" && ( + + + + First name + Last name + Age + + + + + {{ user.firstName }} + {{ user.lastName }} + {{ user.age }} + + + + + + + Show + + + + + + + + + + + + + + of {{ this.users.length }} + + + + + + + + + `} + /> + )} + + {version === "new" && ( + + + + First name + Last name + Age + + + + + {{ user.firstName }} + {{ user.lastName }} + {{ user.age }} + + + + + + + Show + + + + + + + + + + + + + of {{ this.users.length }} + + + + + + + + `} + /> + )} + + + + + First name + Last name + Age + + + + {pageUsers.map(u => ( + + {u.firstName} + {u.lastName} + {u.age} + + ))} + + + + + + Show + + {[10, 20, 30].map(value => ( + + ))} + + per page + + + + changePage(event.page)} + /> + + + + ); +} \ No newline at end of file diff --git a/src/examples/app-footer/AppFooterShowQuickLinkExample.tsx b/src/examples/show-quick-links.tsx similarity index 98% rename from src/examples/app-footer/AppFooterShowQuickLinkExample.tsx rename to src/examples/show-quick-links.tsx index f62cd2baa..06448d04e 100644 --- a/src/examples/app-footer/AppFooterShowQuickLinkExample.tsx +++ b/src/examples/show-quick-links.tsx @@ -4,7 +4,7 @@ import { GoabAppFooter, GoabAppFooterMetaSection } from "@abgov/react-components import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const AppFooterShowQuickLinkExample = () => { +export const ShowQuickLinks = () => { const {version} = useContext(LanguageVersionContext); return ( @@ -118,3 +118,5 @@ export const AppFooterShowQuickLinkExample = () => { ) } + +export default ShowQuickLinks; diff --git a/src/examples/badge/BadgeShowStatusInTableExample.tsx b/src/examples/show-status-in-a-table.tsx similarity index 99% rename from src/examples/badge/BadgeShowStatusInTableExample.tsx rename to src/examples/show-status-in-a-table.tsx index 1e633f38b..7b6f56499 100644 --- a/src/examples/badge/BadgeShowStatusInTableExample.tsx +++ b/src/examples/show-status-in-a-table.tsx @@ -5,7 +5,7 @@ import { GoabBadgeType } from "@abgov/ui-components-common"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { useContext } from "react"; -export const BadgeShowStatusInTableExample = () => { +export const ShowStatusInATable = () => { const noop = () => {}; const {version} = useContext(LanguageVersionContext); const badgeValues = [ @@ -328,3 +328,5 @@ export const BadgeShowStatusInTableExample = () => { ) } + +export default ShowStatusInATable; diff --git a/src/examples/badge/BadgeShowStatusOnCardExample.tsx b/src/examples/show-status-on-a-card.tsx similarity index 97% rename from src/examples/badge/BadgeShowStatusOnCardExample.tsx rename to src/examples/show-status-on-a-card.tsx index 66ff7288a..4e032182f 100644 --- a/src/examples/badge/BadgeShowStatusOnCardExample.tsx +++ b/src/examples/show-status-on-a-card.tsx @@ -4,7 +4,7 @@ import { GoabBadge, GoabContainer } from "@abgov/react-components"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const BadgeShowStatusOnCardExample = () => { +export const ShowStatusOnACard = () => { const {version} = useContext(LanguageVersionContext); return ( @@ -78,3 +78,5 @@ export const BadgeShowStatusOnCardExample = () => { ) } + +export default ShowStatusOnACard; diff --git a/src/examples/show-version-number.tsx b/src/examples/show-version-number.tsx new file mode 100644 index 000000000..2c16a9e97 --- /dev/null +++ b/src/examples/show-version-number.tsx @@ -0,0 +1,22 @@ +import { GoabMicrositeHeader } from "@abgov/react-components"; +import { Sandbox } from "@components/sandbox"; + +export default function ShowVersionNumberExample() { + + return ( + <> + + {/* ...React + Angular code snippets here (same as original)... */} + + Slotted version text. + v1.23 + + } + /> + + + ); +} \ No newline at end of file diff --git a/src/examples/form-item/FormItemSlottedErrorTextExample.tsx b/src/examples/slotted-error-text-in-a-form-item.tsx similarity index 97% rename from src/examples/form-item/FormItemSlottedErrorTextExample.tsx rename to src/examples/slotted-error-text-in-a-form-item.tsx index 7450f1805..bcfc15268 100644 --- a/src/examples/form-item/FormItemSlottedErrorTextExample.tsx +++ b/src/examples/slotted-error-text-in-a-form-item.tsx @@ -4,7 +4,7 @@ import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const FormItemSlottedErrorTextExample = () => { +export const SlottedErrorTextInAFormItem = () => { const { version } = useContext(LanguageVersionContext); const errorReactNode: React.ReactNode = ( <> @@ -118,3 +118,5 @@ export const FormItemSlottedErrorTextExample = () => { ); }; + +export default SlottedErrorTextInAFormItem; \ No newline at end of file diff --git a/src/examples/form-item/FormItemSlottedHelperTextExample.tsx b/src/examples/slotted-helper-text-in-a-form-item.tsx similarity index 96% rename from src/examples/form-item/FormItemSlottedHelperTextExample.tsx rename to src/examples/slotted-helper-text-in-a-form-item.tsx index 1ecfb1a65..e00e4e7fa 100644 --- a/src/examples/form-item/FormItemSlottedHelperTextExample.tsx +++ b/src/examples/slotted-helper-text-in-a-form-item.tsx @@ -4,7 +4,7 @@ import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const FormItemSlottedHelperTextExample = () => { +export const SlottedHelperTextInAFormItem = () => { const {version} = useContext(LanguageVersionContext); const noop = () => {} const reactNode = <>This is slotted help text.; @@ -94,3 +94,5 @@ export const FormItemSlottedHelperTextExample = () => { ) } + +export default SlottedHelperTextInAFormItem; diff --git a/src/examples/start-page/StartPageExamples.tsx b/src/examples/start-page.tsx similarity index 95% rename from src/examples/start-page/StartPageExamples.tsx rename to src/examples/start-page.tsx index 681524ed6..1dda4cf9d 100644 --- a/src/examples/start-page/StartPageExamples.tsx +++ b/src/examples/start-page.tsx @@ -3,24 +3,13 @@ import { GoabButton, } from "@abgov/react-components"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -import "./start-page-example.css"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export function StartPageExamples() { +export function StartPage() { const {version} = useContext(LanguageVersionContext); return ( -
-
-

Start page from Alberta.ca

- - View in Figma - -
For assistance, email us at  help@gov.ab.ca

-
); } + +export default StartPage; diff --git a/src/examples/start-page/start-page-example.css b/src/examples/start-page/start-page-example.css deleted file mode 100644 index 5eef5e757..000000000 --- a/src/examples/start-page/start-page-example.css +++ /dev/null @@ -1,10 +0,0 @@ -.start-page-example h1.page-title { - margin-bottom: var(--goa-space-l); -} -.start-page-example h2 { - margin-top: var(--goa-space-xl); - margin-bottom: 0; -} -.start-page-example h2 + p { - margin-top: var(--goa-space-l); -} diff --git a/src/examples/tabs/TabsExamples.tsx b/src/examples/tabs/TabsExamples.tsx index b5cd77c45..06f06ee8f 100644 --- a/src/examples/tabs/TabsExamples.tsx +++ b/src/examples/tabs/TabsExamples.tsx @@ -1,5 +1,5 @@ -import { TabsDifferentViewsTableExample } from "@examples/tabs/TabsDifferentViewsTableExample.tsx"; -import { TabsSetSpecificTabActiveExample } from "@examples/tabs/TabsSetSpecificTabActiveExample.tsx"; +import { ShowDifferentViewsOfDataInATable } from "@examples/show-different-views-of-data-in-a-table.tsx"; +import { SetASpecificTabToBeActive } from "@examples/set-a-specific-tab-to-be-active.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; export const TabsExamples = () => { @@ -9,13 +9,13 @@ export const TabsExamples = () => { exampleTitle="Show different views of data in a table" figmaExample="https://www.figma.com/design/aIRjvBzpIUH0GbkffjbL04/%E2%9D%96-Patterns-library-%7C-DDD?node-id=6311-135722&t=X0IQW5flDDaj8Vyg-4"> - + - + ) diff --git a/src/examples/task-list-page/TaskListPageExamples.tsx b/src/examples/task-list-page.tsx similarity index 88% rename from src/examples/task-list-page/TaskListPageExamples.tsx rename to src/examples/task-list-page.tsx index b0cc6b96a..067ec2720 100644 --- a/src/examples/task-list-page/TaskListPageExamples.tsx +++ b/src/examples/task-list-page.tsx @@ -1,17 +1,10 @@ import { Sandbox } from "@components/sandbox"; import { GoabBadge, GoabCallout, GoabTable } from "@abgov/react-components"; -import "./task-list-page-example.css"; +import "./task-list-page/task-list-page-example.css"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -export function TaskListPageExamples() { +export function TaskListPage() { return ( -
-
-

Task list page

- - View in Figma - -
{/*CSS Code Snippet*/} @@ -122,6 +115,7 @@ export function TaskListPageExamples() { -
); } + +export default TaskListPage; diff --git a/src/examples/text-field/TextFieldExamples.tsx b/src/examples/text-field/TextFieldExamples.tsx index 53d74ebe5..69a1cefd8 100644 --- a/src/examples/text-field/TextFieldExamples.tsx +++ b/src/examples/text-field/TextFieldExamples.tsx @@ -1,11 +1,11 @@ -import { TextFieldAskBirthdayExample } from "@examples/text-field/TextFieldAskBirthdayExample.tsx"; -import { TextFieldSearchExample } from "@examples/text-field/TextFieldSearchExample.tsx"; -import { TextFieldAskUserAmountExample } from "@examples/text-field/TextFieldAskUserAmountExample.tsx"; +import { AskAUserForABirthday } from "@examples/ask-a-user-for-a-birthday.tsx"; +import { Search } from "@examples/search.tsx"; +import { AskAUserForDollarAmounts } from "@examples/ask-a-user-for-dollar-amounts.tsx"; import { - TextFieldAskUserIndianRegistrationExample -} from "@examples/text-field/TextFieldAskUserIndianRegistrationExample.tsx"; + AskAUserForAnIndianRegistrationNumber +} from "@examples/ask-a-user-for-an-indian-registration-number.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; -import { ButtonAskUserAddressExample } from "@examples/button/ButtonAskUserAddressExample.tsx"; +import { AskAUserForAnAddress } from "@examples/ask-a-user-for-an-address.tsx"; export default function TextFieldExamples() { @@ -16,31 +16,31 @@ export default function TextFieldExamples() { exampleTitle="Ask a user for an address" figmaExample="https://www.figma.com/design/aIRjvBzpIUH0GbkffjbL04/%E2%9D%96-Patterns-library-%7C-DDD?node-id=6304-43250&t=X0IQW5flDDaj8Vyg-4"> - + - + - + - + - + ); } diff --git a/src/examples/textarea/TextAreaExamples.tsx b/src/examples/textarea/TextAreaExamples.tsx index ad1d0b7b4..6f6ad93eb 100644 --- a/src/examples/textarea/TextAreaExamples.tsx +++ b/src/examples/textarea/TextAreaExamples.tsx @@ -1,6 +1,6 @@ import { - TextAreaAskQuestionMoreInformationExample -} from "@examples/textarea/TextAreaAskQuestionMoreInformationExample.tsx"; + GiveContextBeforeAskingALongAnswerQuestion +} from "@examples/give-context-before-asking-a-long-answer-question.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; export const TextAreaExamples = () => { @@ -10,7 +10,7 @@ export const TextAreaExamples = () => { exampleTitle="Ask a question and give more information" figmaExample="https://www.figma.com/design/aIRjvBzpIUH0GbkffjbL04/%E2%9D%96-Patterns-library-%7C-DDD?node-id=6311-137633&t=X0IQW5flDDaj8Vyg-4"> - + ) } diff --git a/src/examples/tooltip/TooltipExamples.tsx b/src/examples/tooltip/TooltipExamples.tsx index 0cb27006b..3ee7c7b46 100644 --- a/src/examples/tooltip/TooltipExamples.tsx +++ b/src/examples/tooltip/TooltipExamples.tsx @@ -1,7 +1,7 @@ -import { TooltipShowFullDateExample } from "@examples/tooltip/TooltipShowFullDateExample.tsx"; +import { ShowFullDateInATooltip } from "@examples/show-full-date-in-a-tooltip.tsx"; import { - TooltipShowLabelForIconOnlyButtonExample -} from "@examples/tooltip/TooltipShowLabelForIconOnlyButtonExample.tsx"; + ShowALabelOnAnIconOnlyButton +} from "@examples/show-a-label-on-an-icon-only-button.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; export const TooltipExamples = () => { @@ -12,13 +12,13 @@ export const TooltipExamples = () => { exampleTitle="Show a full date when shortened" figmaExample=""> - + - + {/* This example won't import from styling.ts for some reason...

Click to copy something to your clipboard

diff --git a/src/examples/filter-chip/FilterChipTypedChipExample.tsx b/src/examples/type-to-create-a-new-filter.tsx similarity index 99% rename from src/examples/filter-chip/FilterChipTypedChipExample.tsx rename to src/examples/type-to-create-a-new-filter.tsx index 9c892bcf3..520de6dd0 100644 --- a/src/examples/filter-chip/FilterChipTypedChipExample.tsx +++ b/src/examples/type-to-create-a-new-filter.tsx @@ -4,7 +4,7 @@ import { useContext, useState } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { GoabInputOnChangeDetail, GoabInputOnKeyPressDetail } from "@abgov/ui-components-common"; -export const FilterChipTypedChipExample = () => { +export const TypeToCreateANewFilter = () => { const {version} = useContext(LanguageVersionContext); const [typedChips, setTypedChips] = useState([]); const [inputValue, setInputValue] = useState(""); @@ -323,3 +323,5 @@ export class FilterChipComponent { // ); } + +export default TypeToCreateANewFilter; \ No newline at end of file diff --git a/src/examples/modal/ModalWarnUserDeadlineExample.tsx b/src/examples/warn-a-user-of-a-deadline.tsx similarity index 98% rename from src/examples/modal/ModalWarnUserDeadlineExample.tsx rename to src/examples/warn-a-user-of-a-deadline.tsx index ffb42a4a3..d15c0f066 100644 --- a/src/examples/modal/ModalWarnUserDeadlineExample.tsx +++ b/src/examples/warn-a-user-of-a-deadline.tsx @@ -4,7 +4,7 @@ import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; import { useContext, useState } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export const ModalWarnUserDeadlineExample = () => { +export const WarnAUserOfADeadline = () => { const {version} = useContext(LanguageVersionContext); const [warnCalloutModalOpen, setWarnCalloutModalOpen] = useState(); return ( @@ -156,3 +156,5 @@ export const ModalWarnUserDeadlineExample = () => { ) } + +export default WarnAUserOfADeadline; diff --git a/src/routes/components/AllComponents.tsx b/src/routes/components/AllComponents.tsx index 087644a70..c20b90abb 100644 --- a/src/routes/components/AllComponents.tsx +++ b/src/routes/components/AllComponents.tsx @@ -180,7 +180,8 @@ const AllComponents = () => { Components - Components are reusable parts of the user interface that have been made to support a variety of applications. You can use individual components in many different patterns and contexts. + Reusable parts of the user interface that have been made to support a variety of applications. You can use + individual components in many different patterns and contexts. @@ -211,6 +212,10 @@ const AllComponents = () => { + + + + } @@ -227,6 +232,7 @@ const AllComponents = () => { designSystemUrl={card.designSystemUrl} designComponentFigmaUrl={card.designComponentFigmaUrl} designContributionFigmaUrl={card.designContributionFigmaUrl} + imageFolder="component-thumbnails" /> ))}
diff --git a/src/routes/components/Link.tsx b/src/routes/components/Link.tsx index c8c3d97a4..70f5ad8c0 100644 --- a/src/routes/components/Link.tsx +++ b/src/routes/components/Link.tsx @@ -6,7 +6,7 @@ import { } from "@components/component-properties/ComponentProperties.tsx"; import { Category, ComponentHeader } from "@components/component-header/ComponentHeader.tsx"; import { GoabBadge, GoabTab, GoabTabs, GoabLink } from "@abgov/react-components"; -import { LinkExamples } from "@examples/link/LinkExamples.tsx"; +import LinkExamples from "@examples/link/LinkExamples.tsx"; import { DesignEmpty } from "@components/empty-states/design-empty/DesignEmpty.tsx"; import { AccessibilityEmpty } from "@components/empty-states/accessibility-empty/AccessibilityEmpty.tsx"; import ICONS from "@routes/components/icons.json"; diff --git a/src/routes/components/Table.tsx b/src/routes/components/Table.tsx index f87d87e19..19d0e4059 100644 --- a/src/routes/components/Table.tsx +++ b/src/routes/components/Table.tsx @@ -18,7 +18,7 @@ import { GoabTableProps } from "@abgov/react-components"; import { ComponentContent } from "@components/component-content/ComponentContent"; import { GoabTableOnSortDetail } from "@abgov/ui-components-common"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -import { TableWithGlobalFiltersExample } from "@examples/filter-chip/TableWithGlobalFiltersExample.tsx"; +import { FilterDataInATable } from "@examples/filter-data-in-a-table.tsx"; import { omit } from "lodash"; import { DesignEmpty } from "@components/empty-states/design-empty/DesignEmpty.tsx"; import { AccessibilityEmpty } from "@components/empty-states/accessibility-empty/AccessibilityEmpty.tsx"; @@ -626,7 +626,7 @@ export default function TablePage() { - +
diff --git a/src/routes/content/DateFormat.tsx b/src/routes/content/DateFormat.tsx index deb7bd510..f0b6a9bed 100644 --- a/src/routes/content/DateFormat.tsx +++ b/src/routes/content/DateFormat.tsx @@ -341,12 +341,12 @@ export default function DateFormatPage() { - + - + diff --git a/src/routes/examples/Birthday.tsx b/src/routes/examples/Birthday.tsx index 3514ff530..b2c0e186c 100644 --- a/src/routes/examples/Birthday.tsx +++ b/src/routes/examples/Birthday.tsx @@ -1,10 +1,10 @@ -import { TextFieldAskBirthdayExample } from '@examples/text-field/TextFieldAskBirthdayExample'; +import { AskAUserForABirthday } from "@examples/ask-a-user-for-a-birthday.tsx"; export default function BirthdayExample() { return ( <>

Ask a user for their birthday

- + ); } diff --git a/src/routes/get-started/developers/DevelopersTechnologies.tsx b/src/routes/get-started/developers/DevelopersTechnologies.tsx index 99b6d5641..b5fb2e3b7 100644 --- a/src/routes/get-started/developers/DevelopersTechnologies.tsx +++ b/src/routes/get-started/developers/DevelopersTechnologies.tsx @@ -6,7 +6,7 @@ export default function DevelopersTechnologiesPage() {

Developers

Design system technologies

- +

Web components

diff --git a/src/routes/home.tsx b/src/routes/home.tsx index e50270913..8a0fd45c3 100644 --- a/src/routes/home.tsx +++ b/src/routes/home.tsx @@ -114,7 +114,7 @@ const HomePage = () => { rel="noopener noreferrer" className="no-external-icon" > - Design system workflow diagram diff --git a/src/routes/patterns/ExamplePageTemplate.tsx b/src/routes/patterns/ExamplePageTemplate.tsx index 43a2ab2fd..e05cb3887 100644 --- a/src/routes/patterns/ExamplePageTemplate.tsx +++ b/src/routes/patterns/ExamplePageTemplate.tsx @@ -24,9 +24,7 @@ export default function ExamplePageTemplate() { console.log("Looking for slug:", slug); fetchExampleMetadataFromProject().then(data => { console.log("Fetched metadata:", data); - const match = data.find((item: any) => - item.name?.toLowerCase().replace(/\s+/g, "-") === slug - ); + const match = data.find((item: any) => item.slug === slug); console.log("Matched example:", match); setExample(match); }).catch(error => { diff --git a/src/routes/patterns/PatternsLayout.tsx b/src/routes/patterns/PatternsLayout.tsx index c1a7e2e28..f5f4c7c32 100644 --- a/src/routes/patterns/PatternsLayout.tsx +++ b/src/routes/patterns/PatternsLayout.tsx @@ -17,7 +17,11 @@ export default function PatternsLayout() { All Start page + Task list page Question page + Information page + Review page + Results page Task 1 @@ -32,8 +36,8 @@ export default function PatternsLayout() { E - A - B + Upgrade to the latest component version + Generate a review page from branch form questions diff --git a/src/routes/patterns/PatternsOverview.tsx b/src/routes/patterns/PatternsOverview.tsx index 3229b6fea..647384ac7 100644 --- a/src/routes/patterns/PatternsOverview.tsx +++ b/src/routes/patterns/PatternsOverview.tsx @@ -22,6 +22,7 @@ type ComponentProps = Omit & { openIssuesUrl?: string; metatags?: string[]; url?: string; + slug?: string; }; export default function PatternsOverviewPage() { @@ -33,7 +34,14 @@ export default function PatternsOverviewPage() { const fetchData = async () => { const metadata = await fetchExampleMetadataFromProject(); console.log("Fetched metadata from GitHub:", metadata); - const sorted = metadata.sort((a, b) => { + const withSlugs = metadata.map((item) => ({ + ...item, + slug: item.name + .toLowerCase() + .replace(/[^\w\s-]/g, "") + .replace(/\s+/g, "-") + })); + const sorted = withSlugs.sort((a, b) => { const statusOrder: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; const statusComparison = statusOrder.indexOf(a.status as ComponentStatus) - statusOrder.indexOf(b.status as ComponentStatus); @@ -142,7 +150,7 @@ export default function PatternsOverviewPage() { {card.status === "Published" ? ( - + {toSentenceCase(card.name)} ) : ( @@ -224,6 +232,10 @@ export default function PatternsOverviewPage() { + + + + } @@ -237,9 +249,10 @@ export default function PatternsOverviewPage() { githubLink={card.url} openIssues={issueCounts[card.name]} isNew={card.isNew} - designSystemUrl={`/examples/${card.name.toLowerCase().replace(/\s+/g, "-")}`} + designSystemUrl={`/examples/${card.slug}`} designComponentFigmaUrl={card.designComponentFigmaUrl} designContributionFigmaUrl={card.designContributionFigmaUrl} + imageFolder="example-thumbnails" /> ))}
diff --git a/src/routes/patterns/QuestionPage.tsx b/src/routes/patterns/QuestionPage.tsx index 7c51ce64f..a3bb9b763 100644 --- a/src/routes/patterns/QuestionPage.tsx +++ b/src/routes/patterns/QuestionPage.tsx @@ -3,7 +3,7 @@ import { GoabTabs } from "@abgov/react-components"; import { ComponentContent } from "@components/component-content/ComponentContent"; -import QuestionPageExamples from "@examples/question-page/QuestionPageExamples"; +import QuestionPageExamples from "@examples/question-page/QuestionPageExamples.tsx"; import css from "./patterns.module.css"; export default function QuestionPage() { @@ -19,7 +19,7 @@ export default function QuestionPage() { tocCssQuery="goa-tab[open=true] :is(h2[id], h3[id])"> - + diff --git a/src/routes/patterns/ResultPage.tsx b/src/routes/patterns/ResultPage.tsx index 3daa3261c..b45fc74a1 100644 --- a/src/routes/patterns/ResultPage.tsx +++ b/src/routes/patterns/ResultPage.tsx @@ -4,7 +4,7 @@ import { } from "@abgov/react-components"; import { ComponentContent } from "@components/component-content/ComponentContent"; import css from "./patterns.module.css"; -import { ResultPageExamples } from "@examples/result-page/ResultPageExamples"; +import { ResultsPage } from "@examples/results-page.tsx"; export default function ResultPage() { return ( @@ -18,7 +18,7 @@ export default function ResultPage() { tocCssQuery="goa-tab[open=true] :is(h2[id], h3[id])"> - + diff --git a/src/routes/patterns/ReviewPage.tsx b/src/routes/patterns/ReviewPage.tsx index f21d2e6c5..48b6155c1 100644 --- a/src/routes/patterns/ReviewPage.tsx +++ b/src/routes/patterns/ReviewPage.tsx @@ -4,7 +4,7 @@ import { } from "@abgov/react-components"; import { ComponentContent } from "@components/component-content/ComponentContent"; import css from "./patterns.module.css"; -import { ReviewPageExamples } from "@examples/review-page/ReviewPageExamples"; +import { ReviewPage } from "@examples/review-page.tsx"; export default function ReviewPage() { return ( @@ -16,7 +16,7 @@ export default function ReviewPage() { tocCssQuery="goa-tab[open=true] :is(h2[id], h3[id])"> - + diff --git a/src/routes/patterns/StartPage.tsx b/src/routes/patterns/StartPage.tsx index 537c9a0d8..262970f4b 100644 --- a/src/routes/patterns/StartPage.tsx +++ b/src/routes/patterns/StartPage.tsx @@ -3,7 +3,7 @@ import { GoabTabs, } from "@abgov/react-components"; import { ComponentContent } from "@components/component-content/ComponentContent"; -import { StartPageExamples } from "@examples/start-page/StartPageExamples"; +import { StartPage } from "@examples/start-page.tsx"; import css from "./patterns.module.css"; export default function StartPage() { @@ -19,7 +19,7 @@ export default function StartPage() { tocCssQuery="goa-tab[open=true] :is(h2[id], h3[id])"> - + diff --git a/src/routes/patterns/TaskListPage.tsx b/src/routes/patterns/TaskListPage.tsx index e6a0b9d79..3a56d6549 100644 --- a/src/routes/patterns/TaskListPage.tsx +++ b/src/routes/patterns/TaskListPage.tsx @@ -4,7 +4,7 @@ import { GoabTabs } from "@abgov/react-components"; import { ComponentContent } from "@components/component-content/ComponentContent"; -import { TaskListPageExamples } from "@examples/task-list-page/TaskListPageExamples"; +import { TaskListPage } from "@examples/task-list-page.tsx"; import css from "./patterns.module.css"; import { Link } from "react-router-dom"; @@ -21,7 +21,7 @@ export default function TaskListPage() { tocCssQuery="goa-tab[open=true] :is(h2[id], h3[id])"> - + diff --git a/src/utils/index.ts b/src/utils/index.ts index c22288733..673f21b9e 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -58,6 +58,7 @@ function mapItemsToMetadata(items: any[], category: string): ComponentProps[] { .map((item: any) => { const title = item.content?.title || ""; const name = toSentenceCase(title.trim()); + const slug = name.toLowerCase().replace(/[^\w\s-]/g, "").replace(/\s+/g, "-"); const body = item.content?.body || ""; const labels = item.content?.labels?.nodes.map((l: any) => l.name) || []; @@ -87,6 +88,7 @@ function mapItemsToMetadata(items: any[], category: string): ComponentProps[] { return { name, + slug, groups: group ? [group as Group] : [], tags: labels.filter((l: string) => l !== group), metatags, From de16b38b8a5bbe46a6c85dfdba72a8d5132a874d Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Wed, 28 May 2025 14:10:10 -0600 Subject: [PATCH 12/43] build fix --- .../ask-a-user-one-question-at-a-time.tsx | 2 +- ...d-information-before-asking-a-question.tsx | 2 +- ...-questions-together-on-a-question-page.tsx | 2 +- .../question-page/QuestionPageExamples.tsx | 45 ++++++++++--------- ...how-a-section-title-on-a-question-page.tsx | 2 +- ...-question-page-with-multiple-questions.tsx | 2 +- ...-progress-indicator-on-a-question-page.tsx | 2 +- src/routes/patterns/QuestionPage.tsx | 1 - src/routes/patterns/ReviewPage.tsx | 1 - src/routes/patterns/StartPage.tsx | 1 - src/routes/patterns/TaskListPage.tsx | 1 - 11 files changed, 29 insertions(+), 32 deletions(-) diff --git a/src/examples/ask-a-user-one-question-at-a-time.tsx b/src/examples/ask-a-user-one-question-at-a-time.tsx index 1e1b4de04..c269c3a5a 100644 --- a/src/examples/ask-a-user-one-question-at-a-time.tsx +++ b/src/examples/ask-a-user-one-question-at-a-time.tsx @@ -10,7 +10,7 @@ import { import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { useContext } from "react"; -export default function QuestionPage() { +export default function AskAUserOneQuestionAtATime() { useContext(LanguageVersionContext); return (
diff --git a/src/examples/give-background-information-before-asking-a-question.tsx b/src/examples/give-background-information-before-asking-a-question.tsx index 1d0c0fda2..2cb68b8e5 100644 --- a/src/examples/give-background-information-before-asking-a-question.tsx +++ b/src/examples/give-background-information-before-asking-a-question.tsx @@ -8,7 +8,7 @@ import { GoabRadioItem } from "@abgov/react-components"; -export default function QuestionPage() { +export default function GiveBackgroundInformationBeforeAskingAQuestion() { return (
diff --git a/src/examples/group-related-questions-together-on-a-question-page.tsx b/src/examples/group-related-questions-together-on-a-question-page.tsx index 1b213505e..a61ce7eba 100644 --- a/src/examples/group-related-questions-together-on-a-question-page.tsx +++ b/src/examples/group-related-questions-together-on-a-question-page.tsx @@ -10,7 +10,7 @@ import { import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { useContext } from "react"; -export default function QuestionPage() { +export default function GroupRelatedQuestionsTogetherOnAQuestionPage() { useContext(LanguageVersionContext); return (
diff --git a/src/examples/question-page/QuestionPageExamples.tsx b/src/examples/question-page/QuestionPageExamples.tsx index 5e4657f65..6a06bbbcb 100644 --- a/src/examples/question-page/QuestionPageExamples.tsx +++ b/src/examples/question-page/QuestionPageExamples.tsx @@ -1,57 +1,58 @@ -import QuestionPageOneQuestion from "../ask-a-user-one-question-at-a-time.tsx"; -import QuestionPageAdditionalBackgroundInformation from "../give-background-information-before-asking-a-question.tsx"; -import QuestionPageProgressiveDisclosure from "../reveal-more-information-to-help-answer-a-question.tsx"; -import QuestionPageSectionTitle from "../show-a-section-title-on-a-question-page.tsx"; -import QuestionPageSimpleProgressIndicator from "../show-a-simple-progress-indicator-on-a-question-page.tsx"; -import QuestionPageMultipleQuestions from "../group-related-questions-together-on-a-question-page.tsx"; -import QuestionPageMultipleQuestionsWithProgress - from "../show-a-simple-progress-indicator-on-a-question-page-with-multiple-questions.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; +import AskAUserOneQuestionAtATime from "@examples/ask-a-user-one-question-at-a-time.tsx"; +import GiveBackgroundInformationBeforeAskingAQuestion + from "../give-background-information-before-asking-a-question.tsx"; +import RevealMoreInformationToHelpAnswerAQuestion from "../reveal-more-information-to-help-answer-a-question.tsx"; +import ShowASectionTitleOnAQuestionPage from "../show-a-section-title-on-a-question-page.tsx"; +import ShowASimpleProgressIndicatorOnAQuestionPage from "../show-a-simple-progress-indicator-on-a-question-page.tsx"; +import GroupRelatedQuestionsTogetherOnAQuestionPage from "../group-related-questions-together-on-a-question-page.tsx"; +import ShowASimpleProgressIndicatorOnAQuestionPageWithMultipleQuestions + from "../show-a-simple-progress-indicator-on-a-question-page-with-multiple-questions.tsx"; export default function QuestionPageExamples() { return (
- + - + - + - + - + - + - +
); diff --git a/src/examples/show-a-section-title-on-a-question-page.tsx b/src/examples/show-a-section-title-on-a-question-page.tsx index 816e3eade..547a04f51 100644 --- a/src/examples/show-a-section-title-on-a-question-page.tsx +++ b/src/examples/show-a-section-title-on-a-question-page.tsx @@ -10,7 +10,7 @@ import { import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { useContext } from "react"; -export default function QuestionPage() { +export default function ShowASectionTitleOnAQuestionPage() { useContext(LanguageVersionContext); return (
diff --git a/src/examples/show-a-simple-progress-indicator-on-a-question-page-with-multiple-questions.tsx b/src/examples/show-a-simple-progress-indicator-on-a-question-page-with-multiple-questions.tsx index 36033433a..86f93d65d 100644 --- a/src/examples/show-a-simple-progress-indicator-on-a-question-page-with-multiple-questions.tsx +++ b/src/examples/show-a-simple-progress-indicator-on-a-question-page-with-multiple-questions.tsx @@ -9,7 +9,7 @@ import { import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { useContext } from "react"; -export default function QuestionPage() { +export default function ShowASimpleProgressIndicatorOnAQuestionPageWithMultipleQuestions() { const { version } = useContext(LanguageVersionContext); return (
diff --git a/src/examples/show-a-simple-progress-indicator-on-a-question-page.tsx b/src/examples/show-a-simple-progress-indicator-on-a-question-page.tsx index 0f5a9f263..41d62dd56 100644 --- a/src/examples/show-a-simple-progress-indicator-on-a-question-page.tsx +++ b/src/examples/show-a-simple-progress-indicator-on-a-question-page.tsx @@ -10,7 +10,7 @@ import { import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { useContext } from "react"; -export default function QuestionPage() { +export default function ShowASimpleProgressIndicatorOnAQuestionPage() { useContext(LanguageVersionContext); return (
diff --git a/src/routes/patterns/QuestionPage.tsx b/src/routes/patterns/QuestionPage.tsx index a3bb9b763..34c025e18 100644 --- a/src/routes/patterns/QuestionPage.tsx +++ b/src/routes/patterns/QuestionPage.tsx @@ -3,7 +3,6 @@ import { GoabTabs } from "@abgov/react-components"; import { ComponentContent } from "@components/component-content/ComponentContent"; -import QuestionPageExamples from "@examples/question-page/QuestionPageExamples.tsx"; import css from "./patterns.module.css"; export default function QuestionPage() { diff --git a/src/routes/patterns/ReviewPage.tsx b/src/routes/patterns/ReviewPage.tsx index 48b6155c1..fdcc256d5 100644 --- a/src/routes/patterns/ReviewPage.tsx +++ b/src/routes/patterns/ReviewPage.tsx @@ -4,7 +4,6 @@ import { } from "@abgov/react-components"; import { ComponentContent } from "@components/component-content/ComponentContent"; import css from "./patterns.module.css"; -import { ReviewPage } from "@examples/review-page.tsx"; export default function ReviewPage() { return ( diff --git a/src/routes/patterns/StartPage.tsx b/src/routes/patterns/StartPage.tsx index 262970f4b..620d32bf0 100644 --- a/src/routes/patterns/StartPage.tsx +++ b/src/routes/patterns/StartPage.tsx @@ -3,7 +3,6 @@ import { GoabTabs, } from "@abgov/react-components"; import { ComponentContent } from "@components/component-content/ComponentContent"; -import { StartPage } from "@examples/start-page.tsx"; import css from "./patterns.module.css"; export default function StartPage() { diff --git a/src/routes/patterns/TaskListPage.tsx b/src/routes/patterns/TaskListPage.tsx index 3a56d6549..a6d28ae21 100644 --- a/src/routes/patterns/TaskListPage.tsx +++ b/src/routes/patterns/TaskListPage.tsx @@ -4,7 +4,6 @@ import { GoabTabs } from "@abgov/react-components"; import { ComponentContent } from "@components/component-content/ComponentContent"; -import { TaskListPage } from "@examples/task-list-page.tsx"; import css from "./patterns.module.css"; import { Link } from "react-router-dom"; From bb63c9e2e046618425003b75d413753747b1ab53 Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Wed, 28 May 2025 17:15:07 -0600 Subject: [PATCH 13/43] update to navigation, combining content guidelines to foundations section --- src/App.tsx | 12 ++++++++---- src/routes/components/AllComponents.tsx | 2 +- src/routes/content/ContentLayout.tsx | 2 +- .../{content => foundations}/Capitalization.tsx | 4 ++-- src/routes/{content => foundations}/DateFormat.tsx | 4 ++-- .../{content => foundations}/ErrorMessages.tsx | 4 ++-- src/routes/foundations/FoundationsLayout.tsx | 13 ++++++++++--- src/routes/{content => foundations}/HelperText.tsx | 4 ++-- src/routes/{content => foundations}/content.css | 0 src/routes/home.tsx | 8 ++++---- src/routes/patterns/PatternsOverview.tsx | 2 +- src/routes/root.tsx | 6 +++--- 12 files changed, 36 insertions(+), 25 deletions(-) rename src/routes/{content => foundations}/Capitalization.tsx (98%) rename src/routes/{content => foundations}/DateFormat.tsx (99%) rename src/routes/{content => foundations}/ErrorMessages.tsx (99%) rename src/routes/{content => foundations}/HelperText.tsx (99%) rename src/routes/{content => foundations}/content.css (100%) diff --git a/src/App.tsx b/src/App.tsx index d0b0df73d..e105faafa 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -51,10 +51,10 @@ import { LtsPolicyPage } from "@routes/get-started/LtsPolicyPage.tsx"; // Content Pages import ContentLayout from "@routes/content/ContentLayout"; -import CapitalizationPage from "@routes/content/Capitalization"; -import DateFormatPage from "@routes/content/DateFormat"; -import ErrorMessagesPage from "@routes/content/ErrorMessages"; -import HelperTextPage from "@routes/content/HelperText"; +import CapitalizationPage from "@routes/foundations/Capitalization.tsx"; +import DateFormatPage from "@routes/foundations/DateFormat.tsx"; +import ErrorMessagesPage from "@routes/foundations/ErrorMessages.tsx"; +import HelperTextPage from "@routes/foundations/HelperText.tsx"; import UserExperienceGuidelinesPage from "@routes/get-started/UserExperienceGuidelines"; import { VersionFromUrlProvider } from "@contexts/VersionFromUrlContext.tsx"; @@ -137,6 +137,10 @@ const router = createBrowserRouter( } /> } /> } /> + } /> + } /> + } /> + } /> }> diff --git a/src/routes/components/AllComponents.tsx b/src/routes/components/AllComponents.tsx index c20b90abb..9547b2993 100644 --- a/src/routes/components/AllComponents.tsx +++ b/src/routes/components/AllComponents.tsx @@ -196,7 +196,7 @@ const AllComponents = () => { - +
- Foundations + Design at GoA Accessibility Brand guidelines - Style Guide + Color Iconography Photography Logo Typography Layout + + + Capitalization + Date format + Error messages + Helper text +
diff --git a/src/routes/content/HelperText.tsx b/src/routes/foundations/HelperText.tsx similarity index 99% rename from src/routes/content/HelperText.tsx rename to src/routes/foundations/HelperText.tsx index f52d0bd31..9da2e7de2 100644 --- a/src/routes/content/HelperText.tsx +++ b/src/routes/foundations/HelperText.tsx @@ -8,9 +8,9 @@ import { GoabInput, GoabTable, } from "@abgov/react-components"; -import { DoDont } from "@components/do-dont/DoDont"; +import { DoDont } from "@components/do-dont/DoDont.tsx"; import { Link } from "react-router-dom"; -import { ComponentContent } from "@components/component-content/ComponentContent"; +import { ComponentContent } from "@components/component-content/ComponentContent.tsx"; const minGridWidth = "36ch"; diff --git a/src/routes/content/content.css b/src/routes/foundations/content.css similarity index 100% rename from src/routes/content/content.css rename to src/routes/foundations/content.css diff --git a/src/routes/home.tsx b/src/routes/home.tsx index 8a0fd45c3..62254f4f2 100644 --- a/src/routes/home.tsx +++ b/src/routes/home.tsx @@ -52,10 +52,10 @@ const HomePage = () => { { linkDisplay="View tokens" /> diff --git a/src/routes/patterns/PatternsOverview.tsx b/src/routes/patterns/PatternsOverview.tsx index 647384ac7..8739785b9 100644 --- a/src/routes/patterns/PatternsOverview.tsx +++ b/src/routes/patterns/PatternsOverview.tsx @@ -216,7 +216,7 @@ export default function PatternsOverviewPage() { - +
} /> - + Get started - Foundations Examples Components Tokens - Content + Foundations Get support From b6409168980769078f8808c9ef19de2e9178ed13 Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Thu, 29 May 2025 19:44:42 -0600 Subject: [PATCH 14/43] update side menu to show pattern documentation --- package-lock.json | 1325 ++++++++++------- src/App.tsx | 8 +- .../component-card/ComponentCard.tsx | 8 +- src/components/example-card/ExampleCard.css | 40 + src/components/example-card/ExampleCard.tsx | 152 ++ src/examples/public-form.tsx | 236 +++ .../question-page.tsx} | 178 ++- src/examples/result-page.tsx | 66 + .../ResultPageExamples.tsx} | 8 +- src/examples/review-page.tsx | 161 +- .../review-page/ReviewPageExamples.tsx | 102 ++ src/examples/start-page.tsx | 357 ++--- src/examples/start-page/StartPageExamples.tsx | 218 +++ src/examples/task-list-page.tsx | 251 ++-- .../task-list-page/TaskListPageExamples.tsx | 119 ++ src/routes/components/AllComponents.tsx | 8 +- src/routes/examples/Birthday.tsx | 10 - .../ExamplePageTemplate.tsx | 10 +- src/routes/examples/ExamplesLayout.tsx | 65 + .../ExamplesOverview.tsx} | 20 +- .../FallbackExample.tsx | 0 .../{patterns => examples}/LayoutPage.tsx | 0 .../patterns.module.css | 0 .../upgrade-guide/DevelopersUpgrade.tsx | 2 +- src/routes/patterns/PatternsLayout.tsx | 51 - src/routes/patterns/PublicFormPage.tsx | 184 --- src/routes/patterns/ResultPage.tsx | 50 - src/routes/patterns/ReviewPage.tsx | 67 - src/routes/patterns/StartPage.tsx | 123 -- src/routes/patterns/TaskListPage.tsx | 121 -- src/routes/root.tsx | 2 +- src/utils/index.ts | 6 +- src/versioned-router.tsx | 24 +- 33 files changed, 2329 insertions(+), 1643 deletions(-) create mode 100644 src/components/example-card/ExampleCard.css create mode 100644 src/components/example-card/ExampleCard.tsx create mode 100644 src/examples/public-form.tsx rename src/{routes/patterns/QuestionPage.tsx => examples/question-page.tsx} (59%) create mode 100644 src/examples/result-page.tsx rename src/examples/{results-page.tsx => result-page/ResultPageExamples.tsx} (99%) create mode 100644 src/examples/review-page/ReviewPageExamples.tsx create mode 100644 src/examples/start-page/StartPageExamples.tsx create mode 100644 src/examples/task-list-page/TaskListPageExamples.tsx delete mode 100644 src/routes/examples/Birthday.tsx rename src/routes/{patterns => examples}/ExamplePageTemplate.tsx (91%) create mode 100644 src/routes/examples/ExamplesLayout.tsx rename src/routes/{patterns/PatternsOverview.tsx => examples/ExamplesOverview.tsx} (94%) rename src/routes/{patterns => examples}/FallbackExample.tsx (100%) rename src/routes/{patterns => examples}/LayoutPage.tsx (100%) rename src/routes/{patterns => examples}/patterns.module.css (100%) delete mode 100644 src/routes/patterns/PatternsLayout.tsx delete mode 100644 src/routes/patterns/PublicFormPage.tsx delete mode 100644 src/routes/patterns/ResultPage.tsx delete mode 100644 src/routes/patterns/ReviewPage.tsx delete mode 100644 src/routes/patterns/StartPage.tsx delete mode 100644 src/routes/patterns/TaskListPage.tsx diff --git a/package-lock.json b/package-lock.json index ec9a94357..686e09122 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,35 +37,6 @@ "vite": "^5.4.16" } }, - "../ui-components/dist/libs/angular-components": { - "name": "@abgov/angular-components", - "version": "0.0.1", - "extraneous": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/common": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "@angular/core": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "@angular/forms": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "../ui-components/dist/libs/ui-commons": { - "extraneous": true - }, - "../ui-components/dist/libs/ui-components-common": { - "extraneous": true - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@abgov/react-components": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/@abgov/react-components/-/react-components-6.4.1.tgz", @@ -98,6 +69,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", "peer": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", @@ -114,6 +86,7 @@ "cpu": [ "ppc64" ], + "license": "MIT", "optional": true, "os": [ "aix" @@ -129,6 +102,7 @@ "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "android" @@ -144,6 +118,7 @@ "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "android" @@ -159,6 +134,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "android" @@ -174,6 +150,7 @@ "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -189,6 +166,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -204,6 +182,7 @@ "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -219,6 +198,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -234,6 +214,7 @@ "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -249,6 +230,7 @@ "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -264,6 +246,7 @@ "cpu": [ "ia32" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -279,6 +262,7 @@ "cpu": [ "loong64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -294,6 +278,7 @@ "cpu": [ "mips64el" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -309,6 +294,7 @@ "cpu": [ "ppc64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -324,6 +310,7 @@ "cpu": [ "riscv64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -339,6 +326,7 @@ "cpu": [ "s390x" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -354,6 +342,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -369,6 +358,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "netbsd" @@ -384,6 +374,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "openbsd" @@ -399,6 +390,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "sunos" @@ -414,6 +406,7 @@ "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -429,6 +422,7 @@ "cpu": [ "ia32" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -444,6 +438,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -453,25 +448,30 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", "dev": true, + "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } @@ -481,6 +481,7 @@ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -500,10 +501,11 @@ } }, "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "dev": true, + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -518,18 +520,21 @@ "url": "https://opencollective.com/fakerjs" } ], + "license": "MIT", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0", "npm": ">=6.14.13" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", + "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", "minimatch": "^3.0.5" }, @@ -542,6 +547,7 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -551,15 +557,18 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", - "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", - "dev": true + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", "peer": true, "dependencies": { "string-width": "^5.1.2", @@ -577,6 +586,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -589,6 +599,7 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", "peer": true, "dependencies": { "ansi-regex": "^6.0.1" @@ -604,6 +615,7 @@ "version": "0.3.8", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "license": "MIT", "peer": true, "dependencies": { "@jridgewell/set-array": "^1.2.1", @@ -618,6 +630,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", "peer": true, "engines": { "node": ">=6.0.0" @@ -627,6 +640,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", "peer": true, "engines": { "node": ">=6.0.0" @@ -636,12 +650,14 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT", "peer": true }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", "peer": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -653,6 +669,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -666,6 +683,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -675,6 +693,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -684,33 +703,35 @@ } }, "node_modules/@octokit/app": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/@octokit/app/-/app-15.1.0.tgz", - "integrity": "sha512-TkBr7QgOmE6ORxvIAhDbZsqPkF7RSqTY4pLTtUQCvr6dTXqvi2fFo46q3h1lxlk/sGMQjqyZ0kEahkD/NyzOHg==", + "version": "15.1.6", + "resolved": "https://registry.npmjs.org/@octokit/app/-/app-15.1.6.tgz", + "integrity": "sha512-WELCamoCJo9SN0lf3SWZccf68CF0sBNPQuLYmZ/n87p5qvBJDe9aBtr5dHkh7T9nxWZ608pizwsUbypSzZAiUw==", + "license": "MIT", "dependencies": { - "@octokit/auth-app": "^7.0.0", - "@octokit/auth-unauthenticated": "^6.0.0", - "@octokit/core": "^6.1.2", - "@octokit/oauth-app": "^7.0.0", - "@octokit/plugin-paginate-rest": "^11.0.0", - "@octokit/types": "^13.0.0", - "@octokit/webhooks": "^13.0.0" + "@octokit/auth-app": "^7.2.1", + "@octokit/auth-unauthenticated": "^6.1.3", + "@octokit/core": "^6.1.5", + "@octokit/oauth-app": "^7.1.6", + "@octokit/plugin-paginate-rest": "^12.0.0", + "@octokit/types": "^14.0.0", + "@octokit/webhooks": "^13.6.1" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/auth-app": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-app/-/auth-app-7.1.1.tgz", - "integrity": "sha512-kRAd6yelV9OgvlEJE88H0VLlQdZcag9UlLr7dV0YYP37X8PPDvhgiTy66QVhDXdyoT0AleFN2w/qXkPdrSzINg==", - "dependencies": { - "@octokit/auth-oauth-app": "^8.1.0", - "@octokit/auth-oauth-user": "^5.1.0", - "@octokit/request": "^9.1.1", - "@octokit/request-error": "^6.1.1", - "@octokit/types": "^13.4.1", - "lru-cache": "^10.0.0", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-app/-/auth-app-7.2.1.tgz", + "integrity": "sha512-4jaopCVOtWN0V8qCx/1s2pkRqC6tcvIQM3kFB99eIpsP53GfsoIKO08D94b83n/V3iGihHmxWR2lXzE0NicUGg==", + "license": "MIT", + "dependencies": { + "@octokit/auth-oauth-app": "^8.1.4", + "@octokit/auth-oauth-user": "^5.1.4", + "@octokit/request": "^9.2.3", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "toad-cache": "^3.7.0", "universal-github-app-jwt": "^2.2.0", "universal-user-agent": "^7.0.0" }, @@ -719,14 +740,15 @@ } }, "node_modules/@octokit/auth-oauth-app": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-app/-/auth-oauth-app-8.1.1.tgz", - "integrity": "sha512-5UtmxXAvU2wfcHIPPDWzVSAWXVJzG3NWsxb7zCFplCWEmMCArSZV0UQu5jw5goLQXbFyOr5onzEH37UJB3zQQg==", - "dependencies": { - "@octokit/auth-oauth-device": "^7.0.0", - "@octokit/auth-oauth-user": "^5.0.1", - "@octokit/request": "^9.0.0", - "@octokit/types": "^13.0.0", + "version": "8.1.4", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-app/-/auth-oauth-app-8.1.4.tgz", + "integrity": "sha512-71iBa5SflSXcclk/OL3lJzdt4iFs56OJdpBGEBl1wULp7C58uiswZLV6TdRaiAzHP1LT8ezpbHlKuxADb+4NkQ==", + "license": "MIT", + "dependencies": { + "@octokit/auth-oauth-device": "^7.1.5", + "@octokit/auth-oauth-user": "^5.1.4", + "@octokit/request": "^9.2.3", + "@octokit/types": "^14.0.0", "universal-user-agent": "^7.0.0" }, "engines": { @@ -734,13 +756,14 @@ } }, "node_modules/@octokit/auth-oauth-device": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-device/-/auth-oauth-device-7.1.1.tgz", - "integrity": "sha512-HWl8lYueHonuyjrKKIup/1tiy0xcmQCdq5ikvMO1YwkNNkxb6DXfrPjrMYItNLyCP/o2H87WuijuE+SlBTT8eg==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-device/-/auth-oauth-device-7.1.5.tgz", + "integrity": "sha512-lR00+k7+N6xeECj0JuXeULQ2TSBB/zjTAmNF2+vyGPDEFx1dgk1hTDmL13MjbSmzusuAmuJD8Pu39rjp9jH6yw==", + "license": "MIT", "dependencies": { - "@octokit/oauth-methods": "^5.0.0", - "@octokit/request": "^9.0.0", - "@octokit/types": "^13.0.0", + "@octokit/oauth-methods": "^5.1.5", + "@octokit/request": "^9.2.3", + "@octokit/types": "^14.0.0", "universal-user-agent": "^7.0.0" }, "engines": { @@ -748,14 +771,15 @@ } }, "node_modules/@octokit/auth-oauth-user": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-user/-/auth-oauth-user-5.1.1.tgz", - "integrity": "sha512-rRkMz0ErOppdvEfnemHJXgZ9vTPhBuC6yASeFaB7I2yLMd7QpjfrL1mnvRPlyKo+M6eeLxrKanXJ9Qte29SRsw==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-user/-/auth-oauth-user-5.1.6.tgz", + "integrity": "sha512-/R8vgeoulp7rJs+wfJ2LtXEVC7pjQTIqDab7wPKwVG6+2v/lUnCOub6vaHmysQBbb45FknM3tbHW8TOVqYHxCw==", + "license": "MIT", "dependencies": { - "@octokit/auth-oauth-device": "^7.0.1", - "@octokit/oauth-methods": "^5.0.0", - "@octokit/request": "^9.0.1", - "@octokit/types": "^13.0.0", + "@octokit/auth-oauth-device": "^7.1.5", + "@octokit/oauth-methods": "^5.1.5", + "@octokit/request": "^9.2.3", + "@octokit/types": "^14.0.0", "universal-user-agent": "^7.0.0" }, "engines": { @@ -763,35 +787,38 @@ } }, "node_modules/@octokit/auth-token": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.1.tgz", - "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", + "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==", + "license": "MIT", "engines": { "node": ">= 18" } }, "node_modules/@octokit/auth-unauthenticated": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-unauthenticated/-/auth-unauthenticated-6.1.0.tgz", - "integrity": "sha512-zPSmfrUAcspZH/lOFQnVnvjQZsIvmfApQH6GzJrkIunDooU1Su2qt2FfMTSVPRp7WLTQyC20Kd55lF+mIYaohQ==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/@octokit/auth-unauthenticated/-/auth-unauthenticated-6.1.3.tgz", + "integrity": "sha512-d5gWJla3WdSl1yjbfMpET+hUSFCE15qM0KVSB0H1shyuJihf/RL1KqWoZMIaonHvlNojkL9XtLFp8QeLe+1iwA==", + "license": "MIT", "dependencies": { - "@octokit/request-error": "^6.0.1", - "@octokit/types": "^13.0.0" + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/core": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz", - "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.5.tgz", + "integrity": "sha512-vvmsN0r7rguA+FySiCsbaTTobSftpIDIpPW81trAmsv9TGxg3YCujAxRYp/Uy8xmDgYCzzgulG62H7KYUFmeIg==", + "license": "MIT", "dependencies": { "@octokit/auth-token": "^5.0.0", - "@octokit/graphql": "^8.0.0", - "@octokit/request": "^9.0.0", - "@octokit/request-error": "^6.0.1", - "@octokit/types": "^13.0.0", + "@octokit/graphql": "^8.2.2", + "@octokit/request": "^9.2.3", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", "before-after-hook": "^3.0.2", "universal-user-agent": "^7.0.0" }, @@ -800,12 +827,12 @@ } }, "node_modules/@octokit/endpoint": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", - "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.4.tgz", + "integrity": "sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==", "license": "MIT", "dependencies": { - "@octokit/types": "^13.6.2", + "@octokit/types": "^14.0.0", "universal-user-agent": "^7.0.2" }, "engines": { @@ -813,12 +840,13 @@ } }, "node_modules/@octokit/graphql": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.1.tgz", - "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.2.tgz", + "integrity": "sha512-Yi8hcoqsrXGdt0yObxbebHXFOiUA+2v3n53epuOg1QUgOB6c4XzvisBNVXJSl8RYA5KrDuSL2yq9Qmqe5N0ryA==", + "license": "MIT", "dependencies": { - "@octokit/request": "^9.0.0", - "@octokit/types": "^13.0.0", + "@octokit/request": "^9.2.3", + "@octokit/types": "^14.0.0", "universal-user-agent": "^7.0.0" }, "engines": { @@ -826,16 +854,17 @@ } }, "node_modules/@octokit/oauth-app": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@octokit/oauth-app/-/oauth-app-7.1.3.tgz", - "integrity": "sha512-EHXbOpBkSGVVGF1W+NLMmsnSsJRkcrnVmDKt0TQYRBb6xWfWzoi9sBD4DIqZ8jGhOWO/V8t4fqFyJ4vDQDn9bg==", - "dependencies": { - "@octokit/auth-oauth-app": "^8.0.0", - "@octokit/auth-oauth-user": "^5.0.1", - "@octokit/auth-unauthenticated": "^6.0.0-beta.1", - "@octokit/core": "^6.0.0", - "@octokit/oauth-authorization-url": "^7.0.0", - "@octokit/oauth-methods": "^5.0.0", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/@octokit/oauth-app/-/oauth-app-7.1.6.tgz", + "integrity": "sha512-OMcMzY2WFARg80oJNFwWbY51TBUfLH4JGTy119cqiDawSFXSIBujxmpXiKbGWQlvfn0CxE6f7/+c6+Kr5hI2YA==", + "license": "MIT", + "dependencies": { + "@octokit/auth-oauth-app": "^8.1.3", + "@octokit/auth-oauth-user": "^5.1.3", + "@octokit/auth-unauthenticated": "^6.1.2", + "@octokit/core": "^6.1.4", + "@octokit/oauth-authorization-url": "^7.1.1", + "@octokit/oauth-methods": "^5.1.4", "@types/aws-lambda": "^8.10.83", "universal-user-agent": "^7.0.0" }, @@ -847,39 +876,43 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/@octokit/oauth-authorization-url/-/oauth-authorization-url-7.1.1.tgz", "integrity": "sha512-ooXV8GBSabSWyhLUowlMIVd9l1s2nsOGQdlP2SQ4LnkEsGXzeCvbSbCPdZThXhEFzleGPwbapT0Sb+YhXRyjCA==", + "license": "MIT", "engines": { "node": ">= 18" } }, "node_modules/@octokit/oauth-methods": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@octokit/oauth-methods/-/oauth-methods-5.1.2.tgz", - "integrity": "sha512-C5lglRD+sBlbrhCUTxgJAFjWgJlmTx5bQ7Ch0+2uqRjYv7Cfb5xpX4WuSC9UgQna3sqRGBL9EImX9PvTpMaQ7g==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@octokit/oauth-methods/-/oauth-methods-5.1.5.tgz", + "integrity": "sha512-Ev7K8bkYrYLhoOSZGVAGsLEscZQyq7XQONCBBAl2JdMg7IT3PQn/y8P0KjloPoYpI5UylqYrLeUcScaYWXwDvw==", + "license": "MIT", "dependencies": { "@octokit/oauth-authorization-url": "^7.0.0", - "@octokit/request": "^9.1.0", - "@octokit/request-error": "^6.1.0", - "@octokit/types": "^13.0.0" + "@octokit/request": "^9.2.3", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/openapi-types": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.1.0.tgz", - "integrity": "sha512-FnYcCZ7MV5dEB+E5ejjhFeg6IFLDcaCCCYcISBeSuTN891Oju1QPnR7k6v/JTwcn2+LjcVhVRcTtUIkVMyzHiw==", + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", "license": "MIT" }, "node_modules/@octokit/openapi-webhooks-types": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-webhooks-types/-/openapi-webhooks-types-8.3.0.tgz", - "integrity": "sha512-vKLsoR4xQxg4Z+6rU/F65ItTUz/EXbD+j/d4mlq2GW8TsA4Tc8Kdma2JTAAJ5hrKWUQzkR/Esn2fjsqiVRYaQg==" + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-webhooks-types/-/openapi-webhooks-types-11.0.0.tgz", + "integrity": "sha512-ZBzCFj98v3SuRM7oBas6BHZMJRadlnDoeFfvm1olVxZnYeU6Vh97FhPxyS5aLh5pN51GYv2I51l/hVUAVkGBlA==", + "license": "MIT" }, "node_modules/@octokit/plugin-paginate-graphql": { "version": "5.2.4", "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-graphql/-/plugin-paginate-graphql-5.2.4.tgz", "integrity": "sha512-pLZES1jWaOynXKHOqdnwZ5ULeVR6tVVCMm+AUbp0htdcyXDU95WbkYdU4R2ej1wKj5Tu94Mee2Ne0PjPO9cCyA==", + "license": "MIT", "engines": { "node": ">= 18" }, @@ -888,12 +921,12 @@ } }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.5.0.tgz", - "integrity": "sha512-crHS+QeHSiZgWKGgrf+Bpk7DjxSOqtujDHjTTTnzR9OI72Q9+YCWazl95dosDV/1Vyzr64ccW0eLBDHFCkSfzA==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-12.0.0.tgz", + "integrity": "sha512-MPd6WK1VtZ52lFrgZ0R2FlaoiWllzgqFHaSZxvp72NmoDeZ0m8GeJdg4oB6ctqMTYyrnDYp592Xma21mrgiyDA==", "license": "MIT", "dependencies": { - "@octokit/types": "^13.9.0" + "@octokit/types": "^14.0.0" }, "engines": { "node": ">= 18" @@ -903,11 +936,12 @@ } }, "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "13.2.6", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.6.tgz", - "integrity": "sha512-wMsdyHMjSfKjGINkdGKki06VEkgdEldIGstIEyGX0wbYHGByOwN/KiM+hAAlUwAtPkP3gvXtVQA9L3ITdV2tVw==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-14.0.0.tgz", + "integrity": "sha512-iQt6ovem4b7zZYZQtdv+PwgbL5VPq37th1m2x2TdkgimIDJpsi2A6Q/OI/23i/hR6z5mL0EgisNR4dcbmckSZQ==", + "license": "MIT", "dependencies": { - "@octokit/types": "^13.6.1" + "@octokit/types": "^14.0.0" }, "engines": { "node": ">= 18" @@ -917,12 +951,13 @@ } }, "node_modules/@octokit/plugin-retry": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.1.2.tgz", - "integrity": "sha512-XOWnPpH2kJ5VTwozsxGurw+svB2e61aWlmk5EVIYZPwFK5F9h4cyPyj9CIKRyMXMHSwpIsI3mPOdpMmrRhe7UQ==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.2.1.tgz", + "integrity": "sha512-wUc3gv0D6vNHpGxSaR3FlqJpTXGWgqmk607N9L3LvPL4QjaxDgX/1nY2mGpT37Khn+nlIXdljczkRnNdTTV3/A==", + "license": "MIT", "dependencies": { - "@octokit/request-error": "^6.0.0", - "@octokit/types": "^13.0.0", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", "bottleneck": "^2.15.3" }, "engines": { @@ -933,29 +968,30 @@ } }, "node_modules/@octokit/plugin-throttling": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.3.2.tgz", - "integrity": "sha512-FqpvcTpIWFpMMwIeSoypoJXysSAQ3R+ALJhXXSG1HTP3YZOIeLmcNcimKaXxTcws+Sh6yoRl13SJ5r8sXc1Fhw==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-10.0.0.tgz", + "integrity": "sha512-Kuq5/qs0DVYTHZuBAzCZStCzo2nKvVRo/TDNhCcpC2TKiOGz/DisXMCvjt3/b5kr6SCI1Y8eeeJTHBxxpFvZEg==", + "license": "MIT", "dependencies": { - "@octokit/types": "^13.0.0", + "@octokit/types": "^14.0.0", "bottleneck": "^2.15.3" }, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": "^6.0.0" + "@octokit/core": "^6.1.3" } }, "node_modules/@octokit/request": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", - "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", + "version": "9.2.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.3.tgz", + "integrity": "sha512-Ma+pZU8PXLOEYzsWf0cn/gY+ME57Wq8f49WTXA8FMHp2Ps9djKw//xYJ1je8Hm0pR2lU9FUGeJRWOtxq6olt4w==", "license": "MIT", "dependencies": { - "@octokit/endpoint": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", + "@octokit/endpoint": "^10.1.4", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", "fast-content-type-parse": "^2.0.0", "universal-user-agent": "^7.0.2" }, @@ -964,43 +1000,45 @@ } }, "node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", "license": "MIT", "dependencies": { - "@octokit/types": "^13.6.2" + "@octokit/types": "^14.0.0" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/types": { - "version": "13.9.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.9.0.tgz", - "integrity": "sha512-gRWS+SLIhZV3JUWn9BJt+jd9L4hON2YxRTuZBw20ExPFbqTj7/2kjwzHX1V00wAN4/qJGLz1GF9Kr1DILxTBqg==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", "license": "MIT", "dependencies": { - "@octokit/openapi-types": "^24.1.0" + "@octokit/openapi-types": "^25.1.0" } }, "node_modules/@octokit/webhooks": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/@octokit/webhooks/-/webhooks-13.3.0.tgz", - "integrity": "sha512-TUkJLtI163Bz5+JK0O+zDkQpn4gKwN+BovclUvCj6pI/6RXrFqQvUMRS2M+Rt8Rv0qR3wjoMoOPmpJKeOh0nBg==", + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/@octokit/webhooks/-/webhooks-13.9.0.tgz", + "integrity": "sha512-5Kva+/Gi7c+39d0/0MM/v/5RCZuwqm75fUD+t7Es3Iz/adui54GnjfNmJpkkPkXGC+5IWnEvgqwY6gstK/JlUQ==", + "license": "MIT", "dependencies": { - "@octokit/openapi-webhooks-types": "8.3.0", - "@octokit/request-error": "^6.0.1", - "@octokit/webhooks-methods": "^5.0.0" + "@octokit/openapi-webhooks-types": "11.0.0", + "@octokit/request-error": "^6.1.7", + "@octokit/webhooks-methods": "^5.1.1" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/webhooks-methods": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@octokit/webhooks-methods/-/webhooks-methods-5.1.0.tgz", - "integrity": "sha512-yFZa3UH11VIxYnnoOYCVoJ3q4ChuSOk2IVBBQ0O3xtKX4x9bmKb/1t+Mxixv2iUhzMdOl1qeWJqEhouXXzB3rQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/webhooks-methods/-/webhooks-methods-5.1.1.tgz", + "integrity": "sha512-NGlEHZDseJTCj8TMMFehzwa9g7On4KJMPVHDSrHxCQumL6uSQR8wIkP/qesv52fXqV1BPf4pTxwtS31ldAt9Xg==", + "license": "MIT", "engines": { "node": ">= 18" } @@ -1009,6 +1047,7 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", "optional": true, "peer": true, "engines": { @@ -1016,224 +1055,276 @@ } }, "node_modules/@remix-run/router": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz", - "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.0.tgz", + "integrity": "sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==", + "license": "MIT", "engines": { "node": ">=14.0.0" } }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.9", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.9.tgz", + "integrity": "sha512-e9MeMtVWo186sgvFFJOPGy7/d2j2mZhLJIdVW0C/xDluuOvymEATqz6zKsP0ZmXGzQtqlyjz5sC1sYQUoJG98w==", + "dev": true, + "license": "MIT" + }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.4.tgz", - "integrity": "sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.1.tgz", + "integrity": "sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw==", "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.4.tgz", - "integrity": "sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.1.tgz", + "integrity": "sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.4.tgz", - "integrity": "sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.41.1.tgz", + "integrity": "sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.4.tgz", - "integrity": "sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.41.1.tgz", + "integrity": "sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.4.tgz", - "integrity": "sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.1.tgz", + "integrity": "sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "freebsd" ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.4.tgz", - "integrity": "sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.1.tgz", + "integrity": "sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "freebsd" ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.4.tgz", - "integrity": "sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.1.tgz", + "integrity": "sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg==", "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.4.tgz", - "integrity": "sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.1.tgz", + "integrity": "sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA==", "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.4.tgz", - "integrity": "sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.1.tgz", + "integrity": "sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.4.tgz", - "integrity": "sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.1.tgz", + "integrity": "sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==", "cpu": [ "arm64" ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.1.tgz", + "integrity": "sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==", + "cpu": [ + "loong64" + ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.4.tgz", - "integrity": "sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.1.tgz", + "integrity": "sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==", "cpu": [ "ppc64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.4.tgz", - "integrity": "sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.1.tgz", + "integrity": "sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==", "cpu": [ "riscv64" ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.1.tgz", + "integrity": "sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==", + "cpu": [ + "riscv64" + ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.4.tgz", - "integrity": "sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.1.tgz", + "integrity": "sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==", "cpu": [ "s390x" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.4.tgz", - "integrity": "sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.1.tgz", + "integrity": "sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.4.tgz", - "integrity": "sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.1.tgz", + "integrity": "sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.4.tgz", - "integrity": "sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.1.tgz", + "integrity": "sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.4.tgz", - "integrity": "sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.1.tgz", + "integrity": "sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==", "cpu": [ "ia32" ], + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.4.tgz", - "integrity": "sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.1.tgz", + "integrity": "sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -1243,6 +1334,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.1.2.tgz", "integrity": "sha512-Txsm1tJvtiYeLUVRNqxZGKR/mI+CzuIQuc2gn+YCs9rMTowpNZ2Nqt53JdL8KF9bLhAf2ruR/dr9eZCwdTriRA==", + "license": "MIT", "peer": true, "dependencies": { "@sveltejs/vite-plugin-svelte-inspector": "^2.1.0", @@ -1265,6 +1357,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-2.1.0.tgz", "integrity": "sha512-9QX28IymvBlSCqsCll5t0kQVxipsfhFFL+L2t3nTWfXnddYwxBuAEtTtlaVQpRz9c37BhJjltSeY4AJSC03SSg==", + "license": "MIT", "peer": true, "dependencies": { "debug": "^4.3.4" @@ -1279,14 +1372,15 @@ } }, "node_modules/@swc/core": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.4.8.tgz", - "integrity": "sha512-uY2RSJcFPgNOEg12RQZL197LZX+MunGiKxsbxmh22VfVxrOYGRvh4mPANFlrD1yb38CgmW1wI6YgIi8LkIwmWg==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.11.29.tgz", + "integrity": "sha512-g4mThMIpWbNhV8G2rWp5a5/Igv8/2UFRJx2yImrLGMgrDDYZIopqZ/z0jZxDgqNA1QDx93rpwNF7jGsxVWcMlA==", "dev": true, "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { - "@swc/counter": "^0.1.2", - "@swc/types": "^0.1.5" + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.21" }, "engines": { "node": ">=10" @@ -1296,19 +1390,19 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.4.8", - "@swc/core-darwin-x64": "1.4.8", - "@swc/core-linux-arm-gnueabihf": "1.4.8", - "@swc/core-linux-arm64-gnu": "1.4.8", - "@swc/core-linux-arm64-musl": "1.4.8", - "@swc/core-linux-x64-gnu": "1.4.8", - "@swc/core-linux-x64-musl": "1.4.8", - "@swc/core-win32-arm64-msvc": "1.4.8", - "@swc/core-win32-ia32-msvc": "1.4.8", - "@swc/core-win32-x64-msvc": "1.4.8" + "@swc/core-darwin-arm64": "1.11.29", + "@swc/core-darwin-x64": "1.11.29", + "@swc/core-linux-arm-gnueabihf": "1.11.29", + "@swc/core-linux-arm64-gnu": "1.11.29", + "@swc/core-linux-arm64-musl": "1.11.29", + "@swc/core-linux-x64-gnu": "1.11.29", + "@swc/core-linux-x64-musl": "1.11.29", + "@swc/core-win32-arm64-msvc": "1.11.29", + "@swc/core-win32-ia32-msvc": "1.11.29", + "@swc/core-win32-x64-msvc": "1.11.29" }, "peerDependencies": { - "@swc/helpers": "^0.5.0" + "@swc/helpers": ">=0.5.17" }, "peerDependenciesMeta": { "@swc/helpers": { @@ -1317,13 +1411,14 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.8.tgz", - "integrity": "sha512-hhQCffRTgzpTIbngSnC30vV6IJVTI9FFBF954WEsshsecVoCGFiMwazBbrkLG+RwXENTrMhgeREEFh6R3KRgKQ==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.11.29.tgz", + "integrity": "sha512-whsCX7URzbuS5aET58c75Dloby3Gtj/ITk2vc4WW6pSDQKSPDuONsIcZ7B2ng8oz0K6ttbi4p3H/PNPQLJ4maQ==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "darwin" @@ -1333,13 +1428,14 @@ } }, "node_modules/@swc/core-darwin-x64": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.4.8.tgz", - "integrity": "sha512-P3ZBw8Jr8rKhY/J8d+6WqWriqngGTgHwtFeJ8MIakQJTbdYbFgXSZxcvDiERg3psbGeFXaUaPI0GO6BXv9k/OQ==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.11.29.tgz", + "integrity": "sha512-S3eTo/KYFk+76cWJRgX30hylN5XkSmjYtCBnM4jPLYn7L6zWYEPajsFLmruQEiTEDUg0gBEWLMNyUeghtswouw==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "darwin" @@ -1349,13 +1445,14 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.8.tgz", - "integrity": "sha512-PP9JIJt19bUWhAGcQW6qMwTjZOcMyzkvZa0/LWSlDm0ORYVLmDXUoeQbGD3e0Zju9UiZxyulnpjEN0ZihJgPTA==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.11.29.tgz", + "integrity": "sha512-o9gdshbzkUMG6azldHdmKklcfrcMx+a23d/2qHQHPDLUPAN+Trd+sDQUYArK5Fcm7TlpG4sczz95ghN0DMkM7g==", "cpu": [ "arm" ], "dev": true, + "license": "Apache-2.0", "optional": true, "os": [ "linux" @@ -1365,13 +1462,14 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.8.tgz", - "integrity": "sha512-HvEWnwKHkoVUr5iftWirTApFJ13hGzhAY2CMw4lz9lur2m+zhPviRRED0FCI6T95Knpv7+8eUOr98Z7ctrG6DQ==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.11.29.tgz", + "integrity": "sha512-sLoaciOgUKQF1KX9T6hPGzvhOQaJn+3DHy4LOHeXhQqvBgr+7QcZ+hl4uixPKTzxk6hy6Hb0QOvQEdBAAR1gXw==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -1381,13 +1479,14 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.8.tgz", - "integrity": "sha512-kY8+qa7k/dEeBq9p0Hrta18QnJPpsiJvDQSLNaTIFpdM3aEM9zbkshWz8gaX5VVGUEALowCBUWqmzO4VaqM+2w==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.11.29.tgz", + "integrity": "sha512-PwjB10BC0N+Ce7RU/L23eYch6lXFHz7r3NFavIcwDNa/AAqywfxyxh13OeRy+P0cg7NDpWEETWspXeI4Ek8otw==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -1397,13 +1496,14 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.8.tgz", - "integrity": "sha512-0WWyIw432wpO/zeGblwq4f2YWam4pn8Z/Ig4KzHMgthR/KmiLU3f0Z7eo45eVmq5vcU7Os1zi/Zb65OOt09q/w==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.11.29.tgz", + "integrity": "sha512-i62vBVoPaVe9A3mc6gJG07n0/e7FVeAvdD9uzZTtGLiuIfVfIBta8EMquzvf+POLycSk79Z6lRhGPZPJPYiQaA==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -1413,13 +1513,14 @@ } }, "node_modules/@swc/core-linux-x64-musl": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.8.tgz", - "integrity": "sha512-p4yxvVS05rBNCrBaSTa20KK88vOwtg8ifTW7ec/yoab0bD5EwzzB8KbDmLLxE6uziFa0sdjF0dfRDwSZPex37Q==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.11.29.tgz", + "integrity": "sha512-YER0XU1xqFdK0hKkfSVX1YIyCvMDI7K07GIpefPvcfyNGs38AXKhb2byySDjbVxkdl4dycaxxhRyhQ2gKSlsFQ==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -1429,13 +1530,14 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.8.tgz", - "integrity": "sha512-jKuXihxAaqUnbFfvPxtmxjdJfs87F1GdBf33il+VUmSyWCP4BE6vW+/ReDAe8sRNsKyrZ3UH1vI5q1n64csBUA==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.11.29.tgz", + "integrity": "sha512-po+WHw+k9g6FAg5IJ+sMwtA/fIUL3zPQ4m/uJgONBATCVnDDkyW6dBA49uHNVtSEvjvhuD8DVWdFP847YTcITw==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "win32" @@ -1445,13 +1547,14 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.8.tgz", - "integrity": "sha512-O0wT4AGHrX8aBeH6c2ADMHgagAJc5Kf6W48U5moyYDAkkVnKvtSc4kGhjWhe1Yl0sI0cpYh2In2FxvYsb44eWw==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.11.29.tgz", + "integrity": "sha512-h+NjOrbqdRBYr5ItmStmQt6x3tnhqgwbj9YxdGPepbTDamFv7vFnhZR0YfB3jz3UKJ8H3uGJ65Zw1VsC+xpFkg==", "cpu": [ "ia32" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "win32" @@ -1461,13 +1564,14 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.8.tgz", - "integrity": "sha512-C2AYc3A2o+ECciqsJWRgIpp83Vk5EaRzHe7ed/xOWzVd0MsWR+fweEsyOjlmzHfpUxJSi46Ak3/BIZJlhZbXbg==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.11.29.tgz", + "integrity": "sha512-Q8cs2BDV9wqDvqobkXOYdC+pLUSEpX/KvI0Dgfun1F+LzuLotRFuDhrvkU9ETJA6OnD2+Fn/ieHgloiKA/Mn/g==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "win32" @@ -1480,73 +1584,83 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/@swc/types": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.6.tgz", - "integrity": "sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==", + "version": "0.1.21", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.21.tgz", + "integrity": "sha512-2YEtj5HJVbKivud9N4bpPBAyZhj4S2Ipe5LkUG94alTpr7in/GU/EARgPAd3BwU+YOmFVJC2+kjqhGRi3r0ZpQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@swc/counter": "^0.1.3" } }, "node_modules/@types/aws-lambda": { - "version": "8.10.145", - "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.145.tgz", - "integrity": "sha512-dtByW6WiFk5W5Jfgz1VM+YPA21xMXTuSFoLYIDY0L44jDLLflVPtZkYuu3/YxpGcvjzKFBZLU+GyKjR0HOYtyw==" + "version": "8.10.149", + "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.149.tgz", + "integrity": "sha512-NXSZIhfJjnXqJgtS7IwutqIF/SOy1Wz5Px4gUY1RWITp3AYTyuJS4xaXr/bIJY1v15XMzrJ5soGnPM+7uigZjA==", + "license": "MIT" }, "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "license": "MIT" }, "node_modules/@types/history": { "version": "4.7.11", "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/js-cookie": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-3.0.6.tgz", "integrity": "sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/lodash": { - "version": "4.17.16", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.16.tgz", - "integrity": "sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==", - "dev": true + "version": "4.17.17", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.17.tgz", + "integrity": "sha512-RRVJ+J3J+WmyOTqnz3PiBLA501eKwXl2noseKOrNo/6+XEHjTAxO4xHvxQB6QuNm+s4WRbn6rSiap8+EA+ykFQ==", + "dev": true, + "license": "MIT" }, "node_modules/@types/prop-types": { - "version": "15.7.11", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" + "version": "15.7.14", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", + "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==", + "license": "MIT" }, "node_modules/@types/react": { - "version": "18.2.67", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.67.tgz", - "integrity": "sha512-vkIE2vTIMHQ/xL0rgmuoECBCkZFZeHr49HeWSc24AptMbNRo7pwSBvj73rlJJs9fGKj0koS+V7kQB1jHS0uCgw==", + "version": "18.3.23", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz", + "integrity": "sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==", + "license": "MIT", "dependencies": { "@types/prop-types": "*", - "@types/scheduler": "*", "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "18.2.22", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.22.tgz", - "integrity": "sha512-fHkBXPeNtfvri6gdsMYyW+dW7RXFo6Ad09nLFK0VQWR7yGLai/Cyvyj696gbwYvBnhGtevUG9cET0pmUbMtoPQ==", + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", "dev": true, - "dependencies": { - "@types/react": "*" + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" } }, "node_modules/@types/react-router": { @@ -1554,6 +1668,7 @@ "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", "dev": true, + "license": "MIT", "dependencies": { "@types/history": "^4.7.11", "@types/react": "*" @@ -1564,28 +1679,26 @@ "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", "dev": true, + "license": "MIT", "dependencies": { "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router": "*" } }, - "node_modules/@types/scheduler": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" - }, "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.0.tgz", + "integrity": "sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==", + "dev": true, + "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.4.0", "@typescript-eslint/scope-manager": "5.62.0", @@ -1620,6 +1733,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/scope-manager": "5.62.0", "@typescript-eslint/types": "5.62.0", @@ -1647,6 +1761,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0" @@ -1664,6 +1779,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/typescript-estree": "5.62.0", "@typescript-eslint/utils": "5.62.0", @@ -1691,6 +1807,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -1704,6 +1821,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0", @@ -1731,6 +1849,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", @@ -1757,6 +1876,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" @@ -1770,27 +1890,31 @@ } }, "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true, + "license": "ISC" }, "node_modules/@vitejs/plugin-react-swc": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.6.0.tgz", - "integrity": "sha512-XFRbsGgpGxGzEV5i5+vRiro1bwcIaZDIdBRP16qwm+jP68ue/S8FJTBEgOeojtVDYrbSua3XFp71kC8VJE6v+g==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.10.0.tgz", + "integrity": "sha512-ZmkdHw3wo/o/Rk05YsXZs/DJAfY2CdQ5DUAjoWji+PEr+hYADdGMCGgEAILbiKj+CjspBTuTACBcWDrmC8AUfw==", "dev": true, + "license": "MIT", "dependencies": { - "@swc/core": "^1.3.107" + "@rolldown/pluginutils": "1.0.0-beta.9", + "@swc/core": "^1.11.22" }, "peerDependencies": { - "vite": "^4 || ^5" + "vite": "^4 || ^5 || ^6" } }, "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -1803,6 +1927,7 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -1812,6 +1937,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -1827,6 +1953,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -1835,6 +1962,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -1849,12 +1977,14 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "dev": true, + "license": "Python-2.0" }, "node_modules/aria-query": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", "peer": true, "engines": { "node": ">= 0.4" @@ -1865,6 +1995,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -1873,6 +2004,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", "peer": true, "engines": { "node": ">= 0.4" @@ -1881,23 +2013,27 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" }, "node_modules/before-after-hook": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", - "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", + "license": "Apache-2.0" }, "node_modules/bottleneck": { "version": "2.19.5", "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", - "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==" + "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==", + "license": "MIT" }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1908,6 +2044,7 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { "fill-range": "^7.1.1" }, @@ -1920,6 +2057,7 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -1929,6 +2067,7 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1944,6 +2083,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz", "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==", + "license": "MIT", "peer": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15", @@ -1957,6 +2097,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -1967,18 +2108,21 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -1992,6 +2136,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "license": "MIT", "peer": true, "dependencies": { "mdn-data": "2.0.30", @@ -2004,14 +2149,16 @@ "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -2026,12 +2173,14 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -2042,6 +2191,7 @@ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, + "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -2054,6 +2204,7 @@ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -2065,12 +2216,14 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT", "peer": true }, "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT", "peer": true }, "node_modules/esbuild": { @@ -2078,6 +2231,7 @@ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -2115,6 +2269,7 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -2123,16 +2278,18 @@ } }, "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -2178,10 +2335,11 @@ } }, "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -2194,6 +2352,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.3.5.tgz", "integrity": "sha512-61qNIsc7fo9Pp/mju0J83kzvLm0Bsayu7OQSLEoJxLDCBjIIyb87bkzufoOvdDxLkSlMfkF7UxomC4+eztUBSA==", "dev": true, + "license": "MIT", "peerDependencies": { "eslint": ">=7" } @@ -2203,6 +2362,7 @@ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -2216,6 +2376,7 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -2228,6 +2389,7 @@ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -2244,6 +2406,7 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -2253,6 +2416,7 @@ "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -2266,10 +2430,11 @@ } }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -2282,6 +2447,7 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -2291,6 +2457,7 @@ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -2303,6 +2470,7 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -2312,6 +2480,7 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -2320,6 +2489,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", "peer": true, "dependencies": { "@types/estree": "^1.0.0" @@ -2330,6 +2500,7 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } @@ -2354,19 +2525,21 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" @@ -2377,6 +2550,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -2388,19 +2562,22 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "dev": true, + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -2410,6 +2587,7 @@ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, + "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -2422,6 +2600,7 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -2434,6 +2613,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -2450,6 +2630,7 @@ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, + "license": "MIT", "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.3", @@ -2460,15 +2641,17 @@ } }, "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" }, "node_modules/foreground-child": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "license": "ISC", "peer": true, "dependencies": { "cross-spawn": "^7.0.6", @@ -2485,13 +2668,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -2504,6 +2689,7 @@ "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", "peer": true, "dependencies": { "foreground-child": "^3.1.0", @@ -2525,6 +2711,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -2536,6 +2723,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "peer": true, "dependencies": { "balanced-match": "^1.0.0" @@ -2545,6 +2733,7 @@ "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", "peer": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -2561,6 +2750,7 @@ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -2576,6 +2766,7 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -2595,39 +2786,44 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/highlight.js": { - "version": "11.9.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.9.0.tgz", - "integrity": "sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==", + "version": "11.11.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz", + "integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==", + "license": "BSD-3-Clause", "engines": { "node": ">=12.0.0" } }, "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -2644,6 +2840,7 @@ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.19" } @@ -2652,7 +2849,9 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -2662,13 +2861,15 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -2677,6 +2878,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -2687,6 +2889,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -2699,6 +2902,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -2708,6 +2912,7 @@ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -2716,6 +2921,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz", "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==", + "license": "MIT", "peer": true, "dependencies": { "@types/estree": "^1.0.6" @@ -2724,12 +2930,14 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" }, "node_modules/jackspeak": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", "peer": true, "dependencies": { "@isaacs/cliui": "^8.0.2" @@ -2753,13 +2961,15 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -2771,25 +2981,29 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, + "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } @@ -2798,6 +3012,7 @@ "version": "4.1.5", "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "license": "MIT", "peer": true, "engines": { "node": ">=6" @@ -2808,6 +3023,7 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -2820,6 +3036,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", + "license": "MIT", "peer": true }, "node_modules/locate-path": { @@ -2827,6 +3044,7 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -2841,18 +3059,21 @@ "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -2863,12 +3084,15 @@ "node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC", + "peer": true }, "node_modules/magic-string": { "version": "0.30.17", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "license": "MIT", "peer": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" @@ -2878,6 +3102,7 @@ "version": "2.0.30", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "license": "CC0-1.0", "peer": true }, "node_modules/merge2": { @@ -2885,17 +3110,19 @@ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -2907,6 +3134,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -2918,26 +3146,29 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", "peer": true, "engines": { "node": ">=16 || 14 >=14.17" } }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -2949,29 +3180,33 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/natural-compare-lite": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/octokit": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/octokit/-/octokit-4.0.2.tgz", - "integrity": "sha512-wbqF4uc1YbcldtiBFfkSnquHtECEIpYD78YUXI6ri1Im5OO2NLo6ZVpRdbJpdnpZ05zMrVPssNiEo6JQtea+Qg==", - "dependencies": { - "@octokit/app": "^15.0.0", - "@octokit/core": "^6.0.0", - "@octokit/oauth-app": "^7.0.0", - "@octokit/plugin-paginate-graphql": "^5.0.0", - "@octokit/plugin-paginate-rest": "^11.0.0", - "@octokit/plugin-rest-endpoint-methods": "^13.0.0", - "@octokit/plugin-retry": "^7.0.0", - "@octokit/plugin-throttling": "^9.0.0", - "@octokit/request-error": "^6.0.0", - "@octokit/types": "^13.0.0" + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/octokit/-/octokit-4.1.4.tgz", + "integrity": "sha512-cRvxRte6FU3vAHRC9+PMSY3D+mRAs2Rd9emMoqp70UGRvJRM3sbAoim2IXRZNNsf8wVfn4sGxVBHRAP+JBVX/g==", + "license": "MIT", + "dependencies": { + "@octokit/app": "^15.1.6", + "@octokit/core": "^6.1.5", + "@octokit/oauth-app": "^7.1.6", + "@octokit/plugin-paginate-graphql": "^5.2.4", + "@octokit/plugin-paginate-rest": "^12.0.0", + "@octokit/plugin-rest-endpoint-methods": "^14.0.0", + "@octokit/plugin-retry": "^7.2.1", + "@octokit/plugin-throttling": "^10.0.0", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "@octokit/webhooks": "^13.8.3" }, "engines": { "node": ">= 18" @@ -2982,22 +3217,24 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, + "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, + "license": "MIT", "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -3008,6 +3245,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -3023,6 +3261,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -3037,6 +3276,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0", "peer": true }, "node_modules/parent-module": { @@ -3044,6 +3284,7 @@ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -3056,6 +3297,7 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3065,6 +3307,7 @@ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3073,6 +3316,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -3081,6 +3325,7 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", "peer": true, "dependencies": { "lru-cache": "^10.2.0", @@ -3098,6 +3343,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3106,6 +3352,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "license": "MIT", "peer": true, "dependencies": { "@types/estree": "^1.0.0", @@ -3116,13 +3363,15 @@ "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -3131,9 +3380,9 @@ } }, "node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "version": "8.5.4", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.4.tgz", + "integrity": "sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==", "funding": [ { "type": "opencollective", @@ -3148,9 +3397,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.0", + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, "engines": { @@ -3162,6 +3412,7 @@ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } @@ -3171,6 +3422,7 @@ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz", "integrity": "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -3183,6 +3435,7 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -3205,12 +3458,14 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" }, @@ -3219,23 +3474,25 @@ } }, "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "scheduler": "^0.23.2" }, "peerDependencies": { - "react": "^18.2.0" + "react": "^18.3.1" } }, "node_modules/react-router": { - "version": "6.22.3", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz", - "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==", + "version": "6.30.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.1.tgz", + "integrity": "sha512-X1m21aEmxGXqENEPG3T6u0Th7g0aS4ZmoNynhbs+Cn+q+QGTLt+d5IQ2bHAXKzKcxGJjxACpVbnYQSCRcfxHlQ==", + "license": "MIT", "dependencies": { - "@remix-run/router": "1.15.3" + "@remix-run/router": "1.23.0" }, "engines": { "node": ">=14.0.0" @@ -3245,12 +3502,13 @@ } }, "node_modules/react-router-dom": { - "version": "6.22.3", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz", - "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==", + "version": "6.30.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.1.tgz", + "integrity": "sha512-llKsgOkZdbPU1Eg3zK8lCn+sjD9wMRZZPuzmdWWX5SUs8OFkN5HnFVC0u5KMeMaC9aoancFI/KoLuKPqN+hxHw==", + "license": "MIT", "dependencies": { - "@remix-run/router": "1.15.3", - "react-router": "6.22.3" + "@remix-run/router": "1.23.0", + "react-router": "6.30.1" }, "engines": { "node": ">=14.0.0" @@ -3265,15 +3523,17 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true, + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -3283,7 +3543,9 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -3298,7 +3560,9 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -3315,11 +3579,12 @@ } }, "node_modules/rollup": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.4.tgz", - "integrity": "sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.41.1.tgz", + "integrity": "sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==", + "license": "MIT", "dependencies": { - "@types/estree": "1.0.6" + "@types/estree": "1.0.7" }, "bin": { "rollup": "dist/bin/rollup" @@ -3329,24 +3594,26 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.24.4", - "@rollup/rollup-android-arm64": "4.24.4", - "@rollup/rollup-darwin-arm64": "4.24.4", - "@rollup/rollup-darwin-x64": "4.24.4", - "@rollup/rollup-freebsd-arm64": "4.24.4", - "@rollup/rollup-freebsd-x64": "4.24.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.24.4", - "@rollup/rollup-linux-arm-musleabihf": "4.24.4", - "@rollup/rollup-linux-arm64-gnu": "4.24.4", - "@rollup/rollup-linux-arm64-musl": "4.24.4", - "@rollup/rollup-linux-powerpc64le-gnu": "4.24.4", - "@rollup/rollup-linux-riscv64-gnu": "4.24.4", - "@rollup/rollup-linux-s390x-gnu": "4.24.4", - "@rollup/rollup-linux-x64-gnu": "4.24.4", - "@rollup/rollup-linux-x64-musl": "4.24.4", - "@rollup/rollup-win32-arm64-msvc": "4.24.4", - "@rollup/rollup-win32-ia32-msvc": "4.24.4", - "@rollup/rollup-win32-x64-msvc": "4.24.4", + "@rollup/rollup-android-arm-eabi": "4.41.1", + "@rollup/rollup-android-arm64": "4.41.1", + "@rollup/rollup-darwin-arm64": "4.41.1", + "@rollup/rollup-darwin-x64": "4.41.1", + "@rollup/rollup-freebsd-arm64": "4.41.1", + "@rollup/rollup-freebsd-x64": "4.41.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.41.1", + "@rollup/rollup-linux-arm-musleabihf": "4.41.1", + "@rollup/rollup-linux-arm64-gnu": "4.41.1", + "@rollup/rollup-linux-arm64-musl": "4.41.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.41.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.41.1", + "@rollup/rollup-linux-riscv64-gnu": "4.41.1", + "@rollup/rollup-linux-riscv64-musl": "4.41.1", + "@rollup/rollup-linux-s390x-gnu": "4.41.1", + "@rollup/rollup-linux-x64-gnu": "4.41.1", + "@rollup/rollup-linux-x64-musl": "4.41.1", + "@rollup/rollup-win32-arm64-msvc": "4.41.1", + "@rollup/rollup-win32-ia32-msvc": "4.41.1", + "@rollup/rollup-win32-x64-msvc": "4.41.1", "fsevents": "~2.3.2" } }, @@ -3369,26 +3636,26 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" } }, "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -3396,22 +3663,11 @@ "node": ">=10" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -3423,6 +3679,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", "engines": { "node": ">=8" } @@ -3431,6 +3688,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", "peer": true, "engines": { "node": ">=14" @@ -3444,6 +3702,7 @@ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3452,6 +3711,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -3460,6 +3720,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", "peer": true, "dependencies": { "eastasianwidth": "^0.2.0", @@ -3478,6 +3739,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", "peer": true, "dependencies": { "emoji-regex": "^8.0.0", @@ -3492,12 +3754,14 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT", "peer": true }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -3510,6 +3774,7 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", "peer": true, "dependencies": { "ansi-regex": "^6.0.1" @@ -3525,6 +3790,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -3537,6 +3803,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "peer": true, "dependencies": { "ansi-regex": "^5.0.1" @@ -3550,6 +3817,7 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -3562,6 +3830,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -3570,9 +3839,10 @@ } }, "node_modules/svelte": { - "version": "4.2.19", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.19.tgz", - "integrity": "sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==", + "version": "4.2.20", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.20.tgz", + "integrity": "sha512-eeEgGc2DtiUil5ANdtd8vPwt9AgaMdnuUFnPft9F5oMvU/FHu5IHFic+p1dR/UOB7XU2mX2yHW+NcTch4DCh5Q==", + "license": "MIT", "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.1", @@ -3598,6 +3868,7 @@ "version": "0.16.0", "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.16.0.tgz", "integrity": "sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==", + "license": "ISC", "peer": true, "engines": { "node": "^12.20 || ^14.13.1 || >= 16" @@ -3610,13 +3881,15 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -3624,17 +3897,28 @@ "node": ">=8.0" } }, + "node_modules/toad-cache": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.0.tgz", + "integrity": "sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, "node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "dev": true, + "license": "0BSD" }, "node_modules/tsutils": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, + "license": "MIT", "dependencies": { "tslib": "^1.8.1" }, @@ -3650,6 +3934,7 @@ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -3662,6 +3947,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -3670,10 +3956,11 @@ } }, "node_modules/typescript": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz", - "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -3683,28 +3970,31 @@ } }, "node_modules/universal-github-app-jwt": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/universal-github-app-jwt/-/universal-github-app-jwt-2.2.0.tgz", - "integrity": "sha512-G5o6f95b5BggDGuUfKDApKaCgNYy2x7OdHY0zSMF081O0EJobw+1130VONhrA7ezGSV2FNOGyM+KQpQZAr9bIQ==" + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/universal-github-app-jwt/-/universal-github-app-jwt-2.2.2.tgz", + "integrity": "sha512-dcmbeSrOdTnsjGjUfAlqNDJrhxXizjAz94ija9Qw8YkZ1uu0d+GoZzyH+Jb9tIIqvGsadUfwg+22k5aDqqwzbw==", + "license": "MIT" }, "node_modules/universal-user-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", + "license": "ISC" }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/vite": { - "version": "5.4.16", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.16.tgz", - "integrity": "sha512-Y5gnfp4NemVfgOTDQAunSD4346fal44L9mszGGY/e+qxsRT5y1sMlS/8tiQ8AFAp+MFgYNSINdfEchJiPm41vQ==", + "version": "5.4.19", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.19.tgz", + "integrity": "sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==", "license": "MIT", "dependencies": { "esbuild": "^0.21.3", @@ -3764,6 +4054,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz", "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==", + "license": "MIT", "peer": true, "peerDependencies": { "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" @@ -3778,6 +4069,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -3788,10 +4080,21 @@ "node": ">= 8" } }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/wrap-ansi": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^6.1.0", @@ -3810,6 +4113,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.0.0", @@ -3827,12 +4131,14 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT", "peer": true }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", "peer": true, "dependencies": { "emoji-regex": "^8.0.0", @@ -3847,6 +4153,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -3859,6 +4166,7 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -3871,6 +4179,7 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", "peer": true, "dependencies": { "ansi-regex": "^6.0.1" @@ -3886,19 +4195,15 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, diff --git a/src/App.tsx b/src/App.tsx index e105faafa..d478dfe66 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -59,12 +59,12 @@ import UserExperienceGuidelinesPage from "@routes/get-started/UserExperienceGuid import { VersionFromUrlProvider } from "@contexts/VersionFromUrlContext.tsx"; import { ComponentsRouter } from "./versioned-router"; -import ExamplePageTemplate from "@routes/patterns/ExamplePageTemplate"; -import PatternsOverviewPage from "@routes/patterns/PatternsOverview"; +import ExamplePageTemplate from "@routes/examples/ExamplePageTemplate"; +import PatternsOverviewPage from "@routes/examples/ExamplesOverview.tsx"; import ComponentNotFound from "@routes/not-found/NotFound.tsx"; import { LanguageVersionProvider } from "@contexts/LanguageVersionContext.tsx"; import DevelopersUpgradePage from "@routes/get-started/developers/upgrade-guide/DevelopersUpgrade.tsx"; -import PatternsLayout from "@routes/patterns/PatternsLayout.tsx"; +import ExamplesLayout from "@routes/examples/ExamplesLayout.tsx"; // Foundations Pages import FoundationsLayout from "@routes/foundations/FoundationsLayout"; @@ -152,7 +152,7 @@ const router = createBrowserRouter( } /> - }> + }> } /> } /> diff --git a/src/components/component-card/ComponentCard.tsx b/src/components/component-card/ComponentCard.tsx index ceba8481e..c17c68b25 100644 --- a/src/components/component-card/ComponentCard.tsx +++ b/src/components/component-card/ComponentCard.tsx @@ -17,7 +17,7 @@ import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { ANGULAR_VERSIONS, REACT_VERSIONS } from "@components/version-language-switcher/version-language-constants.ts"; -export interface Props { +export interface ComponentCardProps { name: string; description: string; tags?: string[]; @@ -39,7 +39,7 @@ function isRelativeUrl(url?: string): boolean { return url !== undefined && !/^https?:\/\//i.test(url); } -export function ComponentCard(props: Props) { +export function ComponentCard(props: ComponentCardProps) { console.log("Rendering card for:", props.name); const folder = props.imageFolder ?? "components"; const [imageUrl, setImageUrl] = useState(`/images/${folder}/${dasherize(props.name)}.png`); @@ -47,7 +47,7 @@ export function ComponentCard(props: Props) { useEffect(() => { const testImage = new Image(); testImage.src = imageUrl; - testImage.onerror = () => setImageUrl("/images/not-yet-available.png"); + testImage.onerror = () => setImageUrl("/images/component-thumbnails/not-yet-available.png"); }, [imageUrl]); const getBadgeType = (status: ComponentStatus) => { @@ -55,7 +55,7 @@ export function ComponentCard(props: Props) { case "Published": return null; // No badge for "Published" case "Not Published": - return "information"; + return "light"; case "In Progress": return "important"; default: diff --git a/src/components/example-card/ExampleCard.css b/src/components/example-card/ExampleCard.css new file mode 100644 index 000000000..920a61727 --- /dev/null +++ b/src/components/example-card/ExampleCard.css @@ -0,0 +1,40 @@ +.card { + border: 1px solid var(--goa-color-greyscale-200); + border-radius: 4px; + overflow: hidden; +} + +.card-image { + width: 100%; + height: 200px; + background-size: cover; + background-repeat: no-repeat; + background-position: center; + border-bottom: 1px solid var(--goa-color-greyscale-200); + background-color: #F8F8F8; +} + +.card-content { + padding: 1.5rem; +} + +.card-content a { + display: flex; +} + +.card-content a.github-link { + font: var(--goa-typography-body-s); + margin-top: 1rem; + margin-bottom: 0; +} + +.card-content a:focus { + outline: none; + box-shadow: none; + background: none; +} + +.card:focus-within { + outline: 3px solid var(--goa-color-interactive-focus); + border-radius: 4px; +} \ No newline at end of file diff --git a/src/components/example-card/ExampleCard.tsx b/src/components/example-card/ExampleCard.tsx new file mode 100644 index 000000000..baebd2223 --- /dev/null +++ b/src/components/example-card/ExampleCard.tsx @@ -0,0 +1,152 @@ +import { Link } from "react-router-dom"; +import "./ExampleCard.css"; +import { toKebabCase } from "../../utils"; +import { GoabBadge, GoabText } from "@abgov/react-components"; +import { useState, useEffect } from "react"; + +export type ComponentStatus = "Published" | "Not Published" | "In Progress"; + +// Define allowed group options as a union type +export type Group = + | "Content layout" + | "Feedback and alerts" + | "Inputs and actions" + | "Structure and navigation" + | "Utilities"; +import { useContext } from "react"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; +import { ANGULAR_VERSIONS, REACT_VERSIONS } from "@components/version-language-switcher/version-language-constants.ts"; + +function dasherize(value: string): string { + return value.toLowerCase().split(" ").join("-"); +} + +function isRelativeUrl(url?: string): boolean { + return url !== undefined && !/^https?:\/\//i.test(url); +} + +export interface ExampleCardProps { + name: string; + description: string; + tags?: string[]; + status: ComponentStatus; + githubLink?: string; + openIssues?: number; + isNew?: boolean; // if true, show a badge on the component card to let users know the component is available in the latest version + exampleUrl?: string; + designComponentFigmaUrl?: string; + designContributionFigmaUrl?: string; + imageFolder?: "component-thumbnails" | "example-thumbnails"; +} + +export function ExampleCard(props: ExampleCardProps) { + console.log("Rendering example card for:", props.name); + const folder = props.imageFolder ?? "example-thumbnails"; + const [imageUrl, setImageUrl] = useState(`/images/${folder}/${dasherize(props.name)}.png`); + + useEffect(() => { + const testImage = new Image(); + testImage.src = imageUrl; + testImage.onerror = () => { + if (props.status !== "Published") { + setImageUrl("/images/component-thumbnails/not-yet-available.png"); + } else { + setImageUrl(""); + } + }; + }, [imageUrl, props.status]); + + const getBadgeType = (status: ComponentStatus) => { + switch (status) { + case "Published": + return null; // No badge for "Published" + case "Not Published": + return "light"; + case "In Progress": + return "important"; + default: + return "information"; // Fallback for unknown status + } + }; + getBadgeType(props.status); + const { language } = useContext(LanguageVersionContext); + return ( + +
+ {props.status === "Published" ? ( + +
+ + ) : ( +
+ )} +
+ {props.isNew && ( + + )} + {props.status !== "Published" && ( + + )} +

+ {props.status === "Published" ? ( + {props.name} + ) : ( + props.name + )} +

+ + {props.description} + + + {props.tags?.map((tag) => ( + + ))} + + {props.status !== "Published" && props.githubLink && ( + + + View issue + + + )} + +
+
+ ); +} diff --git a/src/examples/public-form.tsx b/src/examples/public-form.tsx new file mode 100644 index 000000000..e921c58ad --- /dev/null +++ b/src/examples/public-form.tsx @@ -0,0 +1,236 @@ +import { ComponentContent } from "@components/component-content/ComponentContent.tsx"; +import { GoabDetails, GoabGrid, GoabText } from "@abgov/react-components"; +import css from "@routes/examples/patterns.module.css"; +import { Link } from "react-router-dom"; + +export function PublicForm() { + return ( + + + + Primary users: citizens, public, external +

+ You are designing a public service for citizens. It should be designed to be as simple and + intuitive as possible, while ensuring citizens can make complete and informed decisions + for themselves using the service. +

+ There is an emphasis on an accessible experience with a low cognitive load for users who + use the service infrequently. +
+
+

Pages

+ +
+ public form pages overview image +
+ +
+
+ + 1. Start page + + + This is the starting point for a citizen to begin your form from within your service or + from Alberta.ca. + +
+ +
+ + 2. Task list page (optional) + + + Outline the entire process for the user and help them through the process by breaking down + an experience into individual tasks. + +
+ +
+ + 3. Question pages + + Ask a user a question or a small set of related questions. +
+ +
+ + 4. Review page + + Let users check answers before submitting information to a + service. +
+ +
+ + 5. Results page + + + Let users know that they’ve completed a form, application, or task and tell them what to + do next. + +
+
+ +
+ +

+ Form structure +

+ + Form structure + + + + Use the public form structure focused on content, and asking the right questions to your user + to keep the interaction as simple as possible. + + + +

Start with one idea per page

+
+ + Split the form across multiple pages with each page containing just one idea, for example: + +
    +
  • + one decision they have to make +
  • +
  • + one question they have to answer +
  • +
  • + one piece of information you're telling a user +
  • +
+
+ +
+ Starting with one thing per page helps users to: +
    +
  • + understand what you're asking them to do +
  • +
  • + focus on specific questions and its answer +
  • +
  • + find their way through an unfamiliar process +
  • +
  • + use the service on a mobile device +
  • +
  • + recover easily from form errors +
  • +
+
+ +
+ It also helps the service: +
    +
  • + handle branching questions and loops +
  • +
  • + design for mobile use +
  • +
  • + save a user’s answers automatically as they go +
  • +
  • + capture analytics about each question +
  • +
+
+ +

Combine questions when helpful

+ + Asking a question doesn’t necessarily mean you should use one form field. For example, + asking a user for their address is best captured all on the same page with multiple fields. + + +

Accessibility

+
+ + Structuring your form with one idea per page simplifies the experience, and makes your + form more accessible. + +
    +
  1. + + Reduced cognitive load: Presenting only one idea at a time reduces + cognitive load on the user. This is particularly beneficial for users with cognitive + impairments, who might find it difficult to process and respond to multiple questions at + once. + +
  2. +
  3. + + Improved navigation for a screen reader: This simplified approach + efficiently guides the user through the form based on each answer and makes it easier to + navigate with screen readers or other assistive technology. + +
  4. +
  5. + + Better error handling: With smaller sets of questions validated at a + time errors can be identified and addressed in context. This makes it less confusing and + less overwhelming for users, particularly those with cognitive impairments and those + using assistive technologies. + +
  6. +
  7. + + Progressive disclosure: One idea per page allows the user to focus on + the current task and move through more information slowly. This can be especially + beneficial to users who are easily distracted or overwhelmed by too much information. + +
  8. +
+
+ +

Adding complexity

+ + Start by making sure that the content and questions you are asking the user are as simple as possible. + + +
+ As the complexity of your form grows, consider: +
    +
  • + adding simple progress indicators to communicate + progress +
  • +
  • + breaking the form into sections on a task list page +
  • +
+
+ +

Form stepper

+ + Avoid using traditional horizontal form steppers for every form. Research has shown that + horizontal form steppers shown on every page can distract and confuse some users, take up + too much space, and make it hard to handle branching and conditional sections of a form. + +
+ As the complexity of your form grows, consider: +
    +
  • + adding simple text progress indicators to communicate + progress +
  • +
  • + follow the one idea per page approach, and break the form into + sections as needed using a task list page +
  • +
+
+
+ ); +} + +export default PublicForm; diff --git a/src/routes/patterns/QuestionPage.tsx b/src/examples/question-page.tsx similarity index 59% rename from src/routes/patterns/QuestionPage.tsx rename to src/examples/question-page.tsx index 34c025e18..b1b35b37d 100644 --- a/src/routes/patterns/QuestionPage.tsx +++ b/src/examples/question-page.tsx @@ -1,24 +1,22 @@ import { GoabTab, - GoabTabs + GoabTabs, + GoabText } from "@abgov/react-components"; -import { ComponentContent } from "@components/component-content/ComponentContent"; -import css from "./patterns.module.css"; +import { ComponentContent } from "@components/component-content/ComponentContent.tsx"; +import css from "@routes/examples/patterns.module.css"; +import QuestionPageExamples from "@examples/question-page/QuestionPageExamples.tsx"; -export default function QuestionPage() { + +export function QuestionPage() { return ( <> -

Question pages

-

- This is the starting point for a citizen to begin your form from within your service or from - Alberta.ca. -

- - + + @@ -30,101 +28,127 @@ export default function QuestionPage() {

Form structure

-

+ Start by splitting the form across multiple pages with each page containing just one idea, for example: -

+
    -
  • one piece of information you’re telling a user
  • -
  • one decision they have to make
  • -
  • one question they have to answer
  • +
  • + one piece of information you’re telling a user +
  • +
  • + one decision they have to make +
  • +
  • + one question they have to answer +

Helps users to:

    -
  • understand what you’re asking them to do
  • -
  • focus on the specific question and its answer
  • -
  • find their way through an unfamiliar process
  • -
  • use the service on a mobile device
  • -
  • recover easily from errors
  • -
  • navigate with assistive technologies
  • +
  • + understand what you’re asking them to do +
  • +
  • + focus on the specific question and its answer +
  • +
  • + find their way through an unfamiliar process +
  • +
  • + use the service on a mobile device +
  • +
  • + recover easily from errors +
  • +
  • + navigate with assistive technologies +

Helps the service to:

    -
  • handle branching questions and loops
  • -
  • save a user’s answers automatically as they go
  • -
  • capture analytics about each question
  • -
  • manage potential complexity on a page
  • +
  • + handle branching questions and loops +
  • +
  • + save a user’s answers automatically as they go +
  • +
  • + capture analytics about each question +
  • +
  • + manage potential complexity on a page +

What are the main benefits of starting with one idea per page?

-

+ Focus: Asking one question at a time helps users focus on the task at hand. This is especially beneficial for complex forms or surveys, where multiple fields can easily overwhelm or confuse the user. The user's attention is undivided, leading to higher quality responses and fewer errors. -

-

+ + Efficiency: Due to the improved focus of the task at hand, completion time for forms can be lowered when measured against traditional long form patterns. -

-

+ + Progression: This approach gives users a sense of progression and accomplishment as they navigate through the form, which can motivate them to complete the form. It allows for a linear progression model, which can be less intimidating and less overwhelming than seeing a full page of empty fields at once. -

-

+ + Reduce Cognitive Load: By reducing the amount of information presented at once, this design pattern can help minimize cognitive load. The cognitive load theory suggests that our working memory capacity is limited, and if too much information is presented at once, it can lead to confusion and mistakes. -

-

+ + Adaptive: allows for adaptive questioning. The answer to one question can determine the next question asked. This isn't always possible when all questions are presented at once. This can help make the form shorter and more relevant for the user, increasing completion rates and user satisfaction. -

-

+ + Data Quality: With all the user's attention on one question, they are more likely to provide accurate and thoughtful answers. This can help to improve the quality of data gathered. -

-

+ + Mobile Friendly: As mobile usage continues to grow, one question at a time approach makes it easier for users to fill out the form on smaller screens. Long forms can be particularly daunting on mobile devices, so breaking it up into smaller, manageable pieces can improve user experience. -

-

+ + Error Handling: If a user makes an error on a form, it is easier and faster to provide feedback on that specific question, leading to an overall smoother and less frustrating user experience. -

+

Using progress indicators

-

+ Start by testing your form without a progress indicator to see if it’s simple enough that users do not need one. -

-

+ + Try improving the order, type or number of questions before adding a progress indicator. If people still have difficulty, try adding a simple step or question indicator. -

-

+ + Only include the total number of questions if you can do so reliably. As the user moves through the form, make sure the indicator updates to tell them which question they are on and the total number remaining. -

+

Why should I avoid progress indicators on forms?

-

+ Induce anxiety: If the form is lengthy, showing a slow-moving progress bar can induce anxiety and may deter the user from completing the form. Users could feel overwhelmed by the perceived time investment and the number of questions yet to come. -

-

+ + False perception: Progress bars often represent completion in a linear fashion, but not all form questions take an equal amount of time or effort to complete. A user might spend more time on an earlier question and then speed through subsequent ones. This can lead to an inaccurate perception of progress, causing user frustration. -

-

+ + Distraction: In an adaptive questioning scenario where the next question depends on the answer to the current question, it's challenging to provide an accurate progress indicator as the total number of questions can change dynamically. -

-

+ + Speed over accuracy: A progress indicator can lead users to rush through the form to see the progress bar move faster, thus sacrificing the quality of their responses. -

-

+ + Cannot use branching form logic: It's challenging to provide an accurate progress indicator in a non-linear form where the next question depends on the answer to the current question. The total number of questions will change dynamically. -

-

+ + Additional development and testing time: that progress indicators and form steppers introduce. -

+

When to use a form stepper

-

A form stepper is a type of visual step/progress indicator in a form.

-

+ A form stepper is a type of visual step/progress indicator in a + form. + Start with a one thing per page approach, and consider using a form stepper when all of the following is true: -

+
  • - your form can be broken into logical groups or steps that is helpful to constantly - communicate to the user + your form can be broken into logical groups or steps that is + helpful to constantly communicate to the user
  • -
  • your form is always linear, and a user cannot skip questions
  • - it is valuable to indicate to the user where they are in the process at all times - ongoing + your form is always linear, and a user cannot skip + questions
  • - it is valuable to indicate to the user how many steps are remaining, and you can - do so reliably + it is valuable to indicate to the user where they are in the + process at all times ongoing
  • - the form is not dynamic, where the number of questions remaining can change - depending on the response + it is valuable to indicate to the user how many steps are + remaining, and you can do so reliably +
  • +
  • + the form is not dynamic, where the number of questions + remaining can change depending on the response
-

+ Make it clear which tasks a user has completed and which they still need to complete. -

+ ); } + +export default QuestionPage; diff --git a/src/examples/result-page.tsx b/src/examples/result-page.tsx new file mode 100644 index 000000000..5e7f6b061 --- /dev/null +++ b/src/examples/result-page.tsx @@ -0,0 +1,66 @@ +import { + GoabTab, + GoabTabs, + GoabText +} from "@abgov/react-components"; +import { ComponentContent } from "@components/component-content/ComponentContent.tsx"; +import css from "@routes/examples/patterns.module.css"; +import { ResultPageExamples } from "@examples/result-page/ResultPageExamples.tsx"; + +export function ResultPage() { + return ( + <> + + + + + + + +

Overview

+
+ result page overview image +
+ +

When to use a results page

+ + Use a results page when a user has submitted a form, application, or task, and there is a result to show + them. + + +

What content to include

+
    +
  • + details of what happens next, and when +
  • +
  • + a reference number (if applicable) +
  • +
  • + a link to save a record of the confirmation, for examples as a + PDF +
  • +
  • + link to give feedback +
  • +
  • + contact details for the service +
  • +
  • + links to information or services that users are likely to need + next +
  • +
+
+
+
+ + ); +} + +export default ResultPage; diff --git a/src/examples/results-page.tsx b/src/examples/result-page/ResultPageExamples.tsx similarity index 99% rename from src/examples/results-page.tsx rename to src/examples/result-page/ResultPageExamples.tsx index 2cc413e7a..86296988a 100644 --- a/src/examples/results-page.tsx +++ b/src/examples/result-page/ResultPageExamples.tsx @@ -4,9 +4,10 @@ import { GoabBlock, GoabCallout } from "@abgov/react-components"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export function ResultsPage() { +export function ResultPageExamples() { const {version} = useContext(LanguageVersionContext); return ( + {/*CSS Code Snippet*/} + ); -} - -export default ResultsPage; +} \ No newline at end of file diff --git a/src/examples/review-page.tsx b/src/examples/review-page.tsx index 6049821fc..65321a226 100644 --- a/src/examples/review-page.tsx +++ b/src/examples/review-page.tsx @@ -1,103 +1,70 @@ -import { Sandbox } from "@components/sandbox"; -import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -import { GoabButton, GoabButtonGroup, GoabTable } from "@abgov/react-components"; +import { + GoabTab, + GoabTabs, + GoabText +} from "@abgov/react-components"; +import { ComponentContent } from "@components/component-content/ComponentContent.tsx"; +import css from "@routes/examples/patterns.module.css"; +import { ReviewPageExamples } from "@examples/review-page/ReviewPageExamples.tsx"; -export function ReviewPage() { +export function ReviewPage() { return ( - - {/*CSS Code Snippet*/} - -

Review your answers

-

Your situation

- - - - - What was your (the applicant's) relationship to the deceased? - - Other - - Change - - - - - My relationship to the deceased was - - Manager - - Change - - - - - - Was the deceased part of a household that was receiving Assured Income for the - Severely Handicapped (AISH) or Income Support? - - - No - - Change - - - - - Was the deceased a minor? - - No - - Change - - - - - What was the deceased's marital status at time of death? - - Married - - Change - - - - - Did the deceased have any dependents? - - No - - Change - - - - - Was the deceased a sponsored immigrant? - - Yes - - Change - - - - - - Confirm and continue - Back to application overview - -
+ <> + + + + + + + +
+

+ Overview +

+ review page overview image +
+

When to use a review page

+
+ Review and submit your answers at the end of a form or + section. + + When designing a very large transaction with multiple sections, it may help to + include a check answers pages at the end of each section. + +
+ +

Let users go back and change their answers

+ + Provide a "change" link next to each section so that users can add or change the + information they are submitting. + + + If you have questions that are optional, let users know that they've skipped it + without giving an answer by showing their response as "Not provided". + + + Include the full question name again in the change button as "visually hidden" so that + the screen reader reads out "change [question]" instead of just "change". This gives + context to a user using assistive technologies while keeping the link simple for most + users. + + +
+ let users go back and change their answer example image +
+
+
+
+ ); } diff --git a/src/examples/review-page/ReviewPageExamples.tsx b/src/examples/review-page/ReviewPageExamples.tsx new file mode 100644 index 000000000..e9a7d1df0 --- /dev/null +++ b/src/examples/review-page/ReviewPageExamples.tsx @@ -0,0 +1,102 @@ +import { Sandbox } from "@components/sandbox"; +import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; +import { GoabButton, GoabButtonGroup, GoabTable } from "@abgov/react-components"; + +export function ReviewPageExamples() { + + return ( + + {/*CSS Code Snippet*/} + +

Review your answers

+

Your situation

+ + + + + What was your (the applicant's) relationship to the deceased? + + Other + + Change + + + + + My relationship to the deceased was + + Manager + + Change + + + + + + Was the deceased part of a household that was receiving Assured Income for the + Severely Handicapped (AISH) or Income Support? + + + No + + Change + + + + + Was the deceased a minor? + + No + + Change + + + + + What was the deceased's marital status at time of death? + + Married + + Change + + + + + Did the deceased have any dependents? + + No + + Change + + + + + Was the deceased a sponsored immigrant? + + Yes + + Change + + + + + + Confirm and continue + Back to application overview + +
+ ); +} \ No newline at end of file diff --git a/src/examples/start-page.tsx b/src/examples/start-page.tsx index 1dda4cf9d..9852a7814 100644 --- a/src/examples/start-page.tsx +++ b/src/examples/start-page.tsx @@ -1,218 +1,171 @@ -import { Sandbox } from "@components/sandbox"; import { - GoabButton, + GoabGrid, GoabTab, GoabTabs, GoabText } from "@abgov/react-components"; -import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -import { useContext } from "react"; -import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; + +import css from "@routes/examples/patterns.module.css"; +import { ComponentContent } from "@components/component-content/ComponentContent.tsx"; +import { StartPageExamples } from "@examples/start-page/StartPageExamples.tsx"; export function StartPage() { - const {version} = useContext(LanguageVersionContext); return ( - - - - {/*Angular code*/} - - {version === "old" && - Name of service - -

- A short overview of the service. This is a couple sentences that helps the user understand what the service is. -

-

- Use this service to apply for [service]. You can use this service to: -

-
    -
  • see of you or a family member is eligible for [service]
  • -
  • create and submit an application for [service]
  • -
  • continue an application for [service] that you already started
  • -
-

Before you begin

-

The application form should take about 20 minutes to complete.

-

In order to complete the application you will need:

-
    -
  • government issued ID for the person applying
  • -
- - Get started - -

Other information about the service

-

This section contains supplementary details about the service, including descriptions of less common scenarios, exceptions, and additional resources available. It provides context and additional insights that may be relevant to your specific circumstances or interests, helping you understand the full scope and utility of the service offered.

-

Support

-

For assistance, email us at  help@gov.ab.ca

- `} - />} - - {version === "new" && - Name of service - -

- A short overview of the service. This is a couple sentences that helps the user understand what the service is. -

-

- Use this service to apply for [service]. You can use this service to: -

-
    -
  • see of you or a family member is eligible for [service]
  • -
  • create and submit an application for [service]
  • -
  • continue an application for [service] that you already started
  • -
-

Before you begin

-

The application form should take about 20 minutes to complete.

-

In order to complete the application you will need:

-
    -
  • government issued ID for the person applying
  • -
- - Get started - -

Other information about the service

-

This section contains supplementary details about the service, including descriptions of less common scenarios, exceptions, and additional resources available. It provides context and additional insights that may be relevant to your specific circumstances or interests, helping you understand the full scope and utility of the service offered.

-

Support

-

For assistance, email us at  help@gov.ab.ca

- `} - />} - {/*React code*/} + + + + + - {version === "old" && - Name of service - -

- A short overview of the service. This is a couple sentences that helps the user understand what the service is. -

-

Use this service to apply for [service]. You can use this service to:

-
    -
  • see of you or a family member is eligible for [service]
  • -
  • create and submit an application for [service]
  • -
  • continue an application for [service] that you already started
  • -
-

Before you begin

-

The application form should take about 20 minutes to complete.

-

In order to complete the application you will need:

-
    -
  • government issued ID for the person applying
  • -
- - Get started - -

- Other information about the service -

-

- This section contains supplementary details about the service, including descriptions of less common scenarios, exceptions, and additional resources available. It provides context and additional insights that may be relevant to your specific circumstances or interests, helping you understand the full scope and utility of the service offered. -

-

Support

-

For assistance, email us at  help@gov.ab.ca

- `} - />} + + +
+

+ When to use a start page +

+ + When to use a start page + + + A start page is the front door to a government service for a citizen. It is the way + into the service, how they access the service. Each government service has a start + page on Alberta.ca. Contact the relevant person at Alberta.ca to make changes to the + start page for your service. + + + This is the starting point for a citizen to begin your form from within your service + or from Alberta.ca. + + + Provide the user with any information that is important before starting the form such + as how long it should take, list documents or information they may need to complete + the form, if there are any costs involved, or alternative ways to access the service. + +
+
+ form pattern start page image +
+
+

A service's start page should

+
    +
  • + + give the user just enough information to help them understand what the service does + and whether it will meet their need + +
  • +
  • + + a service's name should reflects the problem it solves for users + +
  • +
  • + + be written in plain language — GOA + web writing style guide. + +
  • +
  • + + include a "start button" linking into the service, with text that's consistent with + the action you're asking users to take — for example, "Start now", "Sign in" or + "Register or update your details" + +
  • +
  • + + a service's name should reflects the problem it solves for users + +
  • +
  • + + include any other information that most users are likely to need before they start + using the service online — for example, how much it costs to use the service and + roughly how long it will take + +
  • +
  • + + include additional information about the service such as other ways to access the + service (eg. by telephone or by completing a paper form). This should be included + after the main call to action to start the digital service. + +
  • +
- {version === "new" && - Name of service - -

- A short overview of the service. This is a couple sentences that helps the user understand what the service is. -

-

Use this service to apply for [service]. You can use this service to:

-
    -
  • see of you or a family member is eligible for [service]
  • -
  • create and submit an application for [service]
  • -
  • continue an application for [service] that you already started
  • -
-

Before you begin

-

The application form should take about 20 minutes to complete.

-

In order to complete the application you will need:

-
    -
  • government issued ID for the person applying
  • -
- - Get started - -

- Other information about the service -

-

- This section contains supplementary details about the service, including descriptions of less common scenarios, exceptions, and additional resources available. It provides context and additional insights that may be relevant to your specific circumstances or interests, helping you understand the full scope and utility of the service offered. -

-

Support

-

For assistance, email us at  help@gov.ab.ca

- `} - />} + +
+

+ Page content +

+ + Page content + + + Consider what is the primary information that the user needs to know before entering + into the service. Provide that information to the user clearly, and then provide a + link to start using the service. Provide additional secondary information below the + call to action. + +

Overview

+ + What the user needs to know before they enter into the service. A high level description of what the + service + is and what you can use it to do + -

Name of service

-

- A short overview of the service. This is a couple sentences that helps the user understand - what the service is. -

-

Use this service to apply for [service]. You can use this service to:

-
    -
  • see of you or a family member is eligible for [service]
  • -
  • create and submit an application for [service]
  • -
  • continue an application for [service] that you already started
  • -
+

Before you begin

+
    +
  • + + how long it will take + +
  • +
  • + + what you will need to complete the service + +
  • +
      +
    • + + e.g. specific documents + +
    • +
    +
  • + + other important information + +
  • +
-

Before you begin

-

The application form should take about 20 minutes to complete.

-

- In order to complete the application you will need: -

-
    -
  • government issued ID for the person applying
  • -
- {}}> - Get started - +

Call to action

+ + Below the primary information, include an obvious call to action to get started with the service. + -

Other information about the service

-

- This section contains supplementary details about the service, including descriptions of - less common scenarios, exceptions, and additional resources available. It provides context - and additional insights that may be relevant to your specific circumstances or interests, - helping you understand the full scope and utility of the service offered. -

+

Other information

+ + Below the call to action, include any additional information as applicable such as customer support, + frequently asked questions, or related links. + +
+
+ service page content image +
+
-

Support

-

- For assistance, email us at  help@gov.ab.ca -

-
+ + + ); } diff --git a/src/examples/start-page/StartPageExamples.tsx b/src/examples/start-page/StartPageExamples.tsx new file mode 100644 index 000000000..1f37066de --- /dev/null +++ b/src/examples/start-page/StartPageExamples.tsx @@ -0,0 +1,218 @@ +import { Sandbox } from "@components/sandbox"; +import { + GoabButton +} from "@abgov/react-components"; +import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; +import { useContext } from "react"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; + +export function StartPageExamples() { + const { version } = useContext(LanguageVersionContext); + + return ( + + + + {/*Angular code*/} + + {version === "old" && + Name of service + +

+ A short overview of the service. This is a couple sentences that helps the user understand what the service is. +

+

+ Use this service to apply for [service]. You can use this service to: +

+
    +
  • see of you or a family member is eligible for [service]
  • +
  • create and submit an application for [service]
  • +
  • continue an application for [service] that you already started
  • +
+

Before you begin

+

The application form should take about 20 minutes to complete.

+

In order to complete the application you will need:

+
    +
  • government issued ID for the person applying
  • +
+ + Get started + +

Other information about the service

+

This section contains supplementary details about the service, including descriptions of less common scenarios, exceptions, and additional resources available. It provides context and additional insights that may be relevant to your specific circumstances or interests, helping you understand the full scope and utility of the service offered.

+

Support

+

For assistance, email us at  help@gov.ab.ca

+ `} + />} + + {version === "new" && + Name of service + +

+ A short overview of the service. This is a couple sentences that helps the user understand what the service is. +

+

+ Use this service to apply for [service]. You can use this service to: +

+
    +
  • see of you or a family member is eligible for [service]
  • +
  • create and submit an application for [service]
  • +
  • continue an application for [service] that you already started
  • +
+

Before you begin

+

The application form should take about 20 minutes to complete.

+

In order to complete the application you will need:

+
    +
  • government issued ID for the person applying
  • +
+ + Get started + +

Other information about the service

+

This section contains supplementary details about the service, including descriptions of less common scenarios, exceptions, and additional resources available. It provides context and additional insights that may be relevant to your specific circumstances or interests, helping you understand the full scope and utility of the service offered.

+

Support

+

For assistance, email us at  help@gov.ab.ca

+ `} + />} + + {/*React code*/} + + {version === "old" && + Name of service + +

+ A short overview of the service. This is a couple sentences that helps the user understand what the service is. +

+

Use this service to apply for [service]. You can use this service to:

+
    +
  • see of you or a family member is eligible for [service]
  • +
  • create and submit an application for [service]
  • +
  • continue an application for [service] that you already started
  • +
+

Before you begin

+

The application form should take about 20 minutes to complete.

+

In order to complete the application you will need:

+
    +
  • government issued ID for the person applying
  • +
+ + Get started + +

+ Other information about the service +

+

+ This section contains supplementary details about the service, including descriptions of less common scenarios, exceptions, and additional resources available. It provides context and additional insights that may be relevant to your specific circumstances or interests, helping you understand the full scope and utility of the service offered. +

+

Support

+

For assistance, email us at  help@gov.ab.ca

+ `} + />} + + {version === "new" && + Name of service + +

+ A short overview of the service. This is a couple sentences that helps the user understand what the service is. +

+

Use this service to apply for [service]. You can use this service to:

+
    +
  • see of you or a family member is eligible for [service]
  • +
  • create and submit an application for [service]
  • +
  • continue an application for [service] that you already started
  • +
+

Before you begin

+

The application form should take about 20 minutes to complete.

+

In order to complete the application you will need:

+
    +
  • government issued ID for the person applying
  • +
+ + Get started + +

+ Other information about the service +

+

+ This section contains supplementary details about the service, including descriptions of less common scenarios, exceptions, and additional resources available. It provides context and additional insights that may be relevant to your specific circumstances or interests, helping you understand the full scope and utility of the service offered. +

+

Support

+

For assistance, email us at  help@gov.ab.ca

+ `} + />} + +

Name of service

+

+ A short overview of the service. This is a couple sentences that helps the user understand + what the service is. +

+

Use this service to apply for [service]. You can use this service to:

+
    +
  • see of you or a family member is eligible for [service]
  • +
  • create and submit an application for [service]
  • +
  • continue an application for [service] that you already started
  • +
+ +

Before you begin

+

The application form should take about 20 minutes to complete.

+

+ In order to complete the application you will need: +

+
    +
  • government issued ID for the person applying
  • +
+ { + }}> + Get started + + +

Other information about the service

+

+ This section contains supplementary details about the service, including descriptions of + less common scenarios, exceptions, and additional resources available. It provides context + and additional insights that may be relevant to your specific circumstances or interests, + helping you understand the full scope and utility of the service offered. +

+ +

Support

+

+ For assistance, email us at  help@gov.ab.ca +

+
+ ); +} \ No newline at end of file diff --git a/src/examples/task-list-page.tsx b/src/examples/task-list-page.tsx index 067ec2720..799bec3ee 100644 --- a/src/examples/task-list-page.tsx +++ b/src/examples/task-list-page.tsx @@ -1,120 +1,151 @@ -import { Sandbox } from "@components/sandbox"; -import { GoabBadge, GoabCallout, GoabTable } from "@abgov/react-components"; -import "./task-list-page/task-list-page-example.css"; -import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; +import { + GoabCallout, + GoabTab, + GoabTabs, + GoabText +} from "@abgov/react-components"; +import { ComponentContent } from "@components/component-content/ComponentContent.tsx"; +import css from "@routes/examples/patterns.module.css"; +import { Link } from "react-router-dom"; +import { TaskListPageExamples } from "@examples/task-list-page/TaskListPageExamples.tsx"; export function TaskListPage() { return ( + <> + + + + + - - {/*CSS Code Snippet*/} - -

Apply for a service

-
- - You have completed 1 of 3 sections. - -
+ +
+

+ Overview +

+ task list page overview image +
-

1. Before you start

- - - - - Reads terms of use - - - - - - - +

When to use a task list page

+ + Use a task list page to provide a structure for multiple steps in a service. Show a task list page when a + citizen begins a service, and when they return to the service. + + + When using a task list, group related actions into tasks and show the status of the tasks. + -

2. Prepare application

- - - - - Your contact details - - - - - - - - Your family - - - - - - - - Verify your identity - - - - - - - +

How to define a task

+ + The size and complexity of a task is determined by the service and content. A task can be defined as + small as a single action, such as: “sign a document”, or “upload a file”, or can be as big as an entire + section of a form with multiple question pages and a review page. + + + Use tasks to break down the steps in a service in an understandable way. + -

3. Schedule service

-

- You need to complete the previous section before you can start this task. -

- - - - Receive email confirmation - - - - - - Pay service fee - - - - - - -
+

Show status of tasks

+ + Make it clear which tasks a user has completed and which they still need to complete. + + +
+ show status of tasks image +
+ +

Suggested statuses

+ + Completed (success), In progress (dark grey), Not started (information), Cannot start yet (light grey) + + + Include a summary above the task list to say how many tasks have been completed. This also makes it + clearer to the user that there are still tasks left to complete. + + +
+ + You have completed 0 of 3 sections. + +
+ +

How is a task list different than a stepper?

+
+

Stepper:

+
    +
  • + a visual navigation within a form +
  • +
  • + shown at the top of every page in a form +
  • +
  • + scope: sections of a form +
  • +
+
+
+

Task list:

+
    +
  • + can be used to outline more than just sections of a + form +
  • +
  • + not shown on every page +
  • +
+
+ +

Completing tasks in order

+ + When possible, allow users to complete tasks in any order. This will help them plan + their time and complete sections as and when they can. + + +

Anatomy

+
+ status page anatomy image +
+
    +
  1. + + Page tile: heading-large + +
  2. +
  3. + + Status of completed sections: goa-callout + +
  4. +
  5. + + Section: task-list-section + +
  6. +
  7. + + Section heading: heading-medium + +
  8. +
  9. + + Task: goa-table + +
  10. +
+ +
+
+ ); } diff --git a/src/examples/task-list-page/TaskListPageExamples.tsx b/src/examples/task-list-page/TaskListPageExamples.tsx new file mode 100644 index 000000000..5ddf96497 --- /dev/null +++ b/src/examples/task-list-page/TaskListPageExamples.tsx @@ -0,0 +1,119 @@ +import { Sandbox } from "@components/sandbox"; +import { GoabBadge, GoabCallout, GoabTable } from "@abgov/react-components"; +import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; + +export function TaskListPageExamples() { + return ( + + + {/*CSS Code Snippet*/} + +

Apply for a service

+
+ + You have completed 1 of 3 sections. + +
+ +

1. Before you start

+ + + + + Reads terms of use + + + + + + + + +

2. Prepare application

+ + + + + Your contact details + + + + + + + + Your family + + + + + + + + Verify your identity + + + + + + + + +

3. Schedule service

+

+ You need to complete the previous section before you can start this task. +

+ + + + Receive email confirmation + + + + + + Pay service fee + + + + + + +
+ ); +} \ No newline at end of file diff --git a/src/routes/components/AllComponents.tsx b/src/routes/components/AllComponents.tsx index 9547b2993..0b78b7304 100644 --- a/src/routes/components/AllComponents.tsx +++ b/src/routes/components/AllComponents.tsx @@ -11,11 +11,14 @@ import { GoabBadge, GoabSkeleton } from "@abgov/react-components"; -import { ComponentCard, Props as RawComponentProps, ComponentStatus } from "@components/component-card/ComponentCard"; +import { + ComponentCard, + ComponentCardProps as RawComponentProps, + ComponentStatus +} from "@components/component-card/ComponentCard"; type ComponentProps = Omit & { status: ComponentStatus; - designSystemUrl?: string; designComponentFigmaUrl?: string; designContributionFigmaUrl?: string; openIssuesUrl?: string; @@ -229,7 +232,6 @@ const AllComponents = () => { githubLink={card.openIssuesUrl || `https://github.com/GovAlta/ui-components/issues?q=is%3Aissue+is%3Aopen+label%3A${encodeURIComponent(getLabelQuery(card.name))}`} openIssues={issueCounts[card.name]} isNew={card.isNew} - designSystemUrl={card.designSystemUrl} designComponentFigmaUrl={card.designComponentFigmaUrl} designContributionFigmaUrl={card.designContributionFigmaUrl} imageFolder="component-thumbnails" diff --git a/src/routes/examples/Birthday.tsx b/src/routes/examples/Birthday.tsx deleted file mode 100644 index b2c0e186c..000000000 --- a/src/routes/examples/Birthday.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { AskAUserForABirthday } from "@examples/ask-a-user-for-a-birthday.tsx"; - -export default function BirthdayExample() { - return ( - <> -

Ask a user for their birthday

- - - ); -} diff --git a/src/routes/patterns/ExamplePageTemplate.tsx b/src/routes/examples/ExamplePageTemplate.tsx similarity index 91% rename from src/routes/patterns/ExamplePageTemplate.tsx rename to src/routes/examples/ExamplePageTemplate.tsx index e05cb3887..29cdb8123 100644 --- a/src/routes/patterns/ExamplePageTemplate.tsx +++ b/src/routes/examples/ExamplePageTemplate.tsx @@ -14,7 +14,7 @@ export default function ExamplePageTemplate() { if (!slug) return () =>
Invalid slug
; return lazy(() => import(`../../examples/${slug}.tsx`).catch(() => - import("../patterns/FallbackExample.tsx") + import("@routes/examples/FallbackExample.tsx") ) ); }, [slug]); @@ -32,8 +32,11 @@ export default function ExamplePageTemplate() { }); }, [slug]); return ( -
- +
+
+ + Back @@ -59,6 +62,7 @@ export default function ExamplePageTemplate() { }> +
); } \ No newline at end of file diff --git a/src/routes/examples/ExamplesLayout.tsx b/src/routes/examples/ExamplesLayout.tsx new file mode 100644 index 000000000..e20ca84fb --- /dev/null +++ b/src/routes/examples/ExamplesLayout.tsx @@ -0,0 +1,65 @@ +import { GoabSideMenu, GoabSideMenuGroup, GoabSpacer } from "@abgov/react-components"; +import {Link, Outlet} from "react-router-dom"; +import {SupportInfo} from "@components/support-info/SupportInfo.tsx"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; +import { useContext } from "react"; +import { getVersionedUrlPath } from "@components/version-language-switcher/version-language-constants.ts"; + +export default function ExamplesLayout() { + const {language, version} = useContext(LanguageVersionContext); + getVersionedUrlPath(version, language); + + return ( +
+
+ + + All + + Overview + Start page + Task list page + Question page + Review page + Result page + + {/* + + Approve or reject a submission + Assign a case or task + Check application status + Check eligibility + Filter and refine search results + Generate or download a PDF or certificate + Onboarding for new users or features + Pay a fee or complete payment + Provide feedback or comments + Review, Revise, and Resubmit + Schedule a task or appointment + Search for a record + Update personal information + + + + A + B + C + D + E + + + + + Upgrade to the latest component version + Generate a review page from branch form questions + + */} + +
+
+ + +
+
+ ); +} diff --git a/src/routes/patterns/PatternsOverview.tsx b/src/routes/examples/ExamplesOverview.tsx similarity index 94% rename from src/routes/patterns/PatternsOverview.tsx rename to src/routes/examples/ExamplesOverview.tsx index 8739785b9..1fe5e5677 100644 --- a/src/routes/patterns/PatternsOverview.tsx +++ b/src/routes/examples/ExamplesOverview.tsx @@ -12,11 +12,14 @@ import { GoabBadge, GoabSkeleton } from "@abgov/react-components"; -import { ComponentCard, Props as RawComponentProps, ComponentStatus } from "@components/component-card/ComponentCard"; +import { + ExampleCard, + ExampleCardProps as RawExampleProps, + ComponentStatus +} from "@components/example-card/ExampleCard.tsx"; -type ComponentProps = Omit & { +type ExampleProps = Omit & { status: ComponentStatus; - designSystemUrl?: string; designComponentFigmaUrl?: string; designContributionFigmaUrl?: string; openIssuesUrl?: string; @@ -28,7 +31,7 @@ type ComponentProps = Omit & { export default function PatternsOverviewPage() { const [filter, setFilter] = useState(""); const [issueCounts, setIssueCounts] = useState>({}); - const [cards, setCards] = useState([]); + const [cards, setCards] = useState([]); useEffect(() => { const fetchData = async () => { @@ -79,7 +82,7 @@ export default function PatternsOverviewPage() { statusOrder.indexOf(a.status as ComponentStatus) - statusOrder.indexOf(b.status as ComponentStatus); if (statusComparison !== 0) return statusComparison * newDirection; } - const key = sortBy as keyof ComponentProps; + const key = sortBy as keyof ExampleProps; const aField = (a as any)[key]; const bField = (b as any)[key]; @@ -145,7 +148,7 @@ export default function PatternsOverviewPage() { @@ -240,19 +243,18 @@ export default function PatternsOverviewPage() { } {filteredCards.map((card) => ( - ))}
diff --git a/src/routes/patterns/FallbackExample.tsx b/src/routes/examples/FallbackExample.tsx similarity index 100% rename from src/routes/patterns/FallbackExample.tsx rename to src/routes/examples/FallbackExample.tsx diff --git a/src/routes/patterns/LayoutPage.tsx b/src/routes/examples/LayoutPage.tsx similarity index 100% rename from src/routes/patterns/LayoutPage.tsx rename to src/routes/examples/LayoutPage.tsx diff --git a/src/routes/patterns/patterns.module.css b/src/routes/examples/patterns.module.css similarity index 100% rename from src/routes/patterns/patterns.module.css rename to src/routes/examples/patterns.module.css diff --git a/src/routes/get-started/developers/upgrade-guide/DevelopersUpgrade.tsx b/src/routes/get-started/developers/upgrade-guide/DevelopersUpgrade.tsx index d31e5c395..2f9bac772 100644 --- a/src/routes/get-started/developers/upgrade-guide/DevelopersUpgrade.tsx +++ b/src/routes/get-started/developers/upgrade-guide/DevelopersUpgrade.tsx @@ -2,7 +2,7 @@ import { GoabCallout, GoabContainer } from "@abgov/react-components"; import { GoabText } from "@abgov/react-components"; import "../Developers.css"; import { ComponentContent } from "@components/component-content/ComponentContent"; -import css from "@routes/patterns/patterns.module.css"; +import css from "@routes/examples/patterns.module.css"; import { ReactGuide } from "@routes/get-started/developers/upgrade-guide/ReactGuide.tsx"; import { AngularGuide } from "@routes/get-started/developers/upgrade-guide/AngularGuide.tsx"; import { InlineCode } from "@components/inline-code/InlineCode.tsx"; diff --git a/src/routes/patterns/PatternsLayout.tsx b/src/routes/patterns/PatternsLayout.tsx deleted file mode 100644 index f5f4c7c32..000000000 --- a/src/routes/patterns/PatternsLayout.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import { GoabSideMenu, GoabSideMenuGroup, GoabSpacer } from "@abgov/react-components"; -import {Link, Outlet} from "react-router-dom"; -import {SupportInfo} from "@components/support-info/SupportInfo.tsx"; -import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -import { useContext } from "react"; -import { getVersionedUrlPath } from "@components/version-language-switcher/version-language-constants.ts"; - -export default function PatternsLayout() { - const {language, version} = useContext(LanguageVersionContext); - getVersionedUrlPath(version, language); - - return ( -
-
- - - All - - Start page - Task list page - Question page - Information page - Review page - Results page - - - Task 1 - Task 2 - Task 3 - - - A - B - C - D - E - - - Upgrade to the latest component version - Generate a review page from branch form questions - - - -
-
- - -
-
- ); -} diff --git a/src/routes/patterns/PublicFormPage.tsx b/src/routes/patterns/PublicFormPage.tsx deleted file mode 100644 index 71d849319..000000000 --- a/src/routes/patterns/PublicFormPage.tsx +++ /dev/null @@ -1,184 +0,0 @@ -import { ComponentContent } from "@components/component-content/ComponentContent"; -import { GoabDetails } from "@abgov/react-components"; -import css from "./patterns.module.css"; -import { Link } from "react-router-dom"; - -export default function PublicFormPage() { - return ( - -

Public form

-

- Design forms that help Albertan citizens understand the task, focus on the question and its - answer, and complete the form. -

- -

- Primary users: citizens, public, external -
- You are designing a public service for citizens. It should be designed to be as simple and - intuitive as possible, while ensuring citizens can make complete and informed decisions - for themselves using the service. -
- There is an emphasis on an accessible experience with a low cognitive load for users who - use the service infrequently. -

-
- -

Form structure

-

- Use the public form structure focused on content, and asking the right questions to your user - to keep the interaction as simple as possible. -

- -

Start with one idea per page

-
-

- Split the form across multiple pages with each page containing just one idea, for example: -

-
    -
  • one decision they have to make
  • -
  • one question they have to answer
  • -
  • one piece of information you're telling a user
  • -
-
- -
-

Starting with one thing per page helps users to:

-
    -
  • understand what you're asking them to do
  • -
  • focus on specific questions and its answer
  • -
  • find their way through an unfamiliar process
  • -
  • use the service on a mobile device
  • -
  • recover easily from form errors
  • -
-
- -
-

It also helps the service:

-
    -
  • handle branching questions and loops
  • -
  • design for mobile use
  • -
  • save a user’s answers automatically as they go
  • -
  • capture analytics about each question
  • -
-
- -

Combine questions when helpful

-

- Asking a question doesn’t necessarily mean you should use one form field. For example, - asking a user for their address is best captured all on the same page with multiple fields. -

- -

Accessibility

-
-

- Structuring your form with one idea per page simplifies the experience, and makes your - form more accessible. -

-
    -
  1. - Reduced cognitive load: Presenting only one idea at a time reduces - cognitive load on the user. This is particularly beneficial for users with cognitive - impairments, who might find it difficult to process and respond to multiple questions at - once. -
  2. -
  3. - Improved navigation for a screen reader: This simplified approach - efficiently guides the user through the form based on each answer and makes it easier to - navigate with screen readers or other assistive technology. -
  4. -
  5. - Better error handling: With smaller sets of questions validated at a - time errors can be identified and addressed in context. This makes it less confusing and - less overwhelming for users, particularly those with cognitive impairments and those - using assistive technologies. -
  6. -
  7. - Progressive disclosure: One idea per page allows the user to focus on - the current task and move through more information slowly. This can be especially - beneficial to users who are easily distracted or overwhelmed by too much information. -
  8. -
-
- -

Adding complexity

-

- Start by making sure that the content and questions you are asking the user are as simple as possible. -

- -
-

As the complexity of your form grows, consider:

-
    -
  • adding simple progress indicators to communicate progress
  • -
  • breaking the form into sections on a task list page
  • -
-
- -

Form stepper

-

- Avoid using traditional horizontal form steppers for every form. Research has shown that - horizontal form steppers shown on every page can distract and confuse some users, take up - too much space, and make it hard to handle branching and conditional sections of a form. -

-
-

As the complexity of your form grows, consider:

-
    -
  • adding simple text progress indicators to communicate progress
  • -
  • follow the one idea per page approach, and break the form into sections as needed using a task list page
  • -
-
- -

Pages

-
- public form pages overview image -
- -
-

- 1. Start page -

-

- This is the starting point for a citizen to begin your form from within your service or - from Alberta.ca. -

-
- -
-

- 2. Task list page (optional) -

-

- Outline the entire process for the user and help them through the process by breaking down - an experience into individual tasks. -

-
- -
-

- 3. Question pages -

-

Ask a user a question or a small set of related questions.

-
- -
-

- 4. Review page -

-

Let users check answers before submitting information to a service.

-
- -
-

- 5. Results page -

-

- Let users know that they’ve completed a form, application, or task and tell them what to - do next. -

-
-
- ); -} diff --git a/src/routes/patterns/ResultPage.tsx b/src/routes/patterns/ResultPage.tsx deleted file mode 100644 index b45fc74a1..000000000 --- a/src/routes/patterns/ResultPage.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import { - GoabTab, - GoabTabs -} from "@abgov/react-components"; -import { ComponentContent } from "@components/component-content/ComponentContent"; -import css from "./patterns.module.css"; -import { ResultsPage } from "@examples/results-page.tsx"; - -export default function ResultPage() { - return ( - <> -

Result page

-

- Let users know that they’ve completed a form, application, or task and tell them what to do next. -

- - - - - - - -

Overview

-
- result page overview image -
- -

When to use a results page

-

Use a results page when a user has submitted a form, application, or task, and there is a result to show them.

- -

What content to include

-
    -
  • details of what happens next, and when
  • -
  • a reference number (if applicable)
  • -
  • a link to save a record of the confirmation, for examples as a PDF
  • -
  • link to give feedback
  • -
  • contact details for the service
  • -
  • links to information or services that users are likely to need next
  • -
-
-
-
- - ); -} diff --git a/src/routes/patterns/ReviewPage.tsx b/src/routes/patterns/ReviewPage.tsx deleted file mode 100644 index fdcc256d5..000000000 --- a/src/routes/patterns/ReviewPage.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import { - GoabTab, - GoabTabs -} from "@abgov/react-components"; -import { ComponentContent } from "@components/component-content/ComponentContent"; -import css from "./patterns.module.css"; - -export default function ReviewPage() { - return ( - <> -

Review page

-

Let users check answers before submitting information to a service.

- - - - - - - -
-

- Overview -

- review page overview image -
-

When to use a review page

-
-

Review and submit your answers at the end of a form or section.

-

- When designing a very large transaction with multiple sections, it may help to - include a check answers pages at the end of each section. -

-
- -

Let users go back and change their answers

-

- Provide a "change" link next to each section so that users can add or change the - information they are submitting. -

-

- If you have questions that are optional, let users know that they've skipped it - without giving an answer by showing their response as "Not provided". -

-

- Include the full question name again in the change button as "visually hidden" so that - the screen reader reads out "change [question]" instead of just "change". This gives - context to a user using assistive technologies while keeping the link simple for most - users. -

- -
- let users go back and change their answer example image -
-
-
-
- - ); -} diff --git a/src/routes/patterns/StartPage.tsx b/src/routes/patterns/StartPage.tsx deleted file mode 100644 index 620d32bf0..000000000 --- a/src/routes/patterns/StartPage.tsx +++ /dev/null @@ -1,123 +0,0 @@ -import { - GoabTab, - GoabTabs, -} from "@abgov/react-components"; -import { ComponentContent } from "@components/component-content/ComponentContent"; -import css from "./patterns.module.css"; - -export default function StartPage() { - return ( - <> -

Start page

-

- This is the starting point for a citizen to begin your form from within your service or from - Alberta.ca. -

- - - - - - - -
-

- Overview -

- form pattern start page image -
-

When to use a start page

-

- A start page is the front door to a government service for a citizen. It is the way - into the service, how they access the service. Each government service has a start - page on Alberta.ca. Contact the relevant person at Alberta.ca to make changes to the - start page for your service. -

-

- This is the starting point for a citizen to begin your form from within your service - or from Alberta.ca. -

-

- Provide the user with any information that is important before starting the form such - as how long it should take, list documents or information they may need to complete - the form, if there are any costs involved, or alternative ways to access the service. -

- -

A service's start page should

-
    -
  • - give the user just enough information to help them understand what the service does - and whether it will meet their need -
  • -
  • a service's name should reflects the problem it solves for users
  • -
  • be written in plain language — GOA web writing style guide.
  • -
  • - include a "start button" linking into the service, with text that's consistent with - the action you're asking users to take — for example, "Start now", "Sign in" or - "Register or update your details" -
  • -
  • - If relevant let users resume an application they've already started or update their - details -
  • -
  • - include any other information that most users are likely to need before they start - using the service online — for example, how much it costs to use the service and - roughly how long it will take -
  • -
  • - include additional information about the service such as other ways to access the - service (eg. by telephone or by completing a paper form). This should be included - after the main call to action to start the digital service. -
  • -
- -

Page content

-

- Consider what is the primary information that the user needs to know before entering - into the service. Provide that information to the user clearly, and then provide a - link to start using the service. Provide additional secondary information below the - call to action. -

-
- service page content image -
- -

Overview

-

- What the user needs to know before they enter into the service. A high level description of what the service is and what you can use it to do -

- -

Before you begin

-
    -
  • how long it will take
  • -
  • what you will need to complete the service
  • -
      -
    • e.g. specific documents
    • -
    -
  • other important information
  • -
- -

Call to action

-

- Below the primary information, include an obvious call to action to get started with the service. -

- -

Other information

-

- Below the call to action, include any additional information as applicable such as customer support, frequently asked questions, or related links. -

-
-
-
- - ); -} diff --git a/src/routes/patterns/TaskListPage.tsx b/src/routes/patterns/TaskListPage.tsx deleted file mode 100644 index a6d28ae21..000000000 --- a/src/routes/patterns/TaskListPage.tsx +++ /dev/null @@ -1,121 +0,0 @@ -import { - GoabCallout, - GoabTab, - GoabTabs -} from "@abgov/react-components"; -import { ComponentContent } from "@components/component-content/ComponentContent"; -import css from "./patterns.module.css"; -import { Link } from "react-router-dom"; - -export default function TaskListPage() { - return ( - <> -

Task list page

-

- This is the starting point for a citizen to begin your form from within your service or from - Alberta.ca. -

- - - - - - - -
-

- Overview -

- task list page overview image -
- -

When to use a task list page

-

Use a task list page to provide a structure for multiple steps in a service. Show a task list page when a citizen begins a service, and when they return to the service.

-

When using a task list, group related actions into tasks and show the status of the tasks.

- -

How to define a task

-

The size and complexity of a task is determined by the service and content. A task can be defined as small as a single action, such as: “sign a document”, or “upload a file”, or can be as big as an entire section of a form with multiple question pages and a review page.

-

Use tasks to break down the steps in a service in an understandable way.

- -

Show status of tasks

-

- Make it clear which tasks a user has completed and which they still need to complete. -

- -
- show status of tasks image -
- -

Suggested statuses

-

- Completed (success), In progress (dark grey), Not started (information), Cannot start yet (light grey) -

-

- Include a summary above the task list to say how many tasks have been completed. This also makes it clearer to the user that there are still tasks left to complete. -

- -
- - You have completed 0 of 3 sections. - -
- - -

How is a task list different than a stepper?

-
-

Stepper:

-
    -
  • a visual navigation within a form
  • -
  • shown at the top of every page in a form
  • -
  • scope: sections of a form
  • -
-
-
-

Task list:

-
    -
  • can be used to outline more than just sections of a form
  • -
  • not shown on every page
  • -
-
- -

Completing tasks in order

-

- When possible, allow users to complete tasks in any order. This will help them plan - their time and complete sections as and when they can. -

- -

Anatomy

-
- status page anatomy image -
-
    -
  1. - Page tile: heading-large -
  2. -
  3. - Status of completed sections: goa-callout -
  4. -
  5. - Section: task-list-section -
  6. -
  7. - Section heading: heading-medium -
  8. -
  9. - Task: goa-table -
  10. -
-
-
-
- - ); -} diff --git a/src/routes/root.tsx b/src/routes/root.tsx index dc497535a..a0aa5633d 100644 --- a/src/routes/root.tsx +++ b/src/routes/root.tsx @@ -59,10 +59,10 @@ export default function Root() { Get started + Foundations Examples Components Tokens - Foundations Get support diff --git a/src/utils/index.ts b/src/utils/index.ts index 673f21b9e..1e49e0aea 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -1,4 +1,8 @@ -import { Props as ComponentProps, ComponentStatus, Group } from "@components/component-card/ComponentCard.tsx"; +import { + ComponentCardProps as ComponentProps, + ComponentStatus, + Group +} from "@components/component-card/ComponentCard.tsx"; export function toKebabCase(str: string) { return str diff --git a/src/versioned-router.tsx b/src/versioned-router.tsx index caaecfd01..a1043b1ef 100644 --- a/src/versioned-router.tsx +++ b/src/versioned-router.tsx @@ -44,20 +44,18 @@ import { VERSIONED_ANGULAR_URL_SEGMENT, VERSIONED_REACT_URL_SEGMENT, } from "@components/version-language-switcher/version-language-constants.ts"; -import PatternsLayout from "@routes/patterns/PatternsLayout.tsx"; -import PatternsOverviewPage from "@routes/patterns/PatternsOverview.tsx"; -import LayoutPage from "@routes/patterns/LayoutPage.tsx"; -import StartPage from "@routes/patterns/StartPage.tsx"; -import TaskListPage from "@routes/patterns/TaskListPage.tsx"; -import QuestionPage from "@routes/patterns/QuestionPage.tsx"; -import ReviewPage from "@routes/patterns/ReviewPage.tsx"; -import ResultPage from "@routes/patterns/ResultPage.tsx"; -import PublicFormPage from "@routes/patterns/PublicFormPage.tsx"; +import ExamplesLayout from "@routes/examples/ExamplesLayout.tsx"; +import PatternsOverviewPage from "@routes/examples/ExamplesOverview.tsx"; +import LayoutPage from "@routes/examples/LayoutPage.tsx"; +import TaskListPage from "@examples/task-list-page.tsx"; +import QuestionPage from "@examples/question-page.tsx"; +import ReviewPage from "@examples/review-page.tsx"; +import ResultPage from "@examples/result-page.tsx"; +import PublicForm from "@examples/public-form.tsx"; import FilterChipPage from "@routes/components/FilterChip.tsx"; import TextPage from "@routes/components/Text.tsx"; import { DrawerPage } from "@routes/components/Drawer.tsx"; import LinkPage from "@routes/components/Link.tsx"; -import BirthdayExample from "@routes/examples/Birthday.tsx"; const ComponentRoute: React.FC<{ versionedPaths: Record; @@ -148,20 +146,18 @@ export const ComponentsRouter = () => { export const PatternsRouter = () => { const patternsPaths = { "layout": , - "start-page": , "task-list-page": , "question-page": , "review-page": , "result-page": , - "ask-a-user-for-their-birthday": , }; return ( - } errorElement={}> + } errorElement={}> {/* Non-versioned paths components */} } /> - } /> + } /> } /> {/* Versioned paths components */} } /> From 67f990dfaf8de32544c1cbacffe78c673a5cc7e1 Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Thu, 29 May 2025 19:58:20 -0600 Subject: [PATCH 15/43] fix to home page content order, footer, and site max width --- src/global-constants.ts | 2 +- src/routes/home.tsx | 12 ++++++------ src/routes/root.tsx | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/global-constants.ts b/src/global-constants.ts index 449ee6cab..6ae486a98 100644 --- a/src/global-constants.ts +++ b/src/global-constants.ts @@ -1,3 +1,3 @@ -export const MAX_CONTENT_WIDTH = "1360px"; +export const MAX_CONTENT_WIDTH = "1440px"; export const DEFAULT_VERSION = "old"; export const DEFAULT_LANGUAGE = "react"; diff --git a/src/routes/home.tsx b/src/routes/home.tsx index 62254f4f2..777be2c42 100644 --- a/src/routes/home.tsx +++ b/src/routes/home.tsx @@ -51,6 +51,12 @@ const HomePage = () => { + { linkTo="/design-tokens" linkDisplay="View tokens" /> - diff --git a/src/routes/root.tsx b/src/routes/root.tsx index a0aa5633d..a4841e057 100644 --- a/src/routes/root.tsx +++ b/src/routes/root.tsx @@ -77,10 +77,10 @@ export default function Root() { Get started + Foundations Examples Components Design tokens - Content Submit an issue From 322f8ac3a38c866c45b7f22f2988b4fdd133d32c Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Thu, 29 May 2025 19:44:42 -0600 Subject: [PATCH 16/43] update side menu to show form pattern documentation --- package-lock.json | 1325 ++++++++++------- src/App.tsx | 8 +- .../component-card/ComponentCard.tsx | 8 +- src/components/example-card/ExampleCard.css | 40 + src/components/example-card/ExampleCard.tsx | 152 ++ src/examples/public-form.tsx | 236 +++ .../question-page.tsx} | 178 ++- src/examples/result-page.tsx | 66 + .../ResultPageExamples.tsx} | 8 +- src/examples/review-page.tsx | 161 +- .../review-page/ReviewPageExamples.tsx | 102 ++ src/examples/start-page.tsx | 357 ++--- src/examples/start-page/StartPageExamples.tsx | 218 +++ src/examples/task-list-page.tsx | 251 ++-- .../task-list-page/TaskListPageExamples.tsx | 119 ++ src/routes/components/AllComponents.tsx | 8 +- src/routes/examples/Birthday.tsx | 10 - .../ExamplePageTemplate.tsx | 10 +- src/routes/examples/ExamplesLayout.tsx | 65 + .../ExamplesOverview.tsx} | 20 +- .../FallbackExample.tsx | 0 .../{patterns => examples}/LayoutPage.tsx | 0 .../patterns.module.css | 0 .../upgrade-guide/DevelopersUpgrade.tsx | 2 +- src/routes/patterns/PatternsLayout.tsx | 51 - src/routes/patterns/PublicFormPage.tsx | 184 --- src/routes/patterns/ResultPage.tsx | 50 - src/routes/patterns/ReviewPage.tsx | 67 - src/routes/patterns/StartPage.tsx | 123 -- src/routes/patterns/TaskListPage.tsx | 121 -- src/routes/root.tsx | 2 +- src/utils/index.ts | 6 +- src/versioned-router.tsx | 24 +- 33 files changed, 2329 insertions(+), 1643 deletions(-) create mode 100644 src/components/example-card/ExampleCard.css create mode 100644 src/components/example-card/ExampleCard.tsx create mode 100644 src/examples/public-form.tsx rename src/{routes/patterns/QuestionPage.tsx => examples/question-page.tsx} (59%) create mode 100644 src/examples/result-page.tsx rename src/examples/{results-page.tsx => result-page/ResultPageExamples.tsx} (99%) create mode 100644 src/examples/review-page/ReviewPageExamples.tsx create mode 100644 src/examples/start-page/StartPageExamples.tsx create mode 100644 src/examples/task-list-page/TaskListPageExamples.tsx delete mode 100644 src/routes/examples/Birthday.tsx rename src/routes/{patterns => examples}/ExamplePageTemplate.tsx (91%) create mode 100644 src/routes/examples/ExamplesLayout.tsx rename src/routes/{patterns/PatternsOverview.tsx => examples/ExamplesOverview.tsx} (94%) rename src/routes/{patterns => examples}/FallbackExample.tsx (100%) rename src/routes/{patterns => examples}/LayoutPage.tsx (100%) rename src/routes/{patterns => examples}/patterns.module.css (100%) delete mode 100644 src/routes/patterns/PatternsLayout.tsx delete mode 100644 src/routes/patterns/PublicFormPage.tsx delete mode 100644 src/routes/patterns/ResultPage.tsx delete mode 100644 src/routes/patterns/ReviewPage.tsx delete mode 100644 src/routes/patterns/StartPage.tsx delete mode 100644 src/routes/patterns/TaskListPage.tsx diff --git a/package-lock.json b/package-lock.json index ec9a94357..686e09122 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,35 +37,6 @@ "vite": "^5.4.16" } }, - "../ui-components/dist/libs/angular-components": { - "name": "@abgov/angular-components", - "version": "0.0.1", - "extraneous": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/common": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "@angular/core": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "@angular/forms": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "../ui-components/dist/libs/ui-commons": { - "extraneous": true - }, - "../ui-components/dist/libs/ui-components-common": { - "extraneous": true - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@abgov/react-components": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/@abgov/react-components/-/react-components-6.4.1.tgz", @@ -98,6 +69,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", "peer": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", @@ -114,6 +86,7 @@ "cpu": [ "ppc64" ], + "license": "MIT", "optional": true, "os": [ "aix" @@ -129,6 +102,7 @@ "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "android" @@ -144,6 +118,7 @@ "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "android" @@ -159,6 +134,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "android" @@ -174,6 +150,7 @@ "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -189,6 +166,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -204,6 +182,7 @@ "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -219,6 +198,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -234,6 +214,7 @@ "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -249,6 +230,7 @@ "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -264,6 +246,7 @@ "cpu": [ "ia32" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -279,6 +262,7 @@ "cpu": [ "loong64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -294,6 +278,7 @@ "cpu": [ "mips64el" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -309,6 +294,7 @@ "cpu": [ "ppc64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -324,6 +310,7 @@ "cpu": [ "riscv64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -339,6 +326,7 @@ "cpu": [ "s390x" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -354,6 +342,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -369,6 +358,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "netbsd" @@ -384,6 +374,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "openbsd" @@ -399,6 +390,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "sunos" @@ -414,6 +406,7 @@ "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -429,6 +422,7 @@ "cpu": [ "ia32" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -444,6 +438,7 @@ "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -453,25 +448,30 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", "dev": true, + "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } @@ -481,6 +481,7 @@ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -500,10 +501,11 @@ } }, "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "dev": true, + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -518,18 +520,21 @@ "url": "https://opencollective.com/fakerjs" } ], + "license": "MIT", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0", "npm": ">=6.14.13" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", + "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", "minimatch": "^3.0.5" }, @@ -542,6 +547,7 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -551,15 +557,18 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", - "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", - "dev": true + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", "peer": true, "dependencies": { "string-width": "^5.1.2", @@ -577,6 +586,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -589,6 +599,7 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", "peer": true, "dependencies": { "ansi-regex": "^6.0.1" @@ -604,6 +615,7 @@ "version": "0.3.8", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "license": "MIT", "peer": true, "dependencies": { "@jridgewell/set-array": "^1.2.1", @@ -618,6 +630,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", "peer": true, "engines": { "node": ">=6.0.0" @@ -627,6 +640,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", "peer": true, "engines": { "node": ">=6.0.0" @@ -636,12 +650,14 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT", "peer": true }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", "peer": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -653,6 +669,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -666,6 +683,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -675,6 +693,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -684,33 +703,35 @@ } }, "node_modules/@octokit/app": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/@octokit/app/-/app-15.1.0.tgz", - "integrity": "sha512-TkBr7QgOmE6ORxvIAhDbZsqPkF7RSqTY4pLTtUQCvr6dTXqvi2fFo46q3h1lxlk/sGMQjqyZ0kEahkD/NyzOHg==", + "version": "15.1.6", + "resolved": "https://registry.npmjs.org/@octokit/app/-/app-15.1.6.tgz", + "integrity": "sha512-WELCamoCJo9SN0lf3SWZccf68CF0sBNPQuLYmZ/n87p5qvBJDe9aBtr5dHkh7T9nxWZ608pizwsUbypSzZAiUw==", + "license": "MIT", "dependencies": { - "@octokit/auth-app": "^7.0.0", - "@octokit/auth-unauthenticated": "^6.0.0", - "@octokit/core": "^6.1.2", - "@octokit/oauth-app": "^7.0.0", - "@octokit/plugin-paginate-rest": "^11.0.0", - "@octokit/types": "^13.0.0", - "@octokit/webhooks": "^13.0.0" + "@octokit/auth-app": "^7.2.1", + "@octokit/auth-unauthenticated": "^6.1.3", + "@octokit/core": "^6.1.5", + "@octokit/oauth-app": "^7.1.6", + "@octokit/plugin-paginate-rest": "^12.0.0", + "@octokit/types": "^14.0.0", + "@octokit/webhooks": "^13.6.1" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/auth-app": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-app/-/auth-app-7.1.1.tgz", - "integrity": "sha512-kRAd6yelV9OgvlEJE88H0VLlQdZcag9UlLr7dV0YYP37X8PPDvhgiTy66QVhDXdyoT0AleFN2w/qXkPdrSzINg==", - "dependencies": { - "@octokit/auth-oauth-app": "^8.1.0", - "@octokit/auth-oauth-user": "^5.1.0", - "@octokit/request": "^9.1.1", - "@octokit/request-error": "^6.1.1", - "@octokit/types": "^13.4.1", - "lru-cache": "^10.0.0", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-app/-/auth-app-7.2.1.tgz", + "integrity": "sha512-4jaopCVOtWN0V8qCx/1s2pkRqC6tcvIQM3kFB99eIpsP53GfsoIKO08D94b83n/V3iGihHmxWR2lXzE0NicUGg==", + "license": "MIT", + "dependencies": { + "@octokit/auth-oauth-app": "^8.1.4", + "@octokit/auth-oauth-user": "^5.1.4", + "@octokit/request": "^9.2.3", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "toad-cache": "^3.7.0", "universal-github-app-jwt": "^2.2.0", "universal-user-agent": "^7.0.0" }, @@ -719,14 +740,15 @@ } }, "node_modules/@octokit/auth-oauth-app": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-app/-/auth-oauth-app-8.1.1.tgz", - "integrity": "sha512-5UtmxXAvU2wfcHIPPDWzVSAWXVJzG3NWsxb7zCFplCWEmMCArSZV0UQu5jw5goLQXbFyOr5onzEH37UJB3zQQg==", - "dependencies": { - "@octokit/auth-oauth-device": "^7.0.0", - "@octokit/auth-oauth-user": "^5.0.1", - "@octokit/request": "^9.0.0", - "@octokit/types": "^13.0.0", + "version": "8.1.4", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-app/-/auth-oauth-app-8.1.4.tgz", + "integrity": "sha512-71iBa5SflSXcclk/OL3lJzdt4iFs56OJdpBGEBl1wULp7C58uiswZLV6TdRaiAzHP1LT8ezpbHlKuxADb+4NkQ==", + "license": "MIT", + "dependencies": { + "@octokit/auth-oauth-device": "^7.1.5", + "@octokit/auth-oauth-user": "^5.1.4", + "@octokit/request": "^9.2.3", + "@octokit/types": "^14.0.0", "universal-user-agent": "^7.0.0" }, "engines": { @@ -734,13 +756,14 @@ } }, "node_modules/@octokit/auth-oauth-device": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-device/-/auth-oauth-device-7.1.1.tgz", - "integrity": "sha512-HWl8lYueHonuyjrKKIup/1tiy0xcmQCdq5ikvMO1YwkNNkxb6DXfrPjrMYItNLyCP/o2H87WuijuE+SlBTT8eg==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-device/-/auth-oauth-device-7.1.5.tgz", + "integrity": "sha512-lR00+k7+N6xeECj0JuXeULQ2TSBB/zjTAmNF2+vyGPDEFx1dgk1hTDmL13MjbSmzusuAmuJD8Pu39rjp9jH6yw==", + "license": "MIT", "dependencies": { - "@octokit/oauth-methods": "^5.0.0", - "@octokit/request": "^9.0.0", - "@octokit/types": "^13.0.0", + "@octokit/oauth-methods": "^5.1.5", + "@octokit/request": "^9.2.3", + "@octokit/types": "^14.0.0", "universal-user-agent": "^7.0.0" }, "engines": { @@ -748,14 +771,15 @@ } }, "node_modules/@octokit/auth-oauth-user": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-user/-/auth-oauth-user-5.1.1.tgz", - "integrity": "sha512-rRkMz0ErOppdvEfnemHJXgZ9vTPhBuC6yASeFaB7I2yLMd7QpjfrL1mnvRPlyKo+M6eeLxrKanXJ9Qte29SRsw==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-user/-/auth-oauth-user-5.1.6.tgz", + "integrity": "sha512-/R8vgeoulp7rJs+wfJ2LtXEVC7pjQTIqDab7wPKwVG6+2v/lUnCOub6vaHmysQBbb45FknM3tbHW8TOVqYHxCw==", + "license": "MIT", "dependencies": { - "@octokit/auth-oauth-device": "^7.0.1", - "@octokit/oauth-methods": "^5.0.0", - "@octokit/request": "^9.0.1", - "@octokit/types": "^13.0.0", + "@octokit/auth-oauth-device": "^7.1.5", + "@octokit/oauth-methods": "^5.1.5", + "@octokit/request": "^9.2.3", + "@octokit/types": "^14.0.0", "universal-user-agent": "^7.0.0" }, "engines": { @@ -763,35 +787,38 @@ } }, "node_modules/@octokit/auth-token": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.1.tgz", - "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", + "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==", + "license": "MIT", "engines": { "node": ">= 18" } }, "node_modules/@octokit/auth-unauthenticated": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-unauthenticated/-/auth-unauthenticated-6.1.0.tgz", - "integrity": "sha512-zPSmfrUAcspZH/lOFQnVnvjQZsIvmfApQH6GzJrkIunDooU1Su2qt2FfMTSVPRp7WLTQyC20Kd55lF+mIYaohQ==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/@octokit/auth-unauthenticated/-/auth-unauthenticated-6.1.3.tgz", + "integrity": "sha512-d5gWJla3WdSl1yjbfMpET+hUSFCE15qM0KVSB0H1shyuJihf/RL1KqWoZMIaonHvlNojkL9XtLFp8QeLe+1iwA==", + "license": "MIT", "dependencies": { - "@octokit/request-error": "^6.0.1", - "@octokit/types": "^13.0.0" + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/core": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz", - "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.5.tgz", + "integrity": "sha512-vvmsN0r7rguA+FySiCsbaTTobSftpIDIpPW81trAmsv9TGxg3YCujAxRYp/Uy8xmDgYCzzgulG62H7KYUFmeIg==", + "license": "MIT", "dependencies": { "@octokit/auth-token": "^5.0.0", - "@octokit/graphql": "^8.0.0", - "@octokit/request": "^9.0.0", - "@octokit/request-error": "^6.0.1", - "@octokit/types": "^13.0.0", + "@octokit/graphql": "^8.2.2", + "@octokit/request": "^9.2.3", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", "before-after-hook": "^3.0.2", "universal-user-agent": "^7.0.0" }, @@ -800,12 +827,12 @@ } }, "node_modules/@octokit/endpoint": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", - "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.4.tgz", + "integrity": "sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==", "license": "MIT", "dependencies": { - "@octokit/types": "^13.6.2", + "@octokit/types": "^14.0.0", "universal-user-agent": "^7.0.2" }, "engines": { @@ -813,12 +840,13 @@ } }, "node_modules/@octokit/graphql": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.1.tgz", - "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.2.tgz", + "integrity": "sha512-Yi8hcoqsrXGdt0yObxbebHXFOiUA+2v3n53epuOg1QUgOB6c4XzvisBNVXJSl8RYA5KrDuSL2yq9Qmqe5N0ryA==", + "license": "MIT", "dependencies": { - "@octokit/request": "^9.0.0", - "@octokit/types": "^13.0.0", + "@octokit/request": "^9.2.3", + "@octokit/types": "^14.0.0", "universal-user-agent": "^7.0.0" }, "engines": { @@ -826,16 +854,17 @@ } }, "node_modules/@octokit/oauth-app": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@octokit/oauth-app/-/oauth-app-7.1.3.tgz", - "integrity": "sha512-EHXbOpBkSGVVGF1W+NLMmsnSsJRkcrnVmDKt0TQYRBb6xWfWzoi9sBD4DIqZ8jGhOWO/V8t4fqFyJ4vDQDn9bg==", - "dependencies": { - "@octokit/auth-oauth-app": "^8.0.0", - "@octokit/auth-oauth-user": "^5.0.1", - "@octokit/auth-unauthenticated": "^6.0.0-beta.1", - "@octokit/core": "^6.0.0", - "@octokit/oauth-authorization-url": "^7.0.0", - "@octokit/oauth-methods": "^5.0.0", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/@octokit/oauth-app/-/oauth-app-7.1.6.tgz", + "integrity": "sha512-OMcMzY2WFARg80oJNFwWbY51TBUfLH4JGTy119cqiDawSFXSIBujxmpXiKbGWQlvfn0CxE6f7/+c6+Kr5hI2YA==", + "license": "MIT", + "dependencies": { + "@octokit/auth-oauth-app": "^8.1.3", + "@octokit/auth-oauth-user": "^5.1.3", + "@octokit/auth-unauthenticated": "^6.1.2", + "@octokit/core": "^6.1.4", + "@octokit/oauth-authorization-url": "^7.1.1", + "@octokit/oauth-methods": "^5.1.4", "@types/aws-lambda": "^8.10.83", "universal-user-agent": "^7.0.0" }, @@ -847,39 +876,43 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/@octokit/oauth-authorization-url/-/oauth-authorization-url-7.1.1.tgz", "integrity": "sha512-ooXV8GBSabSWyhLUowlMIVd9l1s2nsOGQdlP2SQ4LnkEsGXzeCvbSbCPdZThXhEFzleGPwbapT0Sb+YhXRyjCA==", + "license": "MIT", "engines": { "node": ">= 18" } }, "node_modules/@octokit/oauth-methods": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@octokit/oauth-methods/-/oauth-methods-5.1.2.tgz", - "integrity": "sha512-C5lglRD+sBlbrhCUTxgJAFjWgJlmTx5bQ7Ch0+2uqRjYv7Cfb5xpX4WuSC9UgQna3sqRGBL9EImX9PvTpMaQ7g==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@octokit/oauth-methods/-/oauth-methods-5.1.5.tgz", + "integrity": "sha512-Ev7K8bkYrYLhoOSZGVAGsLEscZQyq7XQONCBBAl2JdMg7IT3PQn/y8P0KjloPoYpI5UylqYrLeUcScaYWXwDvw==", + "license": "MIT", "dependencies": { "@octokit/oauth-authorization-url": "^7.0.0", - "@octokit/request": "^9.1.0", - "@octokit/request-error": "^6.1.0", - "@octokit/types": "^13.0.0" + "@octokit/request": "^9.2.3", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/openapi-types": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.1.0.tgz", - "integrity": "sha512-FnYcCZ7MV5dEB+E5ejjhFeg6IFLDcaCCCYcISBeSuTN891Oju1QPnR7k6v/JTwcn2+LjcVhVRcTtUIkVMyzHiw==", + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", "license": "MIT" }, "node_modules/@octokit/openapi-webhooks-types": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-webhooks-types/-/openapi-webhooks-types-8.3.0.tgz", - "integrity": "sha512-vKLsoR4xQxg4Z+6rU/F65ItTUz/EXbD+j/d4mlq2GW8TsA4Tc8Kdma2JTAAJ5hrKWUQzkR/Esn2fjsqiVRYaQg==" + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-webhooks-types/-/openapi-webhooks-types-11.0.0.tgz", + "integrity": "sha512-ZBzCFj98v3SuRM7oBas6BHZMJRadlnDoeFfvm1olVxZnYeU6Vh97FhPxyS5aLh5pN51GYv2I51l/hVUAVkGBlA==", + "license": "MIT" }, "node_modules/@octokit/plugin-paginate-graphql": { "version": "5.2.4", "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-graphql/-/plugin-paginate-graphql-5.2.4.tgz", "integrity": "sha512-pLZES1jWaOynXKHOqdnwZ5ULeVR6tVVCMm+AUbp0htdcyXDU95WbkYdU4R2ej1wKj5Tu94Mee2Ne0PjPO9cCyA==", + "license": "MIT", "engines": { "node": ">= 18" }, @@ -888,12 +921,12 @@ } }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.5.0.tgz", - "integrity": "sha512-crHS+QeHSiZgWKGgrf+Bpk7DjxSOqtujDHjTTTnzR9OI72Q9+YCWazl95dosDV/1Vyzr64ccW0eLBDHFCkSfzA==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-12.0.0.tgz", + "integrity": "sha512-MPd6WK1VtZ52lFrgZ0R2FlaoiWllzgqFHaSZxvp72NmoDeZ0m8GeJdg4oB6ctqMTYyrnDYp592Xma21mrgiyDA==", "license": "MIT", "dependencies": { - "@octokit/types": "^13.9.0" + "@octokit/types": "^14.0.0" }, "engines": { "node": ">= 18" @@ -903,11 +936,12 @@ } }, "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "13.2.6", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.6.tgz", - "integrity": "sha512-wMsdyHMjSfKjGINkdGKki06VEkgdEldIGstIEyGX0wbYHGByOwN/KiM+hAAlUwAtPkP3gvXtVQA9L3ITdV2tVw==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-14.0.0.tgz", + "integrity": "sha512-iQt6ovem4b7zZYZQtdv+PwgbL5VPq37th1m2x2TdkgimIDJpsi2A6Q/OI/23i/hR6z5mL0EgisNR4dcbmckSZQ==", + "license": "MIT", "dependencies": { - "@octokit/types": "^13.6.1" + "@octokit/types": "^14.0.0" }, "engines": { "node": ">= 18" @@ -917,12 +951,13 @@ } }, "node_modules/@octokit/plugin-retry": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.1.2.tgz", - "integrity": "sha512-XOWnPpH2kJ5VTwozsxGurw+svB2e61aWlmk5EVIYZPwFK5F9h4cyPyj9CIKRyMXMHSwpIsI3mPOdpMmrRhe7UQ==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.2.1.tgz", + "integrity": "sha512-wUc3gv0D6vNHpGxSaR3FlqJpTXGWgqmk607N9L3LvPL4QjaxDgX/1nY2mGpT37Khn+nlIXdljczkRnNdTTV3/A==", + "license": "MIT", "dependencies": { - "@octokit/request-error": "^6.0.0", - "@octokit/types": "^13.0.0", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", "bottleneck": "^2.15.3" }, "engines": { @@ -933,29 +968,30 @@ } }, "node_modules/@octokit/plugin-throttling": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.3.2.tgz", - "integrity": "sha512-FqpvcTpIWFpMMwIeSoypoJXysSAQ3R+ALJhXXSG1HTP3YZOIeLmcNcimKaXxTcws+Sh6yoRl13SJ5r8sXc1Fhw==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-10.0.0.tgz", + "integrity": "sha512-Kuq5/qs0DVYTHZuBAzCZStCzo2nKvVRo/TDNhCcpC2TKiOGz/DisXMCvjt3/b5kr6SCI1Y8eeeJTHBxxpFvZEg==", + "license": "MIT", "dependencies": { - "@octokit/types": "^13.0.0", + "@octokit/types": "^14.0.0", "bottleneck": "^2.15.3" }, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": "^6.0.0" + "@octokit/core": "^6.1.3" } }, "node_modules/@octokit/request": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", - "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", + "version": "9.2.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.3.tgz", + "integrity": "sha512-Ma+pZU8PXLOEYzsWf0cn/gY+ME57Wq8f49WTXA8FMHp2Ps9djKw//xYJ1je8Hm0pR2lU9FUGeJRWOtxq6olt4w==", "license": "MIT", "dependencies": { - "@octokit/endpoint": "^10.1.3", - "@octokit/request-error": "^6.1.7", - "@octokit/types": "^13.6.2", + "@octokit/endpoint": "^10.1.4", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", "fast-content-type-parse": "^2.0.0", "universal-user-agent": "^7.0.2" }, @@ -964,43 +1000,45 @@ } }, "node_modules/@octokit/request-error": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", - "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", "license": "MIT", "dependencies": { - "@octokit/types": "^13.6.2" + "@octokit/types": "^14.0.0" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/types": { - "version": "13.9.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.9.0.tgz", - "integrity": "sha512-gRWS+SLIhZV3JUWn9BJt+jd9L4hON2YxRTuZBw20ExPFbqTj7/2kjwzHX1V00wAN4/qJGLz1GF9Kr1DILxTBqg==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", "license": "MIT", "dependencies": { - "@octokit/openapi-types": "^24.1.0" + "@octokit/openapi-types": "^25.1.0" } }, "node_modules/@octokit/webhooks": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/@octokit/webhooks/-/webhooks-13.3.0.tgz", - "integrity": "sha512-TUkJLtI163Bz5+JK0O+zDkQpn4gKwN+BovclUvCj6pI/6RXrFqQvUMRS2M+Rt8Rv0qR3wjoMoOPmpJKeOh0nBg==", + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/@octokit/webhooks/-/webhooks-13.9.0.tgz", + "integrity": "sha512-5Kva+/Gi7c+39d0/0MM/v/5RCZuwqm75fUD+t7Es3Iz/adui54GnjfNmJpkkPkXGC+5IWnEvgqwY6gstK/JlUQ==", + "license": "MIT", "dependencies": { - "@octokit/openapi-webhooks-types": "8.3.0", - "@octokit/request-error": "^6.0.1", - "@octokit/webhooks-methods": "^5.0.0" + "@octokit/openapi-webhooks-types": "11.0.0", + "@octokit/request-error": "^6.1.7", + "@octokit/webhooks-methods": "^5.1.1" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/webhooks-methods": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@octokit/webhooks-methods/-/webhooks-methods-5.1.0.tgz", - "integrity": "sha512-yFZa3UH11VIxYnnoOYCVoJ3q4ChuSOk2IVBBQ0O3xtKX4x9bmKb/1t+Mxixv2iUhzMdOl1qeWJqEhouXXzB3rQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/webhooks-methods/-/webhooks-methods-5.1.1.tgz", + "integrity": "sha512-NGlEHZDseJTCj8TMMFehzwa9g7On4KJMPVHDSrHxCQumL6uSQR8wIkP/qesv52fXqV1BPf4pTxwtS31ldAt9Xg==", + "license": "MIT", "engines": { "node": ">= 18" } @@ -1009,6 +1047,7 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", "optional": true, "peer": true, "engines": { @@ -1016,224 +1055,276 @@ } }, "node_modules/@remix-run/router": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz", - "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.0.tgz", + "integrity": "sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==", + "license": "MIT", "engines": { "node": ">=14.0.0" } }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.9", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.9.tgz", + "integrity": "sha512-e9MeMtVWo186sgvFFJOPGy7/d2j2mZhLJIdVW0C/xDluuOvymEATqz6zKsP0ZmXGzQtqlyjz5sC1sYQUoJG98w==", + "dev": true, + "license": "MIT" + }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.4.tgz", - "integrity": "sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.1.tgz", + "integrity": "sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw==", "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.4.tgz", - "integrity": "sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.1.tgz", + "integrity": "sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.4.tgz", - "integrity": "sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.41.1.tgz", + "integrity": "sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.4.tgz", - "integrity": "sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.41.1.tgz", + "integrity": "sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.4.tgz", - "integrity": "sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.1.tgz", + "integrity": "sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "freebsd" ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.4.tgz", - "integrity": "sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.1.tgz", + "integrity": "sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "freebsd" ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.4.tgz", - "integrity": "sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.1.tgz", + "integrity": "sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg==", "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.4.tgz", - "integrity": "sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.1.tgz", + "integrity": "sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA==", "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.4.tgz", - "integrity": "sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.1.tgz", + "integrity": "sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.4.tgz", - "integrity": "sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.1.tgz", + "integrity": "sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==", "cpu": [ "arm64" ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.1.tgz", + "integrity": "sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==", + "cpu": [ + "loong64" + ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.4.tgz", - "integrity": "sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.1.tgz", + "integrity": "sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==", "cpu": [ "ppc64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.4.tgz", - "integrity": "sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.1.tgz", + "integrity": "sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==", "cpu": [ "riscv64" ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.1.tgz", + "integrity": "sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==", + "cpu": [ + "riscv64" + ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.4.tgz", - "integrity": "sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.1.tgz", + "integrity": "sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==", "cpu": [ "s390x" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.4.tgz", - "integrity": "sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.1.tgz", + "integrity": "sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.4.tgz", - "integrity": "sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.1.tgz", + "integrity": "sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.4.tgz", - "integrity": "sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.1.tgz", + "integrity": "sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.4.tgz", - "integrity": "sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.1.tgz", + "integrity": "sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==", "cpu": [ "ia32" ], + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.4.tgz", - "integrity": "sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.1.tgz", + "integrity": "sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -1243,6 +1334,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.1.2.tgz", "integrity": "sha512-Txsm1tJvtiYeLUVRNqxZGKR/mI+CzuIQuc2gn+YCs9rMTowpNZ2Nqt53JdL8KF9bLhAf2ruR/dr9eZCwdTriRA==", + "license": "MIT", "peer": true, "dependencies": { "@sveltejs/vite-plugin-svelte-inspector": "^2.1.0", @@ -1265,6 +1357,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-2.1.0.tgz", "integrity": "sha512-9QX28IymvBlSCqsCll5t0kQVxipsfhFFL+L2t3nTWfXnddYwxBuAEtTtlaVQpRz9c37BhJjltSeY4AJSC03SSg==", + "license": "MIT", "peer": true, "dependencies": { "debug": "^4.3.4" @@ -1279,14 +1372,15 @@ } }, "node_modules/@swc/core": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.4.8.tgz", - "integrity": "sha512-uY2RSJcFPgNOEg12RQZL197LZX+MunGiKxsbxmh22VfVxrOYGRvh4mPANFlrD1yb38CgmW1wI6YgIi8LkIwmWg==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.11.29.tgz", + "integrity": "sha512-g4mThMIpWbNhV8G2rWp5a5/Igv8/2UFRJx2yImrLGMgrDDYZIopqZ/z0jZxDgqNA1QDx93rpwNF7jGsxVWcMlA==", "dev": true, "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { - "@swc/counter": "^0.1.2", - "@swc/types": "^0.1.5" + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.21" }, "engines": { "node": ">=10" @@ -1296,19 +1390,19 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.4.8", - "@swc/core-darwin-x64": "1.4.8", - "@swc/core-linux-arm-gnueabihf": "1.4.8", - "@swc/core-linux-arm64-gnu": "1.4.8", - "@swc/core-linux-arm64-musl": "1.4.8", - "@swc/core-linux-x64-gnu": "1.4.8", - "@swc/core-linux-x64-musl": "1.4.8", - "@swc/core-win32-arm64-msvc": "1.4.8", - "@swc/core-win32-ia32-msvc": "1.4.8", - "@swc/core-win32-x64-msvc": "1.4.8" + "@swc/core-darwin-arm64": "1.11.29", + "@swc/core-darwin-x64": "1.11.29", + "@swc/core-linux-arm-gnueabihf": "1.11.29", + "@swc/core-linux-arm64-gnu": "1.11.29", + "@swc/core-linux-arm64-musl": "1.11.29", + "@swc/core-linux-x64-gnu": "1.11.29", + "@swc/core-linux-x64-musl": "1.11.29", + "@swc/core-win32-arm64-msvc": "1.11.29", + "@swc/core-win32-ia32-msvc": "1.11.29", + "@swc/core-win32-x64-msvc": "1.11.29" }, "peerDependencies": { - "@swc/helpers": "^0.5.0" + "@swc/helpers": ">=0.5.17" }, "peerDependenciesMeta": { "@swc/helpers": { @@ -1317,13 +1411,14 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.8.tgz", - "integrity": "sha512-hhQCffRTgzpTIbngSnC30vV6IJVTI9FFBF954WEsshsecVoCGFiMwazBbrkLG+RwXENTrMhgeREEFh6R3KRgKQ==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.11.29.tgz", + "integrity": "sha512-whsCX7URzbuS5aET58c75Dloby3Gtj/ITk2vc4WW6pSDQKSPDuONsIcZ7B2ng8oz0K6ttbi4p3H/PNPQLJ4maQ==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "darwin" @@ -1333,13 +1428,14 @@ } }, "node_modules/@swc/core-darwin-x64": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.4.8.tgz", - "integrity": "sha512-P3ZBw8Jr8rKhY/J8d+6WqWriqngGTgHwtFeJ8MIakQJTbdYbFgXSZxcvDiERg3psbGeFXaUaPI0GO6BXv9k/OQ==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.11.29.tgz", + "integrity": "sha512-S3eTo/KYFk+76cWJRgX30hylN5XkSmjYtCBnM4jPLYn7L6zWYEPajsFLmruQEiTEDUg0gBEWLMNyUeghtswouw==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "darwin" @@ -1349,13 +1445,14 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.8.tgz", - "integrity": "sha512-PP9JIJt19bUWhAGcQW6qMwTjZOcMyzkvZa0/LWSlDm0ORYVLmDXUoeQbGD3e0Zju9UiZxyulnpjEN0ZihJgPTA==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.11.29.tgz", + "integrity": "sha512-o9gdshbzkUMG6azldHdmKklcfrcMx+a23d/2qHQHPDLUPAN+Trd+sDQUYArK5Fcm7TlpG4sczz95ghN0DMkM7g==", "cpu": [ "arm" ], "dev": true, + "license": "Apache-2.0", "optional": true, "os": [ "linux" @@ -1365,13 +1462,14 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.8.tgz", - "integrity": "sha512-HvEWnwKHkoVUr5iftWirTApFJ13hGzhAY2CMw4lz9lur2m+zhPviRRED0FCI6T95Knpv7+8eUOr98Z7ctrG6DQ==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.11.29.tgz", + "integrity": "sha512-sLoaciOgUKQF1KX9T6hPGzvhOQaJn+3DHy4LOHeXhQqvBgr+7QcZ+hl4uixPKTzxk6hy6Hb0QOvQEdBAAR1gXw==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -1381,13 +1479,14 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.8.tgz", - "integrity": "sha512-kY8+qa7k/dEeBq9p0Hrta18QnJPpsiJvDQSLNaTIFpdM3aEM9zbkshWz8gaX5VVGUEALowCBUWqmzO4VaqM+2w==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.11.29.tgz", + "integrity": "sha512-PwjB10BC0N+Ce7RU/L23eYch6lXFHz7r3NFavIcwDNa/AAqywfxyxh13OeRy+P0cg7NDpWEETWspXeI4Ek8otw==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -1397,13 +1496,14 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.8.tgz", - "integrity": "sha512-0WWyIw432wpO/zeGblwq4f2YWam4pn8Z/Ig4KzHMgthR/KmiLU3f0Z7eo45eVmq5vcU7Os1zi/Zb65OOt09q/w==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.11.29.tgz", + "integrity": "sha512-i62vBVoPaVe9A3mc6gJG07n0/e7FVeAvdD9uzZTtGLiuIfVfIBta8EMquzvf+POLycSk79Z6lRhGPZPJPYiQaA==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -1413,13 +1513,14 @@ } }, "node_modules/@swc/core-linux-x64-musl": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.8.tgz", - "integrity": "sha512-p4yxvVS05rBNCrBaSTa20KK88vOwtg8ifTW7ec/yoab0bD5EwzzB8KbDmLLxE6uziFa0sdjF0dfRDwSZPex37Q==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.11.29.tgz", + "integrity": "sha512-YER0XU1xqFdK0hKkfSVX1YIyCvMDI7K07GIpefPvcfyNGs38AXKhb2byySDjbVxkdl4dycaxxhRyhQ2gKSlsFQ==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -1429,13 +1530,14 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.8.tgz", - "integrity": "sha512-jKuXihxAaqUnbFfvPxtmxjdJfs87F1GdBf33il+VUmSyWCP4BE6vW+/ReDAe8sRNsKyrZ3UH1vI5q1n64csBUA==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.11.29.tgz", + "integrity": "sha512-po+WHw+k9g6FAg5IJ+sMwtA/fIUL3zPQ4m/uJgONBATCVnDDkyW6dBA49uHNVtSEvjvhuD8DVWdFP847YTcITw==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "win32" @@ -1445,13 +1547,14 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.8.tgz", - "integrity": "sha512-O0wT4AGHrX8aBeH6c2ADMHgagAJc5Kf6W48U5moyYDAkkVnKvtSc4kGhjWhe1Yl0sI0cpYh2In2FxvYsb44eWw==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.11.29.tgz", + "integrity": "sha512-h+NjOrbqdRBYr5ItmStmQt6x3tnhqgwbj9YxdGPepbTDamFv7vFnhZR0YfB3jz3UKJ8H3uGJ65Zw1VsC+xpFkg==", "cpu": [ "ia32" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "win32" @@ -1461,13 +1564,14 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.8.tgz", - "integrity": "sha512-C2AYc3A2o+ECciqsJWRgIpp83Vk5EaRzHe7ed/xOWzVd0MsWR+fweEsyOjlmzHfpUxJSi46Ak3/BIZJlhZbXbg==", + "version": "1.11.29", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.11.29.tgz", + "integrity": "sha512-Q8cs2BDV9wqDvqobkXOYdC+pLUSEpX/KvI0Dgfun1F+LzuLotRFuDhrvkU9ETJA6OnD2+Fn/ieHgloiKA/Mn/g==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "win32" @@ -1480,73 +1584,83 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/@swc/types": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.6.tgz", - "integrity": "sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==", + "version": "0.1.21", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.21.tgz", + "integrity": "sha512-2YEtj5HJVbKivud9N4bpPBAyZhj4S2Ipe5LkUG94alTpr7in/GU/EARgPAd3BwU+YOmFVJC2+kjqhGRi3r0ZpQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@swc/counter": "^0.1.3" } }, "node_modules/@types/aws-lambda": { - "version": "8.10.145", - "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.145.tgz", - "integrity": "sha512-dtByW6WiFk5W5Jfgz1VM+YPA21xMXTuSFoLYIDY0L44jDLLflVPtZkYuu3/YxpGcvjzKFBZLU+GyKjR0HOYtyw==" + "version": "8.10.149", + "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.149.tgz", + "integrity": "sha512-NXSZIhfJjnXqJgtS7IwutqIF/SOy1Wz5Px4gUY1RWITp3AYTyuJS4xaXr/bIJY1v15XMzrJ5soGnPM+7uigZjA==", + "license": "MIT" }, "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "license": "MIT" }, "node_modules/@types/history": { "version": "4.7.11", "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/js-cookie": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-3.0.6.tgz", "integrity": "sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/lodash": { - "version": "4.17.16", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.16.tgz", - "integrity": "sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==", - "dev": true + "version": "4.17.17", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.17.tgz", + "integrity": "sha512-RRVJ+J3J+WmyOTqnz3PiBLA501eKwXl2noseKOrNo/6+XEHjTAxO4xHvxQB6QuNm+s4WRbn6rSiap8+EA+ykFQ==", + "dev": true, + "license": "MIT" }, "node_modules/@types/prop-types": { - "version": "15.7.11", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" + "version": "15.7.14", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", + "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==", + "license": "MIT" }, "node_modules/@types/react": { - "version": "18.2.67", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.67.tgz", - "integrity": "sha512-vkIE2vTIMHQ/xL0rgmuoECBCkZFZeHr49HeWSc24AptMbNRo7pwSBvj73rlJJs9fGKj0koS+V7kQB1jHS0uCgw==", + "version": "18.3.23", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz", + "integrity": "sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==", + "license": "MIT", "dependencies": { "@types/prop-types": "*", - "@types/scheduler": "*", "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "18.2.22", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.22.tgz", - "integrity": "sha512-fHkBXPeNtfvri6gdsMYyW+dW7RXFo6Ad09nLFK0VQWR7yGLai/Cyvyj696gbwYvBnhGtevUG9cET0pmUbMtoPQ==", + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", "dev": true, - "dependencies": { - "@types/react": "*" + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" } }, "node_modules/@types/react-router": { @@ -1554,6 +1668,7 @@ "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", "dev": true, + "license": "MIT", "dependencies": { "@types/history": "^4.7.11", "@types/react": "*" @@ -1564,28 +1679,26 @@ "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", "dev": true, + "license": "MIT", "dependencies": { "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router": "*" } }, - "node_modules/@types/scheduler": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" - }, "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.0.tgz", + "integrity": "sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==", + "dev": true, + "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.62.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.4.0", "@typescript-eslint/scope-manager": "5.62.0", @@ -1620,6 +1733,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/scope-manager": "5.62.0", "@typescript-eslint/types": "5.62.0", @@ -1647,6 +1761,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0" @@ -1664,6 +1779,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/typescript-estree": "5.62.0", "@typescript-eslint/utils": "5.62.0", @@ -1691,6 +1807,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -1704,6 +1821,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0", @@ -1731,6 +1849,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", @@ -1757,6 +1876,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" @@ -1770,27 +1890,31 @@ } }, "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true, + "license": "ISC" }, "node_modules/@vitejs/plugin-react-swc": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.6.0.tgz", - "integrity": "sha512-XFRbsGgpGxGzEV5i5+vRiro1bwcIaZDIdBRP16qwm+jP68ue/S8FJTBEgOeojtVDYrbSua3XFp71kC8VJE6v+g==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.10.0.tgz", + "integrity": "sha512-ZmkdHw3wo/o/Rk05YsXZs/DJAfY2CdQ5DUAjoWji+PEr+hYADdGMCGgEAILbiKj+CjspBTuTACBcWDrmC8AUfw==", "dev": true, + "license": "MIT", "dependencies": { - "@swc/core": "^1.3.107" + "@rolldown/pluginutils": "1.0.0-beta.9", + "@swc/core": "^1.11.22" }, "peerDependencies": { - "vite": "^4 || ^5" + "vite": "^4 || ^5 || ^6" } }, "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -1803,6 +1927,7 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -1812,6 +1937,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -1827,6 +1953,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -1835,6 +1962,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -1849,12 +1977,14 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "dev": true, + "license": "Python-2.0" }, "node_modules/aria-query": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", "peer": true, "engines": { "node": ">= 0.4" @@ -1865,6 +1995,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -1873,6 +2004,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", "peer": true, "engines": { "node": ">= 0.4" @@ -1881,23 +2013,27 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" }, "node_modules/before-after-hook": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", - "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", + "license": "Apache-2.0" }, "node_modules/bottleneck": { "version": "2.19.5", "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", - "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==" + "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==", + "license": "MIT" }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1908,6 +2044,7 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { "fill-range": "^7.1.1" }, @@ -1920,6 +2057,7 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -1929,6 +2067,7 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1944,6 +2083,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz", "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==", + "license": "MIT", "peer": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15", @@ -1957,6 +2097,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -1967,18 +2108,21 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -1992,6 +2136,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "license": "MIT", "peer": true, "dependencies": { "mdn-data": "2.0.30", @@ -2004,14 +2149,16 @@ "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -2026,12 +2173,14 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -2042,6 +2191,7 @@ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, + "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -2054,6 +2204,7 @@ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -2065,12 +2216,14 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT", "peer": true }, "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT", "peer": true }, "node_modules/esbuild": { @@ -2078,6 +2231,7 @@ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -2115,6 +2269,7 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -2123,16 +2278,18 @@ } }, "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -2178,10 +2335,11 @@ } }, "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -2194,6 +2352,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.3.5.tgz", "integrity": "sha512-61qNIsc7fo9Pp/mju0J83kzvLm0Bsayu7OQSLEoJxLDCBjIIyb87bkzufoOvdDxLkSlMfkF7UxomC4+eztUBSA==", "dev": true, + "license": "MIT", "peerDependencies": { "eslint": ">=7" } @@ -2203,6 +2362,7 @@ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -2216,6 +2376,7 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -2228,6 +2389,7 @@ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -2244,6 +2406,7 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -2253,6 +2416,7 @@ "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -2266,10 +2430,11 @@ } }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -2282,6 +2447,7 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -2291,6 +2457,7 @@ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -2303,6 +2470,7 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -2312,6 +2480,7 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -2320,6 +2489,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", "peer": true, "dependencies": { "@types/estree": "^1.0.0" @@ -2330,6 +2500,7 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } @@ -2354,19 +2525,21 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" @@ -2377,6 +2550,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -2388,19 +2562,22 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "dev": true, + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -2410,6 +2587,7 @@ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, + "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -2422,6 +2600,7 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -2434,6 +2613,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -2450,6 +2630,7 @@ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, + "license": "MIT", "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.3", @@ -2460,15 +2641,17 @@ } }, "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" }, "node_modules/foreground-child": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "license": "ISC", "peer": true, "dependencies": { "cross-spawn": "^7.0.6", @@ -2485,13 +2668,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -2504,6 +2689,7 @@ "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", "peer": true, "dependencies": { "foreground-child": "^3.1.0", @@ -2525,6 +2711,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -2536,6 +2723,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "peer": true, "dependencies": { "balanced-match": "^1.0.0" @@ -2545,6 +2733,7 @@ "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", "peer": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -2561,6 +2750,7 @@ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -2576,6 +2766,7 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -2595,39 +2786,44 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/highlight.js": { - "version": "11.9.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.9.0.tgz", - "integrity": "sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==", + "version": "11.11.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz", + "integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==", + "license": "BSD-3-Clause", "engines": { "node": ">=12.0.0" } }, "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -2644,6 +2840,7 @@ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.19" } @@ -2652,7 +2849,9 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -2662,13 +2861,15 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -2677,6 +2878,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -2687,6 +2889,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -2699,6 +2902,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -2708,6 +2912,7 @@ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -2716,6 +2921,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz", "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==", + "license": "MIT", "peer": true, "dependencies": { "@types/estree": "^1.0.6" @@ -2724,12 +2930,14 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" }, "node_modules/jackspeak": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", "peer": true, "dependencies": { "@isaacs/cliui": "^8.0.2" @@ -2753,13 +2961,15 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -2771,25 +2981,29 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, + "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } @@ -2798,6 +3012,7 @@ "version": "4.1.5", "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "license": "MIT", "peer": true, "engines": { "node": ">=6" @@ -2808,6 +3023,7 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -2820,6 +3036,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", + "license": "MIT", "peer": true }, "node_modules/locate-path": { @@ -2827,6 +3044,7 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -2841,18 +3059,21 @@ "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -2863,12 +3084,15 @@ "node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC", + "peer": true }, "node_modules/magic-string": { "version": "0.30.17", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "license": "MIT", "peer": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" @@ -2878,6 +3102,7 @@ "version": "2.0.30", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "license": "CC0-1.0", "peer": true }, "node_modules/merge2": { @@ -2885,17 +3110,19 @@ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -2907,6 +3134,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -2918,26 +3146,29 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", "peer": true, "engines": { "node": ">=16 || 14 >=14.17" } }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -2949,29 +3180,33 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/natural-compare-lite": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/octokit": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/octokit/-/octokit-4.0.2.tgz", - "integrity": "sha512-wbqF4uc1YbcldtiBFfkSnquHtECEIpYD78YUXI6ri1Im5OO2NLo6ZVpRdbJpdnpZ05zMrVPssNiEo6JQtea+Qg==", - "dependencies": { - "@octokit/app": "^15.0.0", - "@octokit/core": "^6.0.0", - "@octokit/oauth-app": "^7.0.0", - "@octokit/plugin-paginate-graphql": "^5.0.0", - "@octokit/plugin-paginate-rest": "^11.0.0", - "@octokit/plugin-rest-endpoint-methods": "^13.0.0", - "@octokit/plugin-retry": "^7.0.0", - "@octokit/plugin-throttling": "^9.0.0", - "@octokit/request-error": "^6.0.0", - "@octokit/types": "^13.0.0" + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/octokit/-/octokit-4.1.4.tgz", + "integrity": "sha512-cRvxRte6FU3vAHRC9+PMSY3D+mRAs2Rd9emMoqp70UGRvJRM3sbAoim2IXRZNNsf8wVfn4sGxVBHRAP+JBVX/g==", + "license": "MIT", + "dependencies": { + "@octokit/app": "^15.1.6", + "@octokit/core": "^6.1.5", + "@octokit/oauth-app": "^7.1.6", + "@octokit/plugin-paginate-graphql": "^5.2.4", + "@octokit/plugin-paginate-rest": "^12.0.0", + "@octokit/plugin-rest-endpoint-methods": "^14.0.0", + "@octokit/plugin-retry": "^7.2.1", + "@octokit/plugin-throttling": "^10.0.0", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "@octokit/webhooks": "^13.8.3" }, "engines": { "node": ">= 18" @@ -2982,22 +3217,24 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, + "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, + "license": "MIT", "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -3008,6 +3245,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -3023,6 +3261,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -3037,6 +3276,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0", "peer": true }, "node_modules/parent-module": { @@ -3044,6 +3284,7 @@ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -3056,6 +3297,7 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3065,6 +3307,7 @@ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3073,6 +3316,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", "engines": { "node": ">=8" } @@ -3081,6 +3325,7 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", "peer": true, "dependencies": { "lru-cache": "^10.2.0", @@ -3098,6 +3343,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3106,6 +3352,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "license": "MIT", "peer": true, "dependencies": { "@types/estree": "^1.0.0", @@ -3116,13 +3363,15 @@ "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -3131,9 +3380,9 @@ } }, "node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "version": "8.5.4", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.4.tgz", + "integrity": "sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==", "funding": [ { "type": "opencollective", @@ -3148,9 +3397,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.0", + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, "engines": { @@ -3162,6 +3412,7 @@ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } @@ -3171,6 +3422,7 @@ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz", "integrity": "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -3183,6 +3435,7 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -3205,12 +3458,14 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" }, @@ -3219,23 +3474,25 @@ } }, "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "scheduler": "^0.23.2" }, "peerDependencies": { - "react": "^18.2.0" + "react": "^18.3.1" } }, "node_modules/react-router": { - "version": "6.22.3", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz", - "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==", + "version": "6.30.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.1.tgz", + "integrity": "sha512-X1m21aEmxGXqENEPG3T6u0Th7g0aS4ZmoNynhbs+Cn+q+QGTLt+d5IQ2bHAXKzKcxGJjxACpVbnYQSCRcfxHlQ==", + "license": "MIT", "dependencies": { - "@remix-run/router": "1.15.3" + "@remix-run/router": "1.23.0" }, "engines": { "node": ">=14.0.0" @@ -3245,12 +3502,13 @@ } }, "node_modules/react-router-dom": { - "version": "6.22.3", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz", - "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==", + "version": "6.30.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.1.tgz", + "integrity": "sha512-llKsgOkZdbPU1Eg3zK8lCn+sjD9wMRZZPuzmdWWX5SUs8OFkN5HnFVC0u5KMeMaC9aoancFI/KoLuKPqN+hxHw==", + "license": "MIT", "dependencies": { - "@remix-run/router": "1.15.3", - "react-router": "6.22.3" + "@remix-run/router": "1.23.0", + "react-router": "6.30.1" }, "engines": { "node": ">=14.0.0" @@ -3265,15 +3523,17 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true, + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -3283,7 +3543,9 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -3298,7 +3560,9 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -3315,11 +3579,12 @@ } }, "node_modules/rollup": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.4.tgz", - "integrity": "sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.41.1.tgz", + "integrity": "sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==", + "license": "MIT", "dependencies": { - "@types/estree": "1.0.6" + "@types/estree": "1.0.7" }, "bin": { "rollup": "dist/bin/rollup" @@ -3329,24 +3594,26 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.24.4", - "@rollup/rollup-android-arm64": "4.24.4", - "@rollup/rollup-darwin-arm64": "4.24.4", - "@rollup/rollup-darwin-x64": "4.24.4", - "@rollup/rollup-freebsd-arm64": "4.24.4", - "@rollup/rollup-freebsd-x64": "4.24.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.24.4", - "@rollup/rollup-linux-arm-musleabihf": "4.24.4", - "@rollup/rollup-linux-arm64-gnu": "4.24.4", - "@rollup/rollup-linux-arm64-musl": "4.24.4", - "@rollup/rollup-linux-powerpc64le-gnu": "4.24.4", - "@rollup/rollup-linux-riscv64-gnu": "4.24.4", - "@rollup/rollup-linux-s390x-gnu": "4.24.4", - "@rollup/rollup-linux-x64-gnu": "4.24.4", - "@rollup/rollup-linux-x64-musl": "4.24.4", - "@rollup/rollup-win32-arm64-msvc": "4.24.4", - "@rollup/rollup-win32-ia32-msvc": "4.24.4", - "@rollup/rollup-win32-x64-msvc": "4.24.4", + "@rollup/rollup-android-arm-eabi": "4.41.1", + "@rollup/rollup-android-arm64": "4.41.1", + "@rollup/rollup-darwin-arm64": "4.41.1", + "@rollup/rollup-darwin-x64": "4.41.1", + "@rollup/rollup-freebsd-arm64": "4.41.1", + "@rollup/rollup-freebsd-x64": "4.41.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.41.1", + "@rollup/rollup-linux-arm-musleabihf": "4.41.1", + "@rollup/rollup-linux-arm64-gnu": "4.41.1", + "@rollup/rollup-linux-arm64-musl": "4.41.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.41.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.41.1", + "@rollup/rollup-linux-riscv64-gnu": "4.41.1", + "@rollup/rollup-linux-riscv64-musl": "4.41.1", + "@rollup/rollup-linux-s390x-gnu": "4.41.1", + "@rollup/rollup-linux-x64-gnu": "4.41.1", + "@rollup/rollup-linux-x64-musl": "4.41.1", + "@rollup/rollup-win32-arm64-msvc": "4.41.1", + "@rollup/rollup-win32-ia32-msvc": "4.41.1", + "@rollup/rollup-win32-x64-msvc": "4.41.1", "fsevents": "~2.3.2" } }, @@ -3369,26 +3636,26 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" } }, "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -3396,22 +3663,11 @@ "node": ">=10" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -3423,6 +3679,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", "engines": { "node": ">=8" } @@ -3431,6 +3688,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", "peer": true, "engines": { "node": ">=14" @@ -3444,6 +3702,7 @@ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3452,6 +3711,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -3460,6 +3720,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", "peer": true, "dependencies": { "eastasianwidth": "^0.2.0", @@ -3478,6 +3739,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", "peer": true, "dependencies": { "emoji-regex": "^8.0.0", @@ -3492,12 +3754,14 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT", "peer": true }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -3510,6 +3774,7 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", "peer": true, "dependencies": { "ansi-regex": "^6.0.1" @@ -3525,6 +3790,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -3537,6 +3803,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "peer": true, "dependencies": { "ansi-regex": "^5.0.1" @@ -3550,6 +3817,7 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -3562,6 +3830,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -3570,9 +3839,10 @@ } }, "node_modules/svelte": { - "version": "4.2.19", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.19.tgz", - "integrity": "sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==", + "version": "4.2.20", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.20.tgz", + "integrity": "sha512-eeEgGc2DtiUil5ANdtd8vPwt9AgaMdnuUFnPft9F5oMvU/FHu5IHFic+p1dR/UOB7XU2mX2yHW+NcTch4DCh5Q==", + "license": "MIT", "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.1", @@ -3598,6 +3868,7 @@ "version": "0.16.0", "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.16.0.tgz", "integrity": "sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==", + "license": "ISC", "peer": true, "engines": { "node": "^12.20 || ^14.13.1 || >= 16" @@ -3610,13 +3881,15 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -3624,17 +3897,28 @@ "node": ">=8.0" } }, + "node_modules/toad-cache": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.0.tgz", + "integrity": "sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, "node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "dev": true, + "license": "0BSD" }, "node_modules/tsutils": { "version": "3.21.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, + "license": "MIT", "dependencies": { "tslib": "^1.8.1" }, @@ -3650,6 +3934,7 @@ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -3662,6 +3947,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -3670,10 +3956,11 @@ } }, "node_modules/typescript": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz", - "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -3683,28 +3970,31 @@ } }, "node_modules/universal-github-app-jwt": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/universal-github-app-jwt/-/universal-github-app-jwt-2.2.0.tgz", - "integrity": "sha512-G5o6f95b5BggDGuUfKDApKaCgNYy2x7OdHY0zSMF081O0EJobw+1130VONhrA7ezGSV2FNOGyM+KQpQZAr9bIQ==" + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/universal-github-app-jwt/-/universal-github-app-jwt-2.2.2.tgz", + "integrity": "sha512-dcmbeSrOdTnsjGjUfAlqNDJrhxXizjAz94ija9Qw8YkZ1uu0d+GoZzyH+Jb9tIIqvGsadUfwg+22k5aDqqwzbw==", + "license": "MIT" }, "node_modules/universal-user-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", + "license": "ISC" }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/vite": { - "version": "5.4.16", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.16.tgz", - "integrity": "sha512-Y5gnfp4NemVfgOTDQAunSD4346fal44L9mszGGY/e+qxsRT5y1sMlS/8tiQ8AFAp+MFgYNSINdfEchJiPm41vQ==", + "version": "5.4.19", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.19.tgz", + "integrity": "sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==", "license": "MIT", "dependencies": { "esbuild": "^0.21.3", @@ -3764,6 +4054,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz", "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==", + "license": "MIT", "peer": true, "peerDependencies": { "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" @@ -3778,6 +4069,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -3788,10 +4080,21 @@ "node": ">= 8" } }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/wrap-ansi": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^6.1.0", @@ -3810,6 +4113,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.0.0", @@ -3827,12 +4131,14 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT", "peer": true }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", "peer": true, "dependencies": { "emoji-regex": "^8.0.0", @@ -3847,6 +4153,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -3859,6 +4166,7 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", "peer": true, "engines": { "node": ">=12" @@ -3871,6 +4179,7 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", "peer": true, "dependencies": { "ansi-regex": "^6.0.1" @@ -3886,19 +4195,15 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, diff --git a/src/App.tsx b/src/App.tsx index e105faafa..d478dfe66 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -59,12 +59,12 @@ import UserExperienceGuidelinesPage from "@routes/get-started/UserExperienceGuid import { VersionFromUrlProvider } from "@contexts/VersionFromUrlContext.tsx"; import { ComponentsRouter } from "./versioned-router"; -import ExamplePageTemplate from "@routes/patterns/ExamplePageTemplate"; -import PatternsOverviewPage from "@routes/patterns/PatternsOverview"; +import ExamplePageTemplate from "@routes/examples/ExamplePageTemplate"; +import PatternsOverviewPage from "@routes/examples/ExamplesOverview.tsx"; import ComponentNotFound from "@routes/not-found/NotFound.tsx"; import { LanguageVersionProvider } from "@contexts/LanguageVersionContext.tsx"; import DevelopersUpgradePage from "@routes/get-started/developers/upgrade-guide/DevelopersUpgrade.tsx"; -import PatternsLayout from "@routes/patterns/PatternsLayout.tsx"; +import ExamplesLayout from "@routes/examples/ExamplesLayout.tsx"; // Foundations Pages import FoundationsLayout from "@routes/foundations/FoundationsLayout"; @@ -152,7 +152,7 @@ const router = createBrowserRouter( } /> - }> + }> } /> } /> diff --git a/src/components/component-card/ComponentCard.tsx b/src/components/component-card/ComponentCard.tsx index ceba8481e..c17c68b25 100644 --- a/src/components/component-card/ComponentCard.tsx +++ b/src/components/component-card/ComponentCard.tsx @@ -17,7 +17,7 @@ import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { ANGULAR_VERSIONS, REACT_VERSIONS } from "@components/version-language-switcher/version-language-constants.ts"; -export interface Props { +export interface ComponentCardProps { name: string; description: string; tags?: string[]; @@ -39,7 +39,7 @@ function isRelativeUrl(url?: string): boolean { return url !== undefined && !/^https?:\/\//i.test(url); } -export function ComponentCard(props: Props) { +export function ComponentCard(props: ComponentCardProps) { console.log("Rendering card for:", props.name); const folder = props.imageFolder ?? "components"; const [imageUrl, setImageUrl] = useState(`/images/${folder}/${dasherize(props.name)}.png`); @@ -47,7 +47,7 @@ export function ComponentCard(props: Props) { useEffect(() => { const testImage = new Image(); testImage.src = imageUrl; - testImage.onerror = () => setImageUrl("/images/not-yet-available.png"); + testImage.onerror = () => setImageUrl("/images/component-thumbnails/not-yet-available.png"); }, [imageUrl]); const getBadgeType = (status: ComponentStatus) => { @@ -55,7 +55,7 @@ export function ComponentCard(props: Props) { case "Published": return null; // No badge for "Published" case "Not Published": - return "information"; + return "light"; case "In Progress": return "important"; default: diff --git a/src/components/example-card/ExampleCard.css b/src/components/example-card/ExampleCard.css new file mode 100644 index 000000000..920a61727 --- /dev/null +++ b/src/components/example-card/ExampleCard.css @@ -0,0 +1,40 @@ +.card { + border: 1px solid var(--goa-color-greyscale-200); + border-radius: 4px; + overflow: hidden; +} + +.card-image { + width: 100%; + height: 200px; + background-size: cover; + background-repeat: no-repeat; + background-position: center; + border-bottom: 1px solid var(--goa-color-greyscale-200); + background-color: #F8F8F8; +} + +.card-content { + padding: 1.5rem; +} + +.card-content a { + display: flex; +} + +.card-content a.github-link { + font: var(--goa-typography-body-s); + margin-top: 1rem; + margin-bottom: 0; +} + +.card-content a:focus { + outline: none; + box-shadow: none; + background: none; +} + +.card:focus-within { + outline: 3px solid var(--goa-color-interactive-focus); + border-radius: 4px; +} \ No newline at end of file diff --git a/src/components/example-card/ExampleCard.tsx b/src/components/example-card/ExampleCard.tsx new file mode 100644 index 000000000..baebd2223 --- /dev/null +++ b/src/components/example-card/ExampleCard.tsx @@ -0,0 +1,152 @@ +import { Link } from "react-router-dom"; +import "./ExampleCard.css"; +import { toKebabCase } from "../../utils"; +import { GoabBadge, GoabText } from "@abgov/react-components"; +import { useState, useEffect } from "react"; + +export type ComponentStatus = "Published" | "Not Published" | "In Progress"; + +// Define allowed group options as a union type +export type Group = + | "Content layout" + | "Feedback and alerts" + | "Inputs and actions" + | "Structure and navigation" + | "Utilities"; +import { useContext } from "react"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; +import { ANGULAR_VERSIONS, REACT_VERSIONS } from "@components/version-language-switcher/version-language-constants.ts"; + +function dasherize(value: string): string { + return value.toLowerCase().split(" ").join("-"); +} + +function isRelativeUrl(url?: string): boolean { + return url !== undefined && !/^https?:\/\//i.test(url); +} + +export interface ExampleCardProps { + name: string; + description: string; + tags?: string[]; + status: ComponentStatus; + githubLink?: string; + openIssues?: number; + isNew?: boolean; // if true, show a badge on the component card to let users know the component is available in the latest version + exampleUrl?: string; + designComponentFigmaUrl?: string; + designContributionFigmaUrl?: string; + imageFolder?: "component-thumbnails" | "example-thumbnails"; +} + +export function ExampleCard(props: ExampleCardProps) { + console.log("Rendering example card for:", props.name); + const folder = props.imageFolder ?? "example-thumbnails"; + const [imageUrl, setImageUrl] = useState(`/images/${folder}/${dasherize(props.name)}.png`); + + useEffect(() => { + const testImage = new Image(); + testImage.src = imageUrl; + testImage.onerror = () => { + if (props.status !== "Published") { + setImageUrl("/images/component-thumbnails/not-yet-available.png"); + } else { + setImageUrl(""); + } + }; + }, [imageUrl, props.status]); + + const getBadgeType = (status: ComponentStatus) => { + switch (status) { + case "Published": + return null; // No badge for "Published" + case "Not Published": + return "light"; + case "In Progress": + return "important"; + default: + return "information"; // Fallback for unknown status + } + }; + getBadgeType(props.status); + const { language } = useContext(LanguageVersionContext); + return ( + +
+ {props.status === "Published" ? ( + +
+ + ) : ( +
+ )} +
+ {props.isNew && ( + + )} + {props.status !== "Published" && ( + + )} +

+ {props.status === "Published" ? ( + {props.name} + ) : ( + props.name + )} +

+ + {props.description} + + + {props.tags?.map((tag) => ( + + ))} + + {props.status !== "Published" && props.githubLink && ( + + + View issue + + + )} + +
+
+ ); +} diff --git a/src/examples/public-form.tsx b/src/examples/public-form.tsx new file mode 100644 index 000000000..e921c58ad --- /dev/null +++ b/src/examples/public-form.tsx @@ -0,0 +1,236 @@ +import { ComponentContent } from "@components/component-content/ComponentContent.tsx"; +import { GoabDetails, GoabGrid, GoabText } from "@abgov/react-components"; +import css from "@routes/examples/patterns.module.css"; +import { Link } from "react-router-dom"; + +export function PublicForm() { + return ( + + + + Primary users: citizens, public, external +

+ You are designing a public service for citizens. It should be designed to be as simple and + intuitive as possible, while ensuring citizens can make complete and informed decisions + for themselves using the service. +

+ There is an emphasis on an accessible experience with a low cognitive load for users who + use the service infrequently. +
+
+

Pages

+ +
+ public form pages overview image +
+ +
+
+ + 1. Start page + + + This is the starting point for a citizen to begin your form from within your service or + from Alberta.ca. + +
+ +
+ + 2. Task list page (optional) + + + Outline the entire process for the user and help them through the process by breaking down + an experience into individual tasks. + +
+ +
+ + 3. Question pages + + Ask a user a question or a small set of related questions. +
+ +
+ + 4. Review page + + Let users check answers before submitting information to a + service. +
+ +
+ + 5. Results page + + + Let users know that they’ve completed a form, application, or task and tell them what to + do next. + +
+
+ +
+ +

+ Form structure +

+ + Form structure + + + + Use the public form structure focused on content, and asking the right questions to your user + to keep the interaction as simple as possible. + + + +

Start with one idea per page

+
+ + Split the form across multiple pages with each page containing just one idea, for example: + +
    +
  • + one decision they have to make +
  • +
  • + one question they have to answer +
  • +
  • + one piece of information you're telling a user +
  • +
+
+ +
+ Starting with one thing per page helps users to: +
    +
  • + understand what you're asking them to do +
  • +
  • + focus on specific questions and its answer +
  • +
  • + find their way through an unfamiliar process +
  • +
  • + use the service on a mobile device +
  • +
  • + recover easily from form errors +
  • +
+
+ +
+ It also helps the service: +
    +
  • + handle branching questions and loops +
  • +
  • + design for mobile use +
  • +
  • + save a user’s answers automatically as they go +
  • +
  • + capture analytics about each question +
  • +
+
+ +

Combine questions when helpful

+ + Asking a question doesn’t necessarily mean you should use one form field. For example, + asking a user for their address is best captured all on the same page with multiple fields. + + +

Accessibility

+
+ + Structuring your form with one idea per page simplifies the experience, and makes your + form more accessible. + +
    +
  1. + + Reduced cognitive load: Presenting only one idea at a time reduces + cognitive load on the user. This is particularly beneficial for users with cognitive + impairments, who might find it difficult to process and respond to multiple questions at + once. + +
  2. +
  3. + + Improved navigation for a screen reader: This simplified approach + efficiently guides the user through the form based on each answer and makes it easier to + navigate with screen readers or other assistive technology. + +
  4. +
  5. + + Better error handling: With smaller sets of questions validated at a + time errors can be identified and addressed in context. This makes it less confusing and + less overwhelming for users, particularly those with cognitive impairments and those + using assistive technologies. + +
  6. +
  7. + + Progressive disclosure: One idea per page allows the user to focus on + the current task and move through more information slowly. This can be especially + beneficial to users who are easily distracted or overwhelmed by too much information. + +
  8. +
+
+ +

Adding complexity

+ + Start by making sure that the content and questions you are asking the user are as simple as possible. + + +
+ As the complexity of your form grows, consider: +
    +
  • + adding simple progress indicators to communicate + progress +
  • +
  • + breaking the form into sections on a task list page +
  • +
+
+ +

Form stepper

+ + Avoid using traditional horizontal form steppers for every form. Research has shown that + horizontal form steppers shown on every page can distract and confuse some users, take up + too much space, and make it hard to handle branching and conditional sections of a form. + +
+ As the complexity of your form grows, consider: +
    +
  • + adding simple text progress indicators to communicate + progress +
  • +
  • + follow the one idea per page approach, and break the form into + sections as needed using a task list page +
  • +
+
+
+ ); +} + +export default PublicForm; diff --git a/src/routes/patterns/QuestionPage.tsx b/src/examples/question-page.tsx similarity index 59% rename from src/routes/patterns/QuestionPage.tsx rename to src/examples/question-page.tsx index 34c025e18..b1b35b37d 100644 --- a/src/routes/patterns/QuestionPage.tsx +++ b/src/examples/question-page.tsx @@ -1,24 +1,22 @@ import { GoabTab, - GoabTabs + GoabTabs, + GoabText } from "@abgov/react-components"; -import { ComponentContent } from "@components/component-content/ComponentContent"; -import css from "./patterns.module.css"; +import { ComponentContent } from "@components/component-content/ComponentContent.tsx"; +import css from "@routes/examples/patterns.module.css"; +import QuestionPageExamples from "@examples/question-page/QuestionPageExamples.tsx"; -export default function QuestionPage() { + +export function QuestionPage() { return ( <> -

Question pages

-

- This is the starting point for a citizen to begin your form from within your service or from - Alberta.ca. -

- - + + @@ -30,101 +28,127 @@ export default function QuestionPage() {

Form structure

-

+ Start by splitting the form across multiple pages with each page containing just one idea, for example: -

+
    -
  • one piece of information you’re telling a user
  • -
  • one decision they have to make
  • -
  • one question they have to answer
  • +
  • + one piece of information you’re telling a user +
  • +
  • + one decision they have to make +
  • +
  • + one question they have to answer +

Helps users to:

    -
  • understand what you’re asking them to do
  • -
  • focus on the specific question and its answer
  • -
  • find their way through an unfamiliar process
  • -
  • use the service on a mobile device
  • -
  • recover easily from errors
  • -
  • navigate with assistive technologies
  • +
  • + understand what you’re asking them to do +
  • +
  • + focus on the specific question and its answer +
  • +
  • + find their way through an unfamiliar process +
  • +
  • + use the service on a mobile device +
  • +
  • + recover easily from errors +
  • +
  • + navigate with assistive technologies +

Helps the service to:

    -
  • handle branching questions and loops
  • -
  • save a user’s answers automatically as they go
  • -
  • capture analytics about each question
  • -
  • manage potential complexity on a page
  • +
  • + handle branching questions and loops +
  • +
  • + save a user’s answers automatically as they go +
  • +
  • + capture analytics about each question +
  • +
  • + manage potential complexity on a page +

What are the main benefits of starting with one idea per page?

-

+ Focus: Asking one question at a time helps users focus on the task at hand. This is especially beneficial for complex forms or surveys, where multiple fields can easily overwhelm or confuse the user. The user's attention is undivided, leading to higher quality responses and fewer errors. -

-

+ + Efficiency: Due to the improved focus of the task at hand, completion time for forms can be lowered when measured against traditional long form patterns. -

-

+ + Progression: This approach gives users a sense of progression and accomplishment as they navigate through the form, which can motivate them to complete the form. It allows for a linear progression model, which can be less intimidating and less overwhelming than seeing a full page of empty fields at once. -

-

+ + Reduce Cognitive Load: By reducing the amount of information presented at once, this design pattern can help minimize cognitive load. The cognitive load theory suggests that our working memory capacity is limited, and if too much information is presented at once, it can lead to confusion and mistakes. -

-

+ + Adaptive: allows for adaptive questioning. The answer to one question can determine the next question asked. This isn't always possible when all questions are presented at once. This can help make the form shorter and more relevant for the user, increasing completion rates and user satisfaction. -

-

+ + Data Quality: With all the user's attention on one question, they are more likely to provide accurate and thoughtful answers. This can help to improve the quality of data gathered. -

-

+ + Mobile Friendly: As mobile usage continues to grow, one question at a time approach makes it easier for users to fill out the form on smaller screens. Long forms can be particularly daunting on mobile devices, so breaking it up into smaller, manageable pieces can improve user experience. -

-

+ + Error Handling: If a user makes an error on a form, it is easier and faster to provide feedback on that specific question, leading to an overall smoother and less frustrating user experience. -

+

Using progress indicators

-

+ Start by testing your form without a progress indicator to see if it’s simple enough that users do not need one. -

-

+ + Try improving the order, type or number of questions before adding a progress indicator. If people still have difficulty, try adding a simple step or question indicator. -

-

+ + Only include the total number of questions if you can do so reliably. As the user moves through the form, make sure the indicator updates to tell them which question they are on and the total number remaining. -

+

Why should I avoid progress indicators on forms?

-

+ Induce anxiety: If the form is lengthy, showing a slow-moving progress bar can induce anxiety and may deter the user from completing the form. Users could feel overwhelmed by the perceived time investment and the number of questions yet to come. -

-

+ + False perception: Progress bars often represent completion in a linear fashion, but not all form questions take an equal amount of time or effort to complete. A user might spend more time on an earlier question and then speed through subsequent ones. This can lead to an inaccurate perception of progress, causing user frustration. -

-

+ + Distraction: In an adaptive questioning scenario where the next question depends on the answer to the current question, it's challenging to provide an accurate progress indicator as the total number of questions can change dynamically. -

-

+ + Speed over accuracy: A progress indicator can lead users to rush through the form to see the progress bar move faster, thus sacrificing the quality of their responses. -

-

+ + Cannot use branching form logic: It's challenging to provide an accurate progress indicator in a non-linear form where the next question depends on the answer to the current question. The total number of questions will change dynamically. -

-

+ + Additional development and testing time: that progress indicators and form steppers introduce. -

+

When to use a form stepper

-

A form stepper is a type of visual step/progress indicator in a form.

-

+ A form stepper is a type of visual step/progress indicator in a + form. + Start with a one thing per page approach, and consider using a form stepper when all of the following is true: -

+
  • - your form can be broken into logical groups or steps that is helpful to constantly - communicate to the user + your form can be broken into logical groups or steps that is + helpful to constantly communicate to the user
  • -
  • your form is always linear, and a user cannot skip questions
  • - it is valuable to indicate to the user where they are in the process at all times - ongoing + your form is always linear, and a user cannot skip + questions
  • - it is valuable to indicate to the user how many steps are remaining, and you can - do so reliably + it is valuable to indicate to the user where they are in the + process at all times ongoing
  • - the form is not dynamic, where the number of questions remaining can change - depending on the response + it is valuable to indicate to the user how many steps are + remaining, and you can do so reliably +
  • +
  • + the form is not dynamic, where the number of questions + remaining can change depending on the response
-

+ Make it clear which tasks a user has completed and which they still need to complete. -

+ ); } + +export default QuestionPage; diff --git a/src/examples/result-page.tsx b/src/examples/result-page.tsx new file mode 100644 index 000000000..5e7f6b061 --- /dev/null +++ b/src/examples/result-page.tsx @@ -0,0 +1,66 @@ +import { + GoabTab, + GoabTabs, + GoabText +} from "@abgov/react-components"; +import { ComponentContent } from "@components/component-content/ComponentContent.tsx"; +import css from "@routes/examples/patterns.module.css"; +import { ResultPageExamples } from "@examples/result-page/ResultPageExamples.tsx"; + +export function ResultPage() { + return ( + <> + + + + + + + +

Overview

+
+ result page overview image +
+ +

When to use a results page

+ + Use a results page when a user has submitted a form, application, or task, and there is a result to show + them. + + +

What content to include

+
    +
  • + details of what happens next, and when +
  • +
  • + a reference number (if applicable) +
  • +
  • + a link to save a record of the confirmation, for examples as a + PDF +
  • +
  • + link to give feedback +
  • +
  • + contact details for the service +
  • +
  • + links to information or services that users are likely to need + next +
  • +
+
+
+
+ + ); +} + +export default ResultPage; diff --git a/src/examples/results-page.tsx b/src/examples/result-page/ResultPageExamples.tsx similarity index 99% rename from src/examples/results-page.tsx rename to src/examples/result-page/ResultPageExamples.tsx index 2cc413e7a..86296988a 100644 --- a/src/examples/results-page.tsx +++ b/src/examples/result-page/ResultPageExamples.tsx @@ -4,9 +4,10 @@ import { GoabBlock, GoabCallout } from "@abgov/react-components"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export function ResultsPage() { +export function ResultPageExamples() { const {version} = useContext(LanguageVersionContext); return ( + {/*CSS Code Snippet*/} + ); -} - -export default ResultsPage; +} \ No newline at end of file diff --git a/src/examples/review-page.tsx b/src/examples/review-page.tsx index 6049821fc..65321a226 100644 --- a/src/examples/review-page.tsx +++ b/src/examples/review-page.tsx @@ -1,103 +1,70 @@ -import { Sandbox } from "@components/sandbox"; -import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -import { GoabButton, GoabButtonGroup, GoabTable } from "@abgov/react-components"; +import { + GoabTab, + GoabTabs, + GoabText +} from "@abgov/react-components"; +import { ComponentContent } from "@components/component-content/ComponentContent.tsx"; +import css from "@routes/examples/patterns.module.css"; +import { ReviewPageExamples } from "@examples/review-page/ReviewPageExamples.tsx"; -export function ReviewPage() { +export function ReviewPage() { return ( - - {/*CSS Code Snippet*/} - -

Review your answers

-

Your situation

- - - - - What was your (the applicant's) relationship to the deceased? - - Other - - Change - - - - - My relationship to the deceased was - - Manager - - Change - - - - - - Was the deceased part of a household that was receiving Assured Income for the - Severely Handicapped (AISH) or Income Support? - - - No - - Change - - - - - Was the deceased a minor? - - No - - Change - - - - - What was the deceased's marital status at time of death? - - Married - - Change - - - - - Did the deceased have any dependents? - - No - - Change - - - - - Was the deceased a sponsored immigrant? - - Yes - - Change - - - - - - Confirm and continue - Back to application overview - -
+ <> + + + + + + + +
+

+ Overview +

+ review page overview image +
+

When to use a review page

+
+ Review and submit your answers at the end of a form or + section. + + When designing a very large transaction with multiple sections, it may help to + include a check answers pages at the end of each section. + +
+ +

Let users go back and change their answers

+ + Provide a "change" link next to each section so that users can add or change the + information they are submitting. + + + If you have questions that are optional, let users know that they've skipped it + without giving an answer by showing their response as "Not provided". + + + Include the full question name again in the change button as "visually hidden" so that + the screen reader reads out "change [question]" instead of just "change". This gives + context to a user using assistive technologies while keeping the link simple for most + users. + + +
+ let users go back and change their answer example image +
+
+
+
+ ); } diff --git a/src/examples/review-page/ReviewPageExamples.tsx b/src/examples/review-page/ReviewPageExamples.tsx new file mode 100644 index 000000000..e9a7d1df0 --- /dev/null +++ b/src/examples/review-page/ReviewPageExamples.tsx @@ -0,0 +1,102 @@ +import { Sandbox } from "@components/sandbox"; +import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; +import { GoabButton, GoabButtonGroup, GoabTable } from "@abgov/react-components"; + +export function ReviewPageExamples() { + + return ( + + {/*CSS Code Snippet*/} + +

Review your answers

+

Your situation

+ + + + + What was your (the applicant's) relationship to the deceased? + + Other + + Change + + + + + My relationship to the deceased was + + Manager + + Change + + + + + + Was the deceased part of a household that was receiving Assured Income for the + Severely Handicapped (AISH) or Income Support? + + + No + + Change + + + + + Was the deceased a minor? + + No + + Change + + + + + What was the deceased's marital status at time of death? + + Married + + Change + + + + + Did the deceased have any dependents? + + No + + Change + + + + + Was the deceased a sponsored immigrant? + + Yes + + Change + + + + + + Confirm and continue + Back to application overview + +
+ ); +} \ No newline at end of file diff --git a/src/examples/start-page.tsx b/src/examples/start-page.tsx index 1dda4cf9d..9852a7814 100644 --- a/src/examples/start-page.tsx +++ b/src/examples/start-page.tsx @@ -1,218 +1,171 @@ -import { Sandbox } from "@components/sandbox"; import { - GoabButton, + GoabGrid, GoabTab, GoabTabs, GoabText } from "@abgov/react-components"; -import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; -import { useContext } from "react"; -import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; + +import css from "@routes/examples/patterns.module.css"; +import { ComponentContent } from "@components/component-content/ComponentContent.tsx"; +import { StartPageExamples } from "@examples/start-page/StartPageExamples.tsx"; export function StartPage() { - const {version} = useContext(LanguageVersionContext); return ( - - - - {/*Angular code*/} - - {version === "old" && - Name of service - -

- A short overview of the service. This is a couple sentences that helps the user understand what the service is. -

-

- Use this service to apply for [service]. You can use this service to: -

-
    -
  • see of you or a family member is eligible for [service]
  • -
  • create and submit an application for [service]
  • -
  • continue an application for [service] that you already started
  • -
-

Before you begin

-

The application form should take about 20 minutes to complete.

-

In order to complete the application you will need:

-
    -
  • government issued ID for the person applying
  • -
- - Get started - -

Other information about the service

-

This section contains supplementary details about the service, including descriptions of less common scenarios, exceptions, and additional resources available. It provides context and additional insights that may be relevant to your specific circumstances or interests, helping you understand the full scope and utility of the service offered.

-

Support

-

For assistance, email us at  help@gov.ab.ca

- `} - />} - - {version === "new" && - Name of service - -

- A short overview of the service. This is a couple sentences that helps the user understand what the service is. -

-

- Use this service to apply for [service]. You can use this service to: -

-
    -
  • see of you or a family member is eligible for [service]
  • -
  • create and submit an application for [service]
  • -
  • continue an application for [service] that you already started
  • -
-

Before you begin

-

The application form should take about 20 minutes to complete.

-

In order to complete the application you will need:

-
    -
  • government issued ID for the person applying
  • -
- - Get started - -

Other information about the service

-

This section contains supplementary details about the service, including descriptions of less common scenarios, exceptions, and additional resources available. It provides context and additional insights that may be relevant to your specific circumstances or interests, helping you understand the full scope and utility of the service offered.

-

Support

-

For assistance, email us at  help@gov.ab.ca

- `} - />} - {/*React code*/} + + + + + - {version === "old" && - Name of service - -

- A short overview of the service. This is a couple sentences that helps the user understand what the service is. -

-

Use this service to apply for [service]. You can use this service to:

-
    -
  • see of you or a family member is eligible for [service]
  • -
  • create and submit an application for [service]
  • -
  • continue an application for [service] that you already started
  • -
-

Before you begin

-

The application form should take about 20 minutes to complete.

-

In order to complete the application you will need:

-
    -
  • government issued ID for the person applying
  • -
- - Get started - -

- Other information about the service -

-

- This section contains supplementary details about the service, including descriptions of less common scenarios, exceptions, and additional resources available. It provides context and additional insights that may be relevant to your specific circumstances or interests, helping you understand the full scope and utility of the service offered. -

-

Support

-

For assistance, email us at  help@gov.ab.ca

- `} - />} + + +
+

+ When to use a start page +

+ + When to use a start page + + + A start page is the front door to a government service for a citizen. It is the way + into the service, how they access the service. Each government service has a start + page on Alberta.ca. Contact the relevant person at Alberta.ca to make changes to the + start page for your service. + + + This is the starting point for a citizen to begin your form from within your service + or from Alberta.ca. + + + Provide the user with any information that is important before starting the form such + as how long it should take, list documents or information they may need to complete + the form, if there are any costs involved, or alternative ways to access the service. + +
+
+ form pattern start page image +
+
+

A service's start page should

+
    +
  • + + give the user just enough information to help them understand what the service does + and whether it will meet their need + +
  • +
  • + + a service's name should reflects the problem it solves for users + +
  • +
  • + + be written in plain language — GOA + web writing style guide. + +
  • +
  • + + include a "start button" linking into the service, with text that's consistent with + the action you're asking users to take — for example, "Start now", "Sign in" or + "Register or update your details" + +
  • +
  • + + a service's name should reflects the problem it solves for users + +
  • +
  • + + include any other information that most users are likely to need before they start + using the service online — for example, how much it costs to use the service and + roughly how long it will take + +
  • +
  • + + include additional information about the service such as other ways to access the + service (eg. by telephone or by completing a paper form). This should be included + after the main call to action to start the digital service. + +
  • +
- {version === "new" && - Name of service - -

- A short overview of the service. This is a couple sentences that helps the user understand what the service is. -

-

Use this service to apply for [service]. You can use this service to:

-
    -
  • see of you or a family member is eligible for [service]
  • -
  • create and submit an application for [service]
  • -
  • continue an application for [service] that you already started
  • -
-

Before you begin

-

The application form should take about 20 minutes to complete.

-

In order to complete the application you will need:

-
    -
  • government issued ID for the person applying
  • -
- - Get started - -

- Other information about the service -

-

- This section contains supplementary details about the service, including descriptions of less common scenarios, exceptions, and additional resources available. It provides context and additional insights that may be relevant to your specific circumstances or interests, helping you understand the full scope and utility of the service offered. -

-

Support

-

For assistance, email us at  help@gov.ab.ca

- `} - />} + +
+

+ Page content +

+ + Page content + + + Consider what is the primary information that the user needs to know before entering + into the service. Provide that information to the user clearly, and then provide a + link to start using the service. Provide additional secondary information below the + call to action. + +

Overview

+ + What the user needs to know before they enter into the service. A high level description of what the + service + is and what you can use it to do + -

Name of service

-

- A short overview of the service. This is a couple sentences that helps the user understand - what the service is. -

-

Use this service to apply for [service]. You can use this service to:

-
    -
  • see of you or a family member is eligible for [service]
  • -
  • create and submit an application for [service]
  • -
  • continue an application for [service] that you already started
  • -
+

Before you begin

+
    +
  • + + how long it will take + +
  • +
  • + + what you will need to complete the service + +
  • +
      +
    • + + e.g. specific documents + +
    • +
    +
  • + + other important information + +
  • +
-

Before you begin

-

The application form should take about 20 minutes to complete.

-

- In order to complete the application you will need: -

-
    -
  • government issued ID for the person applying
  • -
- {}}> - Get started - +

Call to action

+ + Below the primary information, include an obvious call to action to get started with the service. + -

Other information about the service

-

- This section contains supplementary details about the service, including descriptions of - less common scenarios, exceptions, and additional resources available. It provides context - and additional insights that may be relevant to your specific circumstances or interests, - helping you understand the full scope and utility of the service offered. -

+

Other information

+ + Below the call to action, include any additional information as applicable such as customer support, + frequently asked questions, or related links. + +
+
+ service page content image +
+
-

Support

-

- For assistance, email us at  help@gov.ab.ca -

-
+ + + ); } diff --git a/src/examples/start-page/StartPageExamples.tsx b/src/examples/start-page/StartPageExamples.tsx new file mode 100644 index 000000000..1f37066de --- /dev/null +++ b/src/examples/start-page/StartPageExamples.tsx @@ -0,0 +1,218 @@ +import { Sandbox } from "@components/sandbox"; +import { + GoabButton +} from "@abgov/react-components"; +import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; +import { useContext } from "react"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; + +export function StartPageExamples() { + const { version } = useContext(LanguageVersionContext); + + return ( + + + + {/*Angular code*/} + + {version === "old" && + Name of service + +

+ A short overview of the service. This is a couple sentences that helps the user understand what the service is. +

+

+ Use this service to apply for [service]. You can use this service to: +

+
    +
  • see of you or a family member is eligible for [service]
  • +
  • create and submit an application for [service]
  • +
  • continue an application for [service] that you already started
  • +
+

Before you begin

+

The application form should take about 20 minutes to complete.

+

In order to complete the application you will need:

+
    +
  • government issued ID for the person applying
  • +
+ + Get started + +

Other information about the service

+

This section contains supplementary details about the service, including descriptions of less common scenarios, exceptions, and additional resources available. It provides context and additional insights that may be relevant to your specific circumstances or interests, helping you understand the full scope and utility of the service offered.

+

Support

+

For assistance, email us at  help@gov.ab.ca

+ `} + />} + + {version === "new" && + Name of service + +

+ A short overview of the service. This is a couple sentences that helps the user understand what the service is. +

+

+ Use this service to apply for [service]. You can use this service to: +

+
    +
  • see of you or a family member is eligible for [service]
  • +
  • create and submit an application for [service]
  • +
  • continue an application for [service] that you already started
  • +
+

Before you begin

+

The application form should take about 20 minutes to complete.

+

In order to complete the application you will need:

+
    +
  • government issued ID for the person applying
  • +
+ + Get started + +

Other information about the service

+

This section contains supplementary details about the service, including descriptions of less common scenarios, exceptions, and additional resources available. It provides context and additional insights that may be relevant to your specific circumstances or interests, helping you understand the full scope and utility of the service offered.

+

Support

+

For assistance, email us at  help@gov.ab.ca

+ `} + />} + + {/*React code*/} + + {version === "old" && + Name of service + +

+ A short overview of the service. This is a couple sentences that helps the user understand what the service is. +

+

Use this service to apply for [service]. You can use this service to:

+
    +
  • see of you or a family member is eligible for [service]
  • +
  • create and submit an application for [service]
  • +
  • continue an application for [service] that you already started
  • +
+

Before you begin

+

The application form should take about 20 minutes to complete.

+

In order to complete the application you will need:

+
    +
  • government issued ID for the person applying
  • +
+ + Get started + +

+ Other information about the service +

+

+ This section contains supplementary details about the service, including descriptions of less common scenarios, exceptions, and additional resources available. It provides context and additional insights that may be relevant to your specific circumstances or interests, helping you understand the full scope and utility of the service offered. +

+

Support

+

For assistance, email us at  help@gov.ab.ca

+ `} + />} + + {version === "new" && + Name of service + +

+ A short overview of the service. This is a couple sentences that helps the user understand what the service is. +

+

Use this service to apply for [service]. You can use this service to:

+
    +
  • see of you or a family member is eligible for [service]
  • +
  • create and submit an application for [service]
  • +
  • continue an application for [service] that you already started
  • +
+

Before you begin

+

The application form should take about 20 minutes to complete.

+

In order to complete the application you will need:

+
    +
  • government issued ID for the person applying
  • +
+ + Get started + +

+ Other information about the service +

+

+ This section contains supplementary details about the service, including descriptions of less common scenarios, exceptions, and additional resources available. It provides context and additional insights that may be relevant to your specific circumstances or interests, helping you understand the full scope and utility of the service offered. +

+

Support

+

For assistance, email us at  help@gov.ab.ca

+ `} + />} + +

Name of service

+

+ A short overview of the service. This is a couple sentences that helps the user understand + what the service is. +

+

Use this service to apply for [service]. You can use this service to:

+
    +
  • see of you or a family member is eligible for [service]
  • +
  • create and submit an application for [service]
  • +
  • continue an application for [service] that you already started
  • +
+ +

Before you begin

+

The application form should take about 20 minutes to complete.

+

+ In order to complete the application you will need: +

+
    +
  • government issued ID for the person applying
  • +
+ { + }}> + Get started + + +

Other information about the service

+

+ This section contains supplementary details about the service, including descriptions of + less common scenarios, exceptions, and additional resources available. It provides context + and additional insights that may be relevant to your specific circumstances or interests, + helping you understand the full scope and utility of the service offered. +

+ +

Support

+

+ For assistance, email us at  help@gov.ab.ca +

+
+ ); +} \ No newline at end of file diff --git a/src/examples/task-list-page.tsx b/src/examples/task-list-page.tsx index 067ec2720..799bec3ee 100644 --- a/src/examples/task-list-page.tsx +++ b/src/examples/task-list-page.tsx @@ -1,120 +1,151 @@ -import { Sandbox } from "@components/sandbox"; -import { GoabBadge, GoabCallout, GoabTable } from "@abgov/react-components"; -import "./task-list-page/task-list-page-example.css"; -import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; +import { + GoabCallout, + GoabTab, + GoabTabs, + GoabText +} from "@abgov/react-components"; +import { ComponentContent } from "@components/component-content/ComponentContent.tsx"; +import css from "@routes/examples/patterns.module.css"; +import { Link } from "react-router-dom"; +import { TaskListPageExamples } from "@examples/task-list-page/TaskListPageExamples.tsx"; export function TaskListPage() { return ( + <> + + + + + - - {/*CSS Code Snippet*/} - -

Apply for a service

-
- - You have completed 1 of 3 sections. - -
+ +
+

+ Overview +

+ task list page overview image +
-

1. Before you start

- - - - - Reads terms of use - - - - - - - +

When to use a task list page

+ + Use a task list page to provide a structure for multiple steps in a service. Show a task list page when a + citizen begins a service, and when they return to the service. + + + When using a task list, group related actions into tasks and show the status of the tasks. + -

2. Prepare application

- - - - - Your contact details - - - - - - - - Your family - - - - - - - - Verify your identity - - - - - - - +

How to define a task

+ + The size and complexity of a task is determined by the service and content. A task can be defined as + small as a single action, such as: “sign a document”, or “upload a file”, or can be as big as an entire + section of a form with multiple question pages and a review page. + + + Use tasks to break down the steps in a service in an understandable way. + -

3. Schedule service

-

- You need to complete the previous section before you can start this task. -

- - - - Receive email confirmation - - - - - - Pay service fee - - - - - - -
+

Show status of tasks

+ + Make it clear which tasks a user has completed and which they still need to complete. + + +
+ show status of tasks image +
+ +

Suggested statuses

+ + Completed (success), In progress (dark grey), Not started (information), Cannot start yet (light grey) + + + Include a summary above the task list to say how many tasks have been completed. This also makes it + clearer to the user that there are still tasks left to complete. + + +
+ + You have completed 0 of 3 sections. + +
+ +

How is a task list different than a stepper?

+
+

Stepper:

+
    +
  • + a visual navigation within a form +
  • +
  • + shown at the top of every page in a form +
  • +
  • + scope: sections of a form +
  • +
+
+
+

Task list:

+
    +
  • + can be used to outline more than just sections of a + form +
  • +
  • + not shown on every page +
  • +
+
+ +

Completing tasks in order

+ + When possible, allow users to complete tasks in any order. This will help them plan + their time and complete sections as and when they can. + + +

Anatomy

+
+ status page anatomy image +
+
    +
  1. + + Page tile: heading-large + +
  2. +
  3. + + Status of completed sections: goa-callout + +
  4. +
  5. + + Section: task-list-section + +
  6. +
  7. + + Section heading: heading-medium + +
  8. +
  9. + + Task: goa-table + +
  10. +
+ +
+
+ ); } diff --git a/src/examples/task-list-page/TaskListPageExamples.tsx b/src/examples/task-list-page/TaskListPageExamples.tsx new file mode 100644 index 000000000..5ddf96497 --- /dev/null +++ b/src/examples/task-list-page/TaskListPageExamples.tsx @@ -0,0 +1,119 @@ +import { Sandbox } from "@components/sandbox"; +import { GoabBadge, GoabCallout, GoabTable } from "@abgov/react-components"; +import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; + +export function TaskListPageExamples() { + return ( + + + {/*CSS Code Snippet*/} + +

Apply for a service

+
+ + You have completed 1 of 3 sections. + +
+ +

1. Before you start

+ + + + + Reads terms of use + + + + + + + + +

2. Prepare application

+ + + + + Your contact details + + + + + + + + Your family + + + + + + + + Verify your identity + + + + + + + + +

3. Schedule service

+

+ You need to complete the previous section before you can start this task. +

+ + + + Receive email confirmation + + + + + + Pay service fee + + + + + + +
+ ); +} \ No newline at end of file diff --git a/src/routes/components/AllComponents.tsx b/src/routes/components/AllComponents.tsx index 9547b2993..0b78b7304 100644 --- a/src/routes/components/AllComponents.tsx +++ b/src/routes/components/AllComponents.tsx @@ -11,11 +11,14 @@ import { GoabBadge, GoabSkeleton } from "@abgov/react-components"; -import { ComponentCard, Props as RawComponentProps, ComponentStatus } from "@components/component-card/ComponentCard"; +import { + ComponentCard, + ComponentCardProps as RawComponentProps, + ComponentStatus +} from "@components/component-card/ComponentCard"; type ComponentProps = Omit & { status: ComponentStatus; - designSystemUrl?: string; designComponentFigmaUrl?: string; designContributionFigmaUrl?: string; openIssuesUrl?: string; @@ -229,7 +232,6 @@ const AllComponents = () => { githubLink={card.openIssuesUrl || `https://github.com/GovAlta/ui-components/issues?q=is%3Aissue+is%3Aopen+label%3A${encodeURIComponent(getLabelQuery(card.name))}`} openIssues={issueCounts[card.name]} isNew={card.isNew} - designSystemUrl={card.designSystemUrl} designComponentFigmaUrl={card.designComponentFigmaUrl} designContributionFigmaUrl={card.designContributionFigmaUrl} imageFolder="component-thumbnails" diff --git a/src/routes/examples/Birthday.tsx b/src/routes/examples/Birthday.tsx deleted file mode 100644 index b2c0e186c..000000000 --- a/src/routes/examples/Birthday.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { AskAUserForABirthday } from "@examples/ask-a-user-for-a-birthday.tsx"; - -export default function BirthdayExample() { - return ( - <> -

Ask a user for their birthday

- - - ); -} diff --git a/src/routes/patterns/ExamplePageTemplate.tsx b/src/routes/examples/ExamplePageTemplate.tsx similarity index 91% rename from src/routes/patterns/ExamplePageTemplate.tsx rename to src/routes/examples/ExamplePageTemplate.tsx index e05cb3887..29cdb8123 100644 --- a/src/routes/patterns/ExamplePageTemplate.tsx +++ b/src/routes/examples/ExamplePageTemplate.tsx @@ -14,7 +14,7 @@ export default function ExamplePageTemplate() { if (!slug) return () =>
Invalid slug
; return lazy(() => import(`../../examples/${slug}.tsx`).catch(() => - import("../patterns/FallbackExample.tsx") + import("@routes/examples/FallbackExample.tsx") ) ); }, [slug]); @@ -32,8 +32,11 @@ export default function ExamplePageTemplate() { }); }, [slug]); return ( -
- +
+
+ + Back @@ -59,6 +62,7 @@ export default function ExamplePageTemplate() { }> +
); } \ No newline at end of file diff --git a/src/routes/examples/ExamplesLayout.tsx b/src/routes/examples/ExamplesLayout.tsx new file mode 100644 index 000000000..e20ca84fb --- /dev/null +++ b/src/routes/examples/ExamplesLayout.tsx @@ -0,0 +1,65 @@ +import { GoabSideMenu, GoabSideMenuGroup, GoabSpacer } from "@abgov/react-components"; +import {Link, Outlet} from "react-router-dom"; +import {SupportInfo} from "@components/support-info/SupportInfo.tsx"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; +import { useContext } from "react"; +import { getVersionedUrlPath } from "@components/version-language-switcher/version-language-constants.ts"; + +export default function ExamplesLayout() { + const {language, version} = useContext(LanguageVersionContext); + getVersionedUrlPath(version, language); + + return ( +
+
+ + + All + + Overview + Start page + Task list page + Question page + Review page + Result page + + {/* + + Approve or reject a submission + Assign a case or task + Check application status + Check eligibility + Filter and refine search results + Generate or download a PDF or certificate + Onboarding for new users or features + Pay a fee or complete payment + Provide feedback or comments + Review, Revise, and Resubmit + Schedule a task or appointment + Search for a record + Update personal information + + + + A + B + C + D + E + + + + + Upgrade to the latest component version + Generate a review page from branch form questions + + */} + +
+
+ + +
+
+ ); +} diff --git a/src/routes/patterns/PatternsOverview.tsx b/src/routes/examples/ExamplesOverview.tsx similarity index 94% rename from src/routes/patterns/PatternsOverview.tsx rename to src/routes/examples/ExamplesOverview.tsx index 8739785b9..1fe5e5677 100644 --- a/src/routes/patterns/PatternsOverview.tsx +++ b/src/routes/examples/ExamplesOverview.tsx @@ -12,11 +12,14 @@ import { GoabBadge, GoabSkeleton } from "@abgov/react-components"; -import { ComponentCard, Props as RawComponentProps, ComponentStatus } from "@components/component-card/ComponentCard"; +import { + ExampleCard, + ExampleCardProps as RawExampleProps, + ComponentStatus +} from "@components/example-card/ExampleCard.tsx"; -type ComponentProps = Omit & { +type ExampleProps = Omit & { status: ComponentStatus; - designSystemUrl?: string; designComponentFigmaUrl?: string; designContributionFigmaUrl?: string; openIssuesUrl?: string; @@ -28,7 +31,7 @@ type ComponentProps = Omit & { export default function PatternsOverviewPage() { const [filter, setFilter] = useState(""); const [issueCounts, setIssueCounts] = useState>({}); - const [cards, setCards] = useState([]); + const [cards, setCards] = useState([]); useEffect(() => { const fetchData = async () => { @@ -79,7 +82,7 @@ export default function PatternsOverviewPage() { statusOrder.indexOf(a.status as ComponentStatus) - statusOrder.indexOf(b.status as ComponentStatus); if (statusComparison !== 0) return statusComparison * newDirection; } - const key = sortBy as keyof ComponentProps; + const key = sortBy as keyof ExampleProps; const aField = (a as any)[key]; const bField = (b as any)[key]; @@ -145,7 +148,7 @@ export default function PatternsOverviewPage() { @@ -240,19 +243,18 @@ export default function PatternsOverviewPage() { } {filteredCards.map((card) => ( - ))}
diff --git a/src/routes/patterns/FallbackExample.tsx b/src/routes/examples/FallbackExample.tsx similarity index 100% rename from src/routes/patterns/FallbackExample.tsx rename to src/routes/examples/FallbackExample.tsx diff --git a/src/routes/patterns/LayoutPage.tsx b/src/routes/examples/LayoutPage.tsx similarity index 100% rename from src/routes/patterns/LayoutPage.tsx rename to src/routes/examples/LayoutPage.tsx diff --git a/src/routes/patterns/patterns.module.css b/src/routes/examples/patterns.module.css similarity index 100% rename from src/routes/patterns/patterns.module.css rename to src/routes/examples/patterns.module.css diff --git a/src/routes/get-started/developers/upgrade-guide/DevelopersUpgrade.tsx b/src/routes/get-started/developers/upgrade-guide/DevelopersUpgrade.tsx index d31e5c395..2f9bac772 100644 --- a/src/routes/get-started/developers/upgrade-guide/DevelopersUpgrade.tsx +++ b/src/routes/get-started/developers/upgrade-guide/DevelopersUpgrade.tsx @@ -2,7 +2,7 @@ import { GoabCallout, GoabContainer } from "@abgov/react-components"; import { GoabText } from "@abgov/react-components"; import "../Developers.css"; import { ComponentContent } from "@components/component-content/ComponentContent"; -import css from "@routes/patterns/patterns.module.css"; +import css from "@routes/examples/patterns.module.css"; import { ReactGuide } from "@routes/get-started/developers/upgrade-guide/ReactGuide.tsx"; import { AngularGuide } from "@routes/get-started/developers/upgrade-guide/AngularGuide.tsx"; import { InlineCode } from "@components/inline-code/InlineCode.tsx"; diff --git a/src/routes/patterns/PatternsLayout.tsx b/src/routes/patterns/PatternsLayout.tsx deleted file mode 100644 index f5f4c7c32..000000000 --- a/src/routes/patterns/PatternsLayout.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import { GoabSideMenu, GoabSideMenuGroup, GoabSpacer } from "@abgov/react-components"; -import {Link, Outlet} from "react-router-dom"; -import {SupportInfo} from "@components/support-info/SupportInfo.tsx"; -import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -import { useContext } from "react"; -import { getVersionedUrlPath } from "@components/version-language-switcher/version-language-constants.ts"; - -export default function PatternsLayout() { - const {language, version} = useContext(LanguageVersionContext); - getVersionedUrlPath(version, language); - - return ( -
-
- - - All - - Start page - Task list page - Question page - Information page - Review page - Results page - - - Task 1 - Task 2 - Task 3 - - - A - B - C - D - E - - - Upgrade to the latest component version - Generate a review page from branch form questions - - - -
-
- - -
-
- ); -} diff --git a/src/routes/patterns/PublicFormPage.tsx b/src/routes/patterns/PublicFormPage.tsx deleted file mode 100644 index 71d849319..000000000 --- a/src/routes/patterns/PublicFormPage.tsx +++ /dev/null @@ -1,184 +0,0 @@ -import { ComponentContent } from "@components/component-content/ComponentContent"; -import { GoabDetails } from "@abgov/react-components"; -import css from "./patterns.module.css"; -import { Link } from "react-router-dom"; - -export default function PublicFormPage() { - return ( - -

Public form

-

- Design forms that help Albertan citizens understand the task, focus on the question and its - answer, and complete the form. -

- -

- Primary users: citizens, public, external -
- You are designing a public service for citizens. It should be designed to be as simple and - intuitive as possible, while ensuring citizens can make complete and informed decisions - for themselves using the service. -
- There is an emphasis on an accessible experience with a low cognitive load for users who - use the service infrequently. -

-
- -

Form structure

-

- Use the public form structure focused on content, and asking the right questions to your user - to keep the interaction as simple as possible. -

- -

Start with one idea per page

-
-

- Split the form across multiple pages with each page containing just one idea, for example: -

-
    -
  • one decision they have to make
  • -
  • one question they have to answer
  • -
  • one piece of information you're telling a user
  • -
-
- -
-

Starting with one thing per page helps users to:

-
    -
  • understand what you're asking them to do
  • -
  • focus on specific questions and its answer
  • -
  • find their way through an unfamiliar process
  • -
  • use the service on a mobile device
  • -
  • recover easily from form errors
  • -
-
- -
-

It also helps the service:

-
    -
  • handle branching questions and loops
  • -
  • design for mobile use
  • -
  • save a user’s answers automatically as they go
  • -
  • capture analytics about each question
  • -
-
- -

Combine questions when helpful

-

- Asking a question doesn’t necessarily mean you should use one form field. For example, - asking a user for their address is best captured all on the same page with multiple fields. -

- -

Accessibility

-
-

- Structuring your form with one idea per page simplifies the experience, and makes your - form more accessible. -

-
    -
  1. - Reduced cognitive load: Presenting only one idea at a time reduces - cognitive load on the user. This is particularly beneficial for users with cognitive - impairments, who might find it difficult to process and respond to multiple questions at - once. -
  2. -
  3. - Improved navigation for a screen reader: This simplified approach - efficiently guides the user through the form based on each answer and makes it easier to - navigate with screen readers or other assistive technology. -
  4. -
  5. - Better error handling: With smaller sets of questions validated at a - time errors can be identified and addressed in context. This makes it less confusing and - less overwhelming for users, particularly those with cognitive impairments and those - using assistive technologies. -
  6. -
  7. - Progressive disclosure: One idea per page allows the user to focus on - the current task and move through more information slowly. This can be especially - beneficial to users who are easily distracted or overwhelmed by too much information. -
  8. -
-
- -

Adding complexity

-

- Start by making sure that the content and questions you are asking the user are as simple as possible. -

- -
-

As the complexity of your form grows, consider:

-
    -
  • adding simple progress indicators to communicate progress
  • -
  • breaking the form into sections on a task list page
  • -
-
- -

Form stepper

-

- Avoid using traditional horizontal form steppers for every form. Research has shown that - horizontal form steppers shown on every page can distract and confuse some users, take up - too much space, and make it hard to handle branching and conditional sections of a form. -

-
-

As the complexity of your form grows, consider:

-
    -
  • adding simple text progress indicators to communicate progress
  • -
  • follow the one idea per page approach, and break the form into sections as needed using a task list page
  • -
-
- -

Pages

-
- public form pages overview image -
- -
-

- 1. Start page -

-

- This is the starting point for a citizen to begin your form from within your service or - from Alberta.ca. -

-
- -
-

- 2. Task list page (optional) -

-

- Outline the entire process for the user and help them through the process by breaking down - an experience into individual tasks. -

-
- -
-

- 3. Question pages -

-

Ask a user a question or a small set of related questions.

-
- -
-

- 4. Review page -

-

Let users check answers before submitting information to a service.

-
- -
-

- 5. Results page -

-

- Let users know that they’ve completed a form, application, or task and tell them what to - do next. -

-
-
- ); -} diff --git a/src/routes/patterns/ResultPage.tsx b/src/routes/patterns/ResultPage.tsx deleted file mode 100644 index b45fc74a1..000000000 --- a/src/routes/patterns/ResultPage.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import { - GoabTab, - GoabTabs -} from "@abgov/react-components"; -import { ComponentContent } from "@components/component-content/ComponentContent"; -import css from "./patterns.module.css"; -import { ResultsPage } from "@examples/results-page.tsx"; - -export default function ResultPage() { - return ( - <> -

Result page

-

- Let users know that they’ve completed a form, application, or task and tell them what to do next. -

- - - - - - - -

Overview

-
- result page overview image -
- -

When to use a results page

-

Use a results page when a user has submitted a form, application, or task, and there is a result to show them.

- -

What content to include

-
    -
  • details of what happens next, and when
  • -
  • a reference number (if applicable)
  • -
  • a link to save a record of the confirmation, for examples as a PDF
  • -
  • link to give feedback
  • -
  • contact details for the service
  • -
  • links to information or services that users are likely to need next
  • -
-
-
-
- - ); -} diff --git a/src/routes/patterns/ReviewPage.tsx b/src/routes/patterns/ReviewPage.tsx deleted file mode 100644 index fdcc256d5..000000000 --- a/src/routes/patterns/ReviewPage.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import { - GoabTab, - GoabTabs -} from "@abgov/react-components"; -import { ComponentContent } from "@components/component-content/ComponentContent"; -import css from "./patterns.module.css"; - -export default function ReviewPage() { - return ( - <> -

Review page

-

Let users check answers before submitting information to a service.

- - - - - - - -
-

- Overview -

- review page overview image -
-

When to use a review page

-
-

Review and submit your answers at the end of a form or section.

-

- When designing a very large transaction with multiple sections, it may help to - include a check answers pages at the end of each section. -

-
- -

Let users go back and change their answers

-

- Provide a "change" link next to each section so that users can add or change the - information they are submitting. -

-

- If you have questions that are optional, let users know that they've skipped it - without giving an answer by showing their response as "Not provided". -

-

- Include the full question name again in the change button as "visually hidden" so that - the screen reader reads out "change [question]" instead of just "change". This gives - context to a user using assistive technologies while keeping the link simple for most - users. -

- -
- let users go back and change their answer example image -
-
-
-
- - ); -} diff --git a/src/routes/patterns/StartPage.tsx b/src/routes/patterns/StartPage.tsx deleted file mode 100644 index 620d32bf0..000000000 --- a/src/routes/patterns/StartPage.tsx +++ /dev/null @@ -1,123 +0,0 @@ -import { - GoabTab, - GoabTabs, -} from "@abgov/react-components"; -import { ComponentContent } from "@components/component-content/ComponentContent"; -import css from "./patterns.module.css"; - -export default function StartPage() { - return ( - <> -

Start page

-

- This is the starting point for a citizen to begin your form from within your service or from - Alberta.ca. -

- - - - - - - -
-

- Overview -

- form pattern start page image -
-

When to use a start page

-

- A start page is the front door to a government service for a citizen. It is the way - into the service, how they access the service. Each government service has a start - page on Alberta.ca. Contact the relevant person at Alberta.ca to make changes to the - start page for your service. -

-

- This is the starting point for a citizen to begin your form from within your service - or from Alberta.ca. -

-

- Provide the user with any information that is important before starting the form such - as how long it should take, list documents or information they may need to complete - the form, if there are any costs involved, or alternative ways to access the service. -

- -

A service's start page should

-
    -
  • - give the user just enough information to help them understand what the service does - and whether it will meet their need -
  • -
  • a service's name should reflects the problem it solves for users
  • -
  • be written in plain language — GOA web writing style guide.
  • -
  • - include a "start button" linking into the service, with text that's consistent with - the action you're asking users to take — for example, "Start now", "Sign in" or - "Register or update your details" -
  • -
  • - If relevant let users resume an application they've already started or update their - details -
  • -
  • - include any other information that most users are likely to need before they start - using the service online — for example, how much it costs to use the service and - roughly how long it will take -
  • -
  • - include additional information about the service such as other ways to access the - service (eg. by telephone or by completing a paper form). This should be included - after the main call to action to start the digital service. -
  • -
- -

Page content

-

- Consider what is the primary information that the user needs to know before entering - into the service. Provide that information to the user clearly, and then provide a - link to start using the service. Provide additional secondary information below the - call to action. -

-
- service page content image -
- -

Overview

-

- What the user needs to know before they enter into the service. A high level description of what the service is and what you can use it to do -

- -

Before you begin

-
    -
  • how long it will take
  • -
  • what you will need to complete the service
  • -
      -
    • e.g. specific documents
    • -
    -
  • other important information
  • -
- -

Call to action

-

- Below the primary information, include an obvious call to action to get started with the service. -

- -

Other information

-

- Below the call to action, include any additional information as applicable such as customer support, frequently asked questions, or related links. -

-
-
-
- - ); -} diff --git a/src/routes/patterns/TaskListPage.tsx b/src/routes/patterns/TaskListPage.tsx deleted file mode 100644 index a6d28ae21..000000000 --- a/src/routes/patterns/TaskListPage.tsx +++ /dev/null @@ -1,121 +0,0 @@ -import { - GoabCallout, - GoabTab, - GoabTabs -} from "@abgov/react-components"; -import { ComponentContent } from "@components/component-content/ComponentContent"; -import css from "./patterns.module.css"; -import { Link } from "react-router-dom"; - -export default function TaskListPage() { - return ( - <> -

Task list page

-

- This is the starting point for a citizen to begin your form from within your service or from - Alberta.ca. -

- - - - - - - -
-

- Overview -

- task list page overview image -
- -

When to use a task list page

-

Use a task list page to provide a structure for multiple steps in a service. Show a task list page when a citizen begins a service, and when they return to the service.

-

When using a task list, group related actions into tasks and show the status of the tasks.

- -

How to define a task

-

The size and complexity of a task is determined by the service and content. A task can be defined as small as a single action, such as: “sign a document”, or “upload a file”, or can be as big as an entire section of a form with multiple question pages and a review page.

-

Use tasks to break down the steps in a service in an understandable way.

- -

Show status of tasks

-

- Make it clear which tasks a user has completed and which they still need to complete. -

- -
- show status of tasks image -
- -

Suggested statuses

-

- Completed (success), In progress (dark grey), Not started (information), Cannot start yet (light grey) -

-

- Include a summary above the task list to say how many tasks have been completed. This also makes it clearer to the user that there are still tasks left to complete. -

- -
- - You have completed 0 of 3 sections. - -
- - -

How is a task list different than a stepper?

-
-

Stepper:

-
    -
  • a visual navigation within a form
  • -
  • shown at the top of every page in a form
  • -
  • scope: sections of a form
  • -
-
-
-

Task list:

-
    -
  • can be used to outline more than just sections of a form
  • -
  • not shown on every page
  • -
-
- -

Completing tasks in order

-

- When possible, allow users to complete tasks in any order. This will help them plan - their time and complete sections as and when they can. -

- -

Anatomy

-
- status page anatomy image -
-
    -
  1. - Page tile: heading-large -
  2. -
  3. - Status of completed sections: goa-callout -
  4. -
  5. - Section: task-list-section -
  6. -
  7. - Section heading: heading-medium -
  8. -
  9. - Task: goa-table -
  10. -
-
-
-
- - ); -} diff --git a/src/routes/root.tsx b/src/routes/root.tsx index dc497535a..a0aa5633d 100644 --- a/src/routes/root.tsx +++ b/src/routes/root.tsx @@ -59,10 +59,10 @@ export default function Root() { Get started + Foundations Examples Components Tokens - Foundations Get support diff --git a/src/utils/index.ts b/src/utils/index.ts index 673f21b9e..1e49e0aea 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -1,4 +1,8 @@ -import { Props as ComponentProps, ComponentStatus, Group } from "@components/component-card/ComponentCard.tsx"; +import { + ComponentCardProps as ComponentProps, + ComponentStatus, + Group +} from "@components/component-card/ComponentCard.tsx"; export function toKebabCase(str: string) { return str diff --git a/src/versioned-router.tsx b/src/versioned-router.tsx index caaecfd01..a1043b1ef 100644 --- a/src/versioned-router.tsx +++ b/src/versioned-router.tsx @@ -44,20 +44,18 @@ import { VERSIONED_ANGULAR_URL_SEGMENT, VERSIONED_REACT_URL_SEGMENT, } from "@components/version-language-switcher/version-language-constants.ts"; -import PatternsLayout from "@routes/patterns/PatternsLayout.tsx"; -import PatternsOverviewPage from "@routes/patterns/PatternsOverview.tsx"; -import LayoutPage from "@routes/patterns/LayoutPage.tsx"; -import StartPage from "@routes/patterns/StartPage.tsx"; -import TaskListPage from "@routes/patterns/TaskListPage.tsx"; -import QuestionPage from "@routes/patterns/QuestionPage.tsx"; -import ReviewPage from "@routes/patterns/ReviewPage.tsx"; -import ResultPage from "@routes/patterns/ResultPage.tsx"; -import PublicFormPage from "@routes/patterns/PublicFormPage.tsx"; +import ExamplesLayout from "@routes/examples/ExamplesLayout.tsx"; +import PatternsOverviewPage from "@routes/examples/ExamplesOverview.tsx"; +import LayoutPage from "@routes/examples/LayoutPage.tsx"; +import TaskListPage from "@examples/task-list-page.tsx"; +import QuestionPage from "@examples/question-page.tsx"; +import ReviewPage from "@examples/review-page.tsx"; +import ResultPage from "@examples/result-page.tsx"; +import PublicForm from "@examples/public-form.tsx"; import FilterChipPage from "@routes/components/FilterChip.tsx"; import TextPage from "@routes/components/Text.tsx"; import { DrawerPage } from "@routes/components/Drawer.tsx"; import LinkPage from "@routes/components/Link.tsx"; -import BirthdayExample from "@routes/examples/Birthday.tsx"; const ComponentRoute: React.FC<{ versionedPaths: Record; @@ -148,20 +146,18 @@ export const ComponentsRouter = () => { export const PatternsRouter = () => { const patternsPaths = { "layout": , - "start-page": , "task-list-page": , "question-page": , "review-page": , "result-page": , - "ask-a-user-for-their-birthday": , }; return ( - } errorElement={}> + } errorElement={}> {/* Non-versioned paths components */} } /> - } /> + } /> } /> {/* Versioned paths components */} } /> From b4cdf9f008fcfbdd72a897dc46f15348af15f53b Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Thu, 29 May 2025 19:58:20 -0600 Subject: [PATCH 17/43] fix to home page content order, footer, and site max width --- src/global-constants.ts | 2 +- src/routes/home.tsx | 12 ++++++------ src/routes/root.tsx | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/global-constants.ts b/src/global-constants.ts index 449ee6cab..6ae486a98 100644 --- a/src/global-constants.ts +++ b/src/global-constants.ts @@ -1,3 +1,3 @@ -export const MAX_CONTENT_WIDTH = "1360px"; +export const MAX_CONTENT_WIDTH = "1440px"; export const DEFAULT_VERSION = "old"; export const DEFAULT_LANGUAGE = "react"; diff --git a/src/routes/home.tsx b/src/routes/home.tsx index 62254f4f2..777be2c42 100644 --- a/src/routes/home.tsx +++ b/src/routes/home.tsx @@ -51,6 +51,12 @@ const HomePage = () => { + { linkTo="/design-tokens" linkDisplay="View tokens" /> - diff --git a/src/routes/root.tsx b/src/routes/root.tsx index a0aa5633d..a4841e057 100644 --- a/src/routes/root.tsx +++ b/src/routes/root.tsx @@ -77,10 +77,10 @@ export default function Root() { Get started + Foundations Examples Components Design tokens - Content Submit an issue From 4fa6f1a6bc88db2bfa065785756469d7d517c2de Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Fri, 30 May 2025 09:17:17 -0600 Subject: [PATCH 18/43] zebra striping on table --- src/routes/components/AllComponents.tsx | 4 ++-- src/routes/examples/ExamplesOverview.tsx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/routes/components/AllComponents.tsx b/src/routes/components/AllComponents.tsx index 0b78b7304..e80d9446a 100644 --- a/src/routes/components/AllComponents.tsx +++ b/src/routes/components/AllComponents.tsx @@ -143,8 +143,8 @@ const AllComponents = () => { - {filteredCards.map((card) => ( - + {filteredCards.map((card, index) => ( + - {filteredCards.map((card) => ( - + {filteredCards.map((card, index) => ( + Date: Fri, 30 May 2025 18:52:33 -0600 Subject: [PATCH 19/43] feat(#2687): notification banners too noisy --- src/App.tsx | 73 +++++++++---------- .../version-language-switcher/HelpButton.tsx | 38 ++++++++++ .../SiteWideNotification.tsx | 23 ++++++ .../VersionLanguageSwitcher.tsx | 7 +- .../VersionUpdateNotification.tsx | 48 ++++++++++++ .../VersionUpdateNotificationContext.tsx | 55 ++++++++++++++ src/contexts/LanguageVersionContext.tsx | 2 +- src/contexts/SiteWideNotificationContext.tsx | 39 ++++++++++ src/routes/components/Components.tsx | 15 +--- src/routes/root.tsx | 49 +++++++------ 10 files changed, 274 insertions(+), 75 deletions(-) create mode 100644 src/components/version-language-switcher/HelpButton.tsx create mode 100644 src/components/version-language-switcher/SiteWideNotification.tsx create mode 100644 src/components/version-language-switcher/VersionUpdateNotification.tsx create mode 100644 src/components/version-language-switcher/VersionUpdateNotificationContext.tsx create mode 100644 src/contexts/SiteWideNotificationContext.tsx diff --git a/src/App.tsx b/src/App.tsx index b360027f3..eba771d81 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -12,12 +12,16 @@ import Root from "@routes/root"; import { DeviceWidthProvider } from "@contexts/DeviceWidthContext"; import "./index.css"; -// Support +import { + VersionUpdateNotificationProvider +} from "@components/version-language-switcher/VersionUpdateNotificationContext"; +import { SiteWideNotificationProvider } from "@contexts/SiteWideNotificationContext"; + +// (Your full route definitions below this remain exactly the same...) import HomePage from "@routes/home"; // Design Tokens - import DesignTokensOverviewPage from "@routes/design-tokens/overview/Overview"; import BorderRadiusPage from "@routes/design-tokens/border-radius/BorderRadius"; import BorderWidthPage from "@routes/design-tokens/border-width/BorderWidth"; @@ -30,7 +34,6 @@ import SpacingPage from "@routes/design-tokens/spacing/Spacing"; import TypographyPage from "@routes/design-tokens/typography/Typography"; // Get Started - import DevelopersOverviewPage from "@routes/get-started/developers/DevelopersOverview"; import DevelopersSetupPage from "@routes/get-started/developers/DevelopersSetup"; import DevelopersTechnologiesPage from "@routes/get-started/developers/DevelopersTechnologies"; @@ -49,18 +52,16 @@ import UxDesignerPage from "@routes/get-started/designers/UxDesigner"; import { LtsPolicyPage } from "@routes/get-started/LtsPolicyPage.tsx"; // Content Pages - -import ContentLayout from "@routes/content/ContentLayout"; -import CapitalizationPage from "@routes/content/Capitalization"; -import DateFormatPage from "@routes/content/DateFormat"; -import ErrorMessagesPage from "@routes/content/ErrorMessages"; -import HelperTextPage from "@routes/content/HelperText"; +import CapitalizationPage from "@routes/content/Capitalization.tsx"; +import DateFormatPage from "@routes/content/DateFormat.tsx"; +import ErrorMessagesPage from "@routes/content/ErrorMessages.tsx"; +import HelperTextPage from "@routes/content/HelperText.tsx"; import UserExperienceGuidelinesPage from "@routes/get-started/UserExperienceGuidelines"; import { VersionFromUrlProvider } from "@contexts/VersionFromUrlContext.tsx"; import { ComponentsRouter, PatternsRouter } from "./versioned-router"; import ComponentNotFound from "@routes/not-found/NotFound.tsx"; -import { LanguageVersionProvider } from "@contexts/LanguageVersionContext.tsx"; +import { LanguageVersionContext, LanguageVersionProvider } from "@contexts/LanguageVersionContext.tsx"; import DevelopersUpgradePage from "@routes/get-started/developers/upgrade-guide/DevelopersUpgrade.tsx"; // Foundations Pages @@ -79,7 +80,7 @@ const router = createBrowserRouter( createRoutesFromElements( }> } /> - }> + } /> } errorElement={}> } /> } /> @@ -94,9 +95,7 @@ const router = createBrowserRouter( }> } /> - - } /> - + } /> } /> } /> @@ -106,25 +105,17 @@ const router = createBrowserRouter( } /> } /> - - } /> - - - } /> - - - } /> - - - } /> - } /> - } /> - + } /> + } /> + } /> + } /> + } /> + } /> } /> } /> - }> + }> } /> } /> } /> @@ -134,17 +125,17 @@ const router = createBrowserRouter( } /> } /> } /> - - - }> - - } /> - + } /> } /> } /> } /> + } /> + } /> + } /> + } /> + }> ) @@ -155,9 +146,17 @@ ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( - + + {({ version }) => ( + + + + + + )} + -); +); \ No newline at end of file diff --git a/src/components/version-language-switcher/HelpButton.tsx b/src/components/version-language-switcher/HelpButton.tsx new file mode 100644 index 000000000..88d888f26 --- /dev/null +++ b/src/components/version-language-switcher/HelpButton.tsx @@ -0,0 +1,38 @@ +import { useContext } from "react"; +import { useLocation } from "react-router-dom"; +import { GoabIconButton, GoabTooltip } from "@abgov/react-components"; + +import { useVersionUpdateNotification } from "@components/version-language-switcher/VersionUpdateNotificationContext"; +import { useSiteWideNotification } from "@contexts/SiteWideNotificationContext"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext"; + +export function HelpButton() { + const { reset: resetVersion } = useVersionUpdateNotification(); + const { reset: resetSiteWideNotification } = useSiteWideNotification(); + useContext(LanguageVersionContext); + const location = useLocation(); + + const handleHelpClick = () => { + const isComponentOrExamplePage = + location.pathname.startsWith("/components") || location.pathname.startsWith("/examples"); + + if (isComponentOrExamplePage) { + resetVersion(); + } else { + resetSiteWideNotification(); + } + }; + + return ( + + + + ); +} \ No newline at end of file diff --git a/src/components/version-language-switcher/SiteWideNotification.tsx b/src/components/version-language-switcher/SiteWideNotification.tsx new file mode 100644 index 000000000..5609808ec --- /dev/null +++ b/src/components/version-language-switcher/SiteWideNotification.tsx @@ -0,0 +1,23 @@ +import { GoabNotification } from "@abgov/react-components"; +import { useLocation } from "react-router-dom"; +import { useSiteWideNotification } from "@contexts/SiteWideNotificationContext"; +import { MAX_CONTENT_WIDTH } from "../../global-constants.ts"; + +export function SiteWideNotification() { + const { isDismissed, dismiss } = useSiteWideNotification(); + const location = useLocation(); + + const isComponentOrExamplePage = + location.pathname.startsWith("/components") || location.pathname.startsWith("/examples"); + + if (isComponentOrExamplePage || isDismissed) return null; + + return ( + + Select your development framework to see all code in your development languages. You can change this in the top + right of the screen. + + ); +} + +export default SiteWideNotification; \ No newline at end of file diff --git a/src/components/version-language-switcher/VersionLanguageSwitcher.tsx b/src/components/version-language-switcher/VersionLanguageSwitcher.tsx index 843b86f3d..1308e8246 100644 --- a/src/components/version-language-switcher/VersionLanguageSwitcher.tsx +++ b/src/components/version-language-switcher/VersionLanguageSwitcher.tsx @@ -1,6 +1,6 @@ import { GoabIcon, - GoabPopover, + GoabPopover, GoabTooltip } from "@abgov/react-components"; import { ANGULAR_VERSIONS, getVersionedUrlPath, Language, LanguageVersion, @@ -103,6 +103,7 @@ export const VersionLanguageSwitcher = () => { return ( <> + openLanguagePopOver(e)}> @@ -118,7 +119,9 @@ export const VersionLanguageSwitcher = () => { } + + openVersionPopOver(e)}> @@ -133,7 +136,7 @@ export const VersionLanguageSwitcher = () => { ))} - + ); } diff --git a/src/components/version-language-switcher/VersionUpdateNotification.tsx b/src/components/version-language-switcher/VersionUpdateNotification.tsx new file mode 100644 index 000000000..a6156a5a6 --- /dev/null +++ b/src/components/version-language-switcher/VersionUpdateNotification.tsx @@ -0,0 +1,48 @@ +import { useEffect } from "react"; +import { GoabNotification } from "@abgov/react-components"; +import { MAX_CONTENT_WIDTH } from "../../global-constants"; +import { useVersionUpdateNotification } from "./VersionUpdateNotificationContext"; +import type { LanguageVersion } from "@components/version-language-switcher/version-language-constants"; + +interface VersionUpdateNotificationProps { + version: LanguageVersion; +} + +export function VersionUpdateNotification({ version }: VersionUpdateNotificationProps) { + const { isDismissed, dismiss, oldLinkRef, newLinkRef } = useVersionUpdateNotification(); + + useEffect(() => { + const el = document.querySelector("goa-notification"); + if (!el) return; + + const handleDismiss = () => dismiss(); + el.addEventListener("_dismiss", handleDismiss as EventListener); + + return () => el.removeEventListener("_dismiss", handleDismiss as EventListener); + }, [dismiss]); + + if (isDismissed) return null; + + return ( + + {version === "old" ? ( + <> + Support for the Long Term Support (LTS) version of the Design system will be available until September + 2025.{" "} + + View the upgrade guide + + + ) : ( + <> + Upgrading to the latest version of the design system?{" "} + + View the upgrade guide + + + )} + + ); +} + +export default VersionUpdateNotification; \ No newline at end of file diff --git a/src/components/version-language-switcher/VersionUpdateNotificationContext.tsx b/src/components/version-language-switcher/VersionUpdateNotificationContext.tsx new file mode 100644 index 000000000..315a68811 --- /dev/null +++ b/src/components/version-language-switcher/VersionUpdateNotificationContext.tsx @@ -0,0 +1,55 @@ +import { createContext, useContext, useEffect, useRef, useState } from "react"; +import type { LanguageVersion } from "@components/version-language-switcher/version-language-constants"; + +interface VersionUpdateNotificationContextType { + isDismissed: boolean; + dismiss: () => void; + reset: () => void; + oldLinkRef: React.RefObject; + newLinkRef: React.RefObject; +} + +const VersionUpdateNotificationContext = createContext(undefined); + +export const VersionUpdateNotificationProvider = ({ + version, + children + }: { + version: LanguageVersion; + children: React.ReactNode; +}) => { + const storageKey = `versionUpdateNotificationDismissed-${version}`; + const [isDismissed, setIsDismissed] = useState(false); + + const oldLinkRef = useRef(null); + const newLinkRef = useRef(null); + + useEffect(() => { + const storedValue = localStorage.getItem(storageKey); + setIsDismissed(storedValue === "true"); + }, [version]); + + const dismiss = () => { + localStorage.setItem(storageKey, "true"); + setIsDismissed(true); + }; + + const reset = () => { + localStorage.removeItem(storageKey); + setIsDismissed(false); + }; + + return ( + + {children} + + ); +}; + +export const useVersionUpdateNotification = () => { + const context = useContext(VersionUpdateNotificationContext); + if (!context) { + throw new Error("useVersionUpdateNotification must be used within VersionUpdateNotificationProvider"); + } + return context; +}; \ No newline at end of file diff --git a/src/contexts/LanguageVersionContext.tsx b/src/contexts/LanguageVersionContext.tsx index 212edbf4f..6efeaf7fc 100644 --- a/src/contexts/LanguageVersionContext.tsx +++ b/src/contexts/LanguageVersionContext.tsx @@ -7,7 +7,7 @@ import { } from "@components/version-language-switcher/version-language-constants.ts"; import { DEFAULT_LANGUAGE, DEFAULT_VERSION } from "../global-constants"; -interface LanguageVersionContextProps { +export interface LanguageVersionContextProps { language: Language; version: LanguageVersion; setLanguage: (lang: Language) => void; diff --git a/src/contexts/SiteWideNotificationContext.tsx b/src/contexts/SiteWideNotificationContext.tsx new file mode 100644 index 000000000..ff6ac6c7e --- /dev/null +++ b/src/contexts/SiteWideNotificationContext.tsx @@ -0,0 +1,39 @@ +import { createContext, useContext, useState } from "react"; + +interface SiteWideNotificationContextType { + isDismissed: boolean; + dismiss: () => void; + reset: () => void; +} + +const SiteWideNotificationContext = createContext(undefined); + +export const SiteWideNotificationProvider = ({ children }: { children: React.ReactNode }) => { + const [isDismissed, setIsDismissed] = useState(() => { + const stored = localStorage.getItem("siteWideDismissed"); + return stored === "true"; + }); + const dismiss = () => { + localStorage.setItem("siteWideDismissed", "true"); + setIsDismissed(true); + }; + + const reset = () => { + localStorage.removeItem("siteWideDismissed"); + setIsDismissed(false); + }; + + return ( + + {children} + + ); +}; + +export const useSiteWideNotification = () => { + const context = useContext(SiteWideNotificationContext); + if (!context) { + throw new Error("useSiteWideNotification must be used within SiteWideNotificationProvider"); + } + return context; +}; \ No newline at end of file diff --git a/src/routes/components/Components.tsx b/src/routes/components/Components.tsx index 7fa5fcc0f..197fe1405 100644 --- a/src/routes/components/Components.tsx +++ b/src/routes/components/Components.tsx @@ -1,7 +1,6 @@ import { GoabBadge, GoabBlock, - GoabNotification, GoabSideMenu, GoabSideMenuGroup, GoabSpacer @@ -11,7 +10,7 @@ import { SupportInfo } from "@components/support-info/SupportInfo.tsx"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { getVersionedUrlPath, ANGULAR_VERSIONS, REACT_VERSIONS } from "@components/version-language-switcher/version-language-constants.ts"; -import { MAX_CONTENT_WIDTH } from "../../global-constants.ts"; + export function Components() { const { language, version } = useContext(LanguageVersionContext); @@ -39,18 +38,6 @@ export function Components() { return ( <> - {version === "old" && ( - - Support for the Long Term Support (LTS) version of the Design system will be available until September - 2025. View the upgrade guide - - )} - {version === "new" && ( - - Upgrading to the latest version of the design system?{" "} - View the upgrade guide - - )}
diff --git a/src/routes/root.tsx b/src/routes/root.tsx index 7102b8d85..fdc7fc4b0 100644 --- a/src/routes/root.tsx +++ b/src/routes/root.tsx @@ -3,20 +3,28 @@ import { GoabAppFooterMetaSection, GoabAppFooterNavSection, GoabAppHeader, - GoabMicrositeHeader, GoabNotification, + GoabMicrositeHeader, GoabOneColumnLayout } from "@abgov/react-components"; import { useEffect, useState } from "react"; -import { Link, Outlet } from "react-router-dom"; -import Cookies from "js-cookie"; +import { Link, Outlet, useLocation } from "react-router-dom"; import "./root.css"; -import { useLocation } from "react-router-dom"; import { MAX_CONTENT_WIDTH, } from "../global-constants.ts"; -import { VersionLanguageSwitcher } from "@components/version-language-switcher/VersionLanguageSwitcher.tsx"; + + +import VersionUpdateNotification from "@components/version-language-switcher/VersionUpdateNotification"; +import { HelpButton } from "@components/version-language-switcher/HelpButton"; +import { + VersionLanguageSwitcher +} from "@components/version-language-switcher/VersionLanguageSwitcher"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext"; +import { useContext } from "react"; +import SiteWideNotification from "@components/version-language-switcher/SiteWideNotification"; + function ScrollToTop() { const { pathname } = useLocation(); @@ -29,7 +37,10 @@ function ScrollToTop() { } export default function Root() { - const isFirstVisit = Cookies.get("hasVisited"); + const { version } = useContext(LanguageVersionContext); + const location = useLocation(); + const showNotification = + location.pathname.startsWith("/components") || location.pathname.startsWith("/examples"); const [visible, setVisibility] = useState(false); @@ -39,12 +50,6 @@ export default function Root() { }, 50); }); - useEffect(() => { - setTimeout(() => { - Cookies.set("hasVisited", "true", {expires: 3650}); // increase the time everytime ppl land on so it won't expire - }, 600); // update later - }, []); - return (
@@ -54,9 +59,14 @@ export default function Root() { type={"live"} feedbackUrl="https://forms.microsoft.com/r/8Zp7zSJS6W" maxContentWidth={MAX_CONTENT_WIDTH} - version={} - /> - + version={ + <> + + + + } /> + Get started Foundations Patterns @@ -65,13 +75,10 @@ export default function Root() { Content Get support -
- - {isFirstVisit == null && - Select your development framework to see all code in your development languages. You can change this in the top right of the screen. - } - + {showNotification && } + +
From e9e1ef7d440beed16ba512521422c86a9c2bbaf9 Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Mon, 2 Jun 2025 12:12:43 -0600 Subject: [PATCH 20/43] chore: content update --- .../version-language-switcher/SiteWideNotification.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/version-language-switcher/SiteWideNotification.tsx b/src/components/version-language-switcher/SiteWideNotification.tsx index 5609808ec..e97172d45 100644 --- a/src/components/version-language-switcher/SiteWideNotification.tsx +++ b/src/components/version-language-switcher/SiteWideNotification.tsx @@ -14,8 +14,8 @@ export function SiteWideNotification() { return ( - Select your development framework to see all code in your development languages. You can change this in the top - right of the screen. + Select your development framework to see all code in your development language. Change framework and version at + the top right of the screen. ); } From aa43d64d991b1a1b297d3e11c107e00a960d42ed Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Mon, 2 Jun 2025 22:45:51 -0600 Subject: [PATCH 21/43] added layout page to examples, skeleton loading for table, additional thumbnail images --- .../add-a-record-using-a-drawer.png | Bin 0 -> 46360 bytes .../add-and-edit-lots-of-filters.png | Bin 0 -> 38824 bytes ...wer-question-with-a-maximum-word-count.png | Bin 0 -> 10975 bytes .../basic-page-layout.tsx} | 31 ++++-------------- 4 files changed, 7 insertions(+), 24 deletions(-) create mode 100644 public/images/example-thumbnails/add-a-record-using-a-drawer.png create mode 100644 public/images/example-thumbnails/add-and-edit-lots-of-filters.png create mode 100644 public/images/example-thumbnails/ask-a-long-answer-question-with-a-maximum-word-count.png rename src/{routes/examples/LayoutPage.tsx => examples/basic-page-layout.tsx} (66%) diff --git a/public/images/example-thumbnails/add-a-record-using-a-drawer.png b/public/images/example-thumbnails/add-a-record-using-a-drawer.png new file mode 100644 index 0000000000000000000000000000000000000000..2f310c12b7b8ef9c0f2682971e449d89e98a98e1 GIT binary patch literal 46360 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 literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/ask-a-long-answer-question-with-a-maximum-word-count.png b/public/images/example-thumbnails/ask-a-long-answer-question-with-a-maximum-word-count.png new file mode 100644 index 0000000000000000000000000000000000000000..8cd5ece8c89354e2cda8f4abef475828b73be18e GIT binary patch literal 10975 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 { return ( -

Layout

-

- A structural template that supports consistency across applications by defining visual grids, spacing, and sections. -

- - -

Basic page layout

@@ -50,16 +41,8 @@ export default function LayoutPage() { -
- - - Design guidelines - - - }> -
); } + +export default BasicPageLayout; From 517664d7719e39a830c293f1a08f6e57b487e85e Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Mon, 2 Jun 2025 22:46:09 -0600 Subject: [PATCH 22/43] v1 for filtering examples --- src/App.tsx | 40 +-- src/routes/components/AllComponents.tsx | 116 ++++++-- src/routes/examples/ExamplesOverview.tsx | 355 ++++++++++++++++++----- src/utils/index.ts | 72 ++++- src/versioned-router.tsx | 4 +- 5 files changed, 452 insertions(+), 135 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index d478dfe66..deb26a604 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -46,27 +46,22 @@ import ReportBugPage from "@routes/get-started/ReportBug"; import RoadmapPage from "@routes/get-started/Roadmap"; import SupportedBrowsersPage from "@routes/get-started/developers/SupportedBrowsers"; import UxDesignerPage from "@routes/get-started/designers/UxDesigner"; +import UserExperienceGuidelinesPage from "@routes/get-started/UserExperienceGuidelines"; import { LtsPolicyPage } from "@routes/get-started/LtsPolicyPage.tsx"; -// Content Pages - -import ContentLayout from "@routes/content/ContentLayout"; -import CapitalizationPage from "@routes/foundations/Capitalization.tsx"; -import DateFormatPage from "@routes/foundations/DateFormat.tsx"; -import ErrorMessagesPage from "@routes/foundations/ErrorMessages.tsx"; -import HelperTextPage from "@routes/foundations/HelperText.tsx"; -import UserExperienceGuidelinesPage from "@routes/get-started/UserExperienceGuidelines"; +// Examples Pages import { VersionFromUrlProvider } from "@contexts/VersionFromUrlContext.tsx"; import { ComponentsRouter } from "./versioned-router"; import ExamplePageTemplate from "@routes/examples/ExamplePageTemplate"; -import PatternsOverviewPage from "@routes/examples/ExamplesOverview.tsx"; import ComponentNotFound from "@routes/not-found/NotFound.tsx"; import { LanguageVersionProvider } from "@contexts/LanguageVersionContext.tsx"; import DevelopersUpgradePage from "@routes/get-started/developers/upgrade-guide/DevelopersUpgrade.tsx"; import ExamplesLayout from "@routes/examples/ExamplesLayout.tsx"; +import ExamplesOverviewPage from "@routes/examples/ExamplesOverview.tsx"; // Foundations Pages + import FoundationsLayout from "@routes/foundations/FoundationsLayout"; import DesignAtGoAPage from "@routes/foundations/DesignAtGoA"; import BrandGuidelinesPage from "@routes/foundations/BrandGuidelines"; @@ -77,12 +72,22 @@ import ImagesPage from "@routes/foundations/Photography"; import LogoPage from "@routes/foundations/Logo"; import FoundationsTypographyPage from "@routes/foundations/Typography"; import FoundationsLayoutPage from "@routes/foundations/Layout"; +import CapitalizationPage from "@routes/foundations/Capitalization.tsx"; +import DateFormatPage from "@routes/foundations/DateFormat.tsx"; +import ErrorMessagesPage from "@routes/foundations/ErrorMessages.tsx"; +import HelperTextPage from "@routes/foundations/HelperText.tsx"; const router = createBrowserRouter( createRoutesFromElements( }> } /> + + // Component Pages + }> + + // Design tokens Pages + } errorElement={}> } /> } /> @@ -95,6 +100,8 @@ const router = createBrowserRouter( } /> + // Get started Pages + }> } /> @@ -127,7 +134,9 @@ const router = createBrowserRouter( } /> - }> + // Foundations Pages + + }> } /> } /> } /> @@ -143,17 +152,10 @@ const router = createBrowserRouter( } /> - }> - - } /> - - } /> - } /> - } /> - + // Examples Pages }> - } /> + } /> } /> diff --git a/src/routes/components/AllComponents.tsx b/src/routes/components/AllComponents.tsx index e80d9446a..fe2577e24 100644 --- a/src/routes/components/AllComponents.tsx +++ b/src/routes/components/AllComponents.tsx @@ -23,6 +23,7 @@ type ComponentProps = Omit & { designContributionFigmaUrl?: string; openIssuesUrl?: string; metatags?: string[]; + groups?: string[]; }; const AllComponents = () => { @@ -135,7 +136,7 @@ const AllComponents = () => { - + Category @@ -143,36 +144,89 @@ const AllComponents = () => { - {filteredCards.map((card, index) => ( - - - - - - {card.status === "Published" ? ( - - {toSentenceCase(card.name)} + {cards.length === 0 ? ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) : ( + filteredCards.map((card, index) => ( + + + + + + {card.status === "Published" ? ( + + {toSentenceCase(card.name)} + + ) : ( + {toSentenceCase(card.name)} + )} + + {card.groups?.[0] || ""} + + + View + {issueCounts[card.name] !== undefined && ` (${issueCounts[card.name]})`} - ) : ( - {toSentenceCase(card.name)} - )} - - {card.tags?.[0] || ""} - - - View - {issueCounts[card.name] !== undefined && ` (${issueCounts[card.name]})`} - - - - ))} + + + )) + )} ); @@ -199,7 +253,7 @@ const AllComponents = () => { - +
& { metatags?: string[]; url?: string; slug?: string; + groups?: string[]; }; -export default function PatternsOverviewPage() { +export default function ExamplesOverviewPage() { const [filter, setFilter] = useState(""); const [issueCounts, setIssueCounts] = useState>({}); const [cards, setCards] = useState([]); + const [showFilters, setShowFilters] = useState(false); + const sizes = ["Interaction", "Task", "Page", "Service"]; + const userGoals = ["Ask a user for...", "Help a user to..."]; + const categories = [ + "Content layout", + "Feedback and alerts", + "Inputs and actions", + "Public form", + "Structure and navigation", + "Technical" + ]; + const [selectedFilters, setSelectedFilters] = useState<{ + size: string[]; + userGoal: string[]; + category: string[]; + }>({ + size: [], + userGoal: [], + category: [] + }); + + function handleCheckboxChange(category: "size" | "userGoal" | "category", value: string, checked: boolean) { + setSelectedFilters((prev) => { + const prevSet = new Set(prev[category]); + if (checked) { + prevSet.add(value); + } else { + prevSet.delete(value); + } + return { ...prev, [category]: Array.from(prevSet) }; + }); + } + + const resetFilters = () => { + setSelectedFilters({ + size: [], + userGoal: [], + category: [] + }); + setFilter(""); + }; + + // Calculate if all or any filters are selected + userGoals.every((p) => selectedFilters.userGoal.includes(p)) && + categories.every((t) => selectedFilters.category.includes(t)); + userGoals.some((p) => selectedFilters.userGoal.includes(p)) || + categories.some((t) => selectedFilters.category.includes(t)); + useEffect(() => { const fetchData = async () => { const metadata = await fetchExampleMetadataFromProject(); @@ -55,20 +105,67 @@ export default function PatternsOverviewPage() { }; fetchData(); }, []); + useEffect(() => { + console.log("Selected filters updated:", selectedFilters); + }, [selectedFilters]); + const [sortDirection, setSortDirection] = useState<{ [key: string]: number }>({ status: -1, name: 1, }); - const filteredCards = cards.filter((card) => { + const filteredCards = (() => { const search = filter.toLowerCase(); - return ( + + const matchesSearch = (card: ExampleProps) => card.name.toLowerCase().includes(search) || card.description.toLowerCase().includes(search) || card.tags?.some((tag) => tag.toLowerCase().includes(search)) || - card.metatags?.some((tag) => tag.toLowerCase().includes(search)) - ); - }); + card.metatags?.some((tag) => tag.toLowerCase().includes(search)); + + const safeIncludes = (tags: string[] | undefined, value: string) => (tags ?? []).includes(value); + + const strictMatch = (card: ExampleProps) => { + const tags = card.tags ?? []; + + const sizeMatch = + selectedFilters.size.length === 0 || + selectedFilters.size.every((sz) => safeIncludes(tags, sz)); + + const userGoalMatch = + selectedFilters.userGoal.length === 0 || + selectedFilters.userGoal.every((goal) => safeIncludes(tags, goal)); + + const categoryMatch = + selectedFilters.category.length === 0 || + selectedFilters.category.every((cat) => safeIncludes(tags, cat)); + + return sizeMatch && userGoalMatch && categoryMatch && matchesSearch(card); + }; + + const looseMatch = (card: ExampleProps) => { + const tags = card.tags ?? []; + + const sizeMatch = + selectedFilters.size.length > 0 && + selectedFilters.size.some((sz) => safeIncludes(tags, sz)); + + const userGoalMatch = + selectedFilters.userGoal.length > 0 && + selectedFilters.userGoal.some((goal) => safeIncludes(tags, goal)); + + const categoryMatch = + selectedFilters.category.length > 0 && + selectedFilters.category.some((cat) => safeIncludes(tags, cat)); + + return (sizeMatch || userGoalMatch || categoryMatch) && matchesSearch(card); + }; + + const strictFiltered = cards.filter(strictMatch); + const looseFiltered = cards.filter((card) => looseMatch(card) && !strictMatch(card)); + + return [...strictFiltered, ...looseFiltered]; + })(); const sortData = (detailOrSortBy: string | { sortBy: string }) => { // If a string is passed, use it directly; otherwise extract the sortBy property @@ -143,56 +240,109 @@ export default function PatternsOverviewPage() { - {filteredCards.map((card, index) => ( - - - - - - {card.status === "Published" ? ( - - {toSentenceCase(card.name)} - - ) : ( - {toSentenceCase(card.name)} - )} - - - {card.tags?.map((tag) => ( + {cards.length === 0 ? ( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) : ( + filteredCards.map((card, index) => ( + + - ))} - - - {card.url ? ( - - View issue - - ) : ( - - View issue - - )} - - - ))} + type={card.status === "Published" ? "success" : card.status === "In Progress" ? "important" : "light"} + content={card.status} /> + + + {card.status === "Published" ? ( + + {toSentenceCase(card.name)} + + ) : ( + {toSentenceCase(card.name)} + )} + + + {card.tags?.map((tag) => ( + + ))} + + + {card.url ? ( + + View issue + + ) : ( + + View issue + + )} + + + )) + )} ); @@ -206,8 +356,7 @@ export default function PatternsOverviewPage() { Common patterns, pages, tasks, component configurations, flows, and more to use as a starting point when creating government digital services. - - + setFilter(value || "")} /> +
+ setShowFilters((prev) => !prev)}> + {showFilters ? "Hide filters" : "Filter"} + +
+ + {showFilters && ( +
+ + {sizes.map((sz) => ( + { + handleCheckboxChange("size", sz, detail.checked); + }} + /> + ))} + + + + {userGoals.map((goal) => ( + { + handleCheckboxChange("userGoal", goal, detail.checked); + }} + /> + ))} + + + + {categories.map((cat) => ( + { + handleCheckboxChange("category", cat, detail.checked); + }} + /> + ))} + +
+ )} - +
- {cards.length === 0 && + {cards.length === 0 ? ( <> @@ -240,23 +440,28 @@ export default function PatternsOverviewPage() { - } - - {filteredCards.map((card) => ( - - ))} + ) : filteredCards.length === 0 ? ( + + No matching examples found.{" "} + Reset filters + + ) : ( + filteredCards.map((card) => ( + + )) + )}
{renderTable()} diff --git a/src/utils/index.ts b/src/utils/index.ts index 1e49e0aea..320e22280 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -50,13 +50,13 @@ async function executeGraphQLQuery(query: string): Promise { } } -function mapItemsToMetadata(items: any[], category: string): ComponentProps[] { +function mapComponentItemsToMetadata(items: any[]): ComponentProps[] { const validStatuses: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; return items .filter((item: any) => item.fieldValues.nodes.some( - (f: any) => f.field?.name === "Category" && f.name === category + (f: any) => f.field?.name === "Category" && f.name === "Components" ) ) .map((item: any) => { @@ -64,10 +64,12 @@ function mapItemsToMetadata(items: any[], category: string): ComponentProps[] { const name = toSentenceCase(title.trim()); const slug = name.toLowerCase().replace(/[^\w\s-]/g, "").replace(/\s+/g, "-"); const body = item.content?.body || ""; - const labels = item.content?.labels?.nodes.map((l: any) => l.name) || []; + const labels = item.content?.labels?.nodes.map((l: any) => toSentenceCase(l.name.trim())) || []; const group = labels.find((l: string) => - ["Content layout", "Inputs and actions", "Feedback and alerts", "Structure and navigation"].includes(l) + ["Content layout", "Inputs and actions", "Feedback and alerts", "Structure and navigation", "Utilities"] + .map(toSentenceCase) + .includes(toSentenceCase(l)) ); const statusField = item.fieldValues.nodes.find((f: any) => f.field?.name === "Status"); @@ -107,7 +109,59 @@ function mapItemsToMetadata(items: any[], category: string): ComponentProps[] { }); } -export async function fetchMetadataFromProject(category: string): Promise { +function mapExampleItemsToMetadata(items: any[]): ComponentProps[] { + const validStatuses: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; + + return items + .filter((item: any) => + item.fieldValues.nodes.some( + (f: any) => f.field?.name === "Category" && f.name === "Examples" + ) + ) + .map((item: any) => { + const title = item.content?.title || ""; + const name = toSentenceCase(title.trim()); + const slug = name.toLowerCase().replace(/[^\w\s-]/g, "").replace(/\s+/g, "-"); + const body = item.content?.body || ""; + const labels = item.content?.labels?.nodes.map((l: any) => toSentenceCase(l.name.trim())) || []; + + const statusField = item.fieldValues.nodes.find((f: any) => f.field?.name === "Status"); + const descriptionField = item.fieldValues.nodes.find((f: any) => f.field?.name === "Description"); + + const rawStatus = statusField?.name; + const status: ComponentStatus = + validStatuses.includes(rawStatus as ComponentStatus) + ? (rawStatus as ComponentStatus) + : "Not Published"; + + const designSystemUrl = item.fieldValues.nodes.find((f: any) => f.field?.name === "Design System website URL")?.text; + const designComponentFigmaUrl = item.fieldValues.nodes.find((f: any) => f.field?.name === "Design component (Figma)")?.text; + const designContributionFigmaUrl = item.fieldValues.nodes.find((f: any) => f.field?.name === "Design contribution file (Figma)")?.text; + const openIssuesUrl = item.fieldValues.nodes.find((f: any) => f.field?.name === "Open issues (Github)")?.text; + + let metatags: string[] = []; + const metatagField = item.fieldValues.nodes.find((f: any) => f.field?.name === "Metatags"); + if (metatagField?.text) { + metatags = metatagField.text.split(",").map((t: string) => t.trim().toLowerCase()); + } + + return { + name, + slug, + tags: labels, + metatags, + description: descriptionField?.text || body, + status, + designSystemUrl, + designComponentFigmaUrl, + designContributionFigmaUrl, + openIssuesUrl, + url: item.content?.url + }; + }); +} + +export async function fetchMetadataFromProject(): Promise { const allItems: any[] = []; let hasNextPage = true; let endCursor = null; @@ -172,15 +226,17 @@ export async function fetchMetadataFromProject(category: string): Promise { - return fetchMetadataFromProject("Components"); + const allItems = await fetchMetadataFromProject(); + return mapComponentItemsToMetadata(allItems); } export async function fetchExampleMetadataFromProject(): Promise { - return fetchMetadataFromProject("Examples"); + const allItems = await fetchMetadataFromProject(); + return mapExampleItemsToMetadata(allItems); } export async function fetchAllIssueCounts(cards: { name: string }[]): Promise> { diff --git a/src/versioned-router.tsx b/src/versioned-router.tsx index a1043b1ef..33274e2d1 100644 --- a/src/versioned-router.tsx +++ b/src/versioned-router.tsx @@ -46,7 +46,7 @@ import { } from "@components/version-language-switcher/version-language-constants.ts"; import ExamplesLayout from "@routes/examples/ExamplesLayout.tsx"; import PatternsOverviewPage from "@routes/examples/ExamplesOverview.tsx"; -import LayoutPage from "@routes/examples/LayoutPage.tsx"; +import BasicPageLayout from "@examples/basic-page-layout.tsx"; import TaskListPage from "@examples/task-list-page.tsx"; import QuestionPage from "@examples/question-page.tsx"; import ReviewPage from "@examples/review-page.tsx"; @@ -145,7 +145,7 @@ export const ComponentsRouter = () => { export const PatternsRouter = () => { const patternsPaths = { - "layout": , + "layout": , "task-list-page": , "question-page": , "review-page": , From ae5926361eb22858b0e7ddd1015c6800937b8eff Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Tue, 3 Jun 2025 15:02:29 -0600 Subject: [PATCH 23/43] cleanup of filter and search to not hit rate limit as quickly, cleanup of content pages, added basic layout to Examples side menu, --- package-lock.json | 15 +- package.json | 3 +- src/routes/components/AllComponents.tsx | 151 +++++++------ src/routes/examples/ExamplesLayout.tsx | 1 + src/routes/examples/ExamplesOverview.tsx | 83 ++++---- src/routes/foundations/Capitalization.tsx | 51 +++-- src/routes/foundations/DateFormat.tsx | 249 ++++++++++++---------- src/routes/foundations/ErrorMessages.tsx | 142 ++++++------ src/routes/foundations/HelperText.tsx | 213 +++++++++++------- src/routes/foundations/content.css | 1 + 10 files changed, 526 insertions(+), 383 deletions(-) diff --git a/package-lock.json b/package-lock.json index 686e09122..f774eaf17 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,8 @@ "octokit": "^4.0.2", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-router-dom": "^6.13.0" + "react-router-dom": "^6.13.0", + "use-debounce": "^10.0.4" }, "devDependencies": { "@types/js-cookie": "^3.0.6", @@ -3991,6 +3992,18 @@ "punycode": "^2.1.0" } }, + "node_modules/use-debounce": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/use-debounce/-/use-debounce-10.0.4.tgz", + "integrity": "sha512-6Cf7Yr7Wk7Kdv77nnJMf6de4HuDE4dTxKij+RqE9rufDsI6zsbjyAxcH5y2ueJCQAnfgKbzXbZHYlkFwmBlWkw==", + "license": "MIT", + "engines": { + "node": ">= 16.0.0" + }, + "peerDependencies": { + "react": "*" + } + }, "node_modules/vite": { "version": "5.4.19", "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.19.tgz", diff --git a/package.json b/package.json index 9387cca3e..3980606aa 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,8 @@ "octokit": "^4.0.2", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-router-dom": "^6.13.0" + "react-router-dom": "^6.13.0", + "use-debounce": "^10.0.4" }, "devDependencies": { "@types/js-cookie": "^3.0.6", diff --git a/src/routes/components/AllComponents.tsx b/src/routes/components/AllComponents.tsx index fe2577e24..13246427e 100644 --- a/src/routes/components/AllComponents.tsx +++ b/src/routes/components/AllComponents.tsx @@ -9,13 +9,14 @@ import { GoabFormItem, GoabInput, GoabBadge, - GoabSkeleton + GoabSkeleton, GoabButton, GoabBlock } from "@abgov/react-components"; import { ComponentCard, ComponentCardProps as RawComponentProps, ComponentStatus } from "@components/component-card/ComponentCard"; +import { useDebounce } from "use-debounce"; type ComponentProps = Omit & { status: ComponentStatus; @@ -26,10 +27,15 @@ type ComponentProps = Omit & { groups?: string[]; }; + const AllComponents = () => { const [filter, setFilter] = useState(""); + const [debouncedFilter] = useDebounce(filter, 300); const [issueCounts, setIssueCounts] = useState>({}); const [cards, setCards] = useState([]); + const resetFilters = () => { + setFilter(""); + }; useEffect(() => { const fetchData = async () => { @@ -43,6 +49,8 @@ const AllComponents = () => { return a.name.localeCompare(b.name); }); setCards(sorted); + const issueCounts = await fetchAllIssueCounts(sorted); + setIssueCounts(issueCounts); }; fetchData(); }, []); @@ -51,28 +59,29 @@ const AllComponents = () => { name: 1, }); - const filteredCards = cards.filter((card) => { - const search = filter.toLowerCase(); - return ( - card.name.toLowerCase().includes(search) || - card.description.toLowerCase().includes(search) || - card.tags?.some((tag) => tag.toLowerCase().includes(search)) || - card.metatags?.some((tag) => tag.toLowerCase().includes(search)) - ); - }); + const filteredCards = (() => { + const search = debouncedFilter.toLowerCase(); + const result = cards.filter((card) => { + return ( + card.name.toLowerCase().includes(search) || + card.description.toLowerCase().includes(search) || + card.tags?.some((tag) => tag.toLowerCase().includes(search)) || + card.metatags?.some((tag) => tag.toLowerCase().includes(search)) + ); + }); - const sortData = (detailOrSortBy: string | { sortBy: string }) => { - // If a string is passed, use it directly; otherwise extract the sortBy property - const sortBy = typeof detailOrSortBy === "string" ? detailOrSortBy : detailOrSortBy.sortBy; - const newDirection = sortDirection[sortBy] === 1 ? -1 : 1; - const sorted = [...cards].sort((a, b) => { + const sortBy = Object.keys(sortDirection)[0]; + const newDirection = sortDirection[sortBy]; + + const sortedFiltered = [...result].sort((a, b) => { if (sortBy === "status") { const statusOrder: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; const statusComparison = statusOrder.indexOf(a.status as ComponentStatus) - statusOrder.indexOf(b.status as ComponentStatus); if (statusComparison !== 0) return statusComparison * newDirection; } + const key = sortBy as keyof ComponentProps; const aField = (a as any)[key]; const bField = (b as any)[key]; @@ -95,7 +104,13 @@ const AllComponents = () => { return 0; }); - setCards(sorted); + return sortedFiltered; + })(); + + const sortData = (detailOrSortBy: string | { sortBy: string }) => { + // If a string is passed, use it directly; otherwise extract the sortBy property + const sortBy = typeof detailOrSortBy === "string" ? detailOrSortBy : detailOrSortBy.sortBy; + const newDirection = sortDirection[sortBy] === 1 ? -1 : 1; setSortDirection({ [sortBy]: newDirection }); }; @@ -105,19 +120,6 @@ const AllComponents = () => { return formatted.includes(" ") ? `"${formatted}"` : formatted; }; - // Helper to format the label query for GraphQL (escaping inner quotes) - useEffect(() => { - if (cards.length === 0) return; - - const loadIssueCounts = async () => { - console.log("cards passed to fetchAllIssueCounts:", cards); - const issueCounts = await fetchAllIssueCounts(cards); - setIssueCounts(issueCounts); - }; - - loadIssueCounts(); - }, [cards]); - const renderTable = () => ( @@ -144,7 +146,7 @@ const AllComponents = () => { - {cards.length === 0 ? ( + {cards.length === 0 && ( <> @@ -195,38 +197,50 @@ const AllComponents = () => { - ) : ( - filteredCards.map((card, index) => ( - - - - - - {card.status === "Published" ? ( - - {toSentenceCase(card.name)} - - ) : ( - {toSentenceCase(card.name)} - )} - - {card.groups?.[0] || ""} - - - View - {issueCounts[card.name] !== undefined && ` (${issueCounts[card.name]})`} - - - - )) )} + + {cards.length > 0 && filteredCards.length === 0 && ( + + +
+ No matching components found. + Reset filters +
+ + + )} + + {filteredCards.map((card, index) => ( + + + + + + {card.status === "Published" ? ( + + {toSentenceCase(card.name)} + + ) : ( + {toSentenceCase(card.name)} + )} + + {card.groups?.[0] || ""} + + + View + {issueCounts[card.name] !== undefined && ` (${issueCounts[card.name]})`} + + + + ))}
); @@ -263,7 +277,7 @@ const AllComponents = () => { }} > - {cards.length === 0 && + {cards.length === 0 && ( <> @@ -274,7 +288,18 @@ const AllComponents = () => { - } + )} + + {cards.length > 0 && filteredCards.length === 0 && ( + + +
+ No matching examples found.{" "} +
+
+ Reset filters +
+ )} {filteredCards.map((card) => ( Review page Result page + Basic layout {/* Approve or reject a submission diff --git a/src/routes/examples/ExamplesOverview.tsx b/src/routes/examples/ExamplesOverview.tsx index e1f258718..f72da9289 100644 --- a/src/routes/examples/ExamplesOverview.tsx +++ b/src/routes/examples/ExamplesOverview.tsx @@ -10,9 +10,10 @@ import { GoabFormItem, GoabInput, GoabBadge, - GoabSkeleton + GoabSkeleton, GoabBlock } from "@abgov/react-components"; import { GoabCheckbox, GoabButton } from "@abgov/react-components"; +import { useDebounce } from "use-debounce"; import { ExampleCard, ExampleCardProps as RawExampleProps, @@ -32,6 +33,7 @@ type ExampleProps = Omit & { export default function ExamplesOverviewPage() { const [filter, setFilter] = useState(""); + const [debouncedFilter] = useDebounce(filter, 300); const [issueCounts, setIssueCounts] = useState>({}); const [cards, setCards] = useState([]); @@ -102,6 +104,9 @@ export default function ExamplesOverviewPage() { return a.name.localeCompare(b.name); }); setCards(sorted); + + const issueCounts = await fetchAllIssueCounts(sorted); + setIssueCounts(issueCounts); }; fetchData(); }, []); @@ -115,7 +120,7 @@ export default function ExamplesOverviewPage() { }); const filteredCards = (() => { - const search = filter.toLowerCase(); + const search = debouncedFilter.toLowerCase(); const matchesSearch = (card: ExampleProps) => card.name.toLowerCase().includes(search) || @@ -164,15 +169,12 @@ export default function ExamplesOverviewPage() { const strictFiltered = cards.filter(strictMatch); const looseFiltered = cards.filter((card) => looseMatch(card) && !strictMatch(card)); - return [...strictFiltered, ...looseFiltered]; - })(); + const result = [...strictFiltered, ...looseFiltered]; - const sortData = (detailOrSortBy: string | { sortBy: string }) => { - // If a string is passed, use it directly; otherwise extract the sortBy property - const sortBy = typeof detailOrSortBy === "string" ? detailOrSortBy : detailOrSortBy.sortBy; + const sortBy = Object.keys(sortDirection)[0]; + const newDirection = sortDirection[sortBy]; - const newDirection = sortDirection[sortBy] === 1 ? -1 : 1; - const sorted = [...cards].sort((a, b) => { + const sortedFiltered = [...result].sort((a, b) => { if (sortBy === "status") { const statusOrder: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; const statusComparison = @@ -183,41 +185,27 @@ export default function ExamplesOverviewPage() { const aField = (a as any)[key]; const bField = (b as any)[key]; - const aValue = - sortBy === "name" - ? a.name.toLowerCase() - : Array.isArray(aField) - ? (aField.length > 0 ? aField[0] : "") - : (aField ?? ""); - const bValue = - sortBy === "name" - ? b.name.toLowerCase() - : Array.isArray(bField) - ? (bField.length > 0 ? bField[0] : "") - : (bField ?? ""); + const aValue = sortBy === "name" + ? a.name.toLowerCase() + : Array.isArray(aField) ? (aField.length > 0 ? aField[0] : "") : (aField ?? ""); + const bValue = sortBy === "name" + ? b.name.toLowerCase() + : Array.isArray(bField) ? (bField.length > 0 ? bField[0] : "") : (bField ?? ""); if (aValue > bValue) return newDirection; if (aValue < bValue) return -newDirection; return 0; }); - setCards(sorted); + return sortedFiltered; + })(); + + const sortData = (detailOrSortBy: string | { sortBy: string }) => { + const sortBy = typeof detailOrSortBy === "string" ? detailOrSortBy : detailOrSortBy.sortBy; + const newDirection = sortDirection[sortBy] === 1 ? -1 : 1; setSortDirection({ [sortBy]: newDirection }); }; -// Helper to format the label query for GraphQL (escaping inner quotes) - useEffect(() => { - if (cards.length === 0) return; - - const loadIssueCounts = async () => { - console.log("cards passed to fetchAllIssueCounts:", cards); - const issueCounts = await fetchAllIssueCounts(cards); - setIssueCounts(issueCounts); - }; - - loadIssueCounts(); - }, [cards]); - const renderTable = () => ( @@ -291,6 +279,17 @@ export default function ExamplesOverviewPage() { + ) : filteredCards.length === 0 ? ( + + + + + No matching examples found.{" "} + + Reset filters + + + ) : ( filteredCards.map((card, index) => ( @@ -373,7 +372,7 @@ export default function ExamplesOverviewPage() {
{showFilters && ( -
+
{sizes.map((sz) => ( ) : filteredCards.length === 0 ? ( - - No matching examples found.{" "} - Reset filters + + + +
+ No matching examples found.{" "} +
+ Reset filters +
+ ) : ( filteredCards.map((card) => ( -

Capitalization

-

Use sentence case for all headings, labels, and content.

+ + + Capitalization + + + Use sentence case for all headings, labels, and content. +

Sentence case

-

+ Sentence case means everything is lowercase except for the first word in a label, phrase, or sentence. Sentence case follows the natural patterns of written language, which makes text easier to scan and comprehend. -

-

+ + Use sentence case in most titles and headings. Only capitalize the first word of a sentence or title. -

+
@@ -56,18 +61,18 @@ export default function CapitalizationPage() {

Title case

-

+ Title case may be used in certain situations including: proper nouns, brands, products, and service names. -

-

+ + A proper noun is the name of a particular person, place, organization, or thing.
eg. “Margaret”, “Calgary”, “Government of Alberta”, or “Community Initiatives Program” -

-

+ + If a title, label, or heading includes a colon or ampersand, capitalize the first word after it. -

+

Capital case

-

+ When displaying information pulled from legacy systems there may be information that must remain in capital case due to limitations with integration. -

-

+ + Use this style only where necessary by the legacy system, since capital case is less readable, less accessible, and has the perception of emphasis. -

-

+ + Example:
Display the following information in sentence case when possible for better readability. -

+ @@ -128,20 +133,20 @@ export default function CapitalizationPage() {

References

-

+ Making a case for letter case - Medium -

-

+ + Why letter casing is important to consider during design decisions - Medium -

+ ); } diff --git a/src/routes/foundations/DateFormat.tsx b/src/routes/foundations/DateFormat.tsx index 3a1c4039d..03623321b 100644 --- a/src/routes/foundations/DateFormat.tsx +++ b/src/routes/foundations/DateFormat.tsx @@ -1,4 +1,4 @@ -import { GoabCallout, GoabContainer, GoabDivider, GoabGrid } from "@abgov/react-components"; +import { GoabCallout, GoabContainer, GoabDivider, GoabGrid, GoabText } from "@abgov/react-components"; import { DoDont } from "@components/do-dont/DoDont.tsx"; import { ComponentContent } from "@components/component-content/ComponentContent.tsx"; @@ -7,34 +7,36 @@ const minGridWidth = "36ch"; export default function DateFormatPage() { return ( -

Date format

-

- Configuration which contains date information that includes the specification of the form - and structure of the date data within the date format in different scenarios. -

+ + Date format + + + Configuration which contains date information that includes the specification of the form and structure of the + date data within the date format in different scenarios. + - +
+ March 14, 2021 +

Conversational and long-form

-

+ When the date is written out in long-form (i.e. narrative, instructions, commentary, information), it is recommended that you use a more conversational and more natural “readable” tone. -

+ - +
-

+ This presents the date in a conventional “speaking” way and aligns with the Canadian Style Guide 5.14 Dates. -

+
-
March 14, 2021
-
+ + March 14, 2021 +
-
March 14
-
March 14th
+ + March 14 + + + March 14th +
-
March 14th, 2021
+ + March 14th, 2021 +
-
MARCH 14TH, 2021
+ + MARCH 14TH, 2021 +
-
March 12, 21
+ + March 12, 21 +
@@ -79,17 +92,18 @@ export default function DateFormatPage() {

Short-hand

-

+ When space is limited (e.g., example forms, tables, summary pages, mobile) it may be necessary to have a more condensed date displayed. -

-

The format remains the same, but a three-letter abbreviation for the month may be used.

-

+ + The format remains the same, but a three-letter abbreviation for the month + may be used. + Examples:
Jul 14, 2022
Nov 6, 2024 -

-

+ + Three-letter month abbreviations:
@@ -109,38 +123,50 @@ export default function DateFormatPage() {
Dec
-

+
- + + + -
Mar 14, 2021
+ + Mar 14, 2021 +
-
- - -
Mar 12, 21
+ + Mar 12, 21 +
-
Mar. 12, 2021
+ + Mar. 12, 2021 +
-
MAR 12, 21
+ + MAR 12, 21 +
-
Mar 07, 21
-
+ + Mar 07, 21 +
-
03/07/21
-
07/03/2021
+ + 03/07/21 + + + 07/03/2021 +
@@ -148,17 +174,19 @@ export default function DateFormatPage() {

Day of the week

-

+ Days of the week can be included. It helps to bring clarity and comprehension of the date. The format described above is extended, with the day of the week appearing first, followed by a comma, then the date expression. -

-

+ + Either long-form or short-form may be used, but not mixed.

Day, Month date, Year (e.g., Friday, March 14, 2021)
- Examples: + + Examples: + @@ -169,7 +197,9 @@ export default function DateFormatPage() {
Tuesday, July 14, 2022Wed, November 6, 2024
- Three-letter day abbreviations + + Three-letter day abbreviations + @@ -181,81 +211,97 @@ export default function DateFormatPage() {
MonSun
-

+
-
Monday, March 14, 2021
-
Mon, Mar 14, 2021
+ + Monday, March 14, 2021 + + + Mon, Mar 14, 2021 +
-
Monday, Mar 12, 2021
-
Mon, March 12, 2021
+ + Monday, Mar 12, 2021 + + + Mon, March 12, 2021 +
-
Mon, Mar 12, 2021
+ + Mon, Mar 12, 2021 +
-
Monday March 12, 2021
+ + Monday March 12, 2021 +
-
- -

+ Avoid using day of the week in tabular, form, summary, or other concise displays, as it would crowd the already limited space with unnecessary information. -

-

Time

-

+ When displaying time, the Government of Alberta prefers to use the 12-hour clock format. -

-

+ + Both also prefer “am” and “pm” be written with a space after the time, without the periods as per the Canadian Style Guide. -

-

+ + Examples:
8:00 am
11:45 pm{" "} -

-

+ + When the time is written with a date, the date comes first and the time follows, after “at”. -

-

+ + Day, Month date, Year at XX:XX am/pm -

-

(e.g., Friday, March 14, 2021 at 2:26 pm)

+ + (e.g., Friday, March 14, 2021 at 2:26 pm)
-
Monday, March 14, 2021 at 3:30 pm
+ + Monday, March 14, 2021 at 3:30 pm +
-
08:15 am
+ + 08:15 am +
-
4:43 p.m.
+ + 4:43 p.m. +
-
7:55 am on Saturday, May 15, 2021
+ + 7:55 am on Saturday, May 15, 2021 +
@@ -263,17 +309,17 @@ export default function DateFormatPage() {

Time zones

-

+ When needed, the time zone can be written after the time in long-form or short-form. The long-form is always in parenthesis and the short-form is always a capitalized three-letter abbreviation. -

-

+ + Examples:
8:00 am (Eastern standard time)
11:45 pm PDT -

-

+ + Canadian time zones
Pacific standard / daylight time
@@ -282,9 +328,9 @@ export default function DateFormatPage() { Eastern standard / daylight time
Atlantic standard / daylight time
Newfoundland standard / daylight time
-

+ -

+ Three letter abbreviations @@ -304,39 +350,18 @@ export default function DateFormatPage() {
NDT
-

-

+ + Standard and Daylight time -

-

+ + In the regions of Canada where daylight saving time is used, it begins on the second Sunday of March at 2 a.m. and ends on the first Sunday in November at 2 a.m. As a result, daylight saving time lasts for 34 weeks (238 days) every year, or about 65 percent of the entire year. -

+
- - -
-
Jan
-
Feb
-
Mar
-
Apr
-
May
-
Jun
-
Jul
-
Aug
-
Sep
-
Oct
-
Nov
-
Dec
-
-
-
- - - -
4:43pm (MST)
+ + 4:43pm (MST) +
- + From April to October Alberta participates in daylight saving time.
@@ -366,14 +391,14 @@ export default function DateFormatPage() {

Accessibility and Screen readers

-

+ Using a npm module (accessible-date), we are able to ensure that dates displayed are readable and accessible for screen readers:
https://github.com/MikesBarto/accessible-date -

+ Consider the following html
@@ -396,7 +421,7 @@ export default function DateFormatPage() {
- + The date time variables entered into the module for producing “readable” and “conversational” need to be rendered in the ISO 8601 format. diff --git a/src/routes/foundations/ErrorMessages.tsx b/src/routes/foundations/ErrorMessages.tsx index d64ec706c..ec2755f9a 100644 --- a/src/routes/foundations/ErrorMessages.tsx +++ b/src/routes/foundations/ErrorMessages.tsx @@ -7,6 +7,7 @@ import { GoabInput, GoabRadioGroup, GoabRadioItem, + GoabText } from "@abgov/react-components"; import { Link } from "react-router-dom"; import { ComponentContent } from "@components/component-content/ComponentContent.tsx"; @@ -17,16 +18,19 @@ export default function ErrorMessagesPage() { const noop = () => { }; return ( -

Error messages

-

Error messages appear when the user’s proposed action fails.

+ + Error messages + + + Error messages appear when the user’s proposed action fails. + @@ -34,20 +38,18 @@ export default function ErrorMessagesPage() { - + error="Choose how you would like to be contacted"> + - + @@ -56,7 +58,7 @@ export default function ErrorMessagesPage() { + error="Confirm that the contact information is correct">

Anatomy

-

+ When a user inputs an unexpected value in the input field, an error message will appear below the field followed by a 16 pixels error icon. Both the icon and the error text are in red. The input field frame is displayed in red. -

-

Helper text

-

+ + Helper text + When helper text and error message are both shown, the error message always appears above the helper text. -

+
@@ -91,7 +93,7 @@ export default function ErrorMessagesPage() {
-

Border

+ Border
@@ -105,7 +107,7 @@ export default function ErrorMessagesPage() {
-

Button/upload area

+ Button/upload area
@@ -134,38 +136,38 @@ export default function ErrorMessagesPage() {

Language and tone

-

Be clear and concise

-

+ Be clear and concise + Communicate errors with a brief, clear, positive and solution-oriented approach. Be direct and natural. -

-

Be specific

-

+ + Be specific + Be specific about required information and what users should do to recover from the error. -

-

Provide a solution

-

+ + Provide a solution + Always provide a solution to the user through clear instruction. When applicable, provide an example. -

-

Be empathetic

-

+ + Be empathetic + Speak in a humanized tone to be empathetic to the user. Let the user know that you understand their frustration. -

+

Common error message templates

-

+ Follow the templates and examples below for common errors to create an error message that fits your context. -

+

Input is empty

-

This error appears when user leaves a required field blank.

+ This error appears when user leaves a required field blank.
@@ -175,7 +177,7 @@ export default function ErrorMessagesPage() {
- + @@ -200,14 +202,14 @@ export default function ErrorMessagesPage() {

Incorrect information format

-

+ This error appears when the user fails to input valid/correct information such as entering an invalid postal code or phone number. -

-

+ + To keep messages clear and concise, provide the solution to the user and include an example of a valid entry. -

+
@@ -217,7 +219,7 @@ export default function ErrorMessagesPage() {
- +
Enter a valid postal code, @@ -246,13 +248,13 @@ export default function ErrorMessagesPage() {

Error with a date input

-

+ This error appears when the user fails to input a valid/correct date. Date range/duration information should be provided in the error message. -

-

+ + View more information on date formatting. -

+
@@ -262,7 +264,7 @@ export default function ErrorMessagesPage() {
- +
The student must be 16 years old or older to be eligible for funding. @@ -290,7 +292,8 @@ export default function ErrorMessagesPage() {

Error within a value range

-

This error appears when user fails to input a valid/correct amount.

+ This error appears when user fails to input a valid/correct + amount.
@@ -300,7 +303,7 @@ export default function ErrorMessagesPage() {
- +
Books and Materials cost must be lower than $4,000.
@@ -309,16 +312,18 @@ export default function ErrorMessagesPage() {
+
+

Input outside accepted values

- +
- +
PID must be between 10 and 15 digits.
@@ -331,14 +336,14 @@ export default function ErrorMessagesPage() {

Upload errors

-

+ When there is an error with the requested file, error message appears below the file upload button or area. -

-

+ + View more information on file upload. -

-

+ + File upload errors can appear when a user does any of the following:

  • Wrong file format uploaded.
  • @@ -347,18 +352,18 @@ export default function ErrorMessagesPage() {
  • Duplicate file is uploaded.
  • Required file is missing.
-

+

Wrong file type

- +
- +
The selected file must be a PDF, JPG, PNG, or TIFF.
@@ -373,14 +378,14 @@ export default function ErrorMessagesPage() {

File too large

- +
- +
The selected file must be less than 5MB.
@@ -394,14 +399,14 @@ export default function ErrorMessagesPage() {

File upload failed

- +
- + @@ -419,14 +424,14 @@ export default function ErrorMessagesPage() {

Duplicate file uploaded

- +
- + @@ -444,14 +449,14 @@ export default function ErrorMessagesPage() {

No file selected

- +
- +
Upload a work permit.
@@ -464,10 +469,10 @@ export default function ErrorMessagesPage() {

Invalid characters used

-

+ This error appears when user inputs invalid characters. To keep messages clear and concise, provide a guided solution. -

+
@@ -494,7 +499,8 @@ export default function ErrorMessagesPage() {
-

When the accepted characters are known, include an example in the error message.

+ When the accepted characters are known, include an example in the error + message.
@@ -503,7 +509,7 @@ export default function ErrorMessagesPage() {
- +
Alberta Bar ID must include numbers only, such as “12345.” @@ -519,7 +525,7 @@ export default function ErrorMessagesPage() {

Incorrect number of characters

- +
diff --git a/src/routes/foundations/HelperText.tsx b/src/routes/foundations/HelperText.tsx index 9da2e7de2..62fd5c909 100644 --- a/src/routes/foundations/HelperText.tsx +++ b/src/routes/foundations/HelperText.tsx @@ -7,6 +7,7 @@ import { GoabGrid, GoabInput, GoabTable, + GoabText } from "@abgov/react-components"; import { DoDont } from "@components/do-dont/DoDont.tsx"; import { Link } from "react-router-dom"; @@ -17,20 +18,25 @@ const minGridWidth = "36ch"; export default function HelperTextPage() { return ( -

Helper text

-

- Helper text is additional context and guidance that is always visible below an input. The + + + Helper text + + + Additional context and guidance that is always visible below an input. The text instructs a user on what needs to be completed to move to the next question in the form or process. -

- Helper text is available within: - + + + + Helper text is available within: + Text Input,{" "} Radio, Dropdown,{" "} Checkbox, Button - -

- + + +

Considerations

-

Consider the following ways to convey more information:

+ Consider the following ways to convey more information: @@ -170,36 +176,48 @@ export default function HelperTextPage() { -

View a pattern and guide on how to show more information.

+ View a pattern and guide on how to show more information.

Anatomy

-

Helper text can be used with any input.

+ Helper text can be used with any input.
    -
  1. Input label + optional / required
  2. -
  3. Text Input
  4. -
  5. Helper Text
  6. +
  7. + Input label + optional / required +
  8. +
  9. + Text Input +
  10. +
  11. + Helper Text +
-

Examples of helper text within different inputs

+ Examples of helper text within different inputs
    -
  1. Input label + optional / required
  2. -
  3. Input control(s)
  4. -
  5. Helper Text
  6. +
  7. + Input label + optional / required +
  8. +
  9. + Input control(s) +
  10. +
  11. + Helper Text +

Language and Tone

-

Keep it concise

-

+ Keep it concise + Helper text should be short and to the point. Avoid long paragraphs or complicated explanations. -

-

Use plain language

-

+ + Use plain language + Write in a language that is easy to understand for your target audience. Avoid technical jargon or complex terms.
@@ -208,31 +226,34 @@ export default function HelperTextPage() { target="_blank"> Web writing style guide - Plain language -

-

Provide examples

-

+ + Provide examples + Examples can help clarify the type of input you are looking for. For example: if you are asking for a phone number, provide an example of the format you are expecting. -

-

Be specific

-

Use specific language to describe what type of information you are looking for.

-

Use specific language to describe what type of information you are looking for.

-

+ + Be specific + Use specific language to describe what type of information you are looking + for. + Use specific language to describe what type of information you are + looking for. + Write numbers using digits E.g. “342” except when the number starts the sentence or is the number ‘one’. -
+
+ Web writing style guide – Numbers and measurements -

+

Usage

-

+ Helper text generally falls into 3 different categories. Examine the patterns and examples below to use helper text properly. -

+ Disclosure Instructional @@ -240,24 +261,36 @@ export default function HelperTextPage() {

Disclosure – Why are we asking this question

-

+ Disclosive helper text helps a user understand the data, task or system associated with the input. It can be used to provide context or to explain what is expected from the user and can help users understand what information they need to provide and why it is needed. -

-

- Examples of disclosive helper text: + + + Examples of disclosure helper text:

    -
  • Your full name is used for verification
  • -
  • Emails will be sent in your language of choice
  • -
  • This will be viewable to clients
  • -
  • Providing optional info helps us assist you better
  • -
  • This address will receive your printed certificate
  • -
  • Your birthdate is used to verify your eligibility
  • +
  • + Your full name is used for verification +
  • +
  • + Emails will be sent in your language of choice +
  • +
  • + This will be viewable to clients +
  • +
  • + Providing optional info helps us assist you better +
  • +
  • + This address will receive your printed certificate +
  • +
  • + Your birthdate is used to verify your eligibility +
-

+
- + @@ -289,26 +322,43 @@ export default function HelperTextPage() {

Instructional – Directions for how to use the input

-

+ Instructional helper text is used to provide instructions on how to interact with a particular input field or control. It can be used to explain how to use a particular feature, what actions are possible, or what the result of a certain action will be. -

-

+ + Examples of instructional helper text:

    -
  • Search by staff name or certification number
  • -
  • Select an existing project or create a new project name
  • -
  • Use arrow keys to choose from options
  • -
  • Type in your search terms to see results
  • -
  • Select a file to upload for verification
  • -
  • Select a date from the calendar for scheduling
  • -
  • Drag and drop files to upload for review
  • -
  • Select an option from the dropdown menu to filter results
  • +
  • + Search by staff name or certification number +
  • +
  • + Select an existing project or create a new project name +
  • +
  • + Use arrow keys to choose from options +
  • +
  • + Type in your search terms to see results +
  • +
  • + Select a file to upload for verification +
  • +
  • + Select a date from the calendar for scheduling +
  • +
  • + Drag and drop files to upload for review +
  • +
  • + Select an option from the dropdown menu to filter + results +
-

+
- + @@ -336,22 +386,33 @@ export default function HelperTextPage() {

Restrictive – Rules and requirements that the input needs to meet

-

+ Restrictive helper text indicates limitations or requirements that must be met when filling out a form or using a control. It can be used to communicate restrictions on input format, length, or content. Restrictive helper text can help users avoid errors and ensure that their input meets the required criteria. -

-

+ + Examples of restrictive helper text:

    -
  • Must be 8 or more characters with one uppercase letter and one number
  • -
  • Must be 5MB or smaller
  • -
  • Choose a date within the last six months
  • -
  • Password must contain 1 uppercase letter and 1 number
  • -
  • File size limit: 5MB
  • +
  • + Must be 8 or more characters with one uppercase letter and one + number +
  • +
  • + Must be 5MB or smaller +
  • +
  • + Choose a date within the last six months +
  • +
  • + Password must contain 1 uppercase letter and 1 number +
  • +
  • + File size limit: 5MB +
-

+
@@ -382,10 +443,10 @@ export default function HelperTextPage() {

Formatting

-

+ Helper text should be a short succinct statement, sentence case, with no period or punctuation. -

+

Accessibility

-

+ For screen reader accessibility, consider using the aria-describedby attribute as helper text for the input control. This allows screen readers to provide additional context that would be present for a sighted user. -

+

References

-

+ W3C - Using the aria-describedby property to provide a descriptive label for ui controls @@ -419,7 +480,7 @@ export default function HelperTextPage() { Aria described by Introduction to Accessibility -

+ ); } diff --git a/src/routes/foundations/content.css b/src/routes/foundations/content.css index d9a3fa891..a8df17fe6 100644 --- a/src/routes/foundations/content.css +++ b/src/routes/foundations/content.css @@ -6,6 +6,7 @@ p { font: var(--goa-typography-body-l); text-align: center; min-height: 28px; + display: flex; } .month-container { From 7ee080b5422e6c2fee673641386c0a5f9d857154 Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Tue, 3 Jun 2025 16:31:45 -0600 Subject: [PATCH 24/43] Trigger Netlify rebuild From 0e84cbfcdd080f7085e0a20c253c59346c75432a Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Mon, 9 Jun 2025 09:56:27 -0600 Subject: [PATCH 25/43] update from feedback --- src/App.tsx | 13 +++++++------ .../version-language-switcher/HelpButton.tsx | 2 +- .../VersionLanguageSwitcher.tsx | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index eba771d81..e39a53993 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -17,8 +17,6 @@ import { } from "@components/version-language-switcher/VersionUpdateNotificationContext"; import { SiteWideNotificationProvider } from "@contexts/SiteWideNotificationContext"; -// (Your full route definitions below this remain exactly the same...) - import HomePage from "@routes/home"; // Design Tokens @@ -52,6 +50,7 @@ import UxDesignerPage from "@routes/get-started/designers/UxDesigner"; import { LtsPolicyPage } from "@routes/get-started/LtsPolicyPage.tsx"; // Content Pages +import ContentLayout from "@routes/content/ContentLayout"; import CapitalizationPage from "@routes/content/Capitalization.tsx"; import DateFormatPage from "@routes/content/DateFormat.tsx"; import ErrorMessagesPage from "@routes/content/ErrorMessages.tsx"; @@ -131,10 +130,12 @@ const router = createBrowserRouter( } /> - } /> - } /> - } /> - } /> + }> + } /> + } /> + } /> + } /> + }> diff --git a/src/components/version-language-switcher/HelpButton.tsx b/src/components/version-language-switcher/HelpButton.tsx index 88d888f26..60eb0424a 100644 --- a/src/components/version-language-switcher/HelpButton.tsx +++ b/src/components/version-language-switcher/HelpButton.tsx @@ -24,7 +24,7 @@ export function HelpButton() { }; return ( - + { return ( <> - + openLanguagePopOver(e)}> From 2d2c3949a732f5292a874011e931b0ae73a8720d Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Mon, 9 Jun 2025 10:36:29 -0600 Subject: [PATCH 26/43] update from feedback --- src/routes/content/ErrorMessages.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/routes/content/ErrorMessages.tsx b/src/routes/content/ErrorMessages.tsx index 4d3ddd312..3a46c7525 100644 --- a/src/routes/content/ErrorMessages.tsx +++ b/src/routes/content/ErrorMessages.tsx @@ -46,8 +46,7 @@ export default function ErrorMessagesPage() { From 305184a71f9c68f994cab9bb122556d0ea99e7d6 Mon Sep 17 00:00:00 2001 From: syedszeeshan <47701214+syedszeeshan@users.noreply.github.com> Date: Mon, 16 Jun 2025 12:24:27 -0400 Subject: [PATCH 27/43] fix(#2341): docs microsite header prop fix camel case --- src/routes/components/MicrositeHeader.tsx | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/routes/components/MicrositeHeader.tsx b/src/routes/components/MicrositeHeader.tsx index bb8583fd1..3d664cdee 100644 --- a/src/routes/components/MicrositeHeader.tsx +++ b/src/routes/components/MicrositeHeader.tsx @@ -18,7 +18,8 @@ import { GoabServiceLevel } from "@abgov/ui-components-common"; import { DesignEmpty } from "@components/empty-states/design-empty/DesignEmpty.tsx"; import { AccessibilityEmpty } from "@components/empty-states/accessibility-empty/AccessibilityEmpty.tsx"; -const FIGMA_LINK = "https://www.figma.com/design/3pb2IK8s2QUqWieH79KdN7/%E2%9D%96-Component-library-%7C-DDD?node-id=2-81"; +const FIGMA_LINK = + "https://www.figma.com/design/3pb2IK8s2QUqWieH79KdN7/%E2%9D%96-Component-library-%7C-DDD?node-id=2-81"; const componentName = "Microsite header"; const description = @@ -158,7 +159,7 @@ export default function MicrositeHeaderPage() { "Set to true to handle the feedback click via _feedbackClick custom event handler.", }, { - name: "_feedbackclick", + name: "_feedbackClick", lang: "angular", type: "CustomEvent", description: "Function invoked when feedback link is clicked.", @@ -235,14 +236,18 @@ export default function MicrositeHeaderPage() { /> - -

Playground

+

+ Playground +

- +
- } - > + }> From 91ee30858298fb170da8a00c8c85a97f609787a5 Mon Sep 17 00:00:00 2001 From: syedszeeshan <47701214+syedszeeshan@users.noreply.github.com> Date: Mon, 16 Jun 2025 19:59:10 -0400 Subject: [PATCH 28/43] fix(#2714): docs popover examples --- src/examples/popover/ButtonClosePopover.tsx | 94 ++++++++++++++ .../popover/IconButtonClosePopover.tsx | 91 ++++++++++++++ src/examples/popover/LinkClosePopover.tsx | 87 +++++++++++++ src/examples/popover/PopoverExamples.tsx | 24 ++++ src/routes/components/Popover.tsx | 119 ++++++++++-------- 5 files changed, 364 insertions(+), 51 deletions(-) create mode 100644 src/examples/popover/ButtonClosePopover.tsx create mode 100644 src/examples/popover/IconButtonClosePopover.tsx create mode 100644 src/examples/popover/LinkClosePopover.tsx create mode 100644 src/examples/popover/PopoverExamples.tsx diff --git a/src/examples/popover/ButtonClosePopover.tsx b/src/examples/popover/ButtonClosePopover.tsx new file mode 100644 index 000000000..8fa94ebbe --- /dev/null +++ b/src/examples/popover/ButtonClosePopover.tsx @@ -0,0 +1,94 @@ +import { Sandbox } from "@components/sandbox"; +import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; +import { GoabBlock, GoabButton, GoabPopover } from "@abgov/react-components"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; +import { useContext } from "react"; + +export const ButtonClosePopover = () => { + const { version } = useContext(LanguageVersionContext); + + const popoverTargetWithClose = ( + + Click to open + + ); + + return ( + + {/* React Code Snippets */} + {version === "new" && ( + + Click to open + + ); + `} + /> + )} + + {version === "new" && ( + +

This popover has a close button inside

+

Click the button below to close this popover.

+ + Close Popover + +
+ `} + /> + )} + + {/* Angular Code Snippets */} + {version === "new" && ( + +

This popover has a close button inside

+

Click the button below to close this popover.

+ + Close Popover + + + + + Click to open + + + + `} + /> + )} + + {/* Sandbox Example */} + + +

This popover has a close button inside

+

Click the button below to close this popover.

+ + Close Popover + +
+
+ + ); +}; diff --git a/src/examples/popover/IconButtonClosePopover.tsx b/src/examples/popover/IconButtonClosePopover.tsx new file mode 100644 index 000000000..d5c210ab0 --- /dev/null +++ b/src/examples/popover/IconButtonClosePopover.tsx @@ -0,0 +1,91 @@ +import { Sandbox } from "@components/sandbox"; +import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; +import { GoabBlock, GoabButton, GoabIconButton, GoabPopover } from "@abgov/react-components"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; +import { useContext } from "react"; + +export const IconButtonClosePopover = () => { + const { version } = useContext(LanguageVersionContext); + + const popoverTargetWithClose = ( + + Click to open + + ); + + return ( + + {/* React Code Snippets */} + {version === "new" && ( + + Click to open + + ); + `} + /> + )} + + {version === "new" && ( + +

This popover has a close icon button inside

+

Click the icon button below to close this popover.

+ + + `} + /> + )} + + {/* Angular Code Snippets */} + {version === "new" && ( + +

This popover has a close icon button inside

+

Click the icon button below to close this popover.

+ + + + + + Click to open (with close icon button) + + + + `} + /> + )} + + {/* Sandbox Example */} + + + +

This popover has a close icon button inside

+

Click the icon button above to close this popover.

+
+
+
+ ); +}; diff --git a/src/examples/popover/LinkClosePopover.tsx b/src/examples/popover/LinkClosePopover.tsx new file mode 100644 index 000000000..49d247aab --- /dev/null +++ b/src/examples/popover/LinkClosePopover.tsx @@ -0,0 +1,87 @@ +import { Sandbox } from "@components/sandbox"; +import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; +import { GoabBlock, GoabButton, GoabLink, GoabPopover } from "@abgov/react-components"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; +import { useContext } from "react"; + +export const LinkClosePopover = () => { + const { version } = useContext(LanguageVersionContext); + + const popoverTargetWithClose = ( + + Click to open + + ); + + return ( + + {/* React Code Snippets */} + {version === "new" && ( + + Click to open + + ); + `} + /> + )} + + {version === "new" && ( + +

This popover has a close link inside

+

Click the link below to close this popover.

+ + Close Popover + + + `} + /> + )} + + {/* Angular Code Snippets */} + {version === "new" && ( + +

This popover has a close link inside

+

Click the link below to close this popover.

+ + Close Popover + + + + + Click to open + + + + `} + /> + )} + + {/* Sandbox Example */} + + +

This popover has a close link inside

+

Click the link below to close this popover.

+ + Close Popover + +
+
+
+ ); +}; diff --git a/src/examples/popover/PopoverExamples.tsx b/src/examples/popover/PopoverExamples.tsx new file mode 100644 index 000000000..4e4882496 --- /dev/null +++ b/src/examples/popover/PopoverExamples.tsx @@ -0,0 +1,24 @@ +import { ButtonClosePopover } from "@examples/popover/ButtonClosePopover"; +import { LinkClosePopover } from "@examples/popover/LinkClosePopover"; +import { IconButtonClosePopover } from "@examples/popover/IconButtonClosePopover"; +import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; + +export const PopoverExamples = () => { + return ( + <> + {/*Popover Example - close using a button*/} + + + + {/*Popover example - close using a link*/} + + + + {/*Popover example - close using an icon-button*/} + + + + ); +}; diff --git a/src/routes/components/Popover.tsx b/src/routes/components/Popover.tsx index f2e254328..33c5f6b9f 100644 --- a/src/routes/components/Popover.tsx +++ b/src/routes/components/Popover.tsx @@ -12,17 +12,20 @@ import { ComponentContent } from "@components/component-content/ComponentContent import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { LegacyMarginProperty, - LegacyTestIdProperties, MarginProperty, - TestIdProperty + LegacyTestIdProperties, + MarginProperty, + TestIdProperty, } from "@components/component-properties/common-properties.ts"; import { DesignEmpty } from "@components/empty-states/design-empty/DesignEmpty.tsx"; import { AccessibilityEmpty } from "@components/empty-states/accessibility-empty/AccessibilityEmpty.tsx"; -import { ExamplesEmpty } from "@components/empty-states/examples-empty/ExamplesEmpty.tsx"; +//import { ExamplesEmpty } from "@components/empty-states/examples-empty/ExamplesEmpty.tsx"; +import { PopoverExamples } from "@examples/popover/PopoverExamples"; -const FIGMA_LINK = "https://www.figma.com/design/3pb2IK8s2QUqWieH79KdN7/%E2%9D%96-Component-library-%7C-DDD?node-id=27301-302109"; +const FIGMA_LINK = + "https://www.figma.com/design/3pb2IK8s2QUqWieH79KdN7/%E2%9D%96-Component-library-%7C-DDD?node-id=27301-302109"; export default function PopoverPage() { - const {version} = useContext(LanguageVersionContext); + const { version } = useContext(LanguageVersionContext); const [popoverProps, setPopoverProps] = useState({}); const [popoverBindings, setPopoverBindings] = useState([ { @@ -119,7 +122,7 @@ export default function PopoverPage() { name: "maxWidth", type: "string", description: "Sets the maximum width of the popover container.", - defaultValue: "320px" + defaultValue: "320px", }, { name: "minWidth", @@ -183,18 +186,20 @@ export default function PopoverPage() { /> - -

Playground

+

+ Playground +

{/*Must be skipRender because Sandbox doesn't support slot target*/} {/*Angular*/} - {version === "old" &&

This is a popover

It can be used for a number of different contexts. @@ -203,13 +208,15 @@ export default function PopoverPage() {
`} - />} + /> + )} - {version === "new" &&

This is a popover

It can be used for a number of different contexts. @@ -218,58 +225,67 @@ export default function PopoverPage() { `} - />} + /> + )} {/*React*/} - {version === "old" && Click me ); `} - />} + /> + )} - {version === "new" && Click me ); `} - />} + /> + )} - {version === "old" &&

This is a popover

It can be used for a number of different contexts. `} - />} + /> + )} - {version === "new" &&

This is a popover

It can be used for a number of different contexts. `} - />} + /> + )} Click me - } - > + }>

This is a popover

It can be used for a number of different contexts.
- + Examples - + - } - > - + }> + From 0e2a74814035ce04ad4a50429d2cd8463189ae30 Mon Sep 17 00:00:00 2001 From: syedszeeshan <47701214+syedszeeshan@users.noreply.github.com> Date: Tue, 24 Jun 2025 12:57:20 -0400 Subject: [PATCH 29/43] fix(#2714): docs popover examples --- .../popover/IconButtonClosePopover.tsx | 36 +++++++++++-------- src/examples/popover/PopoverExamples.tsx | 16 +++++++-- 2 files changed, 34 insertions(+), 18 deletions(-) diff --git a/src/examples/popover/IconButtonClosePopover.tsx b/src/examples/popover/IconButtonClosePopover.tsx index d5c210ab0..4d75a6053 100644 --- a/src/examples/popover/IconButtonClosePopover.tsx +++ b/src/examples/popover/IconButtonClosePopover.tsx @@ -38,14 +38,16 @@ export const IconButtonClosePopover = () => { allowCopy={true} code={` + + +

This popover has a close icon button inside

-

Click the icon button below to close this popover.

- +

Click the icon button above to close this popover.

`} /> @@ -59,14 +61,16 @@ export const IconButtonClosePopover = () => { allowCopy={true} code={` + + + +

This popover has a close icon button inside

-

Click the icon button below to close this popover.

- - +

Click the icon button above to close this popover.

@@ -81,7 +85,9 @@ export const IconButtonClosePopover = () => { {/* Sandbox Example */} - + + +

This popover has a close icon button inside

Click the icon button above to close this popover.

diff --git a/src/examples/popover/PopoverExamples.tsx b/src/examples/popover/PopoverExamples.tsx index 4e4882496..719e77319 100644 --- a/src/examples/popover/PopoverExamples.tsx +++ b/src/examples/popover/PopoverExamples.tsx @@ -2,23 +2,33 @@ import { ButtonClosePopover } from "@examples/popover/ButtonClosePopover"; import { LinkClosePopover } from "@examples/popover/LinkClosePopover"; import { IconButtonClosePopover } from "@examples/popover/IconButtonClosePopover"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; +import { GoabSpacer } from "@abgov/react-components"; +import { OldComponentBanner } from "@components/old-component-banner/OldComponentBanner.tsx"; +import { useContext } from "react"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; export const PopoverExamples = () => { + const { version, language } = useContext(LanguageVersionContext); return ( <> {/*Popover Example - close using a button*/} - + {/*Popover example - close using a link*/} - + {/*Popover example - close using an icon-button*/} + + + {version === "old" && ( + + )} ); }; From 0c04ee65b5e214025b5d97e838482190db39d876 Mon Sep 17 00:00:00 2001 From: Mark E <51723535+Spark450@users.noreply.github.com> Date: Fri, 27 Jun 2025 14:47:54 -0700 Subject: [PATCH 30/43] chore: Adding callout to reference version update recordings --- .../upgrade-guide/DevelopersUpgrade.tsx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/routes/get-started/developers/upgrade-guide/DevelopersUpgrade.tsx b/src/routes/get-started/developers/upgrade-guide/DevelopersUpgrade.tsx index d31e5c395..c2c00c93b 100644 --- a/src/routes/get-started/developers/upgrade-guide/DevelopersUpgrade.tsx +++ b/src/routes/get-started/developers/upgrade-guide/DevelopersUpgrade.tsx @@ -70,7 +70,26 @@ export default function DevelopersUpgradePage() {
+ + See a real government service go through a version update in this short, three-part video series: +
    +
  1. + Updating versions – two ways to install the latest packages +
  2. +
  3. + Renaming components – update old names to new names +
  4. +
  5. + Updating component props – adjust component properties and clean up warnings +
  6. +
+

+ + View the upgrade videos + +

+
From 120da84376e5e6f8f7dab9af7f33c9964dd14f16 Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Mon, 7 Jul 2025 11:37:23 -0600 Subject: [PATCH 31/43] Refactor to include local caching --- src/utils/index.ts | 173 ++++++++++++++++++++++++++------------------- 1 file changed, 101 insertions(+), 72 deletions(-) diff --git a/src/utils/index.ts b/src/utils/index.ts index 320e22280..b69661f9a 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -4,19 +4,43 @@ import { Group } from "@components/component-card/ComponentCard.tsx"; +type IssueGroup = "Components" | "Examples"; + export function toKebabCase(str: string) { return str - .replace(/\s+/g, '-') // Replace spaces with - - .replace(/_/g, '-') // Replace underscores with - - .replace(/([a-z])([A-Z])/g, '$1-$2') // Convert camelCase to kebab-case - .toLowerCase(); // Convert to lowercase + .replace(/\s+/g, "-") // Replace spaces with - + .replace(/_/g, "-") // Replace underscores with - + .replace(/([a-z])([A-Z])/g, "$1-$2") // Convert camelCase to kebab-case + .toLowerCase(); // Convert to lowercase } export const toSentenceCase = (str: string) => { return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase(); }; -async function executeGraphQLQuery(query: string): Promise { +// Cache management functions from Benji's approach +function setCache(name: string, data: any) { + try { + window.localStorage.setItem(`github-${name}`, JSON.stringify(data)); + } catch (error) { + console.warn(`Failed to cache ${name}:`, error); + } +} + +function getCache(name: string): any | null { + try { + const cachedData = window.localStorage.getItem(`github-${name}`); + if (cachedData) { + return JSON.parse(cachedData); + } + } catch (error) { + console.warn(`Failed to parse cache for ${name}:`, error); + } + return null; +} + +// Enhanced GraphQL execution with caching +async function executeGraphQLQuery(cacheName: string, query: string): Promise { const token = import.meta.env.VITE_GITHUB_TOKEN || import.meta.env.VITE_GITHUB_TOKEN_ALTERNATE; @@ -26,6 +50,13 @@ async function executeGraphQLQuery(query: string): Promise { return null; } + // Check cache first + const cachedData = getCache(cacheName); + if (cachedData) { + console.log(`Using cached data for ${cacheName}`); + return cachedData; + } + try { const response = await fetch("https://api.github.com/graphql", { method: "POST", @@ -43,6 +74,8 @@ async function executeGraphQLQuery(query: string): Promise { return null; } + // Cache the successful result + setCache(cacheName, result.data); return result.data; } catch (error) { console.error("Error executing GraphQL query:", error); @@ -50,13 +83,14 @@ async function executeGraphQLQuery(query: string): Promise { } } -function mapComponentItemsToMetadata(items: any[]): ComponentProps[] { +// Unified mapping function (Benji's consolidation approach) +function mapItemsToMetadata(items: any[], group: IssueGroup): ComponentProps[] { const validStatuses: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; return items .filter((item: any) => item.fieldValues.nodes.some( - (f: any) => f.field?.name === "Category" && f.name === "Components" + (f: any) => f.field?.name === "Category" && f.name === group ) ) .map((item: any) => { @@ -66,64 +100,12 @@ function mapComponentItemsToMetadata(items: any[]): ComponentProps[] { const body = item.content?.body || ""; const labels = item.content?.labels?.nodes.map((l: any) => toSentenceCase(l.name.trim())) || []; - const group = labels.find((l: string) => + // Only apply groups for Components, not Examples + const componentGroup = group === "Components" ? labels.find((l: string) => ["Content layout", "Inputs and actions", "Feedback and alerts", "Structure and navigation", "Utilities"] .map(toSentenceCase) .includes(toSentenceCase(l)) - ); - - const statusField = item.fieldValues.nodes.find((f: any) => f.field?.name === "Status"); - const descriptionField = item.fieldValues.nodes.find((f: any) => f.field?.name === "Description"); - - const rawStatus = statusField?.name; - const status: ComponentStatus = - validStatuses.includes(rawStatus as ComponentStatus) - ? (rawStatus as ComponentStatus) - : "Not Published"; - - const designSystemUrl = item.fieldValues.nodes.find((f: any) => f.field?.name === "Design System website URL")?.text; - const designComponentFigmaUrl = item.fieldValues.nodes.find((f: any) => f.field?.name === "Design component (Figma)")?.text; - const designContributionFigmaUrl = item.fieldValues.nodes.find((f: any) => f.field?.name === "Design contribution file (Figma)")?.text; - const openIssuesUrl = item.fieldValues.nodes.find((f: any) => f.field?.name === "Open issues (Github)")?.text; - - let metatags: string[] = []; - const metatagField = item.fieldValues.nodes.find((f: any) => f.field?.name === "Metatags"); - if (metatagField?.text) { - metatags = metatagField.text.split(",").map((t: string) => t.trim().toLowerCase()); - } - - return { - name, - slug, - groups: group ? [group as Group] : [], - tags: labels.filter((l: string) => l !== group), - metatags, - description: descriptionField?.text || body, - status, - designSystemUrl, - designComponentFigmaUrl, - designContributionFigmaUrl, - openIssuesUrl, - url: item.content?.url - }; - }); -} - -function mapExampleItemsToMetadata(items: any[]): ComponentProps[] { - const validStatuses: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; - - return items - .filter((item: any) => - item.fieldValues.nodes.some( - (f: any) => f.field?.name === "Category" && f.name === "Examples" - ) - ) - .map((item: any) => { - const title = item.content?.title || ""; - const name = toSentenceCase(title.trim()); - const slug = name.toLowerCase().replace(/[^\w\s-]/g, "").replace(/\s+/g, "-"); - const body = item.content?.body || ""; - const labels = item.content?.labels?.nodes.map((l: any) => toSentenceCase(l.name.trim())) || []; + ) : undefined; const statusField = item.fieldValues.nodes.find((f: any) => f.field?.name === "Status"); const descriptionField = item.fieldValues.nodes.find((f: any) => f.field?.name === "Description"); @@ -148,7 +130,8 @@ function mapExampleItemsToMetadata(items: any[]): ComponentProps[] { return { name, slug, - tags: labels, + groups: componentGroup ? [componentGroup as Group] : [], + tags: labels.filter((l: string) => l !== componentGroup), metatags, description: descriptionField?.text || body, status, @@ -161,12 +144,16 @@ function mapExampleItemsToMetadata(items: any[]): ComponentProps[] { }); } -export async function fetchMetadataFromProject(): Promise { +// Core data fetching with caching +export async function fetchMetadataFromProject(): Promise { const allItems: any[] = []; let hasNextPage = true; let endCursor = null; + let pageNumber = 0; while (hasNextPage) { + const cacheName = `project-items-page-${pageNumber}`; + const query = ` query { node(id: "PVT_kwDOBQjO6M4A1oga") { @@ -216,7 +203,7 @@ export async function fetchMetadataFromProject(): Promise { } `; - const result = await executeGraphQLQuery(query); + const result = await executeGraphQLQuery(cacheName, query); if (!result) return []; const pageItems = result.node.items.nodes; @@ -224,22 +211,42 @@ export async function fetchMetadataFromProject(): Promise { hasNextPage = result.node.items.pageInfo.hasNextPage; endCursor = result.node.items.pageInfo.endCursor; + pageNumber++; } return allItems; } -export async function fetchComponentMetadataFromProject(): Promise { +// Benji's unified approach +export async function fetchItemsFromProject(group: IssueGroup): Promise { const allItems = await fetchMetadataFromProject(); - return mapComponentItemsToMetadata(allItems); + return mapItemsToMetadata(allItems, group); +} + +// Your original specific functions (maintained for backwards compatibility) +export async function fetchComponentMetadataFromProject(): Promise { + return fetchItemsFromProject("Components"); } export async function fetchExampleMetadataFromProject(): Promise { - const allItems = await fetchMetadataFromProject(); - return mapExampleItemsToMetadata(allItems); + return fetchItemsFromProject("Examples"); } +// Issue count fetching with caching export async function fetchAllIssueCounts(cards: { name: string }[]): Promise> { + const cacheName = "all-issue-counts"; + + // Check if we have cached counts for all cards + const cachedCounts = getCache(cacheName); + if (cachedCounts) { + const hasAllCards = cards.every(card => card.name in cachedCounts); + if (hasAllCards) { + console.log("Using cached issue counts"); + return cachedCounts; + } + } + + // Fetch fresh data const results = await Promise.all(cards.map(async (card) => { const label = toSentenceCase(card.name.replace(/-/g, " ")); const labelQuery = label.includes(" ") ? `\\\"${label}\\\"` : label; @@ -252,16 +259,23 @@ export async function fetchAllIssueCounts(cards: { name: string }[]): Promise ({ ...acc, ...curr }), {}); + const allCounts = results.reduce((acc, curr) => ({ ...acc, ...curr }), {}); + + // Cache the combined results + setCache(cacheName, allCounts); + + return allCounts; } export async function fetchIssueCount(label: string): Promise { + const cacheName = `single-issue-count-${label}`; + const labelQuery = label.includes(" ") ? `\\\"${label}\\\"` : label; const query = ` @@ -272,8 +286,23 @@ export async function fetchIssueCount(label: string): Promise { } `; - const result = await executeGraphQLQuery(query); + const result = await executeGraphQLQuery(cacheName, query); if (!result) return null; return result.issues.issueCount; +} + +// Utility function to clear cache (useful for development/debugging) +export function clearCache(): void { + try { + const keys = Object.keys(localStorage); + keys.forEach(key => { + if (key.startsWith("github-")) { + localStorage.removeItem(key); + } + }); + console.log("GitHub cache cleared"); + } catch (error) { + console.warn("Failed to clear cache:", error); + } } \ No newline at end of file From d36f5d24be883973ac21029cc5ed5c61b9514344 Mon Sep 17 00:00:00 2001 From: Benji Franck Date: Mon, 7 Jul 2025 14:34:43 -0600 Subject: [PATCH 32/43] Add a 24 hour expiration for cache --- src/utils/index.ts | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/src/utils/index.ts b/src/utils/index.ts index b69661f9a..7cb69419f 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -18,23 +18,33 @@ export const toSentenceCase = (str: string) => { return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase(); }; -// Cache management functions from Benji's approach -function setCache(name: string, data: any) { - try { - window.localStorage.setItem(`github-${name}`, JSON.stringify(data)); - } catch (error) { - console.warn(`Failed to cache ${name}:`, error); - } +// Set cache with expiration (in ms) +function setCache(name: string, data: any, ttlMs: number = 1000 * 60 * 60 * 24) { // default: 24 hours + const record = { + data, + expiry: Date.now() + ttlMs, + }; + window.localStorage.setItem(`goa-github-${name}`, JSON.stringify(record)); } +// Get cache and check expiration function getCache(name: string): any | null { - try { - const cachedData = window.localStorage.getItem(`github-${name}`); - if (cachedData) { - return JSON.parse(cachedData); + const cachedData = window.localStorage.getItem(`goa-github-${name}`); + if (cachedData) { + try { + const record = JSON.parse(cachedData); + if (record.expiry && Date.now() < record.expiry) { + return record.data; + } else { + // Expired, remove from cache + window.localStorage.removeItem(`goa-github-${name}`); + return null; + } + } catch { + // If parsing fails, treat as no cache + window.localStorage.removeItem(`goa-github-${name}`); + return null; } - } catch (error) { - console.warn(`Failed to parse cache for ${name}:`, error); } return null; } From 1e3f6c32f1fd45b0b7b1f849a4fbf9732fe6a387 Mon Sep 17 00:00:00 2001 From: Benji Franck Date: Mon, 7 Jul 2025 14:52:55 -0600 Subject: [PATCH 33/43] Fix issue with outdated type --- src/examples/set-the-status-of-step-on-a-form-stepper.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/examples/set-the-status-of-step-on-a-form-stepper.tsx b/src/examples/set-the-status-of-step-on-a-form-stepper.tsx index 760f7a5ba..8e79134e1 100644 --- a/src/examples/set-the-status-of-step-on-a-form-stepper.tsx +++ b/src/examples/set-the-status-of-step-on-a-form-stepper.tsx @@ -15,7 +15,7 @@ import { GoabFormStepStatus } from "@abgov/ui-components-common"; export const SetTheStatusOfStepOnAFormStepper = () => { const { version } = useContext(LanguageVersionContext); const [statusStep, setStatusStep] = useState(-1); - const status: GoabFormStepStatus[] = ["complete", "incomplete", "unstarted"]; + const status: GoabFormStepStatus[] = ["complete", "incomplete", "not-started"]; function setStatusPage(page: number) { if (page < 1 || page > 4) return; From f8b78cd41f85ca07b302e2d067e5ff7183ceea8d Mon Sep 17 00:00:00 2001 From: Benji Franck Date: Tue, 8 Jul 2025 09:47:15 -0600 Subject: [PATCH 34/43] Remove console logs --- src/components/component-card/ComponentCard.tsx | 1 - src/components/example-card/ExampleCard.tsx | 1 - src/routes/components/AllComponents.tsx | 1 - src/routes/examples/ExamplesOverview.tsx | 2 -- src/utils/index.ts | 3 --- 5 files changed, 8 deletions(-) diff --git a/src/components/component-card/ComponentCard.tsx b/src/components/component-card/ComponentCard.tsx index c17c68b25..b649f7508 100644 --- a/src/components/component-card/ComponentCard.tsx +++ b/src/components/component-card/ComponentCard.tsx @@ -40,7 +40,6 @@ function isRelativeUrl(url?: string): boolean { } export function ComponentCard(props: ComponentCardProps) { - console.log("Rendering card for:", props.name); const folder = props.imageFolder ?? "components"; const [imageUrl, setImageUrl] = useState(`/images/${folder}/${dasherize(props.name)}.png`); diff --git a/src/components/example-card/ExampleCard.tsx b/src/components/example-card/ExampleCard.tsx index baebd2223..332b678e4 100644 --- a/src/components/example-card/ExampleCard.tsx +++ b/src/components/example-card/ExampleCard.tsx @@ -40,7 +40,6 @@ export interface ExampleCardProps { } export function ExampleCard(props: ExampleCardProps) { - console.log("Rendering example card for:", props.name); const folder = props.imageFolder ?? "example-thumbnails"; const [imageUrl, setImageUrl] = useState(`/images/${folder}/${dasherize(props.name)}.png`); diff --git a/src/routes/components/AllComponents.tsx b/src/routes/components/AllComponents.tsx index 13246427e..210f6f3b7 100644 --- a/src/routes/components/AllComponents.tsx +++ b/src/routes/components/AllComponents.tsx @@ -40,7 +40,6 @@ const AllComponents = () => { useEffect(() => { const fetchData = async () => { const metadata = await fetchComponentMetadataFromProject(); - console.log("Fetched metadata from GitHub:", metadata); const sorted = metadata.sort((a, b) => { const statusOrder: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; const statusComparison = diff --git a/src/routes/examples/ExamplesOverview.tsx b/src/routes/examples/ExamplesOverview.tsx index f72da9289..417c8ae05 100644 --- a/src/routes/examples/ExamplesOverview.tsx +++ b/src/routes/examples/ExamplesOverview.tsx @@ -88,7 +88,6 @@ export default function ExamplesOverviewPage() { useEffect(() => { const fetchData = async () => { const metadata = await fetchExampleMetadataFromProject(); - console.log("Fetched metadata from GitHub:", metadata); const withSlugs = metadata.map((item) => ({ ...item, slug: item.name @@ -111,7 +110,6 @@ export default function ExamplesOverviewPage() { fetchData(); }, []); useEffect(() => { - console.log("Selected filters updated:", selectedFilters); }, [selectedFilters]); const [sortDirection, setSortDirection] = useState<{ [key: string]: number }>({ diff --git a/src/utils/index.ts b/src/utils/index.ts index 7cb69419f..37dd589fc 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -63,7 +63,6 @@ async function executeGraphQLQuery(cacheName: string, query: string): Promise card.name in cachedCounts); if (hasAllCards) { - console.log("Using cached issue counts"); return cachedCounts; } } @@ -311,7 +309,6 @@ export function clearCache(): void { localStorage.removeItem(key); } }); - console.log("GitHub cache cleared"); } catch (error) { console.warn("Failed to clear cache:", error); } From c6639901ac2d694ff7bf2beaed4c735b974359ab Mon Sep 17 00:00:00 2001 From: Benji Franck Date: Tue, 8 Jul 2025 14:49:11 -0600 Subject: [PATCH 35/43] Fetch all issue counts in a single query --- src/routes/components/AllComponents.tsx | 2 +- src/routes/examples/ExamplesCardView.tsx | 0 src/routes/examples/ExamplesFilterPanel.tsx | 0 src/routes/examples/ExamplesList.tsx | 0 src/routes/examples/ExamplesOverview.tsx | 2 +- src/routes/examples/examplesFilterUtils.ts | 0 src/utils/index.ts | 59 ++++++++++----------- 7 files changed, 29 insertions(+), 34 deletions(-) create mode 100644 src/routes/examples/ExamplesCardView.tsx create mode 100644 src/routes/examples/ExamplesFilterPanel.tsx create mode 100644 src/routes/examples/ExamplesList.tsx create mode 100644 src/routes/examples/examplesFilterUtils.ts diff --git a/src/routes/components/AllComponents.tsx b/src/routes/components/AllComponents.tsx index 210f6f3b7..48b693fa3 100644 --- a/src/routes/components/AllComponents.tsx +++ b/src/routes/components/AllComponents.tsx @@ -48,7 +48,7 @@ const AllComponents = () => { return a.name.localeCompare(b.name); }); setCards(sorted); - const issueCounts = await fetchAllIssueCounts(sorted); + const issueCounts = await fetchAllIssueCounts("Components", sorted); setIssueCounts(issueCounts); }; fetchData(); diff --git a/src/routes/examples/ExamplesCardView.tsx b/src/routes/examples/ExamplesCardView.tsx new file mode 100644 index 000000000..e69de29bb diff --git a/src/routes/examples/ExamplesFilterPanel.tsx b/src/routes/examples/ExamplesFilterPanel.tsx new file mode 100644 index 000000000..e69de29bb diff --git a/src/routes/examples/ExamplesList.tsx b/src/routes/examples/ExamplesList.tsx new file mode 100644 index 000000000..e69de29bb diff --git a/src/routes/examples/ExamplesOverview.tsx b/src/routes/examples/ExamplesOverview.tsx index 417c8ae05..0a00ec7ff 100644 --- a/src/routes/examples/ExamplesOverview.tsx +++ b/src/routes/examples/ExamplesOverview.tsx @@ -104,7 +104,7 @@ export default function ExamplesOverviewPage() { }); setCards(sorted); - const issueCounts = await fetchAllIssueCounts(sorted); + const issueCounts = await fetchAllIssueCounts("Examples", sorted); setIssueCounts(issueCounts); }; fetchData(); diff --git a/src/routes/examples/examplesFilterUtils.ts b/src/routes/examples/examplesFilterUtils.ts new file mode 100644 index 000000000..e69de29bb diff --git a/src/utils/index.ts b/src/utils/index.ts index 37dd589fc..fcc1adbf1 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -242,43 +242,38 @@ export async function fetchExampleMetadataFromProject(): Promise> { - const cacheName = "all-issue-counts"; - - // Check if we have cached counts for all cards - const cachedCounts = getCache(cacheName); - if (cachedCounts) { - const hasAllCards = cards.every(card => card.name in cachedCounts); - if (hasAllCards) { - return cachedCounts; - } - } +export async function fetchAllIssueCounts(group: IssueGroup, cards: { name: string }[]): Promise> { + const cacheName = `all-${group.toLowerCase()}-issue-counts`; - // Fetch fresh data - const results = await Promise.all(cards.map(async (card) => { - const label = toSentenceCase(card.name.replace(/-/g, " ")); - const labelQuery = label.includes(" ") ? `\\\"${label}\\\"` : label; - - const query = ` - query { - search(query: "is:issue is:open repo:GovAlta/ui-components label:${labelQuery}", type: ISSUE, first: 1) { - issueCount - } - } - `; + const queryFields = cards.map((card) => { + const alias = card.name.replace(/\s+/g, "").replace(/[^a-zA-Z ]/g, "").toLowerCase(); + const label = card.name.charAt(0).toUpperCase() + card.name.slice(1).toLowerCase(); + const labelQuery = label.includes(" ") ? `\\"${label}\\"` : label; + return `${alias}: search(query: "is:issue is:open repo:GovAlta/ui-components label:${labelQuery}", type: ISSUE, first: 1) { issueCount }`; + }).join('\n '); - const result = await executeGraphQLQuery(`issue-count-${card.name}`, query); - if (!result) return { [card.name]: 0 }; - - return { [card.name]: result.search.issueCount || 0 }; - })); + const query = ` + query { + ${queryFields} + } + `; - const allCounts = results.reduce((acc, curr) => ({ ...acc, ...curr }), {}); + const result = await executeGraphQLQuery(cacheName, query); + if (result.errors) { + console.error("GraphQL errors:", result.errors); + return {}; + } - // Cache the combined results - setCache(cacheName, allCounts); + const issueCounts: Record = {}; + cards.forEach((card) => { + const alias = card.name.replace(/\s+/g, "").replace(/[^a-zA-Z ]/g, "").toLowerCase(); + issueCounts[card.name] = + result[alias] && result[alias]?.issueCount + ? result[alias].issueCount + : 0; + }); - return allCounts; + return issueCounts; } export async function fetchIssueCount(label: string): Promise { From deeae4bcae2c5ce0df058cb66d3d2df42af44bc8 Mon Sep 17 00:00:00 2001 From: Benji Franck Date: Tue, 8 Jul 2025 15:50:12 -0600 Subject: [PATCH 36/43] Remove duplicate useEffect function --- src/routes/examples/ExamplesOverview.tsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/routes/examples/ExamplesOverview.tsx b/src/routes/examples/ExamplesOverview.tsx index 0a00ec7ff..b6d3b761e 100644 --- a/src/routes/examples/ExamplesOverview.tsx +++ b/src/routes/examples/ExamplesOverview.tsx @@ -108,10 +108,8 @@ export default function ExamplesOverviewPage() { setIssueCounts(issueCounts); }; fetchData(); - }, []); - useEffect(() => { }, [selectedFilters]); - + const [sortDirection, setSortDirection] = useState<{ [key: string]: number }>({ status: -1, name: 1, From d1be8f2a8ac1a717367b0a197c9569ad24505e21 Mon Sep 17 00:00:00 2001 From: Benji Franck Date: Tue, 8 Jul 2025 15:52:10 -0600 Subject: [PATCH 37/43] Use cached issue counts on single component page --- .../component-header/ComponentHeader.tsx | 6 ++++-- src/utils/index.ts | 19 ------------------- 2 files changed, 4 insertions(+), 21 deletions(-) diff --git a/src/components/component-header/ComponentHeader.tsx b/src/components/component-header/ComponentHeader.tsx index c4c884f34..49e66124d 100644 --- a/src/components/component-header/ComponentHeader.tsx +++ b/src/components/component-header/ComponentHeader.tsx @@ -2,7 +2,7 @@ import { GoabBadge, GoabBlock, GoabText } from "@abgov/react-components"; import "./ComponentHeader.css"; import { Link } from "react-router-dom"; import { useEffect, useState } from "react"; -import { toSentenceCase, fetchIssueCount } from "../../utils"; +import { toSentenceCase, fetchAllIssueCounts, fetchComponentMetadataFromProject } from "../../utils"; export enum Category { CONTENT_AND_LAYOUT = "Content and layout", @@ -29,7 +29,9 @@ export const ComponentHeader: React.FC = (props) => { const getCount = async () => { const label = toSentenceCase(props.githubLink!); - const count = await fetchIssueCount(label); + const metadata = await fetchComponentMetadataFromProject(); + const Allcounts = await fetchAllIssueCounts("Components", metadata); + const count = Allcounts[label] || 0; setIssueCount(count); }; diff --git a/src/utils/index.ts b/src/utils/index.ts index fcc1adbf1..50686d607 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -276,25 +276,6 @@ export async function fetchAllIssueCounts(group: IssueGroup, cards: { name: stri return issueCounts; } -export async function fetchIssueCount(label: string): Promise { - const cacheName = `single-issue-count-${label}`; - - const labelQuery = label.includes(" ") ? `\\\"${label}\\\"` : label; - - const query = ` - query { - issues: search(query: "is:issue is:open repo:GovAlta/ui-components label:${labelQuery}", type: ISSUE, first: 1) { - issueCount - } - } - `; - - const result = await executeGraphQLQuery(cacheName, query); - if (!result) return null; - - return result.issues.issueCount; -} - // Utility function to clear cache (useful for development/debugging) export function clearCache(): void { try { From 1d4b0f255bede5729220a824075c59553faf092c Mon Sep 17 00:00:00 2001 From: Benji Franck Date: Wed, 9 Jul 2025 14:10:07 -0600 Subject: [PATCH 38/43] Use React Router link for "back" action on single example --- src/routes/examples/ExamplePageTemplate.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/routes/examples/ExamplePageTemplate.tsx b/src/routes/examples/ExamplePageTemplate.tsx index 29cdb8123..d8fa22103 100644 --- a/src/routes/examples/ExamplePageTemplate.tsx +++ b/src/routes/examples/ExamplePageTemplate.tsx @@ -1,4 +1,5 @@ import { useParams } from "react-router-dom"; +import { Link } from "react-router-dom"; import { lazy, Suspense, useEffect, useState, useMemo } from "react"; import { GoabBlock, GoabSkeleton, GoabLink } from "@abgov/react-components"; import { fetchExampleMetadataFromProject } from "../../utils"; @@ -38,7 +39,7 @@ export default function ExamplePageTemplate() { - Back + Back {!example ? ( From 15ec7fbcdfa85b9414de00e761c3d2d8fd882d70 Mon Sep 17 00:00:00 2001 From: syedszeeshan <47701214+syedszeeshan@users.noreply.github.com> Date: Thu, 10 Jul 2025 12:06:51 -0400 Subject: [PATCH 39/43] fix(#2867): docs autocomplete prop for input, textarea, dropdown --- .../ComponentProperties.tsx | 29 +++++------ src/routes/components/Dropdown.tsx | 52 ++++++++++++------- src/routes/components/TextArea.tsx | 23 ++++---- src/routes/components/TextField.tsx | 5 ++ 4 files changed, 63 insertions(+), 46 deletions(-) diff --git a/src/components/component-properties/ComponentProperties.tsx b/src/components/component-properties/ComponentProperties.tsx index df79a0799..ac1a12607 100644 --- a/src/components/component-properties/ComponentProperties.tsx +++ b/src/components/component-properties/ComponentProperties.tsx @@ -1,4 +1,5 @@ import { GoabBadge, GoabContainer, GoabText } from "@abgov/react-components"; +import { GoabBadgeType } from "@abgov/ui-components-common"; import { useContext, useEffect, useState } from "react"; import css from "./ComponentProperties.module.css"; @@ -10,6 +11,7 @@ export type ComponentProperty = { required?: boolean; description?: string; defaultValue?: string; + badge?: { content: string; type: GoabBadgeType }; }; interface Props { @@ -19,7 +21,7 @@ interface Props { } export const ComponentProperties = (props: Props) => { - const {language, version} = useContext(LanguageVersionContext); + const { language, version } = useContext(LanguageVersionContext); const [filteredProperties, setFilteredProperties] = useState([]); @@ -45,20 +47,17 @@ export const ComponentProperties = (props: Props) => { return ( <> - {props.heading || "Properties"} - - + {" "} + + {props.heading || "Properties"} + +
{filteredProperties.map((props, index) => ( - ))}
@@ -78,6 +77,7 @@ function ComponentProperty({ props }: ComponentPropertyProps) { {props.name} {props.required && } + {props.badge && } {props.type && ( @@ -90,11 +90,8 @@ function ComponentProperty({ props }: ComponentPropertyProps) { {props.description} {props.defaultValue && ( -
- {" "} - Defaults to {props.defaultValue}. +
Defaults to {props.defaultValue}.
- )}
diff --git a/src/routes/components/Dropdown.tsx b/src/routes/components/Dropdown.tsx index e1747fbf4..160473ab3 100644 --- a/src/routes/components/Dropdown.tsx +++ b/src/routes/components/Dropdown.tsx @@ -2,10 +2,11 @@ import { useContext, useState } from "react"; import { GoabBadge, GoabDropdown, - GoabDropdownItem, GoabDropdownProps, + GoabDropdownItem, + GoabDropdownProps, GoabFormItem, GoabTab, - GoabTabs + GoabTabs, } from "@abgov/react-components"; import { ComponentBinding, Sandbox } from "@components/sandbox"; import ICONS from "./icons.json"; @@ -19,11 +20,15 @@ import { ComponentContent } from "@components/component-content/ComponentContent import { DropdownExamples } from "@examples/dropdown/DropdownExamples"; import { GoabDropdownOnChangeDetail } from "@abgov/ui-components-common"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -import { LegacyMarginProperty, MarginProperty } from "@components/component-properties/common-properties.ts"; +import { + LegacyMarginProperty, + MarginProperty, +} from "@components/component-properties/common-properties.ts"; import { DesignEmpty } from "@components/empty-states/design-empty/DesignEmpty.tsx"; import { AccessibilityEmpty } from "@components/empty-states/accessibility-empty/AccessibilityEmpty.tsx"; -const FIGMA_LINK = "https://www.figma.com/design/3pb2IK8s2QUqWieH79KdN7/%E2%9D%96-Component-library-%7C-DDD?node-id=105-42"; +const FIGMA_LINK = + "https://www.figma.com/design/3pb2IK8s2QUqWieH79KdN7/%E2%9D%96-Component-library-%7C-DDD?node-id=105-42"; // == Page props == const componentName = "Dropdown"; @@ -41,10 +46,10 @@ type CastingType = { value: string; [key: string]: unknown; onChange: (event: GoabDropdownOnChangeDetail) => void; -} +}; export default function DropdownPage() { - const {version} = useContext(LanguageVersionContext); + const { version } = useContext(LanguageVersionContext); const [dropdownProps, setDropdownProps] = useState({ name: "item", value: "", @@ -82,7 +87,9 @@ export default function DropdownPage() { { label: "Filterable", type: "boolean", name: "filterable", value: false }, { label: "ARIA label", type: "string", name: "ariaLabel", value: "" }, ]); - const { formItemBindings, formItemProps, onFormItemChange } = useSandboxFormItem({ label: "Basic dropdown" }); + const { formItemBindings, formItemProps, onFormItemChange } = useSandboxFormItem({ + label: "Basic dropdown", + }); const oldDropdownProperties: ComponentProperty[] = [ { @@ -217,6 +224,12 @@ export default function DropdownPage() { type: "string", description: "Stores the value of the item selected from the dropdown.", }, + { + name: "autoComplete", + type: "string", + description: "Specifies the autocomplete attribute for the dropdown input. Native only.", + }, + { name: "leadingIcon", type: "GoAIconType", @@ -315,15 +328,15 @@ export default function DropdownPage() { lang: "react", type: "append | prepend | reset", description: "The mount type for the dropdown item.", - defaultValue: "append" + defaultValue: "append", }, { - name:"mount", + name: "mount", lang: "angular", type: "append | prepend | reset", description: "The mount type for the dropdown item.", - defaultValue: "append" - } + defaultValue: "append", + }, ]; const dropdownItemProperties: ComponentProperty[] = [ { @@ -348,8 +361,8 @@ export default function DropdownPage() { name: "mountType", type: "GoabDropdownItemMountType (append | prepend | reset)", description: "The mount type for the dropdown item.", - defaultValue: "append" - } + defaultValue: "append", + }, ]; function onSandboxChange(bindings: ComponentBinding[], props: Record) { @@ -376,10 +389,11 @@ export default function DropdownPage() { githubLink="Dropdown" /> - -

Playground

+

+ Playground +

- + - } - > + }>
diff --git a/src/routes/components/TextArea.tsx b/src/routes/components/TextArea.tsx index 0b4766e25..f737f4eea 100644 --- a/src/routes/components/TextArea.tsx +++ b/src/routes/components/TextArea.tsx @@ -5,13 +5,7 @@ import { ComponentProperty, } from "@components/component-properties/ComponentProperties.tsx"; import { Category, ComponentHeader } from "@components/component-header/ComponentHeader.tsx"; -import { - GoabBadge, - GoabFormItem, - GoabTab, - GoabTabs, - GoabTextarea, -} from "@abgov/react-components"; +import { GoabBadge, GoabFormItem, GoabTab, GoabTabs, GoabTextarea } from "@abgov/react-components"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; import { useSandboxFormItem } from "@hooks/useSandboxFormItem.tsx"; import { ComponentContent } from "@components/component-content/ComponentContent"; @@ -20,7 +14,7 @@ import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; import { LegacyMarginProperty, MarginProperty, - TestIdProperty + TestIdProperty, } from "@components/component-properties/common-properties.ts"; import { TextAreaExamples } from "@examples/textarea/TextAreaExamples.tsx"; import { DesignEmpty } from "@components/empty-states/design-empty/DesignEmpty.tsx"; @@ -28,7 +22,8 @@ import { AccessibilityEmpty } from "@components/empty-states/accessibility-empty // == Page props == -const FIGMA_LINK = "https://www.figma.com/design/3pb2IK8s2QUqWieH79KdN7/%E2%9D%96-Component-library-%7C-DDD?node-id=133-186"; +const FIGMA_LINK = + "https://www.figma.com/design/3pb2IK8s2QUqWieH79KdN7/%E2%9D%96-Component-library-%7C-DDD?node-id=133-186"; const componentName = "Text area"; const description = "A multi-line field where users can input and edit text."; const category = Category.INPUTS_AND_ACTIONS; @@ -45,7 +40,7 @@ type CastingType = { }; export default function TextAreaPage() { - const {version} = useContext(LanguageVersionContext); + const { version } = useContext(LanguageVersionContext); const [componentProps, setComponentProps] = useState({ name: "item", value: "", @@ -255,6 +250,11 @@ export default function TextAreaPage() { type: "string", description: "Bound to value", }, + { + name: "autoComplete", + type: "string", + description: "Specifies the autocomplete attribute for the textarea input.", + }, { name: "placeholder", type: "string", @@ -508,8 +508,7 @@ export default function TextAreaPage() { Examples - } - > + }> diff --git a/src/routes/components/TextField.tsx b/src/routes/components/TextField.tsx index 99c45cc6a..b9c407d9e 100644 --- a/src/routes/components/TextField.tsx +++ b/src/routes/components/TextField.tsx @@ -451,6 +451,11 @@ export default function TextFieldPage() { required: true, description: "Name of input value that is received in the onChange event.", }, + { + name: "autoComplete", + type: "string", + description: "Specifies the autocomplete attribute for the input field.", + }, { name: "value", type: "string||null", From 0faaa546f7e514f82fa926a2b7fcaa7f0892301b Mon Sep 17 00:00:00 2001 From: Thomas Jeffery Date: Mon, 14 Jul 2025 15:59:23 -0600 Subject: [PATCH 40/43] Updated all images, fixed examples, fixed header spacing on foundations pages --- .../ask-a-user-one-question-at-a-time.png | Bin 0 -> 18733 bytes .../example-thumbnails/basic-page-layout.png | Bin 0 -> 12437 bytes .../card-view-of-case-files.png | Bin 0 -> 19243 bytes .../example-thumbnails/confirm-a-change.png | Bin 0 -> 21575 bytes .../confirm-a-destructive-action.png | Bin 0 -> 17436 bytes .../confirm-before-navigating-away.png | Bin 0 -> 14228 bytes ...firm-that-an-application-was-submitted.png | Bin 0 -> 24007 bytes .../example-thumbnails/copy-to-clipboard.png | Bin 0 -> 16807 bytes .../disabled-button-with-a-required-field.png | Bin 0 -> 6907 bytes ...-a-table-so-they-can-be-scanned-easily.png | Bin 0 -> 14144 bytes .../display-user-information.png | Bin 0 -> 18053 bytes ...mically-add-an-item-to-a-dropdown-list.png | Bin 0 -> 11639 bytes ...ically-change-items-in-a-dropdown-list.png | Bin 0 -> 7508 bytes .../expand-or-collapse-part-of-a-form.png | Bin 0 -> 11016 bytes ...orm-stepper-with-controlled-navigation.png | Bin 0 -> 17397 bytes ...d-information-before-asking-a-question.png | Bin 0 -> 30440 bytes ...t-before-asking-a-long-answer-question.png | Bin 0 -> 22084 bytes ...-questions-together-on-a-question-page.png | Bin 0 -> 14631 bytes .../header-with-menu-click-event.png | Bin 0 -> 8204 bytes .../header-with-navigation.png | Bin 0 -> 7408 bytes .../hero-banner-with-actions.png | Bin 0 -> 15784 bytes ...-and-show-many-sections-of-information.png | Bin 0 -> 22807 bytes ...a-link-in-the-helper-text-of-an-option.png | Bin 0 -> 13018 bytes ...criptions-for-individual-input-options.png | Bin 0 -> 18007 bytes ...e-user-to-give-feedback-to-the-service.png | Bin 0 -> 13781 bytes .../link-to-an-external-page.png | Bin 0 -> 5653 bytes .../images/example-thumbnails/public-form.png | Bin 0 -> 52583 bytes .../example-thumbnails/question-page.png | Bin 0 -> 18998 bytes .../example-thumbnails/remove-a-filter.png | Bin 0 -> 6915 bytes .../require-user-action-before-continuing.png | Bin 0 -> 14285 bytes .../reset-date-picker-field.png | Bin 0 -> 8736 bytes .../images/example-thumbnails/result-page.png | Bin 0 -> 24223 bytes ...-information-to-help-answer-a-question.png | Bin 0 -> 19352 bytes .../example-thumbnails/review-and-action.png | Bin 0 -> 31786 bytes .../images/example-thumbnails/review-page.png | Bin 0 -> 19436 bytes public/images/example-thumbnails/search.png | Bin 0 -> 4808 bytes ...ect-one-or-more-from-a-list-of-options.png | Bin 0 -> 7773 bytes .../set-a-max-width-on-a-long-radio-item.png | Bin 0 -> 14813 bytes .../set-a-specific-tab-to-be-active.png | Bin 0 -> 41981 bytes ...t-the-status-of-step-on-a-form-stepper.png | Bin 0 -> 16482 bytes .../show-a-label-on-an-icon-only-button.png | Bin 0 -> 6912 bytes .../show-a-list-to-help-answer-a-question.png | Bin 0 -> 29892 bytes ...how-a-section-title-on-a-question-page.png | Bin 0 -> 15461 bytes ...-question-page-with-multiple-questions.png | Bin 0 -> 11906 bytes ...-progress-indicator-on-a-question-page.png | Bin 0 -> 14926 bytes ...how-different-views-of-data-in-a-table.png | Bin 0 -> 41335 bytes .../show-full-date-in-a-tooltip.png | Bin 0 -> 11888 bytes .../show-links-to-navigation-items.png | Bin 0 -> 13430 bytes .../show-multiple-actions-in-a-table.png | Bin 0 -> 29742 bytes .../show-multiple-tags-together.png | Bin 0 -> 9748 bytes .../show-number-of-results-per-page.png | Bin 0 -> 19014 bytes .../example-thumbnails/show-quick-links.png | Bin 0 -> 10055 bytes .../show-status-in-a-table.png | Bin 0 -> 36430 bytes .../show-status-on-a-card.png | Bin 0 -> 6274 bytes .../show-version-number.png | Bin 0 -> 14023 bytes .../slotted-error-text-in-a-form-item.png | Bin 0 -> 7596 bytes .../slotted-helper-text-in-a-form-item.png | Bin 0 -> 7466 bytes .../sort-data-in-a-table.png | Bin 0 -> 11902 bytes .../images/example-thumbnails/start-page.png | Bin 0 -> 31796 bytes .../example-thumbnails/task-list-page.png | Bin 0 -> 24720 bytes .../type-to-create-a-new-filter.png | Bin 0 -> 12951 bytes .../warn-a-user-of-a-deadline.png | Bin 0 -> 27933 bytes src/examples/checkbox/CheckboxExamples.tsx | 4 +- ...a-link-in-the-helper-text-of-an-option.tsx | 193 +++++++----------- ...criptions-for-items-in-a-checkbox-list.tsx | 188 ++++++++++------- ...-user-to-give-feedback-to-the-service.tsx} | 2 +- .../MicrositeHeaderExamples.tsx | 2 +- .../require-user-action-before-continuing.tsx | 40 ++-- ...ct-one-or-more-from-a-list-of-options.tsx} | 2 +- .../set-a-specific-tab-to-be-active.tsx | 10 +- .../show-a-list-to-help-answer-a-question.tsx | 5 +- ...-information-to-help-answer-a-question.tsx | 55 ----- .../slotted-error-text-in-a-form-item.tsx | 2 +- src/routes/foundations/Accessibility.tsx | 12 +- src/routes/foundations/BrandGuidelines.tsx | 12 +- src/routes/foundations/Color.tsx | 15 +- src/routes/foundations/DesignAtGoA.tsx | 12 +- src/routes/foundations/Iconography.tsx | 24 ++- src/routes/foundations/Layout.tsx | 13 +- src/routes/foundations/Logo.tsx | 14 +- src/routes/foundations/Photography.tsx | 13 +- src/routes/foundations/Typography.tsx | 15 +- src/routes/get-started/ComponentLifecycle.tsx | 6 +- 83 files changed, 326 insertions(+), 313 deletions(-) create mode 100644 public/images/example-thumbnails/ask-a-user-one-question-at-a-time.png create mode 100644 public/images/example-thumbnails/basic-page-layout.png create mode 100644 public/images/example-thumbnails/card-view-of-case-files.png create mode 100644 public/images/example-thumbnails/confirm-a-change.png create mode 100644 public/images/example-thumbnails/confirm-a-destructive-action.png create mode 100644 public/images/example-thumbnails/confirm-before-navigating-away.png create mode 100644 public/images/example-thumbnails/confirm-that-an-application-was-submitted.png create mode 100644 public/images/example-thumbnails/copy-to-clipboard.png create mode 100644 public/images/example-thumbnails/disabled-button-with-a-required-field.png create mode 100644 public/images/example-thumbnails/display-numbers-in-a-table-so-they-can-be-scanned-easily.png create mode 100644 public/images/example-thumbnails/display-user-information.png create mode 100644 public/images/example-thumbnails/dynamically-add-an-item-to-a-dropdown-list.png create mode 100644 public/images/example-thumbnails/dynamically-change-items-in-a-dropdown-list.png create mode 100644 public/images/example-thumbnails/expand-or-collapse-part-of-a-form.png create mode 100644 public/images/example-thumbnails/form-stepper-with-controlled-navigation.png create mode 100644 public/images/example-thumbnails/give-background-information-before-asking-a-question.png create mode 100644 public/images/example-thumbnails/give-context-before-asking-a-long-answer-question.png create mode 100644 public/images/example-thumbnails/group-related-questions-together-on-a-question-page.png create mode 100644 public/images/example-thumbnails/header-with-menu-click-event.png create mode 100644 public/images/example-thumbnails/header-with-navigation.png create mode 100644 public/images/example-thumbnails/hero-banner-with-actions.png create mode 100644 public/images/example-thumbnails/hide-and-show-many-sections-of-information.png create mode 100644 public/images/example-thumbnails/include-a-link-in-the-helper-text-of-an-option.png create mode 100644 public/images/example-thumbnails/include-descriptions-for-individual-input-options.png create mode 100644 public/images/example-thumbnails/link-the-user-to-give-feedback-to-the-service.png create mode 100644 public/images/example-thumbnails/link-to-an-external-page.png create mode 100644 public/images/example-thumbnails/public-form.png create mode 100644 public/images/example-thumbnails/question-page.png create mode 100644 public/images/example-thumbnails/remove-a-filter.png create mode 100644 public/images/example-thumbnails/require-user-action-before-continuing.png create mode 100644 public/images/example-thumbnails/reset-date-picker-field.png create mode 100644 public/images/example-thumbnails/result-page.png create mode 100644 public/images/example-thumbnails/reveal-more-information-to-help-answer-a-question.png create mode 100644 public/images/example-thumbnails/review-and-action.png create mode 100644 public/images/example-thumbnails/review-page.png create mode 100644 public/images/example-thumbnails/search.png create mode 100644 public/images/example-thumbnails/select-one-or-more-from-a-list-of-options.png create mode 100644 public/images/example-thumbnails/set-a-max-width-on-a-long-radio-item.png create mode 100644 public/images/example-thumbnails/set-a-specific-tab-to-be-active.png create mode 100644 public/images/example-thumbnails/set-the-status-of-step-on-a-form-stepper.png create mode 100644 public/images/example-thumbnails/show-a-label-on-an-icon-only-button.png create mode 100644 public/images/example-thumbnails/show-a-list-to-help-answer-a-question.png create mode 100644 public/images/example-thumbnails/show-a-section-title-on-a-question-page.png create mode 100644 public/images/example-thumbnails/show-a-simple-progress-indicator-on-a-question-page-with-multiple-questions.png create mode 100644 public/images/example-thumbnails/show-a-simple-progress-indicator-on-a-question-page.png create mode 100644 public/images/example-thumbnails/show-different-views-of-data-in-a-table.png create mode 100644 public/images/example-thumbnails/show-full-date-in-a-tooltip.png create mode 100644 public/images/example-thumbnails/show-links-to-navigation-items.png create mode 100644 public/images/example-thumbnails/show-multiple-actions-in-a-table.png create mode 100644 public/images/example-thumbnails/show-multiple-tags-together.png create mode 100644 public/images/example-thumbnails/show-number-of-results-per-page.png create mode 100644 public/images/example-thumbnails/show-quick-links.png create mode 100644 public/images/example-thumbnails/show-status-in-a-table.png create mode 100644 public/images/example-thumbnails/show-status-on-a-card.png create mode 100644 public/images/example-thumbnails/show-version-number.png create mode 100644 public/images/example-thumbnails/slotted-error-text-in-a-form-item.png create mode 100644 public/images/example-thumbnails/slotted-helper-text-in-a-form-item.png create mode 100644 public/images/example-thumbnails/sort-data-in-a-table.png create mode 100644 public/images/example-thumbnails/start-page.png create mode 100644 public/images/example-thumbnails/task-list-page.png create mode 100644 public/images/example-thumbnails/type-to-create-a-new-filter.png create mode 100644 public/images/example-thumbnails/warn-a-user-of-a-deadline.png rename src/examples/{give-feedback-link.tsx => link-the-user-to-give-feedback-to-the-service.tsx} (92%) rename src/examples/{select-one-any-all-or-no-options-from-a-list.tsx => select-one-or-more-from-a-list-of-options.tsx} (98%) delete mode 100644 src/examples/show-more-information-to-help-answer-a-question.tsx diff --git a/public/images/example-thumbnails/ask-a-user-one-question-at-a-time.png b/public/images/example-thumbnails/ask-a-user-one-question-at-a-time.png new file mode 100644 index 0000000000000000000000000000000000000000..98e9aaf72b5e53c24082d3497dbf995611755d9e GIT binary patch literal 18733 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 literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/basic-page-layout.png b/public/images/example-thumbnails/basic-page-layout.png new file mode 100644 index 0000000000000000000000000000000000000000..0d88efe4d684e4eee7139e440899a0f7df53382a GIT binary patch literal 12437 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 literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/card-view-of-case-files.png b/public/images/example-thumbnails/card-view-of-case-files.png new file mode 100644 index 0000000000000000000000000000000000000000..52e2f65e1117db5fd19a5396d9cb8dca3fd8cf75 GIT binary patch literal 19243 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 PbxBiI=V{qv>(KuJ;-1qT literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/confirm-a-change.png b/public/images/example-thumbnails/confirm-a-change.png new file mode 100644 index 0000000000000000000000000000000000000000..24b79f1455bffea6d9786caa30848878fd494a36 GIT binary patch literal 21575 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 q+o2zS^#EK6}dhWYdX=TmJzj)gB=L literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/confirm-a-destructive-action.png b/public/images/example-thumbnails/confirm-a-destructive-action.png new file mode 100644 index 0000000000000000000000000000000000000000..1ecd3f36d2ffd1fd89bd33002b9d3ae8673d482f GIT binary patch literal 17436 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 M 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 literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/confirm-that-an-application-was-submitted.png b/public/images/example-thumbnails/confirm-that-an-application-was-submitted.png new file mode 100644 index 0000000000000000000000000000000000000000..1491e2f63d8f9b5d941f4cc03f5d391847ebb4ba GIT binary patch literal 24007 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 literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/copy-to-clipboard.png b/public/images/example-thumbnails/copy-to-clipboard.png new file mode 100644 index 0000000000000000000000000000000000000000..eeb484b803097f0bcac8e025718d5e5e5d77da10 GIT binary patch literal 16807 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 bM7`hwJk=gZHu0vN(ml~J)UJK>;@$rO>x)~O literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/disabled-button-with-a-required-field.png b/public/images/example-thumbnails/disabled-button-with-a-required-field.png new file mode 100644 index 0000000000000000000000000000000000000000..c5ab1bf94f7ef4ff216ac1408ca5c6f5320c3a0f GIT binary patch literal 6907 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 literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/display-numbers-in-a-table-so-they-can-be-scanned-easily.png b/public/images/example-thumbnails/display-numbers-in-a-table-so-they-can-be-scanned-easily.png new file mode 100644 index 0000000000000000000000000000000000000000..1ac464167be58b9f626636c6a4445f48122801fb GIT binary patch literal 14144 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 literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/display-user-information.png b/public/images/example-thumbnails/display-user-information.png new file mode 100644 index 0000000000000000000000000000000000000000..9868869b1a7d2fe3db07610dba30cedf3da32e7c GIT binary patch literal 18053 zcmeIaXH-*b*Y_I~bw?>~*jT8#MdGFl(wkyIr7FFH2uKYb0whsHaH}+tCM7CL3011J zfJA8tL&!_hTgTWdBR@QZ0bI$*N{$~ER zFf-ymDtZ(I0`cFvdF?I;bN~l@3H^2$xT38Urwe=o2i>#}1%ZwU?|<=tUgwY&+7+uP9_lpwg|jzYiMjB_{ej29M?HTR zhW@3;-}|<)F7>^&>w%ADG2qlMLkc{982Q3{@-D-C(o4=CSG#3>)8Tw&)L--0FFX9z z@aCJG*5TXMe+j&$?iOBL3izOI7Hw{>RdZ1Gc(rq0YH!|d<(7v08r~zNTh)VrU-Sr| z=G2cxkJe@~CMYdPmVJzkxMq;syMrK*fXc;-A35;?AW(K@H6QSfJ5@lSOTPhc_}dxz zgP_Zg|M$iJzyp!fu{&d~yK$`%$>j)uy!`zA%XN0=({=1FbgCTt8AD>ZG~WCAY_*PP zMlsX;d_)w4ADC&2X<0)sTBd0z?w-JjxZ%#YDCSaei>0}qwZ-8dCFL${&5lhWo{Yy* zdv6{;In$)P*45q3LaTuAPtwh_OO-l143B5>fZklOI}Cbw*!?sJBpUAt0zLT8T%1+j zUY(v)cwfF|LD8L>19eROo@rkvbPC!+ZFpRyxAWui^fq;}rKu){vAR0pS4AcFRXVpc z=LR+}rMgE_Ml09>4Jijfp+3rs1Y{@Z-kS5W^`J3${SQxxe#sAN%N&*n< zm7#X@mJLZLA(4&OMx#ofdFQn9lql=wDZx!*nmlLXf6k^RpHkFt5(EWBb*dQK$o8pm zG;d%-`LLm6(`u7nc#CJe136ANv(#0m-X_GDoa`Y+$hJ*31mwPMK(Lwm-yvH9WnX>D z3}MWIGkFVT+PV`AUNY}IPN}^W1;M$%=_8hJbtd^i_~dH*OEvMhRM6`mIY$FlRrL%Y z_idE>Pc4WJr9K=NHM=N#R%_%}{6svFmo(_9T9M$!mxbFZSNg1r8+#I8AIp4=c|X0R zcnTja{K9g&l6o^{9D}}HoV1jA2qdufg;Led=@K9he))2ZF`sT80YSxvXpFgRzRcQc ze7PKOz&lV0xr-}C;|w@+2Kv@H{T|>qN%8*8NOnT4AbPGV=|}}+ zGHCY6Ni((!yX5U@B&!iQY2LotOlki3@nb1H|i@WyQMz=u!ZOkFn;@@SoM`cwB z`u4hF#5iADJY6;SDZ#E{={sJdX>iNX^EGHEamBzs7iS{V3iHUkYmQT1KNZGMd<+%+9 zA2yDG$4F(WRvg#@{>(UaytWu+b5&hEU}Bg$)7Bz5mUE(X+a>s`$PsI}<;O~p{+{rt zPQ=Qu)pjliAyLn%iyU)~q|fS7rIH5em5z;pzIxd3Dj;-_$d1sqaNnlA0?f6UOMDFA zU+U~{=L7cx1r7Fsq+STC2pjGncYQ0b@}Q}hwKjI_X_?=_<4xzw$(h|kR;o^awtI8- zT--15s1t=OQf_pv?ni~HbDvvAbKUa3vndT;us{vhIt7;;@#*_mw$VoS;b_0# zuFK-D7M{H5DbpfG!^nyIVY2pu!vp#XJ)LkrS%%H7`?h-{kqy_%)`!nd8=< z9xYQ#hMjUzN5+7Z9Ti+!;)_C{6Nl@1jK{p9dshYUgENnwksExOu$4@g`rQw)D=Z#!cz+O4oLb z;4qyY@}YCXB+(6jt;>4s32e!+GkVlfWc{i_)~*V-D@m-l>z=m`UpMGs;hfUW#WgZT zX@~#(H!q3BywCxwoqpxNUtEzidu|m_cH1dqY;ZS$CLJVmKjkoicPW11#dUovx5@|= zE06CtOr@NmihX5gMX>ZD2PYEwqQk|?w|_Pf_Uy;P=JI(m4m0q|@%!0<{FfG3%vs zO9Y+k{SnUEMu_paHN<#`4VwzcN z?d`crOUUi%`Z1SDXV^jpy8#~=Wy%__{KS}vDMlQAIDS0SeoL`srDio*XEnR|`T@&0 zhrrTHnR~jTqblYHf>&`xrn$|N(DpW+(V^m{&Xww_ignogw_)GOK@(v_?;8J6RBG&M z(_#crRQPd`wSm*kh>3OX`}(~w3X~pvf%0kR=kpdUJyIs1UedDSu$?|o&Gh8Mx5wdU z#DLwF%Y1h4$-DjP$Fbgb#OkJT5Kg5un%odgUq)d3Dw~P~N&9EE>?M*Bi5!!V1K+oG z4!1_OyJHgqfmF$c$GIh#Nk8<`sSN|bRwzTkA#84V_=29FJbpjA0aDZC~InH zP2Q4n>uXbHRX~rnZ_b{93vl$<&8p@c(okT);;-$oZ_k&zOMG>PY#QV!s6ZXxm_#B? zyl-u3Oph@|Wc>c{gRy7MbtNe(bmM=8pbO( zI+Wg6@c6i(PjP~SRnWjTVV+ybOrwwJm!H*uT~%H&N{ShXP9WA&mu$%>!dZEcxRe#J zQG~LEobK5z;OeG?#DznAF?h?j7q4iiod0rOQz1dt-P**j1^q0q&s%qI9m|fm9`|78 zw`-ljhVGJOZ*nf%vEGxb-pZAJu@z|oZl^h^QZC@VIXE@P#hN0Y6=aWf_MJI8a#38^ z#p8t~e-#T4RA_A1F|mgeoSYsevHNbuc6s}@Ux3lXKyxCYVyY;nlBYThjFXR6Jzc1s z&)XC~FOPcj>W7wg=600jql?R(?Q)f$?#W)dVHg^>TC!4zPp{SxZx}iXx3{H^P1%m@ zS_nDRu5P_0SLqk0)K?yD+|`3?0bxnNfnYMswQVq<;FO<@qu2GPl4m_Y@~#Q))xSo% ze}(7zWPFtUX#H7t=J93;S^)Awpnc;k(Kq{6Qe^Vc3fM{zR8gp;Y^Y$N1|PjU!9zTRd02w?eaDbH&i5t2#V}opXr;%eg4u{M?sezivN@j4SZ>Q~^~)Z0!GqCBPy$m` zAz-23a^kjuug(nyp;{_O-}#W#!w;TcA00d*qn&LuH#Y}AZeQzV+Wpa*6qok=C)u&{ zfnjjc#-VIESi0WDi-So?N#V*U8I(6A$v(mJ9Y!U<&Zoef9&q~3Bdw9?Ck_T6{Gkj_ za(>_D##@YJz+1UCx*GKKki}IuP;x?_%CYkqp6)p?i2On2EFc!%?yNbs_utoK|L?@1 z{mXsHw_iXV1Zj!_68F8()2g=ZiBb{)2p+31jTM*H)_@9XwMz`T0u*ke`N3VMr|)h5 zcq|w(*$7>;sc;x^ju`i}oJ{wDtxSaysEVI{#0AoqM~;}f0`bWJX)4tx_BTEY9<@F0 z9eL60dq6~X+`fQ^ z8#;H60Ew36V|+bsKA>@WG;!8{&QxRik{Y}_SpuGIQr!w93Y3~&0#qiU5-8L#ZQ+zr zI&M_IWp5K#T;yG_GWoh7RYx0XoLO<)31`Ht2ZChjLNUdNiK3c(I{eVXbU%Jw@go+Q z!XHdkyI+-RxclJ+Z)N;1D|_gt*#!M;>kL(QMWSVr+4az|N@uvTX^f7{WKV3VS@B&7 zaH#dH=>-F)@NmWZxs^cerC)M`c@msqk7QR5wPG0&`^e^Bx{7vjo7G$W)fyjz6c1JA+|cotSZU9<*CJwyjb4Oqs8EdP3M1oU^{qW_^mW?i8U!g_x*aVjlu@B7ELBeuZ!b?r7x@j zYrD*-%i67}bT=4U-12C4KL-jb{|yL6;3uUQAm2xKre7*&IvUy?a5%8h#+aE*?1^8n z%Jr~&Wcm%KK(jhjALld-kDE8Vb=mZCJ9~SQMY7DO2r_VfU``UU@H=&_p)K%y%6`g* zA1_d}O6kLtER<1wYe&m$Yp(jrsg** zf=~-JQY!efDfNo)aJr>Ovs!=eRe*}4`&=>@@lz`)E5+y^-n&*CwHTe%Plc|EEG_Ic z-={a?wr80UHdjRiAhRK-qUA122JWI|iiPqYW?lYtoK$n?S&2Ka;^slpupP|jOC&BmV`ItLb zK6N@ulA1!jxuI~Q;CkDWIrW*n-{R|9j-Pz@K~OF1{jmD^4lgkyIm!sZ=4)F+=z~v! zexJUqx8w?{wSB-GY_8vX%S`L82`IcGb!Joa;{OsJpLmj|W1o0}G9m6cPhM89Oe+5; z;@p4ML(73h{`?yf0b~UUAgnL`aRS&Zahgl-)0@{~7j+~+;z?^rE^9j7Tz`B&FH|4@ zFDv))p=!WOT>TqT@C)SDa5vVzEjs+jG534-?y>s>PW1FbP*Wrj=)^JX{|Ar6-Sfz? z`}gj>0}i$;QV?Y1`}LW~bZ7xBFA(rCA3yn1zV-};%U+9QG1k^xfBYW?CUUPE8MbeF zGFlh)ssM))c-el!(BtkB)<8cVrYUDj1I3gdm5gz)ky3EE;fkSCu$Fm6|;k1UWwh zn_W2zuB+tEtoFSHOojiVAxC#XRPOnM`TKpF(t zad7Q>xK+E|53bA)t78c2SaZ|5u)&5f+!46#=*Dl7@U6i>z>=AE<dl?w51ZnTZ&7`6Q0}Yj*V*cW*jSaVmtQAxa^U*jSGv%}+AJ5wocF zvHmA@q4Etp$xkvQCwA zMi4@BkRxd8>8icHsx5c5k=}S3K3BQm3}7XwzaxvGJyq67d;O%X6mLwOj+410Va;a^ zuS&>^a2z68-S%UTG@2NTweLJ{|DKQJ?819YJ0$X}n3?(`Tk^DLwypQjO7=2rQz=>L zMSV7I)82M_p}K!*lu_2sEMsrs#b8%enTP*O8OwdWg$zTD?Afaa2(s+CS>vwuq;Ek5 zgTBE5F~eL~!(T&Vv43t%jA6Flz_*A7Y$6+xgwMq!ty-RFR}h333&Pg+o>&&c_nPT` z&B*VeZ`#|SY@hxJ7mg8ks%`mvS#t{4fcrs<(658h3J`N;OR<_yw*SzY#+f5mYnho# zi|zCCf%sY_b3|Wr8n&2kX}xl^)<=%I$iQc9YXHgfNOwHC&Kh^0 z4YrFU!6P+*z+|w!k%DZ6o}=8-0rIyR9}XNOa^jppaeiHvXDAMM8t|Si2QN)m$w|Pf zB~|(R6?HG_Gnz02duV1aoSNuwKCjOzWaf4cnIUF?f@zpJlp>E>8t;leczj&&s=X1F zyXC2A@@{)vS$=U5pXE8^Wf)jgEVab_w$80;aQ`$AZTX6w3b&%oZ}=M{2(kA1lN&AV ztQNMm5T@27lfc18c%hOL!cP<W&mfVgbAA1JXKwz zpCVbeal>G zXHT|I+n$nh62Ll5+`fF<(T5d@Sd3)C1k{{n^Ved%rDSSNl2S~+-(K(A^l9&$n|%*m zLM8}E=Xr^tQP|tQO#4ZoGH^45DF`o_7qPpbdtJjJ;Er*Oza!J?iW<>{_IhlK0Zv}x z2I+=0T%>()1?T&yes0{RS!`P~Uu&ElS2}$l4IzG;iJJV7!s#R1{&Uw+94-q%Qn7dEHc}8ZkH6lw^Xe_RoX+Ac zh%ZCS*nrToUT|qwqVUsunkH^LgRJ$%tIlWCSFk}d4xF3%11O)%WxHroXqN2!jNX9S3PB)a@$YI3y+*xyMFA}Wwk$bB_tIFPEbm+KD93j5=fEY=s z(thytMwbiZf_H(h2F27`mxh5(zveKK9Jy3`_g!*t5Mp;eT8LSz2kvx@q9F6pCB^-- zHA{psDemX{zt{$-dVZu{)1ED4vFc$SwI?@iiaVzvU=qj}myq{TT=%$Baz=IUf?i{~ zIcN6o!UI-%nV!B)M+3l*kj!GFwn(LKd4PhBXmhg7p>ojzWo;98#o-2i(y3wP=P$bx zSj!eQDR<$fYM&BR@S{O{VSJ<)uLhw*CEUlYAA8pmtp-%pqfZT~Zk_W*3QShKRkT+> z+xUS4RdEfpH#)T7kCa`5Mq$N@5@xFFqh)*k=P@!@qvHH^xdvreZuKJT2*dOKUT|mNXzpb= z#~4v3$N_&P!pH~O))*(xdhyZM@3kGB7l|r%v_PAv{Kk+@u7Ch~d2Y(r0{2jOLb?SOUQ$nnCssLl;fmETQEFRIL-?M2wu9xR~4##)U zmqV&aNo2KKT`-eMbZ_EF)i|N2cH2+$Q`G{sY4iMqpdEa*QX%TV{TzSC1~shG5b6bd zK*i_WTP?M)yWssBE{0 zf1>O)!VP}#?(CXsRePkRx^Ru zGc!&Y=>9Opbh3?_qLzVn%Jlc|b{dWZ*gz=rM+Qr3@5hm8oXd92>NB~@?B<6RnAx|A zdARK1lkGcSEpg{BRoH!eS0!olfIW_4kFUP6G+Ro9lsh(7y2{XuCQ2I$Cz9(NQ}~gU zp6H~liz(bG0^7+IY$~>^_=C0DQYDCl`Tu&N6gxYdJ=^@CD$aERefE$VX{?}1>6RX=Pp)pnN^GwZ-a%6Ev1ZgW;+b$IHSUR^^5E3CxJzHeZMxr z9*D%K(iP4uc}o(uCT0N7B=j5+L1{#kxkfTk-G0&A({B?(t3SPGvVK|?5c3;+Jq@MckZLw75Gb(1STuY22M@L_tsE{rLl*v#Ru>ros-yaurUe6Qy<;kY;Bt=ROIw zQ$cNM5#z2A1&^Xg@SjVMC;G=`*(=vZlwfJ90oTZEC94!Oy<~qTY7ANE;~b`~nA?~nWd99x2X}U&q?|%NkHp@(S^j)ISp&QX_60A~`9(|J zBm?Se6n)E{pL~SHRX>iO5|zrky?I^9ahgQhLtRzgw3F>GbUl_e`$rCjUBM0abwIwI zgh)~`%w$#8ndV?h`}UQML+LyprQQV-ajacMR5^x&Om|ny_@$e9mcI~aZQ@e6)JEpp zGfR^?5V_72?&6`u)5r2J_7qmKh6;KkP^Sy-%)MgGo=L}fIfFaEgwq;%!QG`#0skPc ztZIBlG~s3V_FR$QZ$13nZ_umE)QujI*wEddU0iWmUaAW*aWb=N4EHVdq+o(SKI0F! z0@l=`r1kHIz3$cgXmqjjno+oBH(<0|dRw5KIvbUi!lX&`t0ikoamN_Dk^wEJ6;s^> zJ5}&_)swYUt$D^lh;EUP&g9xTvj>uG50!oGzP^>MD0IE9LG&!j^_Fq<8(XHBurwwk zk~4v}1yGb6KlXbjkJoY#sW5NjGx1QT=rMen@d!dO(E}*mU&VVqhJ);EgeJU%r)D;2 z#StBwb7gb?s!Uurx@C8KR}R72rcwaOqDLRLWV^2amzLRl*WlF;^emG{0aSzL{Zz;9 zw*+_4f1IExUvW!geilT0;|bc++4v&dB5Y=X@(2bh+PVS+b4lRgoNK3wyv+=m=ij^) zqaU>>wtpj(gjuy?0k!$4-e%9aX+!4ElkMO4JEplwE474JvMLS32g0i%S6_S1POl*% z8-c#czGuf~8@n=xR@>I#&_>@8^f_P1SvtK636CtNPBqp3({GSCwg9~5Zu`Jgveou( zVT!)?8m?nDcKxx`ipy@F?Z9O4UPe{y2LqdgD%CWN*Y=S!yk5*B`supO zWmFl!h@4(?M9p}Yk^W}dDjSgDR$_v>>zBE9oe>k5g-l1LkB`n-T?*cBGAOz?nz2SQ zpqM`aWq4+m^3LQ{qbJhS@5b(6rB(rVEN|7iD%zS+8QE555bQal(Y9pD{##LGIq%D# zke0l7U(IV~aXA`ibs;VBZGhBoYT+;`tfPZKYeQqiB`!u*&)(I{KPU6{*n@gGiVh90 z%7WFbOwMdKc=x9Zd*+*{LMJMzed@{E(31Kjt&JNKrXnq}j;Bwg>3iqw3&!bO(jK`K zHq_lM8B-oJO>r3`EizWRd1q!3lG6rSpBFa-;lHl3wKqd6+B0vR5BS9Ob@iNf-RV48 z1SH+nWjS%P0&e)qqUJO4BU*>e4A@&7t&Byd8R^BS{!mrI^ptmWK{3|cVRH&kYb#n{ zh&E&_!rOLn!GlL}u*yZvD)kT(p!9ArC>Sb!U7#L8oft7UemL+^64pAJgYaq_FA^{8 zSOE^K7#N04w|(-7x8-GbNDVsZ^}`%tFKgd~k(}6JW)lHkX`r<*|2qBd0Vi3laH0Oc z)!bKKs1E!Z%NGuvz$vstRz4)51(N!<^8OG85ffwcwE1vL9!0jFVkwR!?U9HgTdt5c zF(rOdB|QL->8X%bw)zAIGTM-H*x+?bR@p@Fmcv@LK|PAL5z+ve%z$S!Z2rC}=d$sP zxTHwUQ2qqJy{dFk(C7D?tvCJ}D;X}$9p%S}1=?Vs`nSP$fmZq=M()$dx0 zG?|OgXj*LlmiS}XfFS8XmM&w{A=N_%`cf4+QKl@0UED62wJ4U)qDz;Lpxe=XA<19W)wH=F3dtt;pL$H>X>SzO=|blaualrVn-__FF{kYDGAKeU`r;d+&Fk+hWEwl8a6-*pQzms ziYt~UmTJUmZPWHDk3BbrhYY=Zv@u#U6R--^`Tkf~9Z$-0v_E3p2@PMG+*0=IX zA}Ag>u6fr&-ksL_d!##~$=t0h<({`gMR{;i6QNfH(k7pKJG4IQA|d=w<0on~Pl<|@ z+kVs5cO-3|ZQ42Wpq8)!T6uYzW#-^&Y(V+5@dqg1DG%n$jhD5%>dB(U`Qb&I84;W0 zvlMeR#ka`1ds+IU5T5a_S)=|SX(3HY(&&16c6=|k7jiOfPQg7gOnm)U?tmyF&Epbo zbmP?`R6+;Fe=6fyi1kzBQG1k=HB$JypE&*3&eC4N**}{Wvil&)^d-Ka`!DRh#!n^N z55VEI*Sn@&qL)6fd#lXcn#@aZy*_|n2QSI}yDrQ3ZWoojI3=_-6k&Zw_-N>6pSDWu zpIGJPpKVL;WnXRw;IWyt8F3H%r(V|L$?vO$E+#TEvjm6)$ z6H!)`6A;%_9{j8;DkZgMe$;QYe2F|HY_2=lpTQI$FBNsCA?960$_9ml%zWvl;#im? zrRSE$=isoMJJ^)_DZ^nD11pqQi}?-Hu|;e^w^K##f=~0}n16w#Dy+aPaxX;@aL3F| zlIP`wPEsxg4c&r-L-Ld(rM$ci-al1VS0DWx`#QFu;$&t{V#N;cPwk)5#uc4MHGI^?wbNSOdB=OdxxW0a-of z^D!6YV&rGReJl7~c;8>eVIXlXujdI>_nhl~3%AW(L2d|G*^z$}-o^E;PPeqQ#V{g{ z`2c;W>0}9==B7HJ+jWQ}U?&^0q6;vZq0xK`n&!D3L+60}DSZL@z4~nn&>w4g@+$oo zn?WM=pNDv6=Zka4Tw($m0p4PD6Q_h4q+B8QQ@Y>cJ?#dXD_b}FICNjY1x<8{9L=Tn zw%Qkw`{702y8!Cxvz&B=T-A_B#O=4@%#R>$0v(I*Ky#qchgihP@tEXw-}Vtzx6%2 zKUX7iABk!Vm~8l`1qqOFmE>0Nm;FYX!5R?jMv%*YfLr&wiH$%jFA%UxEs3hg20dE$ zI$hboTSt)51k}nGd2=-`V$0tLC^y?M zFEBRJd*piA&FJt8IgI_Jht%IESAk`qQ~DdM#1;!;0=Y3of{W&p*xOsbI6MU(YaV-^ zfyCwYgoN~fr6KKkmv1A?>d!-}r;OH@V|5=^EA1u#h0X{dx;BPJ2yfvbi*a8tiuD^ zE>_OfkR=kRN8hFW&}w}e6!n7K@0V%(G@uRE?_qCF#`)b&NUpPbK-km5ls(gZHJ0_V z8``?jrEljgwj6#DCmP2?kdd#IpP&1RuDM}$*}61ePHXo4(YzEbzx+g1-A4=OhL6@X z5&qU|M4OyHRotg0J85yYIrDj*8_mw_hgPtRZsWwmg)`l7_|LmSPTredQ4gY~8s4|P zR_b2=^)bIgd!^gLrFhdW6GsIa*?yJ9iu1T&=PK{6Jh-kUr}YZR~^j_8>* zjCF>nGC;q*NjN)y|K&;Uly4N)f8=kq09z2DR|Zm+H^2Fjn%2{+fLn~W$tZBImxWZu zFWs?sZ8(RU&ph_{oneGN(==R*HX?S|uJSId|Kla`;#^YIr=QPCJDkRTyZ^LveIj0) zOzW!a`b#h|^6NS?P8_PW>f0J5QD`5rb?@_?)0=859ukdeUeP59=6s|bLDGFA7jqT! z_XqOFI%buVVnZ^l({Kpn{j9}{oIW5Se}5rZDeN|X|J70R zPQNEJIq0K7%vZivalv#gc>nb)#QfG86SJq`gD(7(lI{eaCPn?Y1=;Rv@DYc3(*XYK zPhUt4e9U*tn=8?Oaw`fiHfVyoXmgSbB+|`r`~s$EG5lUsnoIJa_$1N!zOF30M|;Sn zZ7@ZgfPHJXpkY{y((H2Zfn)HGjz|Af>m%p?ix&y|wgg@Lo01(7@0X+zeJBL?65Z5p&D z^+~u6r@oJN4x-}f4rx6W5`&E3g|ZTaHDgO<|C3(Z*)Y#Q{Bw_e|@T% zirub7Q7clJfu1Ya2xY6tTO3?8Em}jEm?Phg+5 z#oaJ7gT_owzCQcWI=s?%ILw919E+@qU62#hS$i-Eo(kV|sQ0yI0J)WsN+Y~iQia88 zCpy@gN^!);$^NV`S_4z1*`y*yn^=D&boL*W_DC@H4eOVY!31d&j8neZko-1BauU0n zNOUC7&jCm!ZIQpD3=oN{0GhViSf+oGIh2JNZrl2xl>fT&C4X%r5O)7`-vtySk^wX# z=~oZP&KE7e6#fNB-U-yxnVl|;2q=P<%Sy+2r09(vnKU8j7QR)76diq}C z^SS9(aY1OE{i%jY1MVJ;B|N#WLoxmGC=howvb_bcS@bp36lzw-+E&A-_ocA@kHrRH zjD!Qkb|S|j(^N<63VCBojba`n#rob|FhaVSp)i@XOHA2PpuMk{Sj9WCyuPFIbs{6i zT#@j0R88CXD$(4a%@rz1;PgazH*JM~G9eS16XE>?Z1|!L_oTAa<{qA=L+IB%;@BM| zI|y6#iY`ED6)b;GX0sTK?ug_hbHrvk+t0K=cPy!OW}Yz{oQtxgSL_C2cFCMmrzCZ- z`ok2fqLB@8Ew9k2k?mJovwCYVb8cwzu6&k3*YW5uqwE#N3%-RLRVGg2onPIPXiy zUDL1Lc7OGS6w+*~O{2`-BsXH{73^LmYF6HTxo^cNRjrFfQsa;ugSQ%#~v;(`ha3%i3V zO-q!WyIl&(U<0F+TLopo`!v3ut*{HUX(5wysy|c{=QShVh@I1`QphQwlfU<>>^2qI zN`=UKHkpXQvHGzR#$qt)Q@nvLN3Q%BE@&RmBv10DLSB}fJ!O4MHoUX9w?tMCyA({$ z@s4PTpf2yjncnrNGr8Th{_k%)hIE$uZajD(o^doVe`SaiKX&w2Rn%9xA~MdSFaQ{~ z__n2IuqcfzIeXftQ1*^BOm?3y9wyY!ERCMlN`oAiK4nXyg?2{HDBqu0=XHjQR<@vf z=`nhUPwYcRWd$BE4#b3PiR!rspYSQBcazq?mjyYY;)XvukNhgp_!$0TBorPce!t+g z3sknYvd(_Y`aKkgcb2%}4K-Qzz^Rq^twD|2jzNIhJ8^fZ{J0II8i?j^^P*(82CU?U z&%YX5PpN~wKRNPY8vUDunHi?k%{t>#g2jsljcJ0>IVhis?m3F-1J2%}0SPs%sxVmq za^*Q!G$|=17+Nmtv%oVc`tHJP`p z+VVK{ifDEKd1w~ysy9ep+@xb=m+69(memYJ9Onlid(gM3S_C9%uT zc8ec%5QXzKtz+tFo!wHIfKP00z?lMNM4KRGFP3G;&>DDnmWivMgSV0%G5H%|gu4}O?$3FQQ)bwLcA54DHr(*14rjA`U zpP#ooxp+;Mu)CuMX?yWOLF91gJCpjlgu_xE26H<~<{t5<7VPB%SKXwujbRLgsi` zb+#j~`f{4R-i6CcuPkPI00nlmLa9e>^2ca}173mu7le`xcJF_!HtiG*z%$KFsp%%p z{_3xud&+JdkdL5~+Z1h_ZbI_I?nZWkLmBQ7vg@Y_djF@C(*QDV<|C`NL{uJ+YGDn& zRcA&HS8q5hov0u@TdSI{^BBa&|G=0uMdUl1d8 zi&OA5hpf@w1eLp@Eg7@&QNV5jU_TX*mw2N#dm*glRTF^1S<8u@zWGFRWWg$f7HW#5 zm$~YRWE!kL5;QS2_tZlEeQ9${PdJknWq7H&?sP3*M@{M(ad1niZ2OWabots?0E1T03ictpKeuw*K4} zvzZ}Lt$PZXAE-$^8k}G%y@LU=CAHWy>g%shbLdO9)s-7~HHDK$|1mDsN)5gJL%Z}3 z8mCtSH?huPw6{w|@AHdsp~fJydd-YEQN%^jSLfb-iVJ=My>dEJ-Tm~#^GYH=oW5mk zbTxg=@h%vj4#6p~pCG|q0CITK+do9MC++O14`eCPH-ua3kBHdGye=d4)#2e-Jc(cl;>{*gLcjWy7Jsv7$A?0B#sIPMy`Axlt_vvdPt-u zZqjYX6+u7TfSRUjUu!#u_N%ek7S^vr4a&74x}yrS5!xr6g04i4+IvgX;llub4%i5r zF|tEVt^oWMIqsPyaR~{im9djb0sHKPF=T~_&;sYMhP4K+R#eW`9HxLe{#eG`mEMvOmK!hG7d09Xscy0ugL z%)V0YwlJDDhS|*OP;8oiiI~|#07PlHtyA!I0|G#;FpoR1Z#nuz?gOzM=3HXL1imH* zd4Xcm0@KBLi&X-I@G8(rD43|MYXl}0RxzwqN>-`6^a$6VR4uqaHpM-BZh7Mqz~8dq zIj|a35r8jO{{eWz$E?A6b1zhx)vr68c(jC0&|=8O$MI`v$FnU?*}A|yLt{fSjn~UT zxo$ZRbJ3ws*6aX1E~Oue)76*?!d|hSh+iDs9RmbCH}9d7yBhWu;A&b^Z*m*_$A`?@ z_vbBkYZSoW#w+V`yO;Y7x3Ld;`a{Oacw6lCnwjXiR8~A^BGISpfEq|%4Opel{h6a5 zju~UTlkOeHJI~{n&@)}i7Pe91{3RE)^+tZYw8%NSW|AQH{-q9I6}V4r<=*!!cd0}b zb9!MyhE+$^tdx%`98E3laNMK?IYk;q*XQrn`ZrWQ*5L(MY2yU?r6=@)%QbrvY`#| zW~#YC6#zDQQy-(R*`C*Wq&=B+Rwk%im$NfB4fG_tH>ksw=J`Z}Nd9BD05-%}P3=** z9kpUP(@ z_~iw4J{V2w$XR!s%a_Z8JP>GiZAy4_pJSCqyfJY**WSCr`+Lqjt@s`8gY;83D|J zTqu=q=}7T}Hop-!Q~|l2`tPQs`_z*Dv6s|E7<-yI!&OuNr z02pdfDI*XV*Fopw6kE#Mc?_iGYahUAxulhc3;QchHPdw8mU=1UL{5=8ubFwY44eVz zjC|$*eO5|YlwEjzSMSlKE3w}r$OL%5Mjmn}#vh>Wfw@O#DVtinwXO3Az_xwKatgV{ z-2rB?zE4L?224vtP7Su7zA2`r_edL{iaSFZLiZ8-n`UkU>N7!D{v&iT&FpemhCvKb7V^aGhF@*?kGUC!~> zo^mTiA-U@6{@=e%1IQi00rOs4w+`qvdXY2&CN7Dr6C00`d}zyMRjbH>xg{6+X5fYfHRYA1t*Byu!vEvWd% z$Uynrv{d*GKJ=WMO_W-_`fL4X8*i`ZWQ?YoD}V7*QAXYyScyAd4upb#5=*p(3fIZ` z+h%Cfiu(s6EPKtw3aRsqIw||2&LA@3+w;L=r-f(yc5b0(uxQP7z6=1sZe<>RYULn& zM)(imC>q^gt)kN>&{LE5=RWzuWY+thGw}ZHnk>-=;$Dxg#YWst(3QrU*(waAK8?j) zpSUfys~6xk@k{ynGFSOp@$G_L6`3a4g>W8sa(_i!nCy&Wga6W4+OyCAZ`t{d&;OHv zhFt;>VWe6*v~uwWUgE|dpA^Uc}lt@!yO4;F?=ijfSW{C(v0$T#D(auF=laK@PkFGCzs^Ae%;y+#~nNCMsCy%=*I zr^&$W{{8zEz_rP}j)}?iKO+VLX{c*&0iAhTA_LrOn;r;sYCCYN-wyuw!T%p7gx7$g zH&z!o)mM2F%iP=6cJ4nN$YjWX2+vX_6|AbKf}!$iZX5=Qw9+n1ch(G?4jOeL6_n$( zq~&$Bd3Ae_+a?U>+l3Uvn>h2UbAKw&RgOACbsN_P^gQtCx~CxAg-@h~PqDP=EiJU$ z_R)tDv(itbcD*s2HnI>r-lnpUy$l{6Q%WeVTgvkhU%8^0aaXry_K6-w$frfbcr6Zm znbHSQrL=G-e#IF5{8QI26C>ov<&{OG8Nz9K{c&f;i;YH?)*6t^I(NO!j~8Fn1&tKL zX3RAUc5Nk&tDH2NzQ1Rd**zvGeYDWe>$|%Dl1Sn9*&8nS3J04QGmi$PkCfG&F|gP} zbN8tQci7cM`iX*VE}>Guc>BQ4jzzWe?~Cffe>{`-)ra^f+By1Pl;6dpd=5HtJNJ6` zwS}VLg{Urx0j|a4fZ;rwxx(GajsaKX&GIFN@{60o21=&k!N=g` z-BKNbZ)5N~m!BEijJo5J5>d3;9BN+Jp=l2Yk9c5fKl((G&95HuH5&D*W8n9TQ>(Ih z@?h~ZuTIOPXbk*(yE0b1GUD=H%PU*cjCSK@OvSAW4i-xt=$y>3rO(xf{KCCbR8~?j zQAnG9e7NhKTW^Nm&+If`CAfZ1Q#vq~Bq;kFa48>clXamIlL2@4Agikp%9+F@7w{XmBL zPegEi=@S*1;fx*z5HI9iM*FakX3*fo>$teM@8U8U23{ix@bJ0)?yXNGCC8Ba4Sls? zBJL=z%pKQDC6-H{5Nu|Z4`njv7ijf#-B^e)w07g?E9nvntyv^wl*UFBY%Y~#O6Hn& z`)-G3bOdtQ3kHpxif`^y_KOtVZ3~g?|B zekc|_FcmW6blPY9Ze)g`*GK{Fl}F~|MbE&%H5pe$AREV(6nFriN>T10(8JwHVxX+E z_qKu}w{HIVe?Ay}D5T$DG+~=cs7pN)UcX%BlkMR!zuY7EIzcRPJx?4w4WDkfgBu~y z8`;wgA-lPmT4Zj3&q}X0=NMnpz;@M=GflrNS6bB93Ge=L)N!h-08wS5+!g)^nF_LF zr)bO2eLOOPY>k&I2J1$FfZCz5vrm!o?y7DogFzWB1|PRAIO=^Idq+hF#Vy}5HhLhG z=$_nI3_8E~NmcOBn4FI2T^i2EamZMRg}Ezv+^bk8WF{hnSmAjmRo~-ADg+~pT7+!0 z%GSACn=F2oa?93ASuN|EtVQ5{vsC_WQ=}TU@Ig00GktV1Lh9>`NXW*GHmz3%@RqBS zb)Z!V#Bz_2*w^eHYjjy!lAxQZX|ejkx3BLN)nmO-cQAQT(Qx=D6)rN`%2sFUJy<7a zJ>8`=BYK^-h{Q5~OU*36MwVve$P9fkw$VRs*V(6!Cmm(FLe=_v07#=^+@VEQq85%v9=6q zG0~$(#5UYe*zbMZzQ*rIXjXyEyz+S!r(HX+bEYi<;6hR|l=)=K4&4WXRdz z;A#~Uw7in~^#n^1>jo5!tP!RIA!J>XY}S?HmfMwBa<8kKL9A{ikPG1vUWN~xnqm-h zZw!N(Oko|Rh_Zex_BD3y+HO3jn4<1ib-&hZX%*(zD(Mu7KV4=mU>bf^xw`(TD&Utg zY371}%I%V4F$>O`Q`|Y;rh3JqRI)+K^r>>t`C}hGN4H8O0x7dnI#EguS)}tD%NVEG zprJe*w3Qbr_qM2k(YtzLM7A*1t}AbNwr40SG2-%yRZAUrDZi^aHOsc0&LH9H7Yz2~*)tWpwxA08f*{BJdiV+FeAp~O@k~#l|&O6zqJa{0av!^0GzPm}| z%t#)>T$mnvnIy!U(v@d&qME%;=kD|CAgP&dctmGjSBe1Vk+6K9;}B%d?9;C&b1!~E zTi9EO1yhTk&grNJVZFXI_?FXPG3ImgW0cjZ`;Y(?y^)LZPNysyMZ}$XUGD_fW(ieX z$|#{)H2PAx9mel~1w6QLrA3Ka4(xe|X#yb1eZ z^TfI^Wdx*9dCrKq)>`72UuDp@p8x78W*qxcsg7quRQkNNee8Z>U(dB*Wz(h7WiV_w z>mGY~xERekJ+Vk1oD~kAN%r5GoKFt&3&VHJGHm8q!z8BTQ}>a=Ry`)Su`8&r$6~bS zer@=R9(k-;@DR?7SUMV!No6jp+F@pvOgM%~bC-uj16RR1%_3g&OyPt`98_Ys9e3jM zo`m9NA$RrQJ1baW_c}fJt?>JJ`DF2S4`S=Lq?32zu91q@hiNe;=)$lEeXTcZ%D2XX zc@4+K^4E1oUk2t?30^*M9u-VEA0z}AcL@Z!Fl}xkrvSV76h{tf3s-rH8x{1de(_PK zjLxYRXwwVA%%t*&zCO*w%rM<0*s(H<)I3XhL_o)M+Gh*v3&>e2ceIwD9|#@`rQA3d z(j)_-UI(V~!??pY*?JBF-PUC~!@=uDe$lMhnkErH9_x^!*&-8ND3PZ0b`XDZ_z^v; zAlZN5_S=Jrd9FSmzWVGm{p9>P8M3Gus`;7~TU@2PR^9A7RktcVs}b*#GLfdPHnMvR z?$pg2Z5FbeVi9jKgCp5WLeex*N3+w&F zS+q+*P=9*}ELr&0wmLp&$tZr=EeYpOY8XbmeI&}W$=67K)#|?u^1RibiyMuYoFr@hjJBP~M+QGJO`Z@L4#SEuDqedr*5Oj1l)UfXzw1Z2N0QI(#2Lnll;U>tbn z0~*5u&(B|b9?^k}y(!jc5zh2CKE7b@EiJ+e_o5FaS-~BFXu2u!&m)*D8>kAr_|9hwy zw;yfK+`oUk=yVf3`*>R?S@USIb7P(K08kK&L?Po!(o{%h9zs5cS#6(f0w~9><6}tt z>DW!-7YRcxSGohkxUc@~m~$IBC=250xhh8A)2flGF=!a^w0ROx;82<87`FIj>J#{o z;q6p>!|~#V0JGh)y=&U?Qh0j{8`6YtePLP%YuGNCgi8*ItznHor9o5*P@deb%uCPn z7x(gM?xuW|UsUfN0j0m4utUXe77?qSg(YUGb!g0_()eg0)DGkVGXxSxuI*cj&s<*A ze1ob?=S2A@D1Nz*8!!0~G-j8p-TpRDjFXpNwB&G*VI<-+>pi6ga(Cw}InvuFVL4V< z|DpPap9}x+pcSX@d)sXi)abA}ow~ySWCjDS=A2ZcRE{UoXtPKnb4?x{zqFH3yA46R zeKOSWwd3y!i#~Wh6K@JPTf1TFQ#Ab38zR4|{@P=|eK4>qrW6dPL+7G|4?ttd|Fe2h z4=FI(n0;Drdap0TG$cIi+@tY>dO9{UQ9pnpBQO@IdSYSW$;ib!c!u;o?W1X@eU>^+ zH;XNTh))Q?sf0}WPa$A5bX=D#dgW;VwX`c3ml@D|Y;K}oL5fNb8?C>aBsQixdE$TJ zLmzf-`A3S*f4@9^u+L>Y6xc7l$<2Hcjq~li>~i*-n3yEsnv>(LEowJ4#<%rf@zzP; z@E_7s929VIy#@B=b&JN&bJ7E>QVrqGA-ZA;D*Bgzm-LCDCT0dbp_z|s)`ke@AkNOL zJiA2f#tW>1EY2Uu)5(~P=a{4aLzhT2U77UnI^cBExyH|x^9;7}Op5$)uJg^5aRVs{ z+AF1*eiLuT>{~s!vqk7tpb!vUB6Gedx*?=t?trOGt5k&QM$5K3Erhr#G`~kxxbhsg zS&9DacokB^pAjz41jEd98&=N2OhD@hAW_sxkl<)$8c7F^#6?*#VkZ6CcW&|%-C|_F zS8pJ@3&ZasC8HOU>mD)getCxhp35Mcu)Pl=1$J#^(tMZ8U#!w!GVohTM)U?|U66if zVAX^E_W=V}G?(uJ61FxyVx36ZEToAO0PwlJ$v4DXG7kZ}mD}fGaR(0(@iTVy#s!tp zx-8a959rprwnvu*E)E1N<>my(s$WeC9L%ey)p@n?G7?upCVZ-c2&g-PvejtAh7Z)2 za@J<0%D_@hbwp0YBM`J&vM;mScxo>IYjj7QQ9fcW1V2L=V0VYrLffB6O7|A^)@@Vv zJA(wyUNvF0lF4q!Y2XeQ>)JUZ-Hm_#d8D^D@p%3E(=>QfZCY~}YpFYg#v!Lgy=uje**1*I&?dlx{3x9%>tRt50m^R=pi!+DqU{jS%pc43RNv_)qVa-kX z-n63E{_Lp`cy)+z$m5!YkFV;ol;s`$&dU4Afm9>bzSDv-H-(Mv$|YwHbQ}E1{hb4; zNjn10xoHh-qM2%M^X$F}Xm$0~iyPPBVRwiJIBlzIgVxrbL}liE*wL+oD|jM6p)|DP z5su_xf>@;ac_5Uo0Wmb$u8EQ89->Ya^w047gOjhcTur;M6D8%H>>TE4NPl^}Xraw{ zo^0%DtRs%Z9!%ezVYRl&X9|eSW}pJ!%aMAFs$& z4jQ`UZuiSkeY+(djs zgH&5(fa7uO(=zYE)0Pg~8DDQ7Dm=^KFv2HkI)!@$nN+kW;0Z$T@#b+#Zd1;?bOaHO z>rUR~s^~)4T(>VTQ&EDZm1kh>dN&WPA*n#*P`&9;=G@ubtZb9+kE;t%R&{4m}YPjR}mZrgFd#Uy}Yq;M`5KcAByVuyaA>sG0@wrl#QcB@V-y0XTK zg#^;06RLBwejj-p!Fp10ewXp*aCZHSPW_R`yca;}g4Y^m;Vy|r!cn|^C{X(iU_BEc z!BlYb5-T}^E_oKByuwaqBMA!22P!R8z7J@IJt zPdV&Sd06=B4bh&T+W_eu00hkIxn+}iMWew<5;JHR<39QDUO^bIDJ(|@6#Q?vNv3pC ze7Rj!=x5BMmgn$~sB_}t_QM-W`FJ`XuTm?R6zW2H-@%xuF4O6gUv?lIU;(_UBe7;> z_3kPl9@tee`?19QS}Cxwa_^y!!H2*;`(-UQT#yqJ)9VeB7Cx|`nFw~!V`CjfWW^9z z$rDDLE>;mQ!R$_QRl4%*RBY6Ih5OJ%FX?boRD+0HELzg~fTGAV)(u%#Ei(}`XYN39 zaG@gST^u6i73YT0k0@QW{O&C>+kk;TL^ZCdkyU!*b_9r*SuuvbBpZ{9Guxx)Ca)5W zB@}f3#!hP5^@M-YZb+YY%gwOxU(ZROL>0N=p6zna1h|h_{&&W_9bOk?CVKE1c)^FA55;rCn!M*Y{NmXA?;g&5VIEFwUP! z;cYnf$d0Y4Vpx@3xTmq^PU{Bn`bFr}CoUbsCozN*s>eWt%2Y|0J}=>fbZ<~|t-*$H z3`GNABCB1`DSYvVW^Xl0Y&GN6e8Lfrer-CB+MM8;3^HMN?NUK04>gLW?}+T1Dt`0? z5WQj-RZ#8Ya9`RJIC>hD$3V;y>A7EF;=W-_%yE$E)q7h_;KrPbq&u+bdpEG`C#5@> zvB?l<{fBGvbpEeujRwf7`t#)PdJ$^BH**pR!i$Gm4PwhDVNQa{gyDYH*PBMzb&Tls0zbU3)JSO}jWnx$CBRz@y-t zpi?ep$$4faR%9Ej=A$};_WrDl?Cx7-*%m~6o`@Z(!Ezbd0bPbo>^^jJ7L*+iBO1B( zby=cs((Z|<1awY^8bu~%V&-{}TUP>UUL|N{!vxFk&0f_)O+BZ-X>3MQ$GC38tFU#q z=YcRYnxm-Ecj}18fw7G8yLkwU5d-{0lUl2>E9b-Y8C6+aY%ISdd<}d0jZFqtAuV|9 z-dl8QRIhIv4HmInN(-82x3g#Y7a^QaBsvb zulXk|#aDG;0_SRsVzVy&-MB$dywf~v9PhKBuamkg&5k)W6rNauP`Fx|-6B3KzRm60s*tDza#zIC4V z7IVL90({v)xoe%rV^Udtyd2!I<3gBxu-sb+ql2CV6Mhr8iE$zI98doZl59jHDg&%b zuOodZTSACTET)GsqGI<|k)U&f7c#{F&j~t-wo}gM5D|?>=-jpDz==X$vf#>1ywIIm z2a$c#&s(1(#K2%%t|j*BeUluLAlwVe{MbtgrO z#e)0t-}E7^qSYKBGqnZf7h;y0M9#e%ga{vP_C$|H--bmZDS6*M;lZak_tD z7&z$haUy$LS9S(s83Lc`Dm{S}EOqkQMs}du0?r}LV_U!+fIH%<8 zW$iz&{#rwV%+i5H6y$Fe_3V#Xp7&_H1`S?%Rj;yOgXL8-nhEH|&`P!)<^iHwIAGTt z8t$Oghe1!{a7Fic{W?=Z5eKOmNG}Hy$x$5dBZOQn`qDBauewyFIn zn?VQU4b+81zcE>?y~bHK7i^!O284;Ze5O&Up*?;B@7`kfPSix)=c zb|#fZnE9Q{Z;OaEGuUSWJLQ^D;W1<}7d6K_ZAO$FcpVRF;9~HU`6=V7YZS3rH&WPhPFQVju(oMR$=$~UD}}ftL}=~wS|xAZ;Se88wryZI%g|XFM0VLpt2)M z*cOG`;&t@xV^^}4r;wj$SDRlp22IAT3an(A1c1G~BS&%9_U61f+}Pn6u~F%v)l`3Y zq6hijTUA4)3j^>(p`TrxVKd{IT$}f}+BABwy0^F~#FcF!w$|Fr5#Ccr{vjK-GnZAQ zm^-hbpjjZ~AiFigY=&n$7U#dtM2q{2? z;x;b6vN?xr?DiY`qCS`8LA!rz7$x6DXX#d5O*CvZf!W@kvUcgG2n&DgY4h3}W_{Vf zn0JR=xvoL>RRNX~XciVk6DgXt9Z(-wx1JQX_N~tF1ot@RX-M5=qw6>O!CdqDK5KgL z{ne-oEd$MA1M_DX`Z=e^n&!{RSPPH&-QJYocc&R@2rYk zh)r-^dtxs)apd+%yw2DjKZ@+1-hz|yg+2DPQ)(*o3AL5_Z_xg&jP55%x z^{Zo14e9JSxEUg?<^@FS_UH^pkU?CwUQWd~U1&_RTnAUjObo9+UcA14>oqsd>YJ$9 z9@?H;?eL^4`~QMMnwt1TV=!GDAuMS6V>!CW!`AW6N{{$DxMVR@kG@t#sLlV&gi#&u91u6rE={x*?K}sH3UUzN}D!=7jXICHu#gDYDJXDS~6qY4o?$jjX2NwU{c{; zrrqVDo+Z%}n2&6aP`!IpfC?5$*T2nN^#U8T+})(0sW%{ZB?r$HmX%_zZV#;2k0k$H za;?D_S_`ANQr-vRZH0vFJWp%w z%G9O8qV7jVJjK>Wd!AVlk95lUuV69%cTL5ApYQx5=Zps2C??iss~3>m#T@C95M{p> zF;e%DSnZaTO_6vY@Y`AU`D-F(bfdbfqQVWK*N*cGmgrxWJ3uA8@V)=}@&Cc@>Hp(_ zq9*}X0rdsCw6s#d;ULA-ZRRunMm5YoHbEc{pvB($c!N>L!G4@R=$bsxogV_Yt^H;< zoyMB)PuuLH!h$=}jS;Vw0pnQ*WB#@K?bZ#)S?PEZHJ17;Zy*M7Nat< z(tXsvX{>1M_HclmTlLJz7%9ZM%VqrylDAum2V{EyoK1q3UsRVTJ(+J;JYBeC1fpsu z0vK2-ojr-Lme-RrlDi>yTHi;j@b`)M$n=Bhvl*j{PjCF$Um@|s?C{{g)^{%viAbqI z!EELdq5xX$8_q$qOm!53Qk`;NZfOCmGOm}055D(H-Qm+HcS)RDRP~3qb>p8W=45R# zypSJXCkhFyC#}MY%iY#31pm)mWhu`13D8*D-za*U5rGw?R+Al&_HrdN!S?0ltOEs( z1c0JFm*-#C82%MTspp1o&Jb@a2=yj&lU|plOVgJ=O`oQXK;b$lt3stwQ(v_|$wA@_ zz-u*TQ|Zx{ax2(&9RsukoI1EbC+$G-QM%Q_)<~x>z=|EU8H*ab8_V8^f7&Dvq><~k6W9Z`oqq_Vo!}+145fP!=j9a3?lpwfv7s$Vg%c0 z5t0g8wFc1fz0QEC!+JZ;GqL-~*+9VSL7IIktJ|f5@&+n)LgtiCJQ9idc6Qr!1^wY4 zukA4@pDpy9vximYuHotsWc+eot03w1rx=qw=xJu21a~eLg62nb<{lDN7DxEVSClW$ z#h4cHX>=iN!^sHb0_ zHf{g%vEhEtp0lZq^E=_8=Q+K0O}9bOZvaBK05ny!EDr?Tecb3dQeZFXGWH+$QOe}T zV)%1YZh5$AfLTjMz5v=>hgd+IOppzq-9kFA%Ka9cjN@ywJHY5t(24JT;=oM;1{++G z4z#nKF)<@t_ett$FvDB$sJ=*$#-1dx=rPm`Z<>ZIYnhbo4Kn`MW0UtE+uz)pqO_UM z7Pif=X^;;c-9k+%kvVaF$R!*gSlfF+cht1ETstDwor6V(0r1-S4ruITbHMCMdw_e{0qY!Cm{d; literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/dynamically-change-items-in-a-dropdown-list.png b/public/images/example-thumbnails/dynamically-change-items-in-a-dropdown-list.png new file mode 100644 index 0000000000000000000000000000000000000000..2fe98b801d3a8a225ca90e61985070c27f79ca15 GIT binary patch literal 7508 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 UJ~J&o37UY#pVrqauX;TBAFn`eQ~&?~ literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/form-stepper-with-controlled-navigation.png b/public/images/example-thumbnails/form-stepper-with-controlled-navigation.png new file mode 100644 index 0000000000000000000000000000000000000000..643d3a92b953eeec380382b32bc4eef20b030c4a GIT binary patch literal 17397 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 mPN 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 literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/give-context-before-asking-a-long-answer-question.png b/public/images/example-thumbnails/give-context-before-asking-a-long-answer-question.png new file mode 100644 index 0000000000000000000000000000000000000000..5b250c562cacbc4f04f4dd1a90a9f4decfc5aecd GIT binary patch literal 22084 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 HE^+@CWzScp literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/header-with-menu-click-event.png b/public/images/example-thumbnails/header-with-menu-click-event.png new file mode 100644 index 0000000000000000000000000000000000000000..a777ec38b672a6126de16552fe0c779efc98bc82 GIT binary patch literal 8204 zcmeHM`BxI!x2Jiq*=y#Mm3eJ2NzD`|%C6d^W|l*ll-e~dMa2mf$XgEOKxz&t$W3n! znW!0R4sgo>6@?7v0aT_^aR3Dof#-YgFL-Oc_5G$=7q^q1xOv?KVk2MhpEQvUC;0g#6|w65F$yJ>F& zz*9AUt_z#}E;?KU0IJbSYY(;n0NQV_{BiMC)CT@I>H{Yn!CM4o1%)r@nb*YG#f@Cu zk_t8)9tuC=Q9+P*yDFb^eliF-I&iSHAwS&DT`_d3kkHO-yxaI9V?}2R>V6yee$raC zpd~!8taSIT-Srz<8;mx|-Yzu}Va%L)D~uRxVcf07rLxk;y1PF!VN|hWD2WHR<_Tr7 z=muUv%$ybg@Kj~4SP7KD?j zku_`l&G^GKO#tA2x=w&ET)m417a2b{0szX*y}czcNWCxUHEXGY^uOzq+^Lov3Xgk2 z;>Zk3(64FDL**EyCAmd0OmU6ZydZ(q=EfTnx8--Y z$QQ`+#O1;bfIWq~wI~+&rhpVi>!Lpm*)HJcpAQ_FK|n{~!WF;5rOHahoPghW`1mBo zbmI=rW?}!Jrzrri@b734vEt!5yB&>=3Jt4u9i3x56lGTtt z$&Ci&fra9i0Dz{Z#`$cpI6gV?USkBhsLR6zZVrXh4a>=)Q#E#($^#_@f*J96B)z2_ zY>boK$V-a=lZ~PPfNgCFDI6=8-|*@RBm)H167`qJ2W=@R@ZxiF%u{Lss;40eGluk%LldHfW-V{lCWqpWv`+?xKG>51c_am zdz=8qwJr9gX|MT?1vPsvK2v~Wh!)#iM}n&{nT((Ye_AKJauu7yrz4;mZvWOtwRJwF z-#%A(Sb78B-vsm5{+hLYFCHgfDru4MaA40EK4BBUavwg|cHy*~7nxY1Me<)sX3CZ) z1vNM$jJ(x;x8J=b*>K0)-kiFaaaipx?I_8Wmgr$oK3bbmyIdcam3H|2tDiSRKxI%! zu^yW^%9Is^MB8%B26rIoL8sncXjF?v0t*dB4xPZ) zPraPPH_oZ2S|o{F`y} z!PRfQK}BB)x5mnmJkDui-5oQ(H}zt#mA8|n!^}F;4B8cAX`0%b|GQ2@zINmf?vD8} zNhAxmLmH@9wxY~j;Q3u|g(4WRQNlmMntQALmFP*->XXJML-%qa2_?>}8y7v^tFh;n z*CByPDoY926dXm*XPk@W8spR;`g>~aEvNRki1?$4e%AEu*1?aCr@_X`FFw0`j&~Xt zjaa4Q4x?{tT-<6eFm7h+0zt>Nos`dZLo|XKgasUwA5~BX9Vd8)Ns28L4-Ssj?Nacv z$9;lP6CAxgJQROEA;*d{G|6#7%+~j4d&aUBQdnp;M>A2*pQG~N6=|aaZWbaEr)c7$ zW-pEMXc&$?coc?A}lPv9G(7n32D0L@cx zc4pt8ZV!zQNsIezbyUUyqTpu2ZUSj8t?`|* zeL!zx+Y?E~$xPgCKWr_0%~)6flfFPp-f`TCYzweD5kbLwjLnVIj9=0=N`TfqknABo78i9O^VfZBA_CL^ShIeJHl}J*^b|&d}j2QuT?am zpB6{?&qXV(qtsJcgorTNbzt<|IPs+om&+Ar|=+M;CsV8iMC=rqsBW)qamWzQ= zJr<+jixRdT7(`t0%@>mtGM}?f_MlKwtfxEhezNt>dzAAoYPK{a8~zbJjJ6e1_!6XD z)-kY)h)`Q5qscz*9X61@3KVdQth;&w)tcX+j9)1zV?cDKtP|1n;OQk^B6!R=(S)2} z?#hWYrK<>HFsxhbNK+ECI&id><6~nRE+g`+p(yDnd7e{$)~bLl1tAB7?4dXF{jkC6 zlZpasdv=IWCSj464rP+N0o4A(?s&l zw7cZW>nO9CPiI(~oPJ-nDREg;a%Niu7p#}d^ZVpBqrU2WVhWtcdBUwX3vHBxUlqxy!BN&Pl z<|ihC*Ctsscc9}iZ{+t-l15Pd0}!zW2>;R@v22qwYSiXyZh97M?^Pw3k9~;x=+Jh) zN-nUtLoQsK8_Z`(n4N1x19LS{UH?3SE&g1a&$K3IS~_mkEi8`i)0q9~L*$xNs-gW= zzP=cJIUZeLp3q+nT^$2C4lqmV>_w&!I&bWe^}n;$odP8 zl0eDS=TN)wIz>(-J`~q;T8?0L2)LZ|*`G;a6&OQp0^Pj_RENz9V1B&tOv{&7 z?hdisr+Hyg9-csr~*Qw-z%(jdO%&aU+DbSk` z%AP=gcHwuMqjXwvT4t7&QFr*`xMdd zdC=Iw8uD$!V@0)UJ=mO+zg3_3r^LmyVe~NJ+(YkPpZP%TlC;-lsxFD)`hz#2>DyD(AT`ZFN|%4Mu_Hdrbq{;fH60;eDRCNzn0r*m<~6c*5ztX zJL|`v-r8M15at5<#*Lvnzp!L1+4}WHs1%QXdKUd47fC8k=nI6uEkkRUjOy z4<2X_pbfmcX}d#R8T$TA(TI`O?n+fmio28eBt$KwlGi~4D{6Sw62%+T;^qN+WR7wg zo#lztR(|(_yGb(sA?}%k#R?y+&|K=QE=fE2nYKhP?KpCY|5)piAU9mo^Ec6Qd()J~ z=%5~y;H1H6Z6kEVvcOS{MW1fhLzVsVl!G-9iTu%LdH5SSp9*lu^cBkOIU{o9;Mk{^ zE>0jg2_GFP)dJr^&YB@+U~aJ_*Ru6ux|&kg-w#l(Q|U74nbP7B!$DDG_+U*bvRD75 zv4bzVsC_hGq_vM>FpLeZ|wtL2{sKpc~j?J^UMUoT5Y1Y2tP|On z&yTLLMx~TW&+J^)S@uk7UGS096$SB&A*@ott<)(4by<(t=zV^sh^q~S*e4I0CI;%G ze9wE|iF2a^10KHokZy^+^9tUn7LIowXpWy`*qr0q$3ND6xhTmF!ZETl_mDuNl|Q>Q z===kS8_uZSP?MBOV9w5_s0^>+yJP)HP&@kr6p1j-9e)C7p6ohf_RTpX&(G84 z_%WRepZOR1lf6VS&X1r==u4Ad-rLkz@9ugONEBQdU5bkOyBJF3p>K!B<}%O2N(a4r ztD(Ii+{>>fdMsH^_Yl(h>DDl>5Uv5a&|f8FRaqMpR1+AQ;gy}hnlRV*0TmHc-iCi1 zTf4eH{W6lHf9~{E<>8fB?tKX>kjk4ehZUEmK&GaZY! zDe|Jz5gl@?8@*PQj^{CRtWC={9)=iPudVyUm!stT)z_y;VmebsXp(q^S-0F`JaKY+ ze?kaN<7pSwR!F(I>4DSiA2-PX&|0^y=q`_qbN@s_EF4KuOD%_u9Gg3K9xShTfJy(+ zz>M0T>2Xev*jUev3mIw)wW%tMie5~2$e+vK`AWCHR>1=|FwI-^x;L6uW0HEtCW5HY zihb3vj|q!SF4=#XRp*l_BkeH-tR1XUKEF=!$TOs~ZfhfQ%R*zhJ+M(@a38raHX4nmh;R@6#!^Ombk6gh?rhFv$>t6if2--2p zY6+j&G~e85Io!1GxOd65HqL!dz4+^O`Dprw-}b)|Hkq2J=;;0Z;rtez0|UbbkmbTG zMAwTDlY7U}Ii(f-X9My-c&E#(UM;_!@qJTvT?>AM-S#0nA&**zS3X@*9tfBzO1lz1 z6^yhOHr|2G6(J!dIt0+~9MR7mP08#-`KBFeAiOeMRco8jld#zjd-_0lN;%7G>w(bj z4w7(;fEMzyW*uCGorszGPrb*3fM98vkEY)l7A6p9lA_#2??2-u>hp2Kd^2rkQaw(9 zr%#g8PT%&uL%zke#+_CDwqt?slO%p1YoNOtY%x`=>7r|vw>OM1AE;31w{_c(c4A#cDuvC{52>~H4i2CLEj>3#6DrjA=5{yft=@;gLLjV2$6rosz0 z-9uIsr?7i2U@iNgDZz$_s=6vxoAVH(7!U|*E<`+HTf z(tPKOR1+;7DJXT}k0tne;@QQ|v%o6K>5ehnmnOM2r1gSz&CE&iSurPR!J~v`r5RSTjb@&20o=7?Nb?C#l~Spc5*A>vw6+1!yTviUzoB8`@|nr= z<0a3dD@YhbmzY=Qu_UDCqvR4C!QhaQ7NShrt!ScC5+W5qf~U*9e~zFVe<1%|Ejumd zq{1s0E;`*pa*Mu|$75YyWTT@e6>(5@n3su9nR2XygyHQg5}Y?36siWiCwFCJ!J9O} z0antVdbjD}d{wQz!e&c5Bz2eFlhzy5cw138AvxnT4>3JG>Y8FbxC8a3F}CwNhPRwi zzItY-FqK;xNXmRg1N0r9ZHiUW z8Yby0xs}Hqr@}U52Z4oSF$N{gevaa>=O7`$_>Q$g6QJo;Ec{y)t7>#xZ$GzZEzH13 z3Ji%kQts9yFPyJT;&*$7W>l>FW$=eAo!VKJ0A_Nv*>uN%XRt5fL^Hzw zU269=WS72oW8k`VYvA9z8^cQ*5oe^Uu#F27y4ibCDr4cH%=DXF#Wu&B^`;(jUi$CyT3}L1%+99-M6oU#{6mY^6h73%36Ub; zj{s3;_fe{x_8|1_ZGRRLkjlNF5QA%_fyk$JW~cLjGD;=dQ6L{ne(Qy$V{hx2pnUn`fCJFIs$pFaEXMP>cVXW>X_J8;)} z)6&LU4FFL8{{ed@oQGX+cd`V?Y++0XYJwq_BngszwBcF zv+6-r008i_qr-W30AMp~gZ6CyX+vUVdD~`V*>S@G77YOG)c7}T0uHi?IkUB9A|ROVo+-kT12zHNBcC7jHz6Up+*||BbW^ccL)m`bSi}x|#t4$E$sjs3!3T6^-#`k%xR!OyB>>>{8!neymhEaQ>)QbU#OV*81pL2vHxV$? zkpRpG0sz-j-Yyv591I3o!{@og@T0P`@~5qU*Nb}k zK;4F<$xlxcxjm-kwd~}9|46rlKp29as%|zrdBsBy0C=Rnq4crWM6WA2ESV8aM`3VF zeoBTgfY6Ax^3fh>h-g-bmRvSY$5$ujK!^)c!_`!|ve(5rOn4)Kv6L#@fOp#rDJLX% zaYnu#e~))8|u1##&-+kIW9qOXNzM*7>qR z=)vntiL(kRpNu*Lcyt=9l(Wlc6Q`_u_cP}13X2mYIAt2d8Z-9N@ryHYL1iR%SZ9{x zH*C~nJ54Qss+z74@$+4f5gbs8((J1@%T7PD+-Blfuh-gK8W>+ZcSo-)Q+&B+ zJ_y31GttdOVGS!*ZqsWw!s#-ue12RHj3KA1_Uwn>{Pex-G+lT{;TQe=Dh%`hB*U?L z447%E^c_sjK;mLAknVJGn<)6z99c6222#?Z%fv?w0GvJ55S|@F92QaNP45#I@>eJ2 zZU(1d5rq}Ahx-uo51^L{v#Os6xi%&EoCZjMW$aL7#~<|_7mk5d=19ziVB5sycRSR;jfemev0)ah^-kC1sFjatATxM$w|Q>@Uoj$#CMbpu zKS3%6`nBtGo3N2JLlA=qCUB{!rgCjl2X-UQ<0=j@uarsMM8l9Y$IC7!8OwLs1ZCCb zBJ4!)E0rm7iZp9Q5`Q`Q+p{E5?@H&*Vc9GJ$ZC!YECw&$_f;EKT?e*$uQUqEmDXXN zF)n*ASE8;EixoptF0T+V3%t=OH_e7GeRXz}eoKH71F zxJwJy4{wR-eipV@rK2xFYlx`5pv+AE{zB*gM{^+308@AS3Su0$w%EMie?9!dbouS; zOuoZMo&zr6KxLTRf#p2MG%2G-nNo(ioo%Ig2rHFl(m|FZ57&Mict!)F0DUTn#OE-y+Hy zlO^#>{MF(3TS-?}(i>=_XDmqmi=eq|+0)hKE$`rKJ)x6FTE6imibb2Ewidtfp8Wz^ zVq(haOuD+w$-F}Q6-Ve&<}QM;Pnd!!;lp#t$VFBQ@Sh~$fE-^08pVreac&2QUqXUF_;JzduA zz`OXJMzkBvGZdEEo$0#wocK!a$GR@g8={Zg1hF2pT-jO|_gkRX$4hGy5hdmZ%5wZQ zAuA3SlM9g*O=%j=mcByip&%~KQ;%en1=^&Mz@W#MS{ED-BgZplUgO0Hxlt9CqCa^Q zPdd~#P_upC_%)qwN`~GmSQ^BhYIyAsus^JwWg)k|S8?gZX8RFfKRmF|0jEixj-DUa zdFPin-xdwHRK%J1PWl7R=^T09Cf4sgTxAxRz*fTQyApEUSourtM%0o0A~4z$jeNM7 zpj@3&?{ngej-A4eRu0h`W>nAQnijw3LJA8qBehCqHfZ(wmf@8TCc(fWnVVk4V1>Dv zX!2o1qF|LaZHzW4&JSD{HP&cC!nGlpZUlKG(!(x^*UXG0gG|#YWOtW#;tDCOw9Jjv zEBM}y8T^)8s{ihpi?;it6Lq%!n6~3_lgZ5e$nUp1XavT)2qiJJOxj}`+&pHGlKfN_ zH&dBqvheQLV|wqz$^F*cb2H*-3+?jxzY4>P6-QF8Ez4)NPW97AA7GYM2W1nC??pXk z(l`Yqq6o26p4U^wUw%_KMIpqFZtLxcU_{0X)0J1P@KT0+LSCb3`TJxluIS9|aOw?I zu!r?};#Fy~){TV^YBttIs$qMdAGd*MQUi!4N3C;TYO$a1@->JtN7#Y|8K!D?-WFUG zdtU3nVOS!nfXO$$qBZ-Mr2z~*cCu0i$pcAKe7;g>JDzb47G&cxkg~_vPFitlkF%+vC$#OJlHPDD51*q2U7 z^X5%cV8uDGweuc9_d3lyg4#RHqN=skyVCU{iI3&ov@%3{cDoHb6j$XN-Zb(0z7N)V z(0{~Ll-SNr%oH7!$1LiB(_Q1?4~klY-VJq~LG@tljDp`;-Y6if~5ZfFG<$ zq1_Q=dYxEUe~Kq?U69{$YF_!;`@GVq?yX!~kY<95YH0T@wmVC-OEvp_C1F$9@DkPZluyt&2@Zq4-Uz4 zA*wmBCQoD@Zk)b_9X0LFuttzsH>Ey4S1IR+k)ior3GF2RQ-l1-76%I^MgQKTI?4EJ zh|2oPXE*A%i8I(p(Jh3eRk<#w+8p0*uT@eT<_Vt!AXVCT8a94?8Z~_;U*;wXvAHo$ zE$De>nB?`c`{u%j)eGDJ18BEvE^H71|MhyTFr-T!WJxxmu)2`IzWU~<*5}G`1Ll}l6 zVGLMqgMY&6i!NXrTylui1kXXQc9Qt1{?1~Ey=+^Z+uOKBb3yQxA=kcj-DdG|G)!-= zfJ3MOM#GcRU-1jPih~Dm9g;wh0L3`*B}@hVDy|G4Yje$^Pj<|_Cf064vDK0AvkH2(<{FL@U z;@Qd^`Z?h49-H3hh5H73UBF>#b+N0`{>hUC)dj%c9Mh#2B@S8D32hS*`2@YK!+sTwmm1eJ3Ur5$M}em{ipvR6FC#_r6D5?6wkGjd;jlb;6Wv2QMRgmH3tAklLu-A9SsSem+(EZXM2dO1cr6rlm=K>lAY`eN9O*t?)NZ z*5+ycvf8J1^bH1guquXzyVwqoxdBA_Uf)FYs*6mkj@Y- z?EOaR{hf;!-?F@s#F0lG)#egH`+_=^FUZh00k4_XXTo!kF3!gcLo?h%r2EXKP3Ed8SbiYasl|eb3*$;3kG&{=RR=bqzj+ z439KKV8G)Z>xxk!En);D#!O1fx(~E!*%ZsCFfoUD$0i~g0?4c~j%wpon_G}jDD#gd zOyE>&)|Lbx3}s8F1qU3iTPY)zK}l5|E&5QO7yA@9`#bFsRjJ<8@!!n!t=(Sk`?@uI zeqsEJ3Y{CU?Y=i{+y@2yn?JpY-mF(L)a9ghc1J zj|cB!TC)>B+r>6Iq{p^9YGR6S6$vNRG>_>Te3qxo?1b;hF=}2*?H%FAPu}Fu0vQof z6U*(TY)H%p%a-n*->tK@-dcJ7o|4>Fs#e>(zXm=QaJ{J%Irn>)vKPzm3O(S(Kx6hB12`rt#8L@heQX$rC{GkWV+^t=Zc|9 zaZVA&IVnitqV;goGcGS~>2aiG)YnUJh_@E23iLH#CyF%HJnb&cSrAd8+AAc-($QdY z-V=={yRw@R95J&!zKX>&2M)*VGank8SgoA8_RwWG16or_O@XaJfx;X&S-#jzfYPQ6 zab$rt3~U&9;~TTtrWR~L{0d2+b>qK{r@{8l% z0JS~UU2QNO-|_rqYRHRer(J?l$xAIi**RkB=P{M|>la{$%a{jP(lc#FP!S1 zg4I5=_N5N&-)%ruZ@+!(Nb11&S2sHym0RM^@#v$SZ<^0~4a;;?+_Z_|7xLEM^IA(} zRI*RxOdzf}B0v`$+ue-gUbGr*6vNJ{NZvCy%wt4;O{#HkX% z#VOpCuBM68293W?{BociPgg`3EnNjpO`v)V-a3s`MebKz2wv7dcMr&C%_-|Z5jX-0 zTucd8+7{@}5+MYFH4s%ZrkE@#v8Opm`#go6-e2(!STZcc+7{VHkBXo*nuUQ;;V1tFDGY*m2Fnf zax~uDUy1G=>>h*sL(MrU42T}A_pA8h^j-Y7rn7AicChS^`=4t4JJ0Afd!R0*p?3LU90&+!!WdHyG literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/hero-banner-with-actions.png b/public/images/example-thumbnails/hero-banner-with-actions.png new file mode 100644 index 0000000000000000000000000000000000000000..7a4132c2d849554fedc457a0538d1045d0b6dd6b GIT binary patch literal 15784 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 literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/hide-and-show-many-sections-of-information.png b/public/images/example-thumbnails/hide-and-show-many-sections-of-information.png new file mode 100644 index 0000000000000000000000000000000000000000..27f801d025357750faefd4d64b6e5200eb04b9d4 GIT binary patch literal 22807 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 literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/include-a-link-in-the-helper-text-of-an-option.png b/public/images/example-thumbnails/include-a-link-in-the-helper-text-of-an-option.png new file mode 100644 index 0000000000000000000000000000000000000000..917a66cc5ee7905e5076dd55bfd8144b052c0b36 GIT binary patch literal 13018 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

g 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 literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/include-descriptions-for-individual-input-options.png b/public/images/example-thumbnails/include-descriptions-for-individual-input-options.png new file mode 100644 index 0000000000000000000000000000000000000000..1b0ae21457d5f2a4a9d9d47c248641b5fcf5d421 GIT binary patch literal 18007 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 IK6v`y0B9t#6#xJL literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/link-to-an-external-page.png b/public/images/example-thumbnails/link-to-an-external-page.png new file mode 100644 index 0000000000000000000000000000000000000000..baf8068ff1c91eea118a7b77a4d5a5444efad691 GIT binary patch literal 5653 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

49`U`56PJy8z6R}U>enPoxMxJmd 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

Q*)6Q%1PBy>2 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 literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/remove-a-filter.png b/public/images/example-thumbnails/remove-a-filter.png new file mode 100644 index 0000000000000000000000000000000000000000..791255a3acd42a50534b7d565af4ee1cef7ce010 GIT binary patch literal 6915 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 VBE$n)q!$6_148|K&VK*ne*k{f)VTlv literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/require-user-action-before-continuing.png b/public/images/example-thumbnails/require-user-action-before-continuing.png new file mode 100644 index 0000000000000000000000000000000000000000..e07d55991db3dc9ca72b6251558584315b37f9a3 GIT binary patch literal 14285 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 literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/review-page.png b/public/images/example-thumbnails/review-page.png new file mode 100644 index 0000000000000000000000000000000000000000..991538adcf1b01dcd14f4c9823edd5cc3ea57e49 GIT binary patch literal 19436 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 D>oP+l literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/search.png b/public/images/example-thumbnails/search.png new file mode 100644 index 0000000000000000000000000000000000000000..38941dae8f7587347cc5f3c61d61ee960b764a3f GIT binary patch literal 4808 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 XoM=5r3L4x3o&u+>>@17TFW&qQOAo`l literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/set-a-max-width-on-a-long-radio-item.png b/public/images/example-thumbnails/set-a-max-width-on-a-long-radio-item.png new file mode 100644 index 0000000000000000000000000000000000000000..64632ddee9d3cc1cb097e465e655f31fa44e377f GIT binary patch literal 14813 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 KSD(9?^gjT)p$ZNF literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/set-a-specific-tab-to-be-active.png b/public/images/example-thumbnails/set-a-specific-tab-to-be-active.png new file mode 100644 index 0000000000000000000000000000000000000000..ad801581b97a16051db11e259ba5ca334c127017 GIT binary patch literal 41981 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 Q4jM+$~F|y!Rhn``EGg=QI_K`@% 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

  • 4H}-qyaLLDT7Y3s;!W;j-XEhz_bO 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 RCM*CrcgEhP%-ZYrzX89kG{gV^ literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/show-a-list-to-help-answer-a-question.png b/public/images/example-thumbnails/show-a-list-to-help-answer-a-question.png new file mode 100644 index 0000000000000000000000000000000000000000..d2662a1c9425d291bdbd7e30f45bc7b41a86e27f GIT binary patch literal 29892 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 literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/show-a-section-title-on-a-question-page.png b/public/images/example-thumbnails/show-a-section-title-on-a-question-page.png new file mode 100644 index 0000000000000000000000000000000000000000..cdc3a56f0a5ace3834418df99b67848cce998a85 GIT binary patch literal 15461 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
    _ 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 My7jf%E1r-47e4@HegFUf literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/show-a-simple-progress-indicator-on-a-question-page-with-multiple-questions.png b/public/images/example-thumbnails/show-a-simple-progress-indicator-on-a-question-page-with-multiple-questions.png new file mode 100644 index 0000000000000000000000000000000000000000..4d00de341e82a406e248ea94bf18d5b34ee2e9ea GIT binary patch literal 11906 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 O`2C{wg(5Te2mb=IXnDE- literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/show-a-simple-progress-indicator-on-a-question-page.png b/public/images/example-thumbnails/show-a-simple-progress-indicator-on-a-question-page.png new file mode 100644 index 0000000000000000000000000000000000000000..8390ee631af4a6f9bdf0521de15e8906db683b58 GIT binary patch literal 14926 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 P1iEq6_DZGs-N*j}=SnV( literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/show-different-views-of-data-in-a-table.png b/public/images/example-thumbnails/show-different-views-of-data-in-a-table.png new file mode 100644 index 0000000000000000000000000000000000000000..4f31ece1591cbf5937cdba8b39192471aeb73b0b GIT binary patch literal 41335 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
    kcaXQQVY0r*Wx9|@Hd2S8&M*`WeDvv9F_lSwuR z^-8Adpw9Jytgl$Jk?jB-cxSR**E*!S8B<2l0LGTih+{N>vqqJM1^>n_66aRDb_>9~ z?1`~uqr0*3c+6BBT!lo65RThObjSQEe%4*6ygxf>%lZ~^v+wNwPF?fyea53#?kH!6 zwQPxEpH)i9EOP#c%j=HRg>d2JFvWGIq_BT7g`lL_- zmSi(6<2fQ9yNXCeJ%K7tJX^#IJ{#tVIVDSmWWq=*8XkyPrX4D~$VDMest^X|jGzZjmLc5Zln~ zY2#1IW0g2;Oo?mMOTuWLLU7!Nf*5uZjl`KB4N(GjFIC_hc_a5mSL8opb57=OH@fy_ zygZ!*{A*}=Jfqigrs0`2OzLtc=Ez&Cvg&EJuiqe2dtiNamF6Q%@aEe*cW4xfha1;I z)bxQsRDl#x6mv-NbmO7$GNrk;Na6R_vuR^=x)gi z)nhu?e6%>8O?Zl49Ik=l*X3H1Os+*lZ)pILCoE0jM?a@CN4TU)J2^N=mU>jZXkSKT zm4jYWjKXD^v{M3~r*3~h3hd0lVVW)8bm7|V#ol<0ef!);fAJj0{<_hXKPpe*NjvN_MmOaL#Pps ziB94$p{D87yQUnkf|zMy-8)zlKC6=7d~1^$5dO*r3av;k?=Vi;AK-ZT8G}hR-4t}I z>$$C!Bs#fxpTeeD0}Jy8a)0|W-Yklu9NYAhQzTAgynl2q;^or^m*0&(d#~k>V?PKy zw=?h8FMy-p#~Nx4T&fq{H#vBe7iV)IA$fEUa+H6e^HoaALDYidBpXfhE*LlS)^jyi zQj|%MHKeb_Uqt`z{7+{Mpdgt-805CsRC5Z-Q7MLra}N;D!#jP4tCGuvLD%;Ik$e~V zuKt5X&Wg|HEmMOjYa+xyY|4H2D{jY^9N>`-S6fwi$!SzQ2@*iOg9^0R}(+Q`gD2tczTrXCQR1qSCU z5}xyDeU^r#{7yKu|8}Quv6n(pv1?6}vO|T73Cu}xTo&Jr+f~%%D>Rnw8te}8EsgzY z&lbwNi2YbAR<{(b9|Sa;n|g9%yrik+1ED!~^ilhr^g{hfX0!Nuqu;m>D_>r!2Z)&4 zEpjGqALab|7tq~{|3r6rm;aIOZpG1mKvQivxL0Xf`i>9BFw|Bu5#ByK+T!8t{@fyp zPMrr@cT)&7uZ`#<=Wt&92*D3E?pudw|J}HZeZqBW%T!G(m$4Wqe**3tY`p|=nt#It zO)@P4L=f=e4uB{6Zx`%M5;wpoueAdE&d(3)=GeJ=VhnnZ8m@f(YeDmtJa|mf*D*Ad z(s7aBL0%owM4`{QL2lM0)&KIOZZ{*o$gyEcdKcz+EGS5??}&)-QCIQhRvA{!37r4Dp1#2WU|K2S9c_XI zeEQRZ3C(;JAN~9^de8+c#I$kHuc=|X*J-`ORl$`sjNjI8=YM7W9x|>vl5=0z^#JQv zP{yo_q@=){Q=XNK9AT}U%~>+-7W&0};HPUgg8H>A=llfSHNg$`=-|MBkj8RS;*`Fa z=ePB2r{O9V85|)AgbK~c)fNlmG5grbcZy~6aTd8XglTXLggwi=F7OL-K=h1`RfJuK z@YP@8DnInS=q9&6&9HOMs^+!Pw1w1>$iCt~#9MtElC$Ii&|4MYh4A;S`qYu2uzlq8 zu>s-lGI@tyNXe4D}0~QHX$$P zj2sEC84}e2yO=NJzS1rB&|f{zhn2#sjm06YPYR_e!`uAX{UgQaFFMdMzvbL!N9O;S z5oj)wku2T%6Tm|jY2t6~CTQD5-yME57MM3q?Knm_}Y26@Q;nq33J z!qydu{w1Q?Q@N2?pNP({g_-?P*5@OII|f_szsYx#8t|`*YS>rPK3ckEziWNKoq#xy z8jbgHnnE#E%_Jg@C$J{C%TWr^x$|K2?6nWJ?m0bR){4?OZefS2$MB`cJqR&rmg$~D zZg&@>+zJ1g-YIJ5hCgX;T=HGSnbAomE$Yx<#6z*0c7!A4G?iBJ=X5!v!PenM;>@?6 zlYl>@VD7g_%PO<0I6%FvBOh)A(C^63l0W#5zvXo&;WS!O{T1ccHKLk%B}4Ztr_pNH zJiRKX9C1MD1-=AdnMCo$m$S*Q4X&mhKXe#_LQeHNc!9=2Xp%?|D{`6J{Slqi>LjYb z!I8sWWaVd?V27)K5pwpM#)?ylpB8#cWAI#EJMXuOd$``=-hA!tCa0uK0T$}y^LNkF zgzS=2q8UL>I^$NK>`Y#RwVUoM>fX|lwh3XSzeUk)*XCru7Cj(aM`JYxamGh4)`F%_ z-lkm@z9xwb6T{Sh`SPU+qn0+!;|bwJK)&so@&$$o?MT76v#nBP2TvE-+QVPE5xLC8!B5}Wx z0ne9-o_!tw+h>naVQaZRr z0gvlOMQD=0O1@RI1#RE$dj|eGmcaItghy4S28oL7tM4Mhofd#H&w^xON|=?;GXMB_n8S8efKqa z?$|Lh$2rl^zL&Yb7jA+fX(NwiV=Kn#xkU4WBPf@g9)8V#wg*&H3|Cb#Er4w_ocjuOMa7`&(4?1b3f~O`z;~9 z=f$ZlSp2PLF;s>?SnQ^(`(>)SgPo9W1(KBlDdsLxOeNgC<`_YS*h3~b`Jr}MB?HDM z?@)AYtS^T2y9uC$BwlJmyOQ;qPAyjr=3(5789AkU<*9mJucg#?pU_m;eLRf5UpQuo zHehL|locvFB|AbUtoob_1E2NNH5Hi7)~Y+4uu1R5)pDOa)i`&dKuT$D9kQW-0(F}G za)^u}G2>dj^u+2}Ho4*6da3xuPPp<^rA>iim)GYdh@SmQX-uY~^9XOA^Z2-|oLrMN z;r%u)0t#N5hxZ6fte@xiqblrD9BN4tb00BBEV2YCCbbUdgH{{`e8|~Uw@+prN|{Y0 zX_g&1&{BYi?kmPJdFwFPvxDrRKIPG;+Kjh`@&_`avw_F8hvPO=gu;^_siUhEJqeY- z`L!VG$1JssU>l3DSbPYpr~Wj&BGxtIHNvw%R{ivJ*#Fj>&ND- z(Wdi}zNeeT=vl@^oz2OH-lj1#6g&n3j}bTsDmtQ07wjEgOAYxAoIMb(J1V0A@(U&(+b>NY78AOUksuPK z);sK3`7vL@{wX~6_DQmzV(wW)QPiUa^X}7yQRf4xhP}8ooS0dy_iM^5SyC%^^1ZX_ zKWfAEugY)pgmrMpN~&h8Rj6a4vP;d})3%;K)oNQeP_|DoU8RWi+0#PvZGNy>-63hj zQ6z`FyUSLFLE0KZXN_s)LQ=6dQp6LK`QF%L2;SF65&|h`?Ky=xG%Z-mMJX@1nT!U7i#A|oktk=Vv{3tbPwW7V?g69D+-kBh*u}fb`z%k2#2iW}i@11>Tpg}ofcCOnEto;L zF}#EL(hh=Uanl-2RX@<{PtiZFs22>J=@|+%gAx#V=H#u+7Se$xH z(WU0K^$&E{S=qws zHO&>yI=+hwic6_6P(55nph+XPLi}3?)<4yzulLyG)|}?_bGJ5wB}WA9p4GoJ9#Kt( zVDGk-zY+)K!ZUSBVcE2F&CF2_<3L-z5H^R0+P*g@LaY)g!(szrpA)oE9}iHOmkp#( z7k~b2k>w6C5D$!iaO%tz)}Ow0pvG%*^oPQd?j}0q+X>s#3Nm{Ljm zRPUDw*w-&`3LmXC>;_1r8izSvwZ>cC9k8wX&P9sgsp@X9-h&%9|1dx}CF%Qt6KbxI zap5-ri=if*#vIpIC4SHehk-ecZ zwk-AFn~mK8`$i7k5nG%~sZ%xVyl2F_%u^AEnEDSnCFh8-Bq+?yOlK&9XVNpogo@km zw~g_8N2_Iw?;TAeeg1HJH~OCRjheic6&bv@{mU{K*Ji=0`8Z{sNx%(xocQ{|)c2$o zYaniGFS6_)B`b`x*%C?3e=6Xz5+2P)ce^Rs#=8Gw?nR3AezAU1JYKPh){4vY&;C!W zA&hHOFMA$1=sdqV@tGsf*k1e)Z3@Xr;9bPg;h2x?yJtbV`1xo*EG*nyY-!!n6cx*& z^ekHa=1DW*{fkJ9RUC3m(l&{a<#&%i1dQ^(qI(ilW8y}dyi z8Bd{&eM>u1iOhs9;J|Yib{b%X#o3QimIwP^q>xTgsxzY2YOht^=`4EPsIzZL!X6zZ z`pM(voC%_+xL2`+5%Km$? zf&wWNh?bCQY?h4KPrlY9OKd?a?H`3{&Oi2{UxZNs;x2E1CIQDwpFw4ngl?xv9s*2G zt@Y=r6CcE9!@`Ee&!Ki@p$_SC*=_9_#mXTP5vK4dvGb+5AjI7aXd$_<^}Q~;Pxnkb zD8{RFjykk@XT)GyyL#4nd!OO*yxgR>>l>Fom;^w4DOI<`l^u3&nU>#^pt-E#+A5`eKvK3h zOS|g9_@866_P~cb_G6L85PVFJ6z9wzli zDX`x6*-nY4pbRPF;i0%Yd4p48Vz!D;Wy_enXU3m>Pm@R}PAV0wA!o~Dj8mLIe*+a3 z@;1esXBvpCG zl$$Q7^o%S$!L|Dc@>p3bw3t6jzhosmiU}>ox=HO9@Q5shLQ+p zCj@XcIVVzulfX9PN9>L@{cq zWXy!-D7KK+PU*HLPdsbcolqV=*|=&7zZ;DR6q`@C-2()AbUNE|6lHyNmPkvL_*%5? zwiD-;&RMBqimH!uS2}CvYjL0H?B3j4&vDasof_S#Op;k$b{L7YTVSh`gBL1~PfAJ*4piV}vg=`yy6eXOLOg2-f{k2rmp<`;x*_O?@=&Uo6pGKU! zvN8Jz4b!;OfjbE8b^(4z!3kvJ7tg8T64=)eBiucYH$|)4PejO_{Raa@I}~o!{Dn zv|dUrd;Me5hX6Y>tmTDyeas4zZ8P==e9L$Q?go2|dv-EmnELC)LXe}){nZcyj(O0d z#jm6C63vX}{B=L^7V+Wn{3UGtV^yE~`=a2hLT&Jam>+SGpMpF~UUM9e{uFolS^S}m zvu*KM-PsNlV|SOKN!}6pj1f}dDlpJXq^I74d{$|BXCmzEt=AaI+~@N6Qe!wO0YjU> zC+@`la++IuHX7G6=G@f($jLbl4_$oG`Cf}BOF9L3U89~GK^j^tMnrW8BicwQ!6iRK zsOauPTA%^(Nv~xKug1Tp-<7LAtzXCkZ)L5-Amg*vV`oT%6{3k_zr3Tj0Xuqi1n%;+1+KXC!wixG3yjf)w30u znA6BeC@;G^n&*B(PXZUHC)oOiMZ}!4huc;@7V+>=3#HyGq6$AT^YF*<2Oq40isO~_ z*{RBBB-Zks(sg37@my2Xzqq#ls6>w8ui>0zr!z;dEbEF^Cgfz}P64Mh0UZrodX_8} z6b@S0<6;{^r!6NsMMZ2HlP?WHvW87(uX|p&$KQbH%iF*P3~5ka#81P;JNC1W&vN8)vnX5)oNb1 z7WyC@aRIv_wARK|K%{A;4a3m-SeUFndC#5>AAO+e$k}=+M{f_u(x~nyAJXHdq8F%tVeMUjv!8oc% z^Lx)*C11=iTt^KKGiv+PuD<$jU8BEe0pT9HS$1z;mO{+uoBKzm^olO5e*JtM;J!@l zeacva`x15i`v4O%F4^tR-Hj}&Fmus$ylZrb^Y7U|1%^R@@aFv8px=tD>?@(Ds3-sg zR=xc@sC-pmp2YCsclCfoF8n`g2mjvf)&KF@s_m9j+o5ZfTv;H+vZ$3KIsQrGL50Pq8E-T6~VWo-hsEPD!!8m0-^fX$Rc zYX>07ip$jebmpI=)cLI1+;aCX;q$3Bbf`u3;3lQCvzh}!`xZiWgYr_gs^}$z*yR30 z1N*_=)$xf8{>Ah4b(EV z_>l;o&(Qf>sus|Rap1(s+a9%bigxeA#mT#r?$vq_7Xpw#B|W05KwPo)4IE-8TIp!m z6S0_91eB(9gKr0gKor-0in}ewqTcZQGPNogU|ZyvFbfABaoLH0T-H z?`1q+Kg7m#M<7C{RE+$LOi**q?Ci`wk>pJg%}%(<(gU*)?#*p~GiyV)-tWyHl0m=z z5l1Q?=yhTTe*4De;Mzfk5TL`SFg3*!%S%_ni*9yN=(i^*Fk z=R?5>dM*-k5hmX`{WV5vH8^WS?#-@GJB=$wI(|z!;XjF}q>ak|Afkc*5Lt98_csuk z?)odR3A0QH*{2N4$CDa2pW2PCs{d@#=-Qtl7t-E(+`1=owoZN|g)Berd z%*B($B-MLp7cZOA{*rR;VkokzDZB+{Z5XQe8I)dG|9S5W!m~m;wDb*XY;VaU4BSYH zR?a3>2bd!#X^_${w`kg2PmVd$(ux)*2l95opRfm@c7bK?_rcv#;#)K_^&};k!wIm; z`d8@r1~6D@7D#R4qg}la!Y4@?3$7hXUURvn(8F-AO5qbj7x0#goG`(z*D>hmVoVFg zp0=HAnK88zqoKN5Z(tMo7OJ;roZI*{7LQhehKPnBpLOMSY)Ep*d#0yfn3(jvs6OpM z{Yc%lsOB1X=wDkoG}aDyk$&Z zVKblf#BZQiLL5~X?*a24G4ijIwxBTcuAltVLPg*h{M%uqE>RZaJqprK_)AOXv>2rC z$3Ek9Dfkb}BJFJ*^$a`lhYzHGY%T89x|!8c2Ej}m(~H;BZ;!a$M{|vmllQ~cX$cKg zvj~JQ@-2002*ZD|s+$cuyH0c6=ZK;G!Su}aS~hdBJi0oEtyPO z@2wGKG}D^yPf{A985u^?`cj=J@+bj9QuMCOcO5g!d#BI}N2wi9V&C2Ob~O4lkKx8+ z&+wh$aSRZaIoSts6*`&lbLPbG7{_MiQ&0*4&12fu@{o9EIIlGcS+>UX(-e(SO)Awc z%dyQ^oe9ncee#p?S$C*++$Gn75dZF%TGRiMOb*?=CX>--5Nnq8MB?l?OIJ2zxZ1UI zTAf;ty%b7^bo~pMjEZv>wwIpa>cHvC>q%K}u|Xhwjl2%4l>E^OYhChCG6s|L;;nVy z@h&1pH>KC99eZ;sotjdrw-w(zx;kDtacS$K)q&-6@w|Vo~EE@IxL8AeYxv{I?)9#ehXP}Hruo_9)LV6??bE*?8a*Ln{Iq#r92r* zob|Mq)GDPayIv*YMQNL>35qpTWFg@BNSRZBDt zGz#NNB#6&~+hK|WrMzq~yWR90#ARX;Qya{Xwx?phScFh;l7(iLw;{}U?R#Q7PH14& zl?zT+u;LH{@`s998s}<_j6nxk^AIi2Sbq`_)$^QtaPtlm8>H#3MZ31{olurnOBS-V zi;<@{Tm@|A7|;WxY(@2k( z_A-j2_fhtklcpXs#K+0?U%UKCooAneO-VybUbw=`hCw)I zYBUPl6(;o4UHDW9oo#zdK}5Ft zcq6!)<;GWu+X*D!%ma{5*_y^*V6U~pM;9<^ehmvRO zrBd{BJVMsducSpREg98@~f`E-d;#AaRB}4pP-Tk zsISjxtOXmqsJCFpI9$mX_RN^%s4hUjs8v(Qg0?6=(zV^aiQvr={eQ}@%I7;z>dTy} zKpY$&SYYGpKQk?(cV(eq*c9-R*tUC3Kto6#mifBn$*+N@i4A5nhn6~dvWOTi&3Lv+ zOGq;4w@W#${T4QI?%l0xdx!Rvm5>H5AOOpu8F(3t3ih@pFNOJA+t8Zc@-X*zw397HC@Nk z-A&IyH2OIfbbMceeRySUns21SdtDHxCyQA;#CC3AhsQcFRx_zUD5 zgc6Y6MKWs9Ep8fKi^uq87gMzbxv-C0?~kc_#cIwbf6-&*9Xw@rX@M#Z&}8g4WweGX z1}NT1z@8+BQsvHbDCBEWcbcgBB$9Rt*e|4LKuFZ%;zwp_?9G`;Pww{$%-|4uQ{y#Y zaZ}DZ#Fj@Uez)7KKeIP-ql$lkg?IU@$$wT8;6K10AZM4Foc8j0WYob}PFG$vzeb9`tL zU@8hR*VnMkVn9zH`U`sq$6f{)E5YKhCuQu!lK(< zg3)TIK)b-c%Udes?M?PJI7&8*B>!tzH;``qYIG3ng^~H3mB@KeR&|#zLa-OBLXMO! z5G^P2h}=2&(eR2;<)_hA^6P}FDa4K+FUUG6Q4s{RTcr;VKE&qapM^ksbgRD7$;srr zTTH}tCDuQ)-(sipgYHW0B7B3PFzH&S?F}jLOlzzlHI(YNe(Idq7aFg}VL(8nOZXK> zbs;6g$=#S0XCjnmZ=fY@I^pjPSFZ?|>AmlEyL2;1QtqRQ)gleABfPmMR?_>Gk~X|7 z_PE|=B1hBgqMKoP1~O3#P_TP%y6a8`YLBo8kQCe)75X%Mw|!aJyV%| zTOvJ?Eh=wSj4LQWhoh?%_)C^n$Po$a|42e#|u(~kZ0fYGpePBTt0H}eLD=MkyQIHgBbTh)Uuw%xtSN20krh}^J3f=E8gu6 zjo{rJ)_Kf(pS#VoK$4kV%o1{prciY|z)OYHyiZd}BhH{5;#tMHrl6%_)fI2C7@b+N z$irSsScr1BxhLDqkD1=S@fQNh&0dj8*9NDo7ZBhkK9g?&r%#ySzX^YL*+zE3gViN%S?9J9LCFiD`? z#fQ5b^{a0`Rvumcin0@#Q>1|j%m^E-Vli&r!I^frsJtz$S#t2ar(j}qCZQL<#W~Up za8mpK?xeC=rh-Ep2$W)adU+LbdQwFPeE|h^oxF$hAv)DL+Tr&oGA*{x>2@A#^j?p6 zuUgWl49T~I_f3-=8BhB{&v^^!+0V@r43_368vGkj?t^N=CypS?9_g!dSrPe1vtfuH zMDj&Xc@Uu~TX$XPC&nmr-Hf6_WBgkP_vku_3g37}Wa*_HZRyq#8@*n*cIgEDN z9?%|stJ{`KDt)Y2RY5s1S`rf^LzkO@W&OaN4I*bkxbD4_WLdkdc<*XERN4h~d02^$ z5KcCS?21`*QTeAr7p~I1H^Bu31yXbeoXyi+O1|8~q#lhn1ollZ1W~i}Nu-rxpm(d|q*n04#Ei`CGr8s^)5!F+q1xApz}8GIZMNWDLg9g5 zPBqT%g)vyQ1KSSwfhgpZ2u07@BUt#I`Cpkt!j}Q;Q_HxkTrqE~YKt#J*68v1hMJp8 zsvg{7S+jG;(G~kt(Fztdr!MXa8vM<4h2TN&%=)uI9*r=%7FKO@Xn^QvVPPThNIuBkca~>rNRvlIlhvhIaSuScFAwVa zmG_DNi`>APMnh+LrML7guFPb!{;=QmbF}1PptiG2Fuf7ecdptC|bd9k1yh{tx~?- z@7BTu^BXKzbJM^sl;7iz-zCJz%Oy7Vk7`=o>rj6zII)xctq}W!b1mooZ?EzH!tQ{J z3+xs)5iE{fqgvPUdcij{vr#Qs;E$QBFd9k(a5(;rvg3M89GI0>7ja)7<*Rf+NeR2I zzWPmOHP?P`O6wCkZO_PPYipx{NBwzu2lZ5uS%p0y0J8EMpTCX&t~jk z=>D;>KYxi{ZJRu4Xk?@YXp@L&>Xen0!Qwfzt7Fvx0($iZ{PV~d7^boZ_N)LJ{xb?l zhq`2V?^mi5@LX?jF)}X7DaF(nUD*RaTLzqStK0)p>Zj)H8@%49crMAaKT5f_BR2pR zYv8?6Zr|~V)t;BhFlai>eR@Ta`5L*7w7J6fR|cmR6O1+?+y=Th&cL4t6l4vRWAywsb)D4Fp;RDT8D5x$Oba7B5YD!8jNzaVB1-8{OOxjGK>M%CoP zW*4xfrxv9K1#+`Neyfy4Fgax@>5JUbG%7zU+hU*HFS#<*w#5>kbSmxB0G+XbvN+5P z^F~(Ug+Lb~fyX`Y=8kG2ZzJx_u!h_Wzwr@0*wy9PSx}}S%4e?|i?3UF(qlfVPR!}u z^4F$oAPbD!a}3MW0OMD_NxdHu#GtlgC0%>V&kI4<`B&=qe;L4Xv7k<}w(W`#u4x63 zc2NS%T>9u;87{(YogsURYee}t-}^ZiU&1~UIbyHKe`K}EcXk(O{)k@r zqElmoP+RF!_3Xt2y>1EV;*z*mSEs(VDc=PncqNj~C9UDhS@x7+9`Kv9(?^^9cxUb8 z_Oy9dQ=vW#P0$SGfttCPUa+avmz|l}o=`YHxyACj9Y5FGDJQm>&x?FlLaa%PuT3y;uR#am zF{$%ZdZVe!x3o5C_z{QEq<;kCtnrx|PSDPcv&AgFUA_j7W_I)S5L)|o0;RNXk@wE? zeRNJLPR(5DDDmd>%iq3kJbec0q))SiTf}pbqr&9Usdb(geMwdS`lt3uANhy&nR<3( zh`&ZCU2q|Ed!aX7)UDotW5@BTu;J3nze}uHh|C?qRk>fywz+XVv$Zy@g)i+ZdX@Ut zYfIjJO5x>HQ^O>Bvuby}3wk7d<~_1IQ90QtZ#-X8JXb#@ksO~?G#)(SrZ4*1`o0R&=}kbr;(!} zq#@-LuqG)Ih_ra0#gutdSwmNDXiSPG5||vkLabUe)h_Tgb6Tdh3C14f z`;c;<(~mOZkwusGHs3s1G7OI;Y!F1M1|@|za4wIMv2l%;^fY=!l)EAGb?OfFs-kn6 z_HI074~gGMG#~%MOhDBcyU_hKuW4v$ z(t+S54GZl6Rz3A$HdChNEL{+I8S+aQ&V9!V2@M7_C6gj>e)TQB6KTp+$Gq>acT3HW zG?nexF3W(bGFX|ohRhv#5QO|@>PUFu8uN>}ojvWSPfX1$vdBV}1hCKt)KA$GH!AN0 zoF)qXG&2u6wRqlI(n;-_$%}yMsIs^n9~b9|gfN&OZi) zo|$`=pd*L(Ob^n24^7>5Xy-Xu8Y6X^%)`Q5PGjt*%_I3&pWH(habPk}Am$@aJPaMx zx5E9x%noU1SE)f?!3j8(YM-0Be$+9Rz#N0X?+ZGMS9iFkhXZ<-1?*i9r$t2>?&pRI6~5Ik79 z=N2I&GM&WP_U%KKTqh3D$Zv_cX#8amzXcVVlEc z>gIb*IhLUqOSWO6gH#MNM#ge1V~c7;S;k~ZXv7ghSsKfEa<2D1=eo}I ze(S^g{rT`b&xim2y6)@uyKhKG>0_pzx8-R=gh6dR&wvu~*tx?l#80E;98VGo$W1D5 z;45furG)*R3T-XAEEf&y*Hw!#vyqCkDl*Z*Id!V{HOReD#J!<2EKBqlZdZK@Y{T#E zP_Re1D4J3?2h^|)wmT1uFbzXdOg`_31PAFYcavmf{WIAxNTaZ0#MW>R<8{mEvO`J=op2nli;6ni!Lugsdq6{Omo|3w zGfGMh4DIQ?I`*q3p1`jtAl^RB6$gP+wSM;RN9t`^8%OsQs_DF_WPM`;UQ?*|LAVO@ zeV6R*#?Q$Up>@bac9w$k(*nOBR(*|~h_JHsuGf^62Anm}rGpBIo*JRo^Vvt=&oPea zk4g~KLuO`1;>9$Dy2?*zthhRl*^J-7IBYL9G|>Z?4_g9Sk$ygrbgu-WUNG`O&TnZ8 z5~@bMwgYD8IbzVoJtKS~m~M=HQz$mLH?P}~V8-Xq#2&}J?fjTqw;uHeIy}y# zE>2oxg9SaJj7dAI-|1;=-}L^ldak-GHuc(a$|f$VA9*wJ4nk(tG2tA6|`(rwx|daF0C9amy_d-H%unZI^P#AQv3|=6PR|OwRj_G?#A`8moy5Fal50sg=l^>JrI> zK@o;f`vc&&LyjCBDX&=lDLN?D+`~5`0_NZLhLBU$Hk{XPTnyi?+>TSWhCmOIy!CYF z?DPz?${h`O6`~9ZJ5+sMa{T+CK8(b?D02W|M1Fo3zNX%*M0r z1@<<jB|s#Z}=3zpZm^_at>6KbPi+?A0^wh#$1T*0Bv@k+k z+*dSY@!fpy&Id)KSupEl&#B_qGgYz(l&VMv=B-!G*D&qse39(}pm*YisFLwX>#g4L zB=A5MoY75#Ho1M_VuvRuH(6gJb~xi}T}j$et3^V~E1h8UdSu+r9}e_kU+*(91srK! z!Kuxa-o>n)@`!j~z$v|Jexz1{jHz_1P$}aH$JqQXBY%#*oJCppI3w}O@95@5Y^g}5 zfqel)_4I?9y~hww8U`ki7gudyj~Tk0g0N{xwZ=owjW#C)$7<<2pxM=%=w2RbO%tP4k)^X`=qh6=$5gchg?JQN!-5} zOcB)#7&bCPL)?1U%lY7uiy!xW;z3RC(`I^is56=;=-qvOf?D(u8v*D9^`&|E*~fsM zw4t-U9+mR-_G1;+D~W=MwfXhPhVgCIsHGv<2an+7|1U{sco>vYEf&h-nd#sJm)m5=X(Gb4t*{0ZLGb zB_DICOG-h(!I5>|&or}1mKo42?Kc$hiS2HH{vN=T5opJC7;XSdkqqA#tle%G*w_u< zZAdjoa$L;JVrvWTzPo=4)7DVhIOn<;@STh$#)2(wD^6dLf}v5qCzIX*Np;+JY}C_p zK^ObU(TU(1)hBPd@w(8=AHYBFP=BT2?MuU`{E23pIdgL>=(+>uCnwYA%h7yba#=b} zx>Ibysw*o+KK}wWu&PfL>qfBH&-r|b{D`KqyBdz;z4M=?Y)JN3JK^1NOSz-xV0=G( z@UpP=iW1QHX^eTjiv|;4KB7|JumkiQ@XxDYyZ8zoS4M;NoBfrtLLUFy7y4g__`?S; zx9QlqG!O_BjkvhOv{lClDuMP_@q<7n*?T~c=b9kUUMFr)G=u>H33*C_Krt{bka3z9 f=>Pj6;Ct5jok-n&w`-Lo4QF*SK$4!lW5Si41oK>Or=U)w;h^A7`q+oEq+ zT>w=NDzku_ok8dA&x1g98T*93yFeiAT~{xice=Z6VKTH*E65AHY_d?7Gj-A?^jot{ zY7S-Rzg`~QeyZxi%w?*4(X$Ij4Zb(~B%HUkd++?@&nqQgE~0ZRs2N+jTEjBQZz7kZ-ER6D+D$0JhcT5@`>I$lN9nt)sbwAjQ+xe z42={dKA6w|3%)YC)kMothiz4Ku-qSYP|3Ro{T-KhJF%7OAu5s)ZdO^D_4MUrqf}oL zwinx6u!-S!FrS^fyV%NXbQ;^Wa@WYjpY>X}(;!lzyGshs{2=`Ouaa%OG+A6nZ^ zGX82=_;ns*`_1l}!`KKke&Mk7>3$T;*4tegA?dq9#0!a2=5C9tL>;v<(nHZv$#{6e zl#SXW*n{(ZM9g!8@3t7E2$0lmN_jIDjVS(asKXgiJ8n)8)eL z2WbC1JuQ9%OeqWIHWY8hTa3fUGerGS<%F~6GwCThGer~Ey~!mOQTiWRf3-bFPkA!R}7Rd6J%02R9MNDOgf| zICS>XfPKmZ^X1MRe)sYd4;FUbu)va`1A9?VllS}M!cSa&)U>neGI4gLDXG@_o~;Sz zEyyh~I5=2{?{dAs=tv)WJ5Z z`s&Lta@NXx5I8>UY54>xwjgnXMP!Ix*lH_?7U&|Fx#7_nQVCR71@pqAZ;-C|p>Evr zH9Wdw)}TfKd~R4Gb*Dhtqul$^#>?w!?y@h-x}#|;>2Z~UQIJn4u=Bs4nmG3I*Z~pG zTO6aL7t*nG=fox46OtBVTE9@xZ;VAkZ7;YQeSU{jE&CDw+GAH!x#@jPww=k-3lr|d za?J8x|AT={syDHu%*;3Zd$Ye(WSpK4FC<7R8ky&!xcEZmkgkgC^H>t@Yg8@)sW1T zv^khwZ>LI32z`!_!!=-72a;caoV)*$HD_XrL!Gg?oFkHvKRfSVT&$s7bYp~FkEn?X zu_))*tok13-44MZrS>Ua{+|3I8f%VG6;Qf)TV#Lk0WAGd(wrR|*VKzk z+@#VItr5d!7CFnFyc&isIattn$jo53+V2^T9h5bcHI)rJ^k_&?$xJQr8vk^@|DKCp ze;nb!v4>!Hirj*l>)wY%8r`{44Z~1Y0nxIH~aSe=Ly;7?2D~KNJ zYeLQEm7w(Oj)in=c&@pXZ|QDz`v2P1$skB3&MO-1^ef5Sn)UTh#3$c!>Wl}nMO*2c z{AUe4 zjF!_)2O}@qarhVySxL~vCZd*(9ut0cl^V^<7 zkO22MllJN@#~Rjhn&9BsSx&6p+DFS{!-jBvMhmDmCMh5`YiCwc4>!VL*!7#*##=R0 zeH?bbVCS#WS+mdJw(=YU@?6`Ly%c!AiYZQ}&#H@1@xV2g3^6e0!ba@{*jG zFMnH8ht?OghXOE{Ex0^(+*2o+HQ`FQb=Q^R5kq#~?zKh_JHGFDU8&VLxcgY?DdiE# zhmsq35gRWm?#y5FU`br9#~@zO`eD0$f)pD1t1~eJb0%6bUs97gE#lWwx1GciV!k{G z?yPuwxK%h(v_f)}^p~`iB*q;7yPSKL^7x@-VYx@2O~l~A6QwR?uTmz;+n|x#8AVYa zjP&nYoY$r1!uq3H?Q8mUunjiY*1`3@DSC6YLrPUXke`$@m_jqeAGJiZrpV0 zwIhKi)Ps)eFT9kIR_J-57m~km$3pPN5npVqLV|AM5~Wcaz9%?=lf&`eBjJOFI&Jk| z8wctOVoZlBOSKyi(#A1bOL$U$XKk=u<>9f`)r?!Ql*xRrRp#UE3tPGqK> zzIkKh%R-{hJ4(U5Ts^sOa~plYve4w17{8QgS!mzYfx|! znbGkeY@qO5p^U15dBFE3Oxfx>Ni zcYwe5Ks=R6=t-cDtR34qVmM;ZP&QQ^I&MSP_E+J3Dx&21>W$%~Hoq=Elj67ysnhMF zi_|(9ex&<5B(ispUTK+(r7qu>N$~k8w*7nH>aB`h`mP!B*k6~s*-(DlwtH!A0Mj78 z3NV)Px9)P+xh??;Q|mtS^UO2f?WebFltH!n-2W1}=+;?ZxZu4xK9WpOjSpJ~ppvO_ zx++?@vTamV1}HwDu&Q?%mPlg&swDemSj779|HzKZwNgd+-(6><5HuEO*c9d>YA_n3 zpTK>mrUKNs$J<6tNvOqWf>ESTsFs#inwlMdfohb{4ZJ!Rk7_O*WnE9?ez!^qvgG8Z z@Ra-?2v0*-o-mS?!Vll8id-8DlA&`f==vb4`VvgMi5HvU#EW!1+J`?H4P?}k`(6yu z=8{@`CMU^4b|RW&(LG>9H#cAZ`4E{K=eqVOuvfw$_U78BectO`j8y%>!}k`l7#T7a z+;0(mC(ESfr6uqN#7;<4S8wj?2cjYJU3#_Gb01=HJ7;XQTm6M%Am7SmZ~M9DsAj_v$-dvPZ(YndoGs@d z=U*n`Ld19G$Lwn-KXh*7;RSi!-oh{5m5Og#`W9N~mI-SOg(}(~e?Hg-x;qCXz=EXV zy?v6a09@uI<2T#!N|vk7Gg7e~f_8;%==SdA9Wv%;JW;&i?#CJ!V<`V)9upJ4r~tY* za743#C0c`vW0ge*=)wWIx$rYY_<322zN(edA5BN`)84M(fqg>Qqzek@CLP=o9WRW| zMGe^yb)v>}U;*oo!H!(Y)idebqb?^LAn?9^nb4ti210?QMbZioPD4b~t~p7Id2k#e zU*m1Od-z;oOrVmtpwA`UV!;g!^IiEYjZT&i&dfINJQIqq*1sl@gZ80kO&%tclM>AozU3Uak^o=TwtV|e`wewT& z@)HTQgowKWqPJzjyq}uVP0nXINNTt4Q8n!!N|P2Cf*$1RVTcAt?%rfgZ>m3tK6yNWLpBtq^#~eU+KcwS?tHheaqX%WD(=FCU8SmdUi=NyY z-lsGiziEc&n014N-QZMvv44EFE41c8KnuBHGdx z?XV44w33m*2^dQv1=lR);Ds}hC`o_uMvd5%26@Fs<}{@59P7{F&5DQA-^M7GmIf3< z!5n?CzWL@D397A*mP;j>vMYfZuXh=vMGoCj7b3Su&b{CTVYt~r)Emt4?0%1#j+HdH za!z@a-hu>rS%TW^(4O$?qM9P@Hz5*>nP^eaW&?R_P^xIyxBibj-q;dz0J*^`%g7K90GrDg=H9d4XyVLb1Jjbr-ISR3sgPS{w6|5vCc@j2-X`&D5TI=pKcjRKEN$2jBy7DZex0L{2U^=KZz& zh5ot~9r3Epl)2zcCa*-=EofS_2>|kym9XeOT0;;i^MX-lY+uUyo$)Y2ye{=0cMD?J zlbv1M7gxHbAzMR`G;!Go7nr+;bSgsg?b(){J&F&WMdU)qlSr+s4cYor#j$eCMK zXs*>%LTgEQYl(!hZ%pC?@4oj3@|SaH^h&0DB166>Skm|R3BliLb>rVTVZ|$kH06x9uMFa_@?NWr%()KXK`})lv8+cUhRv zG!ODRug@^nkfrFAGee=A*E47GVniH({;zHc>c>j^)mSPH*dK5ijvrVHI0#Ifqus`IGS_5x6XhTpKz5wd$y%O#Yi!XWYbb76S**w8!)$j3rU`7KIwf z6iaehDuV~ob}sK6yNvB~&d9HQb>xU7p~>qy?^U`zv{6{JU@n->^xD7kp8avnhLfch zr7Ud!fn@6wRkW#{Q+q3(zm+vOc7)Sk^R(kSZ^xe|bv4O1ixUOlk@M9^l|@;_Xj`A^ z(@`(u00P+!7q7u(l(KYVhVwl5Bl_Z_k}Yrq(W9sKbtFka_W6O1Uzhqlx9fDD(Mwf- zYecXsz5M9s@LZ!c&u&L&pzcO~%+=m}Ozq7hCTR8(X@y(Yw;_-Qj|BlkA97;!A4YxM z_(3$m+If222sgcntO&bu7(#+=U*WF(mRjZy(r#a?Mx9+k4Qxpj{;H&Scwm1@ev}+A zh;7v_F>+Shu2)&~V5QN;%-4we>WGS$$`3=gK+~#fUF?mFv!KcxOaSHhlyzC@He-#N z5*H%|zo`bba5(w&*;1DlZAllhK0GamX6KyoGLrE~UiC)C2jb0g8IU9^_@Vb^ledzz zhU8nxFD#z@n}Ox0-0eX^_K$QN?{axX&*93^`V za3*NETE`xz zLkeqc+#%Xv=MZ*{ET`;!@20IWGR#ZXhiJFo)Y!6jUV?iWwTir}f{fX1v#&#YFf-i0 zTu}NJE{yj_j*|6Cqi%VZLJ0CMtxsq3C_2>KXU1EgYZ@l8Gj=)N_7@m7BeGELdV+hh z<*~m@QL;{QR~pnpm7^cr-VWa{?iEYEA=BvnW-9vmdiCj*M#SmF?26Oj{p?KDRnIxC zBPMT+)VgF7Y`daniBqjNt`yiAS6ysY512WnkZUxRH4=UF7^w0K=Ap$E+a2u}wvX#$ zR#F+i-esu%w9b}MmYgO(E42MtfSfCbY{c&P84)Gk;>(bbl!jz%JkM%zx2>%$z#ycQ zW9K9sY`UV8Z&jYHRs=Oaz|44EBI&hXb{Ha_d7j^xqdJ?KJNPVpF=yX4X?bLJTn<-r zAF=)K+Wv4yznA)dAxhX*JCwDPW+spOj$w96dxUO1hJ!{=_57Dm?Ek5y$4kU!{f0%x zb0-S#gM2hJwY2unYj>?`M|VkTNCBU4L7*_a4j^CcXn$JUL7WHRqUo07j zqH2$U<-P8FuXPmt#*D!T z*E!`Vk0WOYUGC|RTTQb?fbJMMnr1kzU3(C~PF^&rHd=ni^5osAv~Kd41bF=uZ2yOo zOF+dl^B)f`D=^IejWrw)pY}n|bj%0nc;E`Bj>m9&KI%uAhci=}s%n23(`^Jl3pR-Y~M`|b6q&u5!GJatBG_$armqy|bYyJ8pWw_Z4pp7cP9n0UMFWv=8jqkY?k^Ws+5|ynQK{yPV9Hu z3LWnlpm>OzwDk+i_TA+8Rq0QrhjkYr$~boMOYKn=UZJVC*CH+8&23(7OiF?U8wLH6 zAhILDsy0JPVD@>FkpvYYyNbEev2{!2Nqyg>YCBnnQ`tm{Ubm04`)t^+!D3$xN#gv+ z1k~%AU7VxsXt8K!ne!W2P3;R*B{pWDg;Ob-aRA}T(CLDs*d7G=aU;B7fJmI(WlFA3 zM><|L;q~O{CJU(8BhxDrr7?ZNCFDqZw)ba8D0H1|Z#ol@yHBShqC-nhCGokqVQ?tY z6xN25%IaOqQsfkv7SF#lf>pE*)gh_%i(#bS;49s2u)c+!xVi2+3Bi&boJ9g=AzpZw z;=N#06`iK#8Cr1E?TVI^)aBp#Vcm`H@|*Ug`T_4CYiT_y-O*1_+Wk|`uj$G7%Z-7rRdMb z+h(%__km18C?*T}hnz#b%5%TdE$%@JBkyDT+p2LJbFl@SX3rt*CalTL59yq#j#)Rh zt^pc490`pww<~m+)HR=^bQl&pgd(8B8>`}k!v4Zgr8p=M5dyNw4+(ATr2 zac-I_Qbv$AFC?qPR>Hd@hiNftrcVQ}Z;$V7dRM9G|P(7{yygfShyMEON?&@K+{2JrfoqK48mc zMpj-Rrw!>=oceluH$tO`6EJ%S#!1LErIZrf7MQ`CCG)}UBaJLkxhZ6%P+Z1#XMHSC zgIB;H_O_@p-UrxR@jPn<3_kRs;Lxz{ChWW3WaH%kQU)i?k>BxJ)k?`EnQff+I;ZJ9 zlsu(Ri2}rHO(ZI>g&IQGD1r^(#(URB*lcc-HeVm>v+r zj5$uBSoq@;+#=(>@F#`-TeQ$G_({mNhF?Hx&9(@RXa9JbgGma8*dbMZ*t%Nev$Cu+ zK68sdarFXQH=gM7$@@$fR{FMBF2d)V0IJ()r`1(Eu!29B+LyU3g%+oTz4Lp)44@z@ zL?&ztUSW1lz>S*4Idyi{YK2Dm_!^+DyJ2nyjI22qBmz_V9s7gXPL8n7XKHM z`@@dc^fMuK`RL@xPhK)K<_Y3wHEgW+aYzMf!PV~=6Yi6TxHWO7ooydcQuh$ZsSS{3 z8;jEWC(&dPf-{g(GEO?E8IrrP_aiNz3Co&k@aAMiJ&5c3^&qNBKO-nt`Q5?hGImvj z9yooLAKJkd8uzV$ou@d=oD;-)=bL=bzP6D~M%5a-0|#E-0X`#IpyV|7N9((kyw9{Q zgXN;0nUY%kHnug4`+wJUhGA7J(oj`X!BFTN(%7^6E;9V{kWl2F&b!>kTn?cYqVk%F z*D}U+45X3J8rF&hU2RyzS>Yx7Mi>K(<~rhefyBehvN&?+4frcT`-xN%{d2+L87~u5r%)jp^4a9O8Xu&Rkkc&xODVM0VB6Gcx9v zW+9EVlU}L*$tVh>`cORWW@v7ZzH&OLqI_Jw;t|1=qE0}MhbC6WvFW{QE(9yf zKZm0uu78XzQf}-4UY}b3u zP0k08b4;=Wvyf_E}%t9R5Z`1w+xmU)^FY zI4^(Q89Pw{vkDv0&4T61JQ}lu@H`4bGL)mqe!-&qfyl~{gkbS-b-5=Mk69Z;%Dv>| z=SoX_jrPM*JzzMBOnR+cs#~DdaiP<4t_^93yL#Rrp=j_QOnP@^T{%bfo@%{fU-ZoGkvTh`^=Hn*kW>{Me*i!-zd?(7cs&0 ztfr{wJT*UZ%oQXiy0RE2Kr7yuJ4V=hZddB1#l+`93={0hfrXAcacpT{EK{04-@I*~HYAnv)Eoa`uER8M2;K%(F z?Mmje5>LY45fHG@tQ^?;m0xU=D{r9IwCEn6iA2DO+$k4XL|R+ zpy#|-U*wpx>XPn}&>{}edr~ESzHTbd59-6Y1!N^7ox))YZyfY9#FSO6;YC=F$MfR} zc(u(@LXW(Fl(^R5r;w`?a0z-3ki&FpHuOo(W&P-drjhg*U}umUgAm_i1Jx2%GYdUc z)!MDI%g-VDbqT3N7nyHkL4{az?=+&l7jBD+N9C^pa@G2?=DxL#87;V*u4mxb&`Ee8 zpNrPyeM@J%P<`^Cn zy~XRc0tDE)exi1J*m@ayqim%v=@H9(2`%0v_%R>s(>@G;I%K2}oWiQhHa+&|@XE7T z#LxQ@J%(4up2vP&n=!W89Infb@%I|5wjLYPFc6+-sWc*Zs${xZs=X+6InZm~LPN4$ zp_DAtGXW)Pq6|uwIWo57rp@cysL$Xe%#9zP6I_Sonij)C3N?}8!yIgnhYr%dw=u!m zm6cauZgu(+g%k2UI`O-%Cqr*0Krr7D#;$ajLJ$$5#TUz^tk3`r4l83>pH=G&2Jdo z66W0$$A9e+Fv2k+mJB#9?VT)-Z-$q|ns@^Jf{Wca)Ml&@`^r9g0pocw+{fkP5^giu z5n>SoutoXZpjx@#`sYe_9{-<7-{4@DrdmAc|J~k2{l~FzV<>`T!3SJqRowEQCUt^#Lk_<`sM{Y`}6F)}mA#lVA~XB{7IvHKo97qVa+%SC;VR2eEjFh#nKs(2{T_mKe9)m`;k1< znD!4q-;}zek#FBQh~h`uX$GD#!_HIUgKhc?01fkmGJjLbe>+oBV$3&wy_>4ffg)KE z0LYgC)n@*Fo{Zv5hw(c8EyIx?KYqCNXf_1PK7r%6*6MPM{9baQ zUu9*+=!z6$hRH?E4}25ZXJn$eh1(hIuw-9#^EObJA^ne9ze8#IgWpoicg~ilIu15+ zkC9kzyFrF|fEPyN?cH&zvbH_YdE4cit8RnL(!Zmw!3Dl(;0HJciuoV46 z91f>SeSd}d*B(&q^)5Y+f6~ns4|lTzGt>vaCb+??Uq8qH=HL;($yK-Bod2iS(x7E0 zNn%)==fKesu)~`w=+FFqBMUbjjnx^etEID?ON$W5hV7q&O?eeYCL^AMQ!d^p-V^pV z(C8kpP5sk(ZpI6sZB(Fke9TLDLJ|b3Jon$$WH{qB8w&I#L7@564jDkO`M#q)rMBbg zZ_C-;`8vXGkk6(CAZ++u`z@q*E*=5eikti;HPys*2IFmtsv_v#!tefwl#J#2&*d~g z$KTOT#O#oe*4#g@DA-^=^%nlKUcNT!m!Xnw+Q&Qs8nyA>nsZ5chzK!W`7D<*l>tul z;s3UE0-eGV5#S~utp|WccPk(xf&6?pv2NdS%_Wu5tREFpz!{k`L;lC$`5#;Be_X%+ lTZ{Vtx7QgkUi+X#YQ8^{FpB!7e*u9YFRbhNT=&sATrYa< zY?GXL*TodYpS>x0_kTZW+wK0_UzutlQrCWeb<5Y*wd(oBMfYRnZ=6qMz6q48P^KMr z{Jr78ujkYg{(1$!aN*a-*3MTB?EzF`ll5^-xg|<|`%F`5%uG70&b*;cCDB_V2-e zzmR`#hX3?H=wsmN)%yVn!yvbp(F_8kom^zf`T1TR09aA&%h6__H9f}dESGSxpZ`8B z9MmC?V?9`IhXL_td}IKCU!Oq$fQKj1B7iqnU4?^(|GN&NV_n+?d@f-i&u}N*2LJP2 zGTw$juO^sGN>vozt`qkw%<+!)Hx$bSjbjyRRf^$7K7;Rb0gHQr?6;Nc(NleO1Q7|q4Qs_U-ynWkCrcgv$391YOY-jP0trCex) zO2K2tBgY_}iO0$3b3BJ9vP7RW1WrUi^Fwbosq5Cb;{5EulnbZT>PBkto{T^Cv5hrbHj4FGFOh-16S)|Am13&mvc#vt>oeN5ESGNE8V8YWGQraKFLAe*N>R9 zD6*irT$_K~{VDYM&`J<4W9p^O>*MxMuRmW5ioKwEPDysw^jM!p(X;qtTFq}LEnRpx z9seNB*iY@%;Ee{~^BPcU>^2FC$jW3Nr+b~y8nO`V{WWpp?8~pY(P5uYgSHlR7!JmZ z*>N6i>PG@eIYn{jHB@39Zf!e>^>&8jADpk^8dLK}{^u-GC&>tk87r>YX~5pB^iN!9 zc|mj`)BGH8DA&AGFFh#a_a{JRPol2uV3`s-=t>gSi&}v2R=gtlmFd<8`{*@;>Ep6n_j%Q6B`KLB0z0#umNV$4ck;0fvK{j=?R1Q#5 zYz%+8OY&g&av*POgqu1Zl8|xS zF=Ab;)fhi?SflRhtxDHKC?^_o+^sOM8_evzsU_Rlr$wluM8bqf7w|qe)vK$oRT2;& z^S*AQ&*Zv6ebyTBuwHqXH`M!9FRa0&G^ob)!ygqvrF`GW-iU}f<5yMkF$!aUJF}FT zb~;~n%hgYxNnD8ic}`nvUw}V9Hr}OdbV;wnkq*!+-{cC;El2&CFVC-HTG?JzKVg9virM6-v9Y* z&}GTPb@OGZ4sfi|?py-*xaT9!3YMYO9_j0VGH`EYuJXJQ_Q>f2@9>X&y|Kq#x=@4R zg(Ec%28o@^KJCT*C58Es-~U3AD#xd$VT4C&DJ9u`-midr-@I}SOBC+OL)=6zWnQMu6>(2GP*ZNu(0-UK;zLP$^yRxzcD@fGx zN9I)q{f679JPFnmc?vkD`qnu8vEnU&HQP4Obu3Hno=fG}LsEXA;h*G!_M+;aPd{1O zxB=&%NpY+?HrEHwIyvdLJY35GUo+@=Og{pfQ-ORZ(W3eB1=tU<7GdL~nEQzfWKYrtsaofvw zsBv+`m@|k~`X=!8b}Vo_V%s^ zZPjha&Rz&Cna^PV=;hV_KB`N5?Af4kodvG^s*_)mk|vewfYvwB>d(QSd{|$2&#gb4 z*0HX2dVywhX#O_XE15P|=PaGXdRL;@R^WoQ>S=|BcZe$hh2YXxG+GlG=i{eG9{9y|4;^bLWO!#)H2Z8h zFd=={k@_!zPHInAsx0unA5E-(h0kR$41#B8L}CW(G(8%F=;*SbXIjEUxF$?}w0(?Q z+g(U!*qbaD!9X)YSmZrm(Z+b(iPj~3GSx!BhDi>Z(5w6zxWcH9mewupLX_oDubnV1 z0&e^xMc4;D!n+7gl44w>1u=V7y}J3`v{x>pILF)M(PV{lC0=jH6qoS)4y2aWLxN(+ z7L32;uKP`yRuk6neBM5^tX2#0n8h?%tsn7|J8TN0k7K*F80gxdNtY_uZ;YzI?gIIs zL$fVq$L;Nae*y03QjX4&euJ7xnD5ScxjVe76kXI09N#*US*}uwiHinrhs7I%WDSCT zVx-VgqFU{{-(iwrbFyL=YgO`5d^VD8OK#qt3gkv-@;+9NW{LjjSAi?TwbO0NZWa_A zKUm^1>|+d^e4l1gfhtHHJ|yj_vx-x%X{{r0*9hFuM9mhNxamhtb`5oqYgs2>P-D?| zGE%+d%b~l@ATRxf*4Lmeo1bm$r9AFV?!=(`?~=N8r?4Rarsg7|zOZQTyl8#zb~7g{ zp)~O^FHFrMQz0v$L|8vHv za;nqi(yB!LS>Xfp3P?oL^^XUU5A1s%cU9tyNx?-5$LW?OL+h8feT^G}r(V7}Vfrm| z4Hx?(!)hD&ePuN88c6m-eaTp&CU7G~I>$52#sZc|5wZ?sprwH|$r{q>^7dU<%^A7| zy?G&xo&XD+{lnNHf#){G~!2M2MG}qDKDqOtc=b~iYwH}&R!i&&YsR5 z%l`aq+T=}DT>qot zeUJR>%ai6+D!CT>FkTnC*`u-}TYt2lG+7YZCF3N0@1AYA`=7YGz2OEfIbIQ@d#JkG zpc>}c;~!)!MDXs1hLdzhM!6c=HGyXC!bsAZHwfNjoCqpM8!eFkduaguifw zv<#Lh|0Yg%NcDg#R}6*qG#o4~jHZpY)*T#btuQbCj6LCJ#a++o*Ji4U{l^J4w~Nb; z*?Je?A+L1vkT++cig(CMVQA%PW>BA#B2C;EA9C-SHSG@ExdL}718GHb8c@d+7v3{W zrM<`CC-ISu?k%?H-1{f$h3G9uIy?4U%J_SYQ@dDEXF-^OJ*mt$a&;Ydb((bJ)O+kl z{~Ko$pOFeL$ZDxPIWKD`t^MH+EnaI;ho!uz4KW1Leavhk6~;5Z&63+h723)!9*p^12Qha*>C6>T8&I+GN-G2B;CAbd0gL^;jc?hhsLv~)lg!GRZ(ygV<2xdYpd@zxaS+k33;in zx%&DT#)74sep_#1S}ASYZQQ-fvPZ<1B~>j%!hHOTXva@R>Gej?d~t`#fm)M`@`=>T zRVm|HqkpZ02gm>et3)n5z=RK(?U2cm@U3rFh@F{m2b6wT1cwxf^=PUVXw=lSEWM6X zA%-pX^0%1n+_mYXXWGbRTPM(xU^`e4A;?$adB9qVxts~&tV7_;!Z*EJm(FK_js*uM%^Ws*pxm{I?uZxb9E6)F3;RhQ5#|E? z#*!hiMbQF&e!+b6ixT-5c(-G1HiofUYHMaKU7U{ETR_T3kL1l>K7HUO{f3<$Ee*K# zbD~Be7d8{ACgZgg^R+~&_o@ZV@ps0upkc*5DW$9z`z{^pSNf;TULYR15t zgRRZjTcs9cc_A0)@!xWECJJ8Y)?{zg`$AJ$|ebgs8m(!!MVtHBQ6m|EeelUh7Mht02g5 z5aQbnX}B~vHnfSLTO%x6VN zqk|-j83%%Z9T$z6eIhjFAMu9svaj-l88<)mn~h4rWq5W0;63S@}JxOWbI9U_>#qcOprtqU@K>MYtW6l$P6)G8!{D>)kd5wBCf-tSS z3CvkVC)6raO69sAvgNTBLMrXa{qtLNroV2GrAl+_y)Bz-eWh*bbs!$OLq=4vjAb#RNup!>L8#~rYo1SB+nx^omr63EP1XtME=cw3 zc#KA{7jt&7qHeP>6z=RA6C;S-Av5Bdf>j4wtsKb3$zR%bW`UY#p=PstONNNrla5*p zA&j=4D4MzO%V?Srb`Z?p%;8R`PCMr~qRjal={q$}4q;16g)wW(belpYW?4e}XlfIY zx5`_uLGkFk%jL()QRTKWXuw_QJx5TIE|S(;WRL9hEXsG0PFcCO+1?wRAIDinwhYDH z7Z%VcSnEdDnw16TE*KoQMvbfHPEE9rPqbWamlH-Sl5E>%((775$Prnmn2{iWyDFX0KE!Er=6L$FBOa z`uhEUz6Ocs=kK8hdTKo12c%hA`!1MW`LT+`n#g|v>JW| z(O^z9ILa0^m$O;830(2cuEVg$NkiE?qkoxn=JFi8K?})u#Irv9&|dEwG)kWmgC=C9 zy58#xO@wrN4~I{q6Gv2Ij2a~=meleG=4SIYbG{bwz zEc()@r-3i&Y#QN}w&qz5RF_hL@@=?Nd_x_`p1N8ZDI3de$|pdYMI9)~8c^_?pWEA5RpIHDch}skAlaMum4=JrHPc3odfQ zci|O3Td(J4SR^YH?WQ?_yQ>+{`7!^EXA?nKGoJb2qaIAVhCjTR5%wzjE|1N$&c&{u zEPo&rd1h1ktP8$iPuVW%1;G}j7sy8AiyF2NA|q(XvZB# zdovrskF$;S5cB2I{HPmGpT#KST$TSR5r+Z`HZi)GoiW};pO$Tr@`G@f5KrD;*#i9M z?{`*lG<&`BYw(bx{TPU_Y9ftmhQfU<)*g@7rf&u%N(7(2JPql0LA%L1yFSEjg0K(Y zvwTYCFM(O2+eNwC$1mk@Mkn1&}ym$ab_qpMytG2R&ukSJjMC|AH7wuy-*ALLn0TkuP zQrP5>9Dc+xb&96jWHZ{dI6em($QQ`Vq_b~kaUw-MbAZ-Pyf-`#B9qHQzLv&6-$?_uk6BQ;54~n_!Yy#W zCc|Yha#fr6y}nwS%PsA&gaB6qr7)G;9S<__k!l4 z(`ab8VXBRdV3`)ZF`Oeu`T!LcF|lO$1RUfY1rbCGS<}C?ay$2@?n^P_Zcunu=9`Fb zH_{Qim>;c4o80`cUR5%iilJCQTe8BIi*xLs59}Q`2%7wA=RR&ov{P^su;>$rEM51A z3&xC4UBSLaA;p!|@Rf0If_VwJ)Jxz#k+SjmXH)v!t$(*@g-4 z>4BzD&1cv<`kVs4qhPUz`-Dwk#NS<@F5dsWt3h{YYg%F=s$@gbFWrPzwpQ1tMOTcn z0Au^#6Bm?w2SfN`1xa#Y)`sAvO7TV9h&>QX`2M##$EsKIW6}977tBHvW@FsVA?uA? z%gOa^c|@n{rC&bl2fY>K+GrXg)~%Z|<$n3W-Y%FaR>FR3A?I^%IE-(m?W;Ghk3RM1 z_1c?#QcD-j7NTn7KELEMMQcUrqKTqU0-QYw5swgEGSJ(3J3T6xnIjqBelu5f!$g~N zS8!aGoo&dtzP%Z16t*w;?DUz;2q_nNpSUGaI43$8AYD^R@d5YtaQ8bZs|kvG_bCj?NO_c*2vNb7h$UpH0gIP_ zU~C;u^V)t{4USlAWe)PAgdCVGbP~uK*D~hWz{TL~p(VZbgSH^D8f@!bJ9_H~e=bc+ zma$huG+g~o^g$#aQH=g6)+y;Kbu0YTTx^5E#G{qXd|;^fA{SC%MWlk`HY@z4Rr&KM ziv z5Y+te!O`^;X)#%q!pQGW4?h*<<`)iyE8jUk^8>gTvrn?fLbrm9N&JEj}{#)qWQ#F zbN9VZ%To{ei@yA<69di>b!nIB-%g=-g zysY?y#S{8mg2dVc&hkMVU9`qJ-uC{Z9z2!tcwg40K+O}V&2@S~8H(tFdR?n7MNmWq z_lCTY#EP$7|bI<-2*m$Xi!WQ}{lNQXgNOboXdkc{&<+28MXUuINFVyFJ={5o`Pe0J|Jm`4Unf1)C zE^os?#m;(HEuKV~YbndUwk45rMHjz(y2U>MzdLJ5zELDjNa}CUD4x0ZW-z=2^W*uu zkHgzmzzzuC2~2<24prE41q>pSrK~BfZ7&T!!98mg+N7BhYf)AD959UMrx-+OHhZD+ z5IQAF*NB-+H^R0kx}k1Zm|_S0m#feGcuO;oWLG^66DM}}cF7wBkVm4;R-*4}E{ZXy z@vuQ;4w3y-FlvTiYLZdStLU_De>Vjs5f#msW0|kfjn7Y9B)oIKD0NHnWF;gF)VaBs z1D-vy_|1vVR3#$Eo8q`fQwYB!gK&Jd=I^KxpBDuZ3%!HYy$o+G^)6Xyi3z~=-f{n% zX)V($(p9aY2QT4xfUFA{XypCn-O;p*j4YVSIG?wkrwXM}k9+QExknhdFjNH zoq1_WWNkI&3s*|uhS)D-P0dgL;6G=1G6L@U7$Zs}M{0Ofe~j}lHOT@Pugg$Tf-&up zjY|{5E&p*B`}uSTGYTsJ8Sox7QMS*l2CT+~sCZchnEN{q)diZRMU6e^vsPT2N4{sW zgMuw~oOaC5WGWiXeN5}toEF+vjj+Ee04^fR*!Zyu7lxj_*5eBK*hFXB#pY!??k(Qq z$^Zh9I#}brl1P6EFF&*N>$v;Gw;`ebDR}%~cY39|pJ3lN!TEt?J;D-HMorSD5d-&(c%l=n9esJ0+Gf_B8Jd zIl#uw+HA?9{hgo&G4`6nQ`~!l8ob=1eseADQUym%aK9)$m~5lOl;2jg$1GS^MvSX! z4xJty8DbY}vp@SwpY$WSG4?vMs=~E;)jQD}ak+Z+7op~2i~ewX+Z{&R0+H33zDw%n zXWY_K?%%N|u86LsP?DB!x++BTCj`NY*@8!7-$tJ5+BVB}tq&ee?pfD5856)JsQUz8 z+7bySjX#U8l0OEkd19Ie%#o@sXa$0VuxHK;8s?%12pTBADbNV!=d>)R>RITsT5O zX=GC^4yJj(autcW+zh%iNEQ3uiTVpU*?W!4!1xb$$oY@iUmU{2n%TB`d{C$7SH!3$ zh87q3^(}cK&7}GPUTElfG|}C~&u|YpCbOH;KezMee+S;bBy)IC7*Y1b;LrmBoRt!N zed#aG(tn9N1i~oNkukNc3u(b{Z7<&U4}H5Ns^Y8z7&|2PnuXaKE{$C5#gO=X4>A@U z`yEUDU9(TDWSRd}JDhvjEoTVH4<_i>L@!ElOs&@5nyM|7fWx0}YN(UV`G3SzhMo`) zFmFQ9H|`5Eh`X-Dy_uMnxSYoVYXSAy&-5yRE2V?qm2vFcNa{kF2Y+bWWl{UFLkwH{ zu?IN9b7%NcQ%cMRzYkv=WV0h|+9{l&VM6ZRv7eLO8L~!2Hj~6s4&A8E-A@n6?-4N6IIH zI~=4C@pBZJ?eurX%{7;~!uuV}-NT~l*nbJTrq0^_C-po{9#n|_`F2gH z&08Xb=0Sh->-~O;fISqa6h)(c+H;>30VF#<9kw$hk0zD2&IS{Cc#MFJVR&!7lTMYl z__P8Ru)y4j;K)u{{JvC);;jaw2;3Q}`NYtJ)u{%j5okMxw*n=^Fxr|F(L>+&@8-U7 z(Zx)(Z#Ou&dY1@(s92DYR3K%U0^RTVny8`9ULdaa357{xWK(+F)_d~XB!wxnz4cCq zT@6(74pG1(3uRNY)h6C%4sizS-cTVJ!1ZfrGZ4-l2=thm-b1&;@izi_92W8lmnEFw zT553Y13~`%*H`q_IweyiUBKIQIdH|@k4HE!vajT^m4Bh)e42SU3ob5>FVh~yTrxMZ z@>bk;6QEJbqUpV{ft>wLCY0%_zXLs|!SGgyymT})GvNh@$QdI$2(}z7=5cZ_d?S~D z7{?2B8dKZGLjQ$A7QVb&9l;&Xx|;DjuDlX8O4S0xB#cnhCBQ5@8QOX4jg zgZKW}c`DudhQQmN<_^LAv)ul;2|$I5}(wdb17Kp51;1lNPK?2y|F+li=n9 z4?5sIdzAv_*M}kfrjne*h2w<4AIxX?`B?ScVtqrz-(PmeI$pCS2#NiR5rN@%i397^ z@}20#mfmQnS71B#VD8&J7_~`P^L8~)ANmi;&8z^x;rJf z1a|ToT()@ z4*WA&2XOyeMO>r5%%Hr|?^mN{$f}Zm>Y5I*{?)P_JQN^{1{&QF|NRJBasZd%e!9{RwT~m+UMUDPRPu>|_2AZnpExL~P;4=AXB7 zfHtG@s=9Fv@lZGY*`M61@Dglj5&~UDsU3y3s9#5CFpN07&FN7_UQ}tG^|=1L!9w~h z>30U*UXFb{tSQsybzj}FJ)!XY-@6g{e%VCb={C=DX05Iv)&S}#m zqpcKHFZ?lG2a7ViYKWwB_q($-g}e3tu;JQ=9gg`Rw471Xn^%NKE@FDG<5ndUSJ3<5 zJ&hL=#vx!bt8k+pNx($YobWc2jgO{3NbwL8S+_Re4ECQ{a|I4^whhli<^sffs@R0*z|sE9~#%k|5q_7S_5$0Xj`Gv6_GYTx_+waavM z?-h&I&aBT*Xf6+~9{W~#?-X?SHSv;IR;5L9hD*+0Y2RPJ8`|IXYZBF+`_<*3`a6*w z!{%EvOL4{TdU^k}oYZ^$rTAx?(V>_7UWx1lT(*G}jTkSo;N$C*yF3DxfPIfyV9e&_ z6k;845D?J;M@P^I1KyrKK8u>d? z#KubBz+jok8n1+a<=pB^N@nQ7@n_;XKQ~wWto-J6+5h*(U(bDE+aS-rLaVK23H8B} zq8xAGaV2EqgEH^yIBLgl=gVnhw|2$g=Xu({r^sAef|SA%jm!_-XCQ8LZ6iPx42^W( z9zs*Brx4t=_T>}G>}%wf^?RvCvM6XkljznX>FCdUTY$Vi;E)fVC|gLDZLWwV?j}jj z%-S#S>l9;4uJ@t&{m>X5Q^U^ZRB!B2^;|N$3*Kx7y!+(|RJ~3fPrCMtyFu|#trQ;( zrWh3n7N7C5g1gW1_!I$`;)b%Zm#Qs&KFZ4r=JL`FR0t06K2wf-7i zwKmlrZg9&8JQWZ;^Ih+k9w)_N^+(WxsjtSI7SlD?>xj6U9v^xxXf`|il(Mi>fsWlV zD2SYQ_FzV+S2*73%dD;Pl|Ea)<2LBj0X-7elQZe=Q?95Rkc$Bporo`wenC>4RF91J zQ2XA1oREN>QTx6~!%JU!^&p@0c)GwcBSEm(d20Uy-HXvv7WSb}z`NJlq#l~HEB=Z} zoj0iReAkP_l)DDD0>%$AFG9Lz+2stjd8bTk=84pDUsq?M(i=QsrJ?*}QSK%Vj#M4RzpImtD(ErbPk*^0 z*#pE};Wa69O}EJ;OTgYuJ9+_e2!Pip2(Z#MzG%!}OHFiL<7vH(+O-~a;$!Blvfr_` zv4l03nrO_34y}KZ z@J*0CC7Tifu2`Y1HdqrBn6*FXH)De7CVf7$s$!WGZsg=doa^0UQONnpxgv+rY3kydGHz2SOtTbX(G$+e?~_AWQ{Cyq8QY9f zKn=f}GxCM-DwHh9X4=J=^OmEH4<=i~k^*DUVj_auecPn1YW$FE_?X3=D_yrIfOuwgdAJoxDu5Z>yF#OdVC{rvI(yflpT8d}3T#UL>i4lS`s+H;`AH9d-tbCjP zjo(=3XSNXrYmEs<=48s^QbS@$e>3_P72F!UAl1;`iUX{;c3}35IZ>T{Mil{rer(Cx z*EvvKU7+sY6_Ocg_+kdTD||FCk++%%lyvrLu!gxu#F9n0Qz3lLY+&D5dJqIQ;R6VV8N(%nLJSoKy! zZkRYRGrW;{6(lRTyP5W>4FGP{+z&EAV50X>&+thjHGa;iZcb6-hK+MkwYNcFwQ&B} zGQAhFHxylXy%U`{@;BrZ5mWqPGK#wyJvK}KODPv%(ugTztk&(GfAr~~2jcKPL`*~L zX3pk#)%Y3iMYOuD<=B4Y*bRZ>8YN4RcOqIsoN=cIn^ zV00e4FN)s~SI@j&wd(m`bM?b}u@hZ3fya{NNMcG6$GDr~6(r3pv7v}TnKu}r4I>eI7h(PEVQ#7EMnMk-DsbZ%%;wBRadC{L0E564g(;aE6a4h zH;(OuG=VV;P*Z;f5OA6MTn9STe{r6wrG{V2xhgeFuP5D9aoi4?7nMTRwnx3#M96C^ zr&}oWRY%->P6n@~i;mfUeTrpRG&pBC1T|z8mdt5sT1P4r43uyT!otE5+PMZ!3Zne* z{+-Rps{*`zaetjAa`?<<G}+@~pEuDgpGawNuYXe=8LMcq zag$ry0XCUrpDw#h$T!*F9~&{QR$J8XJTaN%7Xv_o)19f`rDw_QyDnEL3g*##uhgjx zsd?`L;@grvTrNRHIXZPysXN-b?BhTxs`Mr1YYAhZZWTbOO+%qO4v*hkT0Fvo^%c3B zD0mwutGoqdtEdZ<8s4`xAz;kda$kn}CTDVkbaISqa?bYft)tPovr*-}-^*s70&8!} z{L(^6`#{GwNuCeZ`5QOVS%=yhVK+5nwz)r%4=hrQIi8Eye05~5Lo0whzB%Tjw_!(_ z|B3USnHZv|W@kwIrFk12KEoT@gZNmS30Y}-TRR$Y;RXXF#%xCt*63&WIe7btX6*1} z)IU`@H2pT6I<9!a`R*eZk{;|yEcbO-$o{dr(z7@J2ajFzR0foXJPhkcmO@t z6P~+Y((-9br^)g}XRRqaJXY+8w3j{u9^I3nEi-vZzJCwV19;$~v575CwYqt>NIGV_ zrNFKxQlju#u*v8ZyOr_QoVn`gqxpMGc+AGTjEzt(LCpJUr73(sdTrP58q-~*wCwyi$FL@M~Kw%o0dt;#dC;i*8 zr{o=|>E6Rkkac6jsOz*z47v_ndRr46iT}VKAJ+J>O>8ZKNdK|>F3R7%my6B0cUHfd ztjM`_emL$>Owj^U=GqkW`;ERupZb0lKGrUpqxY12XmVmQj_>^xU8rfzP=%ge_<7-| zW+7$V+HT+w%!7Tzsu6?uXM63~T0xF$bh;#x;e*hkM+yRBymHpcOPMLG(~Hb#6icOo zBp~{IsZ2!Q)!g4Ry^7tKuV=4K1PEt+<}Th>C{W?bIpc5j4IT*=Lk5-Qhdfq-+NG2QN$EQ;=}>-z2cO@P!x;;exzlX*7pI zT>%Il$@huZo^}ayV`Fi6t8mxo<#X%O$MYUISI^;~ z{_|SM>+KS$F%vtjH*Og$S7`*#Yo6DC1)_iowpl0!%S_bq_-J@nYYW@9bkaEv^&^a! z(1!JTI^TIYb-v2dI9XmSt&Ozd3TLZdLq6S}Wu&s@UI}=YVJn>cUiuK3tJRpQ!=LPx zt4v6a>f#F40w6?PPoGm)8RF;>Qx9Pgv>CO-Cy;wTGHmxJ5-`>WAMsBgt zlgoD@@P$jOJ;j0@gr>tLiWmHhR)7R;>Zra#i*bD|jHO83tbva0n-1PDSHtAdaw>nN zBOAD(JVifWgY?o`_7_L*)I>nrXM z=jP_hx3!csv7^f$7%PZe(L#=8wSZel~Vl+$66(}10|)EHl3Rk4yX_ovvO zoz$PdUR&3sBA4z7G1$X}ypA9v&)=4^Kg5}W@uy+FlV6^?xy&5}y$xrK`xWINFj`t` z1$#sy=n7)Pel1(IzCY?FhL$}Q&SAAl{%Ukyfz|s#Knjyn;kGkUgn=?y#CWNK{pbn3W;L_doJZ4^4>v$6n>-a00)~DLXgDv<>8m#v9E&XpI zA_qi&yo(`R;MzO7@(Rwz$r`d0=k@`?;}OsapR%DwoyQYe53I<;T$n=ur$J3S5||&x{~%bQ>hBs5zE@ z9w>FX$6ROzY1|<*fiyl-7X7X4o616Q>2dPB?X8&g@mhK{5l-|e%GT%z z&_yOxL*9|6)17^1yR#EVb=;c&Agp(&`f)brwGo@1*f;G;QRkjV34cllsg?R!C1*m| z@^MzOyjDlI5F`=i3*Vdh+=d%&e7`g?Tk2Hlo4YhpOVRclzCW84e9JS8F|P-C>Z)w7gFabKlhwAk94jhMj6!S5e;0*n+?Hb4%`yakN+?|E(>f5+g{;yIUR zv}H*$MbKa34uq+lM2x?3dcC|Er*``BbjRfDFE5JHr~t4_;8!Fj#k&=gcBk&&WyQfiPLriKGaIbkoF`m5 zU#}3D1I{gKfY_+a0SJI~=GpLhLk;EdO%1}zkJq}6Wnzo93~2>frMFSyjpEt%^#&t+F&&i8MCf@-tbo>0taL-#ScxX4>NL% zyN!d_<`X4jEVc;b8i=K^F@b7h%CMzo^7w;_=;dcy5!!z1t=2I;{4s%cQ-b{R4bYtd zaVwAm{;sz>mgEB0>q*k|cj}p9jYq-H-p3$5hNblTJ0)M8+Q8V8c&4g%;bKn{2~#Ns z`%5^S5VpT7noqKC1$oKgdhQ|AG5H0BS}1Gz0aag%mQbCte2NXjqGgfylz(1+9Ghrl z<;>qWD}TlBthZ_J4r2u#yYMjplT|%KKu^Ta+yag64QkK{_LJJS!SN(3=$Fpvg<8+PxoyNcL$70^s zDEL&|dKqzR_`vr@{erYShaV&#FtEB}fQPv}Uti*|7Z;)RT#2QDq=LX{v2~s<^0!o> z@w!sj9hv-l@~IA=AtgT3rI-LiS7M&Xv9%jee33?pR}U}q3Q|@Hn!WpJAt+7X>RF6& z;OfB6T3{Gh0Gh%sK?WPPcF{Sc)n*ClditI)L(0y2wm5OELXln+xi<42z7h!WwlF?Z3q?WZ zb~#k{SszVYpWm>%mM$S{3|?S|akA7M>yH27e)LIQ$kvd3n%H5qzjDc>eiY}|sz6z= z*lp8f1-c{XjNt@q4St&tKzn&+ThY>03W9~;JPcN#`kll05lSaN4#eK&wsry!=cwLG z@!IdEU3d)1is9I7lVht3H!jJcWl@4HoU%j{ltK#;LP%GP3p%WME&vU+X6*zw^PE7C zKK=gf8$GJGA>YorsKH2$AsR0n!oMQ_KCbN%Nd^fj{z z%_mHVy?p*;AiIjAaf{sEGJlC?)ufYSZ1tYcKz~S}RYfXXU)bo?V2>?u6ol1`Mbqbd z#Idg_cA4P~*nWiL0QYB1A4&1MJp3`BOD+>$?eftx$4=B`;|@j~YMB%p6it6sdRu?? z#~~@=hvZ}`EK}aNT~FVxEvJkEmUDVX2(pw-NgU!t_BHE$ys%n)j@8?L?oC5qDg$*= z9&KSxu{##3+}Vr)lGdin(w{^`@B}drSeC{wRKL!YFq`K;U#_+*ZYX_k)u5(-o*cf|2~y|z&6y9)!H&AKtM_B&YR=h+~Vzic;M%O?G5DE_+qJ7GCis{B%;7s z#(o|71L{OUzxz-`(LhNNt?7Gm*UqkTf{ktp2Wjdo5X}wXv%1h1M5*Rc`!;nJ=g*zv z>uj=zSc<<`FTN-|y+EIOl|OBw&<#ns-8YHs7z2Iw`O`G=PRT{Q-N<}Z7|z_Lgx2`8ih4ROAlev3+YQMFM7v`rdX`l&H1`TG6Fwm5`Vxzy6eW@LPiTPH$J~69a z0e807=4```UlaTyS3RD^R^aZG9l-T);|Rt^|Lmk&fK-{12Jz;&)!Rk6K^8^0BzDJ; z^gltyw-_un4;OidDZ5Z@U|9|(k9}fI>%7(L-H%sTd(xA_wG~*e zZ@6zKOk9aW@N6)OXs4PHAK221m1v7?=ui{~naTOl9s8&#*?|7O_mEoqc*0Z+SWTzW zgJOJN`YBw)Ym`$GCMi0-f@wu@UnW3z=)R zV}hyMs+Vc22IfBT#T^Q_?uC~lO5-*fro{FlB%ZX5PzBKyybOT{5jnvE9#;9*ko=D6 zI#S~kQ|!MOx~VwEpRJ)0{4SJuKqshWkhO6~P%`)PMbQh@qQBAzous)aVw~?OE2$ zTooMS=%aUlzOOGD6k_}UDK-}f>`{*iDD{j+;1IekH?2+UGch?hYk!Fe$2`YcE%g;C zHK|*DNBo_tx43bArL6TV*ukB1Sn=Q@Ye^l&Bf?9N8@E-~wR>K{>7*mCec|Z&{D-B+ zo=1I)Dj|*BVN#FE+G~Py^Hj|Gkc3%k#R|CEDK+#euS>X;*cM+))q7Ak#-pR9mgVvf zlx^(?Wl}MJ4Fhi}x&yzhpplGJGjw(F@X^{Z$&=zxsMA51Z5y&0IcB8H`m$Bq@zLu? zNB!-l9_&}B6}8Q*H%*L6SCm$_IBwd))<7kd-GJJEp~PcZ`1dH*o(oI@lrU$a3fe<3 z(3PMr=OrqMZxk!vRM^<*@S5(W(?_088vR4sRk#za^dsEFki2bL#JM$BCiR7~{{tJC z<3MluxU)`IqhiuyD`c2Vj%i{8Zj4)KR1p|nHyU!Y3DM?s53{mcMfc*I)A_jAkFl6O z!IbuMic1ir1mS$S$qqCI^8n0Dheub)7=zf^$f3NVtUj-wntb$qz?@EHE+>wFBHOz= zgo4!$F1$46J?>46U*U$tYd-@Dcx6dJ+QvqFs-TByoK9zd3s9+_Uetb9=2lFz6`?i7 z$ghZ5!=-ertfLni@=R2L%R$s6TU7{5&%5=lbUT~W78L1o6$Qo(A4*c8j@cgTzoE1L zG2{X)daV_iLwakx2grmNqL_zOpMS}tNymnu8g$5W&oFRyoVZrwcsPurpLeI!u1il4 z6{$hM!h2wUU0!!;Ouo0bN^H*OJYVA>MxATehkOm#m(c3>k)@$=qullG=`6+SO zi1dsqBD^LT$ZViTmam&L1u~g z>Qv?}T=7mtr;Z?}>TgJXXQMzEoVH zkDn>~dxzdl(a&{V;J6@mGK+7OL^|V+i080t{u!I~K&(lr_-T6OtWFm`Q7+1L+mJi+ zgY{7RZ=SDWH|s{EV@g~!YV>x$8OYE3!WmYAm}l-jxB7(Q%u+it+iNTxKa%A;ZxUHG z`CYlOAT0~F@1Mf7?A;j-0jQq0IgBFBLq=CsN%?VojpDN8ngm)0WU4Q?zf*xR(*?Y$ znYEHyWL;FbArZX2fe`ONq+0aNgUYurSY;HNPk~db3df4*X9FS%x+uPRA}`S?5iSTi zJ1~@WWWiXVu)WH6sgClD`!E-5|8J698S|Z1-O52&xAUTY=#1)Wz28aRkEtSMP(rJq?w6gEbw!I;O17@R9)P zF@oH+{yTzY5o;8+<>=v2q@^YG{ds{ze6iJs+p}jKEL)}bLtU)_%ig-U_r_#m6l>V4 zDEom(z&~f}IHKO`GWSCtNJuxK+)4Sel8j3!&KGWL8q=R_JzIVgEcpm(uCQp7y;UY( zDul-_$<|b`>jnR&*CQDHGgvVv@Bw=Ri)z^29a6Qy($>|QO+v*oaZt^!Eph9Wch7%N z7!}Vi1%FMP)}crD?N`*jBjgk`HoM5Y5pq0bb&vA)!(Ac^sb+7>cOJ|aT)Z*QH zH)rtuG`YUh$_j{2*n$cdb+^c`wE0w{Eyt+oG_ddX>csJg53H)DrX!*vxu~-;_{NDw z8>=n47qM6|`*o&7oxOS{kcJU?_*L@QVwdGR%2Gy3xQ-Hs<9{# zkZkV!T)gAN)f7nu1(Amw>c!ATs(7|&3k4^+NqYfrc|znYV2_LBN4G1-a33b_VDAJ|I2Vq?Nld^LZgde2JGXq*8@Ex$bHI3iwoocsr-gqMG z-*+md!a~hM67th!^%s7b15h6xppD$<>!FQ|rl}8UIawS{)B2@j)bVG>hpVakYnvni zmmYjC|MSqP!6bmHCVeLo5ACp^t+b8(49D#}5L+WA|8VJ<;-Wa*j z93Z59Qq)}P$^#BF3-GQ4?VGGU(uN0C`gZ#3;0^PI8bDReMV4w=UGu41S)L|FJy-H( z;A+aZ=wl_*qpm_4D1PckMd9?dDND7}##v;4?rxfDt z<|l`T)n2I?DFoA4$+4B-w0qBJQr-HnwB_`(Q|5q1vaI2!E=c7nj)GnYnqIx0ZVHPQ zR}`w*pQL1nZE0ZW5wnyzOMBS(iS1jF*FY z;&8b5mOad$LNZQLM~$+!ch+3mNJd+du(8=^ox#TkEGra~kJRtX+|P1^VQwkHyBDK609{GWx7* zzpv&{V!S{dT6>9WEU+s|=S5e)nTxc1U{%v6U6XYnUG}Q1G}*6$h)raBuHH0)0-FCZ#!S-D12JzqpV#6Dd0V_ps$hBNdC^NWKL_5T`-H zssc+Gdy}16UR;&C5da9wE7I;lD`VqxnO$fbT@?ZiC6gAFh0NG($ALxFw~M;3Aaef; z6w)J-NrpO12_q-2CVnoEYL+I3KUmx>2P{;#H-h&U+ZMEkpm(Q|E^GNC^A_0S33)q> z^2ZT3VJrMr?Cb(bNG&Js%$XjIfS4{Y$|#VSJv^i6*11$Ry_GGlLxRP?r0`_iOkA{< zZfiIT(~u?IiSVe{~;v2Y(- z(IMyg^(sS8<8Co8H84a8`EG!VbJO&Xxw%P5uda(Xrwbs)nl6gz)i>u2Oz5+u#_fcL z1eQuLE-9|UEXV8n-9qTAyx5S0r#5?zk%^P)&i3Tm-9*AD_Ga1gc+qX8m9Yu@U8c4&IHDEO9 zyRXKk6Z3nVyEin^a`F9KmS-;ugJ~+6l34F_@~+>YIehxyFdY}PI9(L4bO&U>>kmAG zHU`GuufH=9T#y4VqOfD*70he~9zC)2KwE(#AFj=Bz1$rS)`+gn+8ww1shHPVj*d~` zozjl{#4|{?%9}GG^TyR~G9U{>ZiI6J!W!V+sFGJcNxhE`_|a@@>~~*gnUoxLD4TJk zi*;E=WD!L-|2d(fl*q7HWt+yF@LP&-cWhC4l77gL$r?y_+Z;BUG?8|(%aSNnPD;GI z>ofRgW=7R}$3Dz_pDyz)Ih>eMXu*;@dQ4PO6HZ=jHmz@Tz20e?lU@{EO(WY)O(`Tn zDXfNHsd1}PKEPrJ&8!4kgm<+^{h2fEEVXYc1;OWydV36p2OW6@B@@9}A1=8s&2yqd zU#8Wo*503pc#A{psAZYU?@28my}DLHoBU9UtgVZ+;6L%@0Z~wEu`J#A!?=BuYxB>b zO^&ddz+-mXg%zU)oE-ot}#VA6PvifSPn$!HQJDG%4A++!85abu)$@WL}oI zUI%E=Ddk+0o~vh{;3H42D8!Hgi&zT^d%dskPLWw=_e5vH(h>O&akGHs_%$Px%H@ct zHz*n_z_ysWzC@SelrU1bfd?QC{UfFP`^n(WS7_5I{tlxSa@j`75%YbqKdcrX{SAU1 zd|-*@_-(s{GMi3Tp6(MEJ=xcZd^7A`sJ(Bwfh1&ETNovFQOpEVv6159GYDa$b&suL z15=Q5>*Ztf`QYUhd%sV*nr()65b-bon1^g^Sc zO3%TwiU5&(6xtzvpVWt>8Ymd;O43m{d=AQ6UTz9xC({fC-PHAB_mPa`pj5Hm@POWT z-i>}8IyZQPVV23jtCiS_?#H%jrjbK-_y?dNmionmW&cEs1{lCH8oM#I)jgzK6g+#{ z4Eep*Rl8~BgCMHsuXNR$un4~B`Ej($_|(FqPHD+C5_M(U^d#pMQ#}HId#A}UKk1ZP zL@s$!H;nIvB7jj19@31 zcFx(gUj4B-u@xLYY=KcO^PAssMOB%_nweH&UO|(Wev9Aa*8{m0jA=dcKU+=?fSFt9 z!~VJ#_jLja)o(CApS}Ex%#Eg1g9}16l1Npp*aPAO3-GfI@dB_ew>rcwqIXJMA2|=Q zU^m8Mq+UgcF2}syHfES^sel?M`vWXyudgg8q|{!IXuYvv4FlJWTaLLhKB0Ln>W#T< zC!?~2@f@Ml%;%Jo_A!*FCUwDha;vlp|S3EFq2+{ekZ zjn1cq7yKtMVbwBk3X1VGY5jh`B4*B1K#1qH4?=?zaBf6VY=&-vB>xE zCvQuJF!q#-CKiQ_!vnxVK%K)N>dvd}vWfBaI3QD==e4u8=jPPsQm@<2323;( z1~?jI0=!mz5EPWFqnSE0l6QFnk7+1rCz`y(sD#&kIszlTY zwR7gxvTrQJnvbGjcJmk{6qigH&TH3$U%31IPxr6rCF7Wx$8`rw-3UHdo5R zZd(;&+*)<_8TdZr&o)zV-UZ+u4J9sk&Hm_e@m3;c*kYv=9jpvDUM;o)I@ zT!NOiHY7N>l1asYuuJOvN%hjayrzU#)-jwup(zmArBNev@1%=u;NLQ2{ ztD7!+hT+TjuyA8;wZMu3dYT{nq}RKP;|}8yIiR@z*!K?%4e9+xoG|XBoLg;W+od<7 z0WDHnt?H;=jey1?Th-b2uH!O6iG7l&Yr`t;@sPs9dzVe#4g>r^S^AoaFW zSw^|xuf@#_m!PNFAwRBfEnxA(Hi6$Sv^!c_K6CrI4FWt1Yu{~xvpoZiY>CXvTq5@& zZ1wa{Ysm$aKsBrHlQyy$gR?+EQ&3npKqTWqR2D>0K59* z(o3dr4s+)Y3r#+` zx+Zi7m@xmtnDOuR{{?Y|Ov#fzsQRV>{<>ae!d~pz?CdbU*K5Dw5|5#ehi?7uq5WPr zy-H>^*mtHGKPWVZb|q-_-*N2rXM_%a?49zRR@?9!p7#)DD9nd`6om~{z?Ld-gprC7 zg9(yX(R0b#BOb}0uth1ApH4h6opUmGc6KhJmbbNC@$vVs;p-Q7sEig9#se zJ9W~B2Jc-FHg@&Le-Q}%x4{U%UBbM($fs4x?`UAf;319oI#KH%$F>+i9}yA7v*I5w z3BvAemy|bfEbaEHMXc!c{DmrOTx)Em{hkW@T6|E|G^KB`)i{m!7b3qm&7;T%ak=FC zTSMAC_M$K*cjds39rFo6gXOK{OPKeJmfe0#kQt+ z`njn@mP8J>+Lb(MF~UJOd&zSU?+NQC38%2dA1Ven=L)V*-Rh{}Zh6$!mf}|kGaEzc zOO#5rkz|L!JbFVLqAWGn*}uNETW?m8AoNK{*Tas7k2gk!wF1C{T{?7^t?iu1nIrEt z++wY=bT4p8aJsQ@;I}tNa7o^I#}Eu6Yq;35j%sRA;q!`rO>$cV`>41jx@?$hqF1?$PDxmAH4n zYDc|rTHcFih_F&^;dTfW za8dX8uj7BX+inj8BX$~3xC!_?w}P?}pS!xg_~U5e;n=6}Bx9I(HCX%MnWh&TuuW59)T+>qy)4 zaAL#>iEo&}^Vw8tbMEKT)k38^iYkAMJaxt8{@+;`3_FPduCj;>Bc}QL^!Tw)C$6OP z8jrj#x=+#jut|umQRyr;CYc?=9bU{fduV2X88Zcy&-WE6*!WeI*3{G_h%YZtvF5r| zD~0;uL26@m{)=p(!#{ep>A)Mn9WCgX3<)F!{d6}zw4K!~v&Kl9?#xJ>kLJu5wd}<} ztvj8Job{UD9eHyil0RKpF?J^Af#m~=)Uy0V!TOLka-H$Oxlg&qf);H&TBI$R zY^h^(I&5SUdt)j`bLGpbBB&CS-S+uM2Nmq;t@joDqAJJ%U`f3*}OJZYG22Rj1c_3G7X<&@pRh;0qA`IRtVu#FiMH-&(lKTVi4;dn z1-HjsIv%Yv7GgIsB_VfSvbHg2SX~pQa>obS)wj2(keZ>D0ju!_{fC)g;D`qI-%v4V zVmdaSl7=8<8+(X)G4&Tsz7$ka3NePCw?jHV1}q`lEGtb61$VxJ)GN#?FijrZ)>(5A z2Y5yEN>v>3TX0y6;U9MxPGJq!sf+dU9*SQ<$bow}>vQU3wX-V%+1TKi{pT-Vh}RG` z0wI#j(!oxE(dg;YwEW$e=1eiqcpcs*<_-9{(2_M;t_t3KyZa*@6@=cK+=*=y zikKTRe@u!ypoTZ?7}qJ5@qZQ__=!7gY^3xAu&`s^SHOC~VD|IYcKR2gp;XWWaYnl4 zIT}lGZkfB(uepedpQ_{FSWTvnnAR~n(GQtyhYgS|WqoR>F~6PQ^GOB5uU7POI=`?e zC;c;19eJ-TYmL+9ZhV>cDnD0f!w}!dvb5IROwrbMi1G5?R-B!?c_gaA80LE4eWgRq ziGNrY^UZ!yOw6tRrg+8iMkU|(Hg`ZiUxd?BiucuLzr%~MtZ7!778HM5_1xktCK)Kj zLdTS=Lja3|gMWSajfw#24h`aH@w?&>HUPI`m+E%Tc)RE{n*_t@J_{qN*tDyHq#tKq zL7x)!mO7MphX>@l;=%roTdY}tFENKPIS|1WAVY=JrlPF(CUlZDKXC;QNOUKnxTDcA z)n*C1Uyu`OU-t)Xn=o3{Y%-;jR9XUe;%7eO42Ni{M-pD}mEnK18$R@z!YgL(U3QP0 zh?i@&?qXCo$UV+AEVqA0D_Qo3v2V}agL3-eEwdP`^!ay2@AwSU%L-SHOzz>_QVzde zSMnn&w7+)r{T}{Z@o&Z`##33*$=MqCpMFPCeUBam9=keS%rtvssfx=tcI-`Z1WdfU zCfUWJbO@pexct`QZl>B2hn&aD&yGkb3$v*Nt znLGKEvmnrA3O8(BgqMV8v@P;G9O`SZNi_>!(mrB4b zde5l_xc7W~AGRbuk1Qv0#@8wtt%m7!-7RBr2Zz9q{Ns02AvmMT>B<@Mr6 z%ao>G-|#z!n?;WXtFP!9X8K*j`qLbB{%M1?_W#}=CL6&{dRb%`MUTM{^T_^tv!ES2&f9`zoAM`$phf{%3^cPYcZXO?D3k5a~o&$ z>q?%4na-Ylu{n+O($^Xret7ta)SvybFw~TBOuP&5n7z*0LYeXbjJtuB!0X)x`#a@z z>2&YT2dX858`T7>EI#?=?ERgD0NmqghhV26U zb`mHRLrQ~H@n`p8gyc~1roe~4qHtUn%ZPwG98YmR1*z;Y)R7>dKGP?wu@&(lmh<)E zZ3od&PNv*gGWWx(p{O6I1gR@|4)-+tKVGVQvR{*WF&)^`-&$0niaE36H93jhU{f#J$yuJAtxNQ_@iBD@IW{`M z(n>2Eo}~_NmmWp9@S3yScBkm&iFso^k@?$~H`j*LG+k7_t890>va^3M*b}$$FJqMU zCORar!zAOc;#NcUgL%OH-D^qRleG4^R|OM zQ4R%lI$~$%_4Gr9-i$$t-$=%ujp*>m-XRMcae@5_q;%cE#dyrmr>@!MPF5pva zz-ZZDiI+k3A!u-|=1P7r9uow>dv2&M<ySiy_x0+R=OZ z1kYx&gS^HE60%gjqh4UeR!LB5U&d7{Y}=wRv_phSc))vGFUX|Kx&+-F6P@-xz_Mkv zcSbdwziakCfcQVqhF&xQ59Wcs97l~`!t2d)Q-@wD@CR*RRj;Tws&&K;fldIQT|23M zx-9*OXljr(J)V=NQjSjOidydcvtxMQ)(to+Le$BR8+pwkm)ho{Czk7Nyx9?iiXd;l zKyj2ZA$naCnO#vWL;u(#semb2!+IPht^)BQbmo~_xT`(WBc+GR35i_fJJb-ZL@YcDMekAO9i%;E0?0{EticcPGCW>i^m41lh9m`+$m&*gGq2>=IqL zN74v#ic{edQC<54y#qrj}vpOc*w+R30aSW0d^Nw#z0AYn?>|QL5>d@~^%C^*1zA;NkhhTbkRbR`Cn3kH2 z_pT7!vMKv_VH$s&o^ae57S;OTJm=m>1A{s2*FLvY^{FLcBtM-pk~L3;7fWMK?VKH2 zIC;j0RqLM?0mP_a&AuMd5cv|)`*IQNyWj8dCPPV&`6I#9G3A^q>oJkbfmeR^)$;h> zd%~~VJ!9nGFzn}-R~-L4&LCMxB#7i5_)pw$z_UW0_5Zn6eP4jJ9vZ<5Mt?`#(?i3; zhI{X!+B2_adz`ou^I6!%9-YV2-wANPT5t}jyKTP!mppL#_K1_7MCSv>vew8*V1-un zD!%e(bj~gjjW_51*R^XuEYRz8@{qe0)W-O^*~a2d%BR=H9H6h`hLEfId9#ko`4Xt-$txytJhq4^UOrtKRuqP;W-6Q`)zwL5pd2}~6Auwqr5^IhaO zWvw9k{+n}x$h?%uJwfru_eU4SP|y zd@M6_q4cBTk%7TG%R4b%CNP{+Wt;3d$2)0T!uaxtaI<<(WTEdr8Es&nU*z7n*Y_cB zR(2W**BRvRNgUU4i?#~KADeyWk@M%H0HNf#^?8r<;9T#AcN_ z&en3J)qCwBz1gfjhF7C72GP8I@6f56NJ}-UDMupjXDhV=Ijt zxAt(%J3A^V#tP}uY6@!?Ul&E*+Nhcdl`;sN{DP9k(p(8)e(OwR{c;NQ1Hr50r zDEWU*HC$gDKDOBXjO<^ouI^j$XM4C*Jy3%3;Y!G`Urdi%hU;q1(LWalbP_}aJIY2E z@i4gkv<$8%WYOQwR5`**9IXkf4B-of;+S6if&E1rAiz zB$h#~flOZB8fVeRa9DRaB>|sUzVttfJ_I^$3xwf~7RClJ)O&~mwtSjXdw<}*0q;)d zpKkRP+yCIWuVGvkL4ey7kfTE0B9UINd8rcP)hA4Mp=KAQrsJnM%NI)y$A1yB1&L{y z4vm=e(xMPOnDA}{1$3T3)uD7>Uaq{#l1Wm!vl@O_A>T+j6Q;#bX%zCzag6aOhLpk+ zNDbft;31sI95`@yLjf&qv}v<_z9*q1{ZFA^UGtU^O{XxFoM1b+6(~a_CD5iUqCe;= z5Bk`SemLh%Sp6J5+S{_!U}-&hr(UU)P7==3h&wB1S5^MOGR=%89#1`LIqhQvPJhPb zGl(8BtikdFj?`Cq4#|uwa50aXYl&s76A$2Is(UIfT>p7+(aIim#Av7%P^OH2rYWpxdjlBZt-SL_K^xnUrMDsbsOjAif zcKDcig`S25kcB$KU-F4<1%WqE4Tuj}X*JNR463TX1)i4SwN5Ghp{87Hy-<`9(Q>OZ zXNAU{cLQydtn?YqnSwhrXD-FNODWVUc{xhWZeZ2X-dES#zp$>gg6=1`XQW0n+y>o~ zDw@YIF+qxN0P8YI)WpR{k-b_T@`ysIXV=@Mq>xHYh-ME5$a44?S4D>BafiNiyPExV(4 zNBUlab&FRk29USA0Ar6)i99UBgHb@O-oH6D-FUL_HXz#1Th7XOyFgy5eCz~)T|>Xt zt>e-8$8y(vPL>7E6N@XT8FA}|KfM)8FcpQp;b(VlK+$oS|D(P0jB09M*FEY%T@-Px z1uCFmr$oR)myXC%qzHsi0|*ES(t8Uk0tx~yX^M1&KnkIE5+MRgq!W;qfT6cQLJI`A zlePA~ckglT9_Ng^&b{}``8db?kTU*bj`=+A?|EJa7R>l$_so1>|5&jL?h9C(n+F~{ z{Hl)D$YRCGb-1Q=#csc1GQ)cqKu?wwhTp3cIQ_d=vtjoLmZnpzcH++*H zuIo(b+EuSJV0ll}KF+Fhd*{|J`4!iYGS)NnMs>p@zYWUPhY(g16nr_|!zoHgd}?Fs z!-*iM1b(7@vw3&pVYy$I+;GC6!VA>K_Guxl8fi3dM7wu2zdH?{xQDZ|Hsu5!+CF+< zL+~4ZPXWe{r!%{FXi;yB$%ThFn!R;b4{g=`k!qKf#+uM}IKCZ~jBbWo7Y!`izv6q) zzW_9ulp`ZDR6fD$8WJp$%lP^F)NJ;Yg04tq793=>WHZuEP;0&zCT`weV1;2{I?VQz z<+Evd7h%5FUZx-!rhJ=IR;0!tz^UbFA3U?dv$!-H|;%x7kz!y#u<&13w zW}Vhj=b+Fc4zKVHzfWxKKAc0{Jon_)OE<~@`LWjqETeYSmve^h;rcBzWQ)n)sw>*J zzJD_5hFt^ar4t`5g9Iucz1&XA5HXpmDV!Ik_r~oA>wvs>)uD4SX6)5xT2qV_LG?CU z;13Y++ep~*;-%M@Fpu4=%{`xiTV%<$T+qnMX!b^!tG`3dj!R_UPHU6x68GJP3aUrE zmKUc@+#!Azc1YXwC3PiQBIHEecou5$7m74QswL)vg0B${y&Kl%XQI5Ns?YwMbSy=Z zsa!d>1hOp~5UT=)8VF%Eh)tO1*Tt`E;d~dHy=4MPkqFA0sk4oLGvo`(y;egQyr;d9;GWOF{YfBw4S>k<<)kds?HUwUUuI{>5OqYW&D(9 z`J7RPgm$3H=(diRt?#YWO!(uagEGJ#t~p_vyA)+oB)huqp9!{s_k4YILG7}Hq$p;rzh(7j{;^r?&f2u z@Rq_PQ=KB2dPi`wblN~>uu^Owhd4a-kE?0KkD-wI2O?k)ZzP=L|}H{x^V{50OJ zk{9H`Voc?;TD!b+tU`}+NqKNp4xd?zop8~9*wrN?7F_(<`Rhu`mEC3GcZfIGlvhLL z&Z)~xctAkdejUtEPikI598ImV96n;1HF~PKRIAk86*?+xDU@DtYxHV7&mqe-XeLwd zQI-?fetGTHMAW5-66-^$`hD+jq%}7MiIVnkP{;Li)Ie}_T;{-g)yMg510L{_)75e> zHez1UI`I2>_W5mltH`(s4mDLnXTofJ^LDIo-HF4K)}%0+bLvW;c1y)g{mMscsnHYn zZC+^frFtM|`M}em4MB+PJb&GtXRlU$e!wK>2TjTPIjs?K6vFe!)`c1LIZ5P__CD*q z#1GzU9VWvZeGQYRS5|lAJXr6au+Q5>S}xgpQLg3(sZfVM&P-Y*Rh*rjPIlp?*{f7e zAiX9HN6bNR330uLwm85A7#Z&H7``MN5KYo=cLQ9|piCCFoS3${ zD7zdhgRj9*zP{6XLD!1kDQEr|WE?>~+Gg`RGWwEGAA=%04Uxx^w1r_~l`H(J(~$2> zCnI$l{pqrNd>FCfWi+gVx$XW{G;w^bMqZId6N2mf$Gkm+y3_Q#rqfVx=iB**W|ayB z*}_z${q&w@2!quac1<18qm)W(Goh*QxSfftXuf~$)iTJ06MrAqAFAMH&FVD-3;}X! zpyET1@@k8%!wdh5xVA7BMAIY#ZYIyplt3aZeeU9Ti>eArsA#UEfKK1hG?evV)z*gLV+_OJrR@ut%e_wdRVsG1p*Tp% zofv~_PE{w}%@o;Go9&+)XFs?x=Jwhw&yuITapI7WxR$wm*`!f^_n^%?)BHZZ);=y% z5INMt0nt(2bFW&+gP>NEV#CrS<>G>;R!)ApguvI1ddLaD7bQmJQk{g}KuOTVwia>3O4Lv4Hq zPN{dKS3_Emfxd{JFGNB!K%-rOc}|@&25)C(Y)=zj`1iCHK$2ZoFJ86^2sn3HVdm|x z3)13{h?;~tbtt9p6vCS_)qYUMhn~ZH|1(-Y0P)y+oXQT)kyD%r)TqQo@tD0H=|VQmca3d`nlz*?D=y;Stg(H#Gks(tmez977!Ndb~0c(-}DI#7sW97og9w~8YHqYNe``oG2&C0kkhpzfo z4vtw+zL?Gzlcp4LU%!(+vN8L;^FRvvE8GT9+-#7 z85q%UH-=XkA2510WX!S!EKYQ=v7RQO*iEJ(w&HtsCf1L(QhALM}x99}j-jJCq& zl^tN|m-|DVScQ4&!vXsxir+SgnXx~2GLbN_%5ziF;dj4VMs%Oafm9*H(V-nB7AqU3aECf4rmVR zGY}MXztt(^05Lr0?4WxxqPsi_n6l#U;!)jyJIkWZp-xq9VVfO`eX~UkR=chK@*^qr z`{+2;$4Q5Pct@jG_84F^kgmoFXO6{JHI>0>3j>TX+u@2=HWTJJ8R05|o3Q_)OytY~ zfa26%LwsId5Mptv%5UG!AfOQ_2mD_h90w*uTKJHi6`!NPRDr!2A7wUlFlBf0Ui}g^ ze1L;P(U|`?=e?!Y6%%{E_0$3$%au`|>`QEGz?X}})jnoYPDTx~;W*W|oUT^(@(zr5 z5q-OeE0&t!Ul+^WvWvLz^Q^H8A2*|$_kmcoMoU9;6#EduDq#Olg2BQol<0wQQY<^* zRJc!FD{;;YYV8gOlKVAdz_k2mw*NI~btAuW{c|Ss!b`IwoDPxWfKhl>i#RYM$ zxEl7W?oe*Zt)o(&(t(UY|J|6=ZVL-;`LNjqx8?TK#WYNAeEXxmywt04wiGpQIq}khH4>7@O)uZ0AfCEv!QVJmAkyc9lF=7wi+5IYJz(W9C zQ{VXR;NPQjddRMK2QVdk77vmXi={vb#ETJNSP!qfn}u`Np>um$F8ea4N@iCpT?eDG zEDh?c)Z_?r^*N*V3PAS)fbdsw%QRePZLgMW9&<# z)noFFb(HeIvGYqMP1)`Kq@>jxE{ZL8=J&@~i>-kfL%&+@t;-?yt&>Gn+axN_g@9=) z8#dJS!DmiPs|Mjn>uRRYWO+}2`ZuSwG_xp6m`%`BaeAUvH^-8aE<{$l5P5AtCUV_tzS( zlwTd0J7#5YoRr)mHpD&XloK#yqW4ZF{0(s?4pJWv03@PN zJ%WsNO}FHgOtnVjftz3o>x;4e@pPQ7Bx1mSwZJgT9SDnvH;OH}OAFzaO}e{x`e%yl zcWd|R_N)nfUqTM1p=_ExBqT6Kd=XBGopI=Z;H^U{Ar+w#-&%?A_x+w}^j(CiE>SYH zO%syfYOXp>DuwD2(ZgryrM*63EcE&Tu@I>e`DlG2*beI3@jfaOMts!kMbs88AHHRL zOh@v8E#Z;RnP~uE`sUpt81;-Oz;6GTeGPa>IsQp3e1ALSqnBf5AFvBK70rRQ7f1tJ zKln#CuI4&|9Cx2kXGaFY?~GXjZjUimwfSk}!UNlkNT!a(m)7wX)FZZ%UKbd)aZM^DZPKY8 z>*qz2tYp-s);Q3^bI5pY)*4IVGKrHr3$z}3JFN5cwb7H$%TC;}R^EAnYCrPYu=)X4 z8^syJMQ2A`fPft%9l>c`Td`fy9E;!y*s+krnZ>=W3vOo&Hs`!>#%<56$gt{= z2XSBZO7D&Kl-9fn2Kj2F3Dz@2`Mmf#!Zb3r1q{bg;B^%j#_Ity4)QY0lFeK}rBP=l z2GB06#W1&j+X{&RwcxEr+VWtGBP_OB*41pB@v(V0qOaksjEN2@bvnEwbv2NY3`Yjp zRk}J)VA^OWF%y}H?Ky2IX~dY3EXyk#&D9uBaR|+7 zrITUV#ox!Ba`ueqh%a6O+ zk!2ZA!p?6uSog!8n6P~Nse0!#74z71CsNj4{XV z5Q(zwL`c5dVUh=Kh`~9V#(UcJv0Ro-thpl7WN={d=Vg;fdhY7vkw*cbxo00sFq>F` zddNFDDN4+Q{dW*-J9KSG{AHjEFH=5G-$>>Y@wSDGv=keIq7LH@Gkz@YLkxF~j`yuv zNEZNJ;5&Ax{dX`Z>cpbe%IBT>4Y|&BTNc{Wi0U&^{o?x4vEz?CVLC+|NP%p3%OaL$ z&@L|t8m9bF=3hs;azs%7i zm7Rc-qg(<)5*h5Zx2#*vihPY;`(aA#Z-OkuEZj^_(;{X&csE;nY``6H3lz0`K5?*`!x;nqYSGceNCgruqo{e*JBMNW_H`^5Shag4fjXWBBy7{u4DaA zSTy*9tKPUv#OXGfZ?fhl@6Z~@W%k8i>uFkn=W9WtH+j_7&$l`wjl}!g<*Cqan|jTd z!^mc*29R0u5TN4&KZW?xOd6EvU9YVqL$#X>FUu3x1mA zBZ$9riIAy0rhP2YKLEDQX8!O|L9^k@UjieDg}15EOd-_-*aG>q~e(23~QVUF$?Tl@3-B5Z#5)uyMxT_Q1luc(0y z!F(wEj%$+e(KY<8Y!D)fSA8AYnEseM!jPGDY$_MD(GsfE-7rg(aB)>4)4j|$90Y>_ zXevcCPMc)ZV7>FKLI;_JmajaM6hb^AYxJVz^#y&mH;ml_cm@rzLm8nmd3CUr0&CTt8JP`#FO7PbSF)S+>+mT?BZ(+af z+NmR{jpU2r@_gsUKW={9;8v$a9{!CTv<2H_tPM%N+k#bw=DjfESxe4hX)$ekU;<%8 z^NI)J=ICEAaoSY7#85(+ha*zHMvl6pC`)ivmWA?l1!sz0w_2)NURM6iz4MCLfQ?b{ zQ7=)y@P-DY6nnCPluYg(7#M)bVM`M^^xtI*+3CRU)!Rfi}0drgL>v748Ltb z!mW<0aVniv`0{FL6v-i)w|YTsL*fWWwlRMUgyIP;yt+fLfSSg4-s|ABMxEA|dQY~k zZF?-8?rcS+BqpPT;kRU+1*S^%iEa-``to!CCOr-$12F$COz>o`POP~_;~QM&T7uw> z-f2LZ8ZFty~H&OJa$|D_!T-Hvk0V*%7kU^IKM)BvSx zVv@)!sx}HgchJnpaXx1nMAALymlStasTa65QvH+J82kJEzrOe2#Z~REX}0bqm4whv zcn?cdkyMc3pQ5kq^&BuKvVjcNdn^wB=+-{NU}Sqkq}-l}x$1{^PP`jeom{;abSh0u z`2RFWkg(rfg=gN~fXSL;g+~ID+*sQ;g+soHAK@7P?Y{~L_|rPlM**kr0$QBj315`6 zeApS3M>}V=K@(f5G7S5_CdO^Ub*5lwG2yEHb|c$A0wYFxr*I=st_+(d7VG34^t0!s zS}Q5_(kCt;mYser`z1GWq~cZHlZPb1h*OHERama|h?ZCj5g15c+t$Mef_EHr6!0@W z^+9Cdm1DKrSB){Ph*a9046J%V9&h2X|oP#!Anx0zOS>EeS{!XnC{xw)~ez zVR?7sB+ou>i$6E9dhwv-(7bg4_~McuV=X&*1fXEg-94~yz=&HPdSOSeX$ak3+OpvP z-R`f20JiUd6tSOCugoR^_dw75#)0I>viz#HH6CGqWe=Fy4|c=|%q9dz+$<$S0P*`Xl73-orZ~uN{AXcI54JKx(*TP1M zhwB@c$NZtz9IcX!?_{pJz_HGi9kyYHK-g%O8HyO|h}byb*MNgR>0HpAzzG#SPhx4+=6EMbW_VXWC}jTpgCLT%BwyZXS&i za=U|44h3pBM7#;8`XC^WegS2VG|bAxoD5lqkjxQhz)u~x+6SQ_Zm>YrOq7{xgJmYY zf!RqEK_jyP&fxD8`7*!RduOi=My!u)M)Pv>eNzSWxnm`?P%Pb3#dFIsL^FBnfL`D$`|6avZC!7F5Nt$Ej);{{7EvVY_{fcdHGp^g&a@Ve0(>e6Cg-b_&a-95Pm6i~r)ID!x*LO2N5 zGAoP+eYf1_0YB*6O(~XFzFHQGITM{FG}s);&08qj!Awi2w<@?JU?Ua5g-Xk+rvXA| zAyl#Rk4Sqc;GJx4eizAyk+*_@wnzT|zdHF7)23v*NTW!gz^r1pW1j!&LHw+@7{Ymf z4Ea=;{>ug`(X1C}2P_b}t9h#>3&&w}=a4MW5;QCeyf`}T$%QKOTg$yJ(5}br2IXc2 z8wzD1f;|clko*ytqG&25u@yNO6Akp?;BsKAyqwu@Ln%_oXzI)^5T*@uvLI;$0Pe_; zBuXPdp>h4{|8pU{_D#FM@_afZnpyGOG*AHh0#`SW>b-BlUr^Z`*OpHe(4gIa@-2Xz zQf_6|m+v)KN#no{#@W&ibn#{zSw_{Yzc*(vVMj46I4n($foo(F=1!fzS_; zDez@?Ts_jO(&t+2cGCL3;v0wY!1a5e@@4;w>43i03xigCvciysC(fV z@#80Cbru&&E`VmeC97BwjF?t%e4t|7E%MHgNrITsJ;Zg_2c*bpef4Y^XeWb-X~v{1 zuv?2-f49X~oZV?cd5ydUk}ORS0SAwIPaR>5NO5J4CCI)OnQg5P?ivuQj`YMBVg7;H z$5@8!HNgf#f;wehg{6QaYx~5agyVUdy#;+WC`%wdRfWd~g88H!*v4!etN~5m-JdTK z<+4{+Bekq8ZVD!5$?(*}Te_cxai7=_i*2pl1BDBmm=AH^NjX`t%c040P2E!pdT3+n zQ@Wy}e}LBumBuPbeUa}>Q#q!Z3pnZu6||Tvi>rY}+L&U^&UYOfWrvWj<44S8iZs^P^GgkWMFZ7`~367nTO79h0DNZMe`Gxg}6Mk0ptPaeX zs@vA?$^~|+G|UZfzyYGac5U;&NHd#eYB}O#_;EFB;hck%UPS?M^1_(}Ljl~u;Cloe z&l0@K0C}kncJ*FB%vXngh(>GV%1)XVca&sh9h{Qsfe;^+-K~?b^Qc|OeL}wx)- znUVNsbYD_TEujox;W!5aCg4{v0(l~vM>d0fRx-Av&44p3zh1W&JQk2^XB7u)uQA(v^9>UW6DzrpEnVXyr&5T9!4(KT)(iq zSg;L%n4K~f&RfkC=qOK9mm>rp-{94iVy02Upc}kRfq1e5JhC_7sg}PAru7`%i&5@6 z%bvtHu#~>g;=rqR*a_OL!AXU?Xz)J*{tUbwwwr-;XV?{T6doDi*Q)G&4brz<72u?V zCYyouGL$=H?&q$~2dP$GcTvnp(?2vQbK(c?eK^pn_pv)W8$D5RGal_Elw}}{TxGpK zBKx360v$@!Bns%`Y@asCwC36~X!pa^G_JrXgNz(rV|DFV`q+wzvNDwe=#xffy}uZK zKC6&wPW#4(UTtI6cI^zCuk$_#-(~9ruDwh7iJrf)k-%(EG`pbf zlm@2T1Je(O*9!9D$NEmS>nI;^(@0O{yn-YSH>P8fta2m{?*S-TDT$`g)9 zg7uPR*CBn*JlVgI`d7_BzNdK9t8aGOYU7=is(i_|I%{6e;w-wb`spaeVbU>b}*?|6%t;^dzLdz^!D-b zsX6%2W;6ChA;)z=Wv`b$9bDhjF}PE#W%vAl E09QF(KL7v# literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/show-multiple-tags-together.png b/public/images/example-thumbnails/show-multiple-tags-together.png new file mode 100644 index 0000000000000000000000000000000000000000..9032c5993ddccfec5082223b681ca201bc0f3b92 GIT binary patch literal 9748 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 literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/show-number-of-results-per-page.png b/public/images/example-thumbnails/show-number-of-results-per-page.png new file mode 100644 index 0000000000000000000000000000000000000000..1888db42574b54a604dfdd6ef100dab3f0ccd7ae GIT binary patch literal 19014 zcmc({2UL@Lza}cm7Tk1kQ$iOM-Sj3kAc7!WM5T8j^j<>~P>>Q(Kzi?NsUp1#1SLQy zkuJSgA)$mi|Lk+-+&kZyb!X1`&fIY=R#w1-@Fwr`d)n`fc&e#P@jK-AD_5>is60`8 zcIC=d6!^MHdL4X6N-{(S+}v<^qVIm?3K=coi|9&fIs^D7k^3{{M_0-RnAgD_Vwk*! z{FN(Jv1DiFzg@YaGNqy@|J;XY`)5$J(Q3f#X*f^0jjGY(#A&WqORDnjD)jFx-{M-T z-bV2=lDJ;5Pu#k`rM6GS6Z9+GokH~P4I{3n4{zdw{fOdP@Od|au9V?OzW2UHBrM6* zF23U(l;Bf0P$kEx)fE3R@hV;Q^AF<)9^a&?0J(i{+?Gw|#Kf{&y$CjtC^SXVeIRAx zCl-ocm06Xn=DEww4U6MaiOZL?wzjS%zoP=~@G&NW+x*`e+lxcftx?VtiXRS`C7>fZeB3_A9;{o3g!jR%hD%2x+nHYTqgf zXG~gh=N>0W@m3+&j7(pNsH8Owq~ZxgqsNjce>LgAb0m3b#bSCMN6W$OW%lQL(I+1#dE_Jy3NuS zZ|=?aJ7JR#CS=Z6`qL1v2Q}UK`ovrO+lo`V%M}_&#x+Z>Ng3rrZC^;29bWFGI=-g+ zT3H%182`e8r2E4;Ozw1Iy0gZ6cV_x^HEpDcfXS-l+KZ`5bA_D}r3Qz0CJu?KnJg?E z83)4Cp;oy$7hT-4A7szhwZ!4u7OWYV^wW%h=1~SS;oJuL3!YTiK-7%Lb2cULCIrINvly zk6bJWT-=7@1{DwoLM_Y!{mpO4AMKf5ESs*Nsm)WZIy677wq2gKWtm#C)MP#0xLzv{ zuOGiVQJxiafp6A8LMdbv#C`e>2ZGs1(KQ?_7%G&jRxuJB3{$b%fUEqmsQDK%u}}N_ zw4178iseWD$ckW!T@))xYdt7)UOs#yWyVxsa@9O}J84_yst48{Lv&yX{*;O8(wGDa z9%=5cHq~xh<0yf)bQ7QXx6Ds(bgRQw4}+=v+1m#8Ygq4J^%TVo#j7g}z}_jbH7gBX zk=B?AKf3dLu&K|FCOsv~ckv60^kn-YUei|1Th(FAA-t+AsVJc&E7pIB6LAu;ozYXH z(??8PYnvF=c!$BoI{b)(x9gO6!S!bDqd5_XsE2s-@j{gE>Gi2U zbHr<5hnEhhAw~tJb}!UsGt$d=lxV8j@%4(O-b>}RA-)+}$j) z_{Evq;H{13C!raJQ5VNorncS084ghUrXBMe#bKKHAP}1$YT^1#e;m zmZzdQPRqOdeWb7%+B?|vKAd<>WzJBPZscJ#Iniq-`OKcUe@YIFD#q?uRPvI9HEUrHNHQ!KZUu)t8=|_WAbBtutDUx z3`}gX@uQ9Xf>?s%Ys;M_Cl+#x-|vV ziId6oBdue$i+Q$zl)Iif{!Hq=gUYXC$eJzXE=huZk+@$KHmD&onJdyPO@`Jy zh{uR2C@9$a_(&Z5?xns*L4U_fmANHJcfj2==G;ObNnKr?t1IDUP&J@eduZZ1be#e^ zqE8=u`|9^GO*ul22+U2zl} z818z&W&!7&{VUUl)$$Y-I#~Sk<>nk#`5Yq~kD<_3>z@kTI?6lG$xKf2B}MKz3K!R? zwOGL6QW_c>cRbO3eSLJDZb=6QU{aRo4(9b8@ZoOLMoKa`T%-=0SnKV`cJ3RSfgi39 z%x#e<@R9bW`$h{Lo`0>J4hUOrYA4K3x=wKCja3_k!hdAGzPwA3kYobCf8IZPrU4#E zhF!~xEi^qTFja-{hAk6eM-80|#!Q2tV4S~ANl#aY$Xt-L@nhwV!8f{p$sK!UU3O@J z2ikT16GOaI{aN?%u}`DVp2cL9rLrXiJyv0w={j$g%&Z)0(|Kn)*=UFlaD&XAX`2{=8J+`h>oJ6+td*b`f%k@jGjGPTBj zY*Icih9U9AAIdXZ&u!)!VBDRQ-0-v%FzjlPi%jB9ODxn_j+kF51CEPGgu9nTslA28 z0(6&U)1cZKG5-k4H_)ia*X0g5KqU#R_Gr_qTQ&)xr=MQa7SRr!7NJ6kk3A_Jn;c@# z4J=N=uAEjDfSgFzKc z-;pNqMq753HLNq{ol-`II`aqT@k$Po_0J@{@IfC$4$~ZtfhcXcAvQ0_%V21(`a7gkkzN$3q=^?Ia8n(PYju z$Sn+oSZ9aL7i|n9OciBsUmUg18-s~4*LSSq=~5^RM=X+C`^xh<(q{;|w%_mXsVuF%%{)R&H=pPSdF7=zh2F!DHMIKAN=qy2ogyYx?=P6 zcY$V4`D*<7IH2q5VW0mQJPrgz&dYRANHzXhz3{8x= z;!;R^)pIV&hnA+dg#OuG++?a91vFw8j2dUXP(WZ!B)}cc}re>gsWF+ zDJ{KL>s@ZLPPZePM3(CRJmoJ{huk|`%}Nt@zN-@VMG!!P`X}8A z&A;(Vu}Td96(e|M5ShY4B88_92tvaXDfG{Y4|v~49^HLMA%2tQu3$e$i?VforbFa;!~48;rc>C$Tl|hz-lGCOt?nf+kNbYyw1kL< z5KD`}iR$HiewoFc5JB~s9yomSq@I$fD}MXAy!WB8CT!xNCHiwSUCnj7Lh`F`uET#O zi?2i&ywW!jmncr^)~5{-Hc$2|{5W+Ge2v5{oGRG2KUK^NSBEsusEi7_f4Wj)Dt7KVw?u+g) zo^TvU*>P{YyPh_g8HZVI5iTPJgow=bWU>au&HWuTYE^xALPdw1_CE)EPt4Myv=E%stI z7y5pm5)o5`cGaswTnC%fLfJ?%iS<}@#Fxj_Hu$azko<*)9vKDpH5Qjh{9q<2!DUvd z--plVTBpSRVn4XH!AW^t4a3ax;EP=UVoCv|6TFJWpUs`-%8ClCq*tt*b@7nf5+e-C zy9Nz`iA7^uxb=~SU^W&OM`F?vwgjk2!3wf*3t#YH;b8yv6t$RcEAkA($RRQMIJ;1} z@m7md4VvRXc%a^;{acx$p(0=9Ic;GHZO<=zS<24AT*V4K_OnFjcQM?n?r!?&@ee`> zrK}A4P7#L5`7uLVYHcQ=QQ-mPQ#Nf*4m$x&p`@B`i^U>ey~xXKC_DRfGQ}*;g&Y(% ztUT(o8{)acXr7T_^nK}+?Es=ajxeVeN{nOCjMjDvXStP=92Kqipj;^?&tFsAy;ma4 zr0f22(?LJcGjVMNQJll>bdS#xX^Sfllh0M6qK_rq8-FnybadDlNlfvsm^04A8YIAt zjc#f7sEJG_@3#vh_tdcZLXwh_|1Y8!IbQW;Lo6oq9>hINqf0Z~Rwh=bQ$|4RZ54BH z@_VDqtM+xWqFI{paH1*6DZfwK;seDAMZqNv3{z-fZRP%hj;B$@C<)q;X7y(AF(O6i z$JuJ5PmfFJs~p`O9~y1mlptM3ZW__IAF@IF`a9zjo7UIYMa9HEVxS@-B8KEB<57EH za^#x~*&Um>`>ec9*tCOJ=}!E6uGaHUm>@jy*Lwljj1V+1m&)+hQlOCu@=YbQyHdvN z9xm&&A&X$Kq-J#r65N@8#*3M6YkFxoR&I={tMuBQ{9-#&_=N!gkE(9DkqQYV^ONCh z1~xXWBmq+=eQ8YBw{PEa?SIGI60gjh(oe!r6-zn+%f%iKe1b7-z_w>e3KV4*g-mA} z$1_X1ab-w*^YbCQx)fVgLfdTr@Rd2V3R*G0!MI#}FWGyPHdJgv3XjFW^DqN&Sr z<0dyghuK!BakG!>z@|C@rxp)L2cAg-c(Eq{DEM6j5M2k5=nk-{ZO6{kpLaTcQz&f@&CgWlULF8Cw5bnH*(6 z4e68UN5$Cg&a^b_S#fuLfUB>5lP%nxZoon}bCjc*p#7zsgHM~V&*XBQdb3qSjVV*I zYm0x|2#45|bK8Z&bH#bXyj<7~GgViFHh;@$D7`b<<2U$;E+@$on=YsYy~&#ln{5q1 zpnEraV%g9~!){2gzC$*#j=`e+E3uAn09uIEzmc1(zefm_N>9O$@YwQ@xZSfpQshou zs7vOm8il_>B=jIfsdft*lfzOPp20*RD=n00-t%L6>h8g{TIZ{qU|6|jRBn$XlWat# zn#-DSSB9j57r61(w>U$umK@nk;(1F!Ciw`Ux-VoiFLOPj&^v9WX01S$Fs!PTSbAX5 zWBJRGsS9*4UQ21`OcIO|mYSjjnQ7G@l|ezV?2d*e9q!J~u9+`*(6#6izh3(-PoCc| z%N4gaq?E_HC~Et~vZ%XRh(Fa2;#@MD0DEPVk7DKTlIJ{lak%h|w*TN3NrF`cV~g$d zZT4z)@(lJ{JyH_&2zXu~o*Cn46i>aFiMlo|!JY`0C$_Rf%q-rVl7zX`!|KB@K&95O zi@0+;d_kO+gT5x6oeAto;4U+6^TP?EyX1CdaoqsF^K?1D;qSUMM0f39s{wJuZaE z(nE)0mY-MTu=YA9MbzG>yggQ`A3v2Tq4O0dRy~rBXGjzifS5sSoVMPr;jcnph!&?0 z=hE}S-=?q@HCm{I8@HNbOKe7If|<1IqT{WNjkv7%{u)y(BC9*Lj$WH4+E!1uokwn#@jpyT zElURGg~~>1PEL-fj7<88is(jvC%4^*VFb@P=R38~V&ncVeti544hIm9w9paFOZ^+0 z`&nYex>e_Hd%i|jQ1WICP};afa&oaDf1)`zap2Catw8K7srh6X$}4iomj=~Pz<+h$KUdh)a!j2Z%el#l$9$Na}%Fa8CHNl}404M0}c zxfN8|QsZ^m1aC=QUeyJ_jCJoL{F?u)J3g9g)a1oC3!dR5<#Na1#p*x?s?J*4YwOA4 z;v#+zfNgw!-zKok18sNSp3`3tlu`fA z`IVkS%}=wH0o5%!v_qO=i@a!{vg0uKdwA`&dxcP2>7+HH`^?{WCu?}b$H7?pW-hVP zeZQD_KpmnldsX=MYn^zS%9L8`{#4|zKegmPv2_QV>stob=5IxR zkh0PnjWZ+Zig}lDtL3F=7ctC9sFe}GIBFz07M~*E& z?G3CJD^bk5S@2Q9XDPEWCsQxeg(W9NurDARxe%Z)*D*aAmp=fkK($<%XU^UjP4vqq z{B2Q1t<<839|9K9!t|#IAeA5Of}wy7zC9&71r3JhSbTeIr1*^yvQf;ONwZm_s}V9?cOQY_g#tb;^kMT9{$cV&OIUqkGgIt6ZbvR$|s z)Y!cUJp0v2Rn)`kS6bETgYX>IImDxbW};3p^yB5IlleV0ftG~blHiJfZTt1@x>?Pv z6HF1rQyw~qJzIzpcu?3QRZNCt4?0_9L!1e@&#S;s&!u#7-w_jYE4o4Q2P=f;2Tg|`c48!dw6#%mx}vD^>n}? zulFrI z_-r!Wk+#lsk|*&-F*&MFt3}XRKT5_LK0(HU6-DzLd@`V(Y4Ub152oeTT#`zVsuETq zYo~mtlpb~g!l#Cw=$<02EKN&G%Lbt~*F`0RCND=R-~Csd%;|DLtwLOR4!>eqp#~ZJ z2l3+r;GIu(4nCRNB7->(q)WyRWJo93N5iv`#lOLGQev-X_Na4Hi)g)>Ef$}#BtRQW zGga_w&u2;MQ^4YERXLB8nv1?il1xiWi&z(8-e?cLreZ(}^!b}GJb=Z9j=K^g?aEY) z6rvSER7LfvewF;Dt?5aYtb@hM&Tf(!oIw!JaOdJIX1PEal2PG%B$WJFemf0Hoal}_ zqz%mPlpJ4AW+z%?O1%CJyEEM&(x!|tC$?OPs05#32|oqsNAna)mdO$uOCWF)0SVjv zb+;c?S^8Vfd;t**AQ24A1jN|w>CcPz{h9$EreDF?Jl=Ip=a2GBrDTIR)uQ$rL zaLt9BWY-!T$c8g)JoiJ)^-Db+eU?rXck%~G1Wlmi>wHa%vmlR^Uj`UrD5}nVukm^~ z{jsgdmc!bI$m^*Yn)qfN(b46{YU%tdPqNm9ZiO;&Oh>)PR7i~H%R3*4xiAYN^eKN_$_oAYukr6L z95gM)(VMwMg(T5?CLHiCDS53)AXD~B1iYTUaq=?RnoefjL=5sCaMn7){S7I4*vFMJ zp0bH<_0u;ALsxPxdIkI5s$q2B5DP4gu+NvON{YU3S1;0x#;=NPgtA&m5G!OD{DZ^| zk=Te4`WDPuY=?q=NAAT-LNr9SE^&;%6C~X!ED)+@eR5M9VmwM`~)S>P99o>-fR|niW*?+TuBw zN2KXYo4(aK3`&nWrB~-)nEhKA;nB1vX>D{@A)oYnV1KSC136$$daY!HnBP_i+)>s$ zoca$*PYbKzhYg;aFIx#&!+g*kmk~1|UaDla%j2GPg!s&pzwxZh;Nwo)>Fe@BA2 zEMX!g7k8R|0${8cEnwW3z!n=F4N{wQpkrs-51W7qPk^(HGYre&)g^AWqv9|;A4il^=JbHMz=21FbJ zg&ZJx&wUEep16z-?I1vIvAOhh__Z_^iWbvmB?k7Vw7FVYvKgK2F)Y&i!dvy@jILV0 ztXLDx^;hzAdEgN#$VLl%GF@=W!JY*C=N5&IfLWSVTFiF3W9GJusPmDwJ%(W_0MidL zcC1I?UhTR6~k^_wf$b`+TN6J z&m2(8j7)_r5-#j2+XRDiNU!=@q#^Ui5t~>9Vp-{94+#~k15QdA%}5~@%c+h{&Y(qA z&Pa&$?{AGS;6$-Q_o|r@QquK4ednMu5RV}n-?@?PFoL0)@? zJ6#^N^Fv(gXtzW^|BDvPV-w$T&iuybf#bQKk)00x7TiKr};dbH!$x-33`;XBA2OWsjetGr{UZgAXfE2?)l1qpV{qiWIJJ_kgWFva)aOdZgPg%2|9f+`itBj#vOjuN>m}-XI|8b-9 zbK-B1ApS>@)PsLUtF_$wYENvwBPkfo`YOcE;b_lMAd1FZ2A)^KQP}MgnOx-G_Rx%- zIZMV@Snge>1$Owq40Wo3OY^l~*KL>lb#P?~wh&`@Yjk{uv%5Z_>g^h))~C^=??SJ?U{Y zuDM$RR+8nC{iMw0^|wP4=`_xdJH8twMU>p0{gHq03`38miG>VL`6;~jzj1N5W4iazk+HE;1q&M{! zYD2ooTyE&LO-hvU@p(HG#X=ADPWF@9(p&cs&P%J&I)&HAcS=4U)BQeB-bJ)PsK6v$ ztJq7neKWZRjTu|GsyB+qjcBdhS&V+)R#o70Le(+x&MK42Xr6NOy03up8h7q9A7YSJSbP`%R1)-`rt zrO}-nWw!~aCw|lc@DAHouekV#gM;7mQQWLO1u4t2l*K6_BjudCnXQ!}^^q>>Kto-f zOJz5AMdH1~3q$qU&sJ)aAgPf8p=qWrftN&mCXiB)GE0t(uLD2%lSa>@)g(AYu+R2n z4Z&S(u&!?d@-UDfH}NkmPEBpDwI)xBa22z;KJD$ePm+%@iLiaM47B$uQ--We(n__k zN)$EJf?F%I?+EAeu>}c`{5urARqvBg*}gf%q;XA?Y6=K<>|$p))oRaHUksaECY#7* z1TD8)^1Gv}*vgqa<=DHn4VGyzLu=_(cK4A&4Ls6|Ss}%T&n{w}S0UL75-WEy6kF&V zh)we~sSVhO9i&)kbD4isP7Arz3!`pFOfHJqMI03=J9>DCR)kAgrD6oeXC}%e*$enp zG5tVKGi_6QKJgow-s2P#;k8$xzAo{sXQssus~N#Ug9s8GR$u%=Z__nlTNR&M1@pZs zEM2~Ww>|UC_|>i%lQ9Rz0RZFTP+&GJg(^Vy!PH!K%yLZTxJBdNz}>FIQnigux0=ei zyU_k&(vtD3pcoxV8HNK*#VqlDl~V>QOU9ylhtC^hNO4eW-Whf#A!VJf$&gsX)yr~A zJ}KiSQIZQaRQJvN!>8=zgEq=8?{ut%lu})oi;7dYL#|0TfDDeiMAzl%H@<-{3D8cC zF#9eElxELyQjIco>;b!`kdE@Q3%P8Rynbk;h!loSjDbah;2rq8&*|e(L5+82tR{6ix)tx<_sVmU1mI5Gg0(+gYh@@T+Tp}`{kee%eUZp# zUsB2#X8$Dgo!1+wrRah&WU&tDph$vMv=<}P-#rGWk+3iN0TTcg{=< zd9Ozz$X1pxl3eArv+L^OSp~jcfg+7k)I*^U9*o-j@%qXYDw7TrrrOX|sMKLmW&9Da1=GMNDBR3_^FB^o)jo<$(%sgPM4S)UBcC+5Lk|B|#&(OK$BeJI_9^}`_KR)Re0hj8( zl7ZGOgVP?L8I)su!Q{wl+TeCaWuv@UMP+yx2wxLGN!0)yQkVAL={p)?aBl;O`Ro{^ z!0Uj3Al5;KtV)Q1b5fQI znD~QEn)d2GfY!egSa8<5Q}g?M5R#Hg1yV4J&9ntBR%Y5JOCV?@%b;~~$M(JUH9&j6 zi76Trnl$07((|AiVf(YuQw5?39Kgp@o=e|8NP5z-NWNKH+o}>#&d^KAf1n9CCV>V& zaGXrY8X>KYH-{;(QxX#uVx^$HGS=MP9!@gWP}k?^O%PW+F|2dyM^%%fkebmhPN5Zn z4=wvr2+bH^UIMdV=$#G~Xx;Q-T?W5k6PZ=IjwGGIH|B|QeuoZ=9-^q5?Cs5E@QMNxjKA59%n=lG#mF_fqUak# z1hXKg=;HQs9Zu0LOb@UI^TMNF_v7?3QzPw3^%AqyA7;<&Ja?}B!u(X1CgGZ+woUot z$=g!y`FOy4Yi(R^G-c#+#G2SZP6-|*d;g+MpCkoE%!=ejQ8+oyzuOYx<7KfNqq*@I zGw44hqP2`a|=6jPxpq}51RZ77SbSk{}DG6 z#SvsgPrKlt$}Bo;t^idcp};1=LPG~VTZ%=^D9UT+t z(hfDXe=NX6&&|>56vOgzqLUe=a{d~!kRaHRgiPO-MsiedCsBCyskOMe7>quVG{u-; z?X9*Gu!_`4Cx1+d&nNGF^FThe#|bJ!ei_ajyjW zG^ASE|1EQl)W8WY?jJ*9YeFkN${fh)ub=;kh&J-0%C+UPx*1jH<~=3AyU42Te*EQe zdH%1C-@K`#9PmpCxkTUKd+sHY4}UW?x+b8PVd{j&-+x**J0fCZR}FbU*7~XS?z%B( z>^V>Orq1sX9KS{Tv2sE&rp6deF#I**Fwl!8`&3E=bX+mkp9gvj^w zaN8DqmL-{KBgFwy{C%F90+^AD@trc)cbI9GRIzge`J8*EjvoOe4!i))O?#CYH`NLm z6WCf@Bl}e$LaC+Ps3DGNt1|HX#AB{Kn9FugVs0t>bLkyBvh?np6@pRcG+qBeK@2VF z^Knv$_mkz;oAHUtc>QYY{`8UW%w;3TmH^Y-LxS@g3^EWofuQj-zUC?mV&*&~=~zG1 zEd9Vdg+RkpcC!O+GuLeh6=oI-Y{W8Qh1v-98Y!ixD>wlK0n!10%e^DMeG`#u`(3^-N7;%qQgrqs(-8SRgcked;(z5#uP~V7&*m$7JWlo>6 z^BzsH@lUwnjnslZn(Px-Kn!xNO>f4i^6)?;~9 zSa}b3uUa8;o*{1L4}>txsF;zG|Hfe1;5QLWiLd@sQ(_{>>E|N#XLji|H?-}Szc4&t zfGHHhyBsi{KRa&RHt*GwzV=)L&pru?dyuyj_ztHKCL3K@>qX~FubQA!YEqm8`L zPtnC<8@wT&*vG*_RJwQ1~9nFX^Oi%nh`c%q8feM#y1MK zSDlE^Xd8Y?pg7CqL@DJTPvO6N9$b7>Vaq$5ywcYH^kNI4)4}B2{J|vX`~Uz6-Ae1} zjvAHhvDxt7M%d|Yn;aqV`!AAMz66t=5DJ2HLwpwNFAL_Rv-B)DeF>`^@t9pecs@;? z0t8~o)&`;I78uw>fg_yU zYil-fCoDB?K&$y@>*v;z4mQ{7fe$>PDWVxSBi}Mq)k$PGZSaG%rqll!_shE_h>;?# z)u&BBbe;KwE(c*7#CNqC?2I&9=60-RuD)5nDQ^ZukEBBqIwc4QJzuF2J%P<7Jdj|s z)vP5+RmK&@O%IM(TjF?hP|AZi57+^-xOc(Cz9 z2B9+q7+GKJjR73-lk+gCKm9&%@+P4t4sF*;nu>2gf>^Oq^C`Z?pBO@D#6#S1348wc z2d=2JggMGm3a^jbB0WMxVX6g${f64{i9!1xze^VY=_39W2aNXpGpj3eVqXP2`EBO( zb={rmr3sDWWG?=clQ};GnQ5@#Kn1fb z7T<_AXT{LeTz}*RJo4+mO+gPjh*khO$@E(3OF>R(3?x1isPWRU>js@y3lbea(DxGT zTa1!iEz3nfaxKefk%6ZRk2nJqi*=+y?RyQNac zz;UN!&FcWV@+ke9dWbO81Vbt>9wq@qdwb?9iq9(|Nz4gIA}%o{is24gg@lE^A{H?_ zP-Owdp(Gb(<$2M48E(ZSQ^OZbY}c<|32yvBO>X;s@af1W_46-(y8{{zBlz^wtRnO&nM{o91x5pBBb0~-Ek(Rp!dRYcukV7d8M7$V zGMn|rb^jho)HCP9MBBlqB*ZHc_MO47X#E&x&#NplLNW@e=*aKizo+DvGeRJ$ot>S8 zsSF)(LjrasgNhos#vn__`=K^PDxQQ`v3V&I?(jL zb%8~L&e-271~}4%01f|pE~uwT5=h(dl6dsge@{Y7`?Uqf=Cu#9lrEIIgZQxe^|%>TP$NVX7y0~Qhdo+ z%YH9ULwIwNLJ&{{6ELjTC>gXi>vVc`n6TWkdq>3^c%0z>C!F3faw7EOt@*TYcaM4p zugh-!eaP2A0!rxP{eP}JjxzgiPk=>;I80OVyjl|forAF5*29-4o4bv(9}{^%x_f2l zeI^JRK>JOoOuzcBBVa~^B1fASh+jQGc}-MUI4&^_RHBzo32O{~Ay7FIxlRHaH+pWy zCCXhm0lsE012ddz3%dM_KYbjasDXpX5_)w6ye{9qDR#?K?ui&SFHJ}Cz3heiQPErY ziQJ{aNynwXbc?gkJ&lXwm#vo{m6eBkSPdHkmXcKf6<|-CFJ%`-~WDYB58P7~6E(m1N znON!~5H)|)fB1M%#&hF&56WY|VZx;8ZRiK^IV!wHLfH&E0h7(G|5w1=S$b$Cf;KWU zg`&A)*61tf-?wU5mYx|k0i)@{XhGCL*ph6kRs;({E{luNSq#Pw7K z{4WvAaQaQtv$S1aJnY%!XYiiTJU`}U$E~??dL$z5R%FQroIqQ&hT_Qzt0}+!hEk%U zt8fNOEEP$wUBK)(JM*IXYoTQ^0D$_akLg$0tUK_GDGm>8iWXRK{7jO8*6^`3Zr;sk zUtMm&_no!+Rvbh3F3$WxQ0!hPg2<+A$y|oPAlQ9@IPHs{Ybr|tc0pQ&J-d8?S)=Qc2?$r;N;W^vBs z>CNT_V3@nBo%lH%xL0rg^0R>cs1!u(>|#IhpriHrLA1vlkWSeJ(;X8H?$jVtV` zQI(rWHtnqAj;f&pXwx9h0EgP5lsP4;KP#YeOiReXUjuRpcyMS1wN3}*ru(2HR=bDb zu;$@Dc!D>I7ro^97%iN2D%T<^E4|&b4r5~&$T|<;nO&dCRXz~6?(~y^v9#^4rDpjT zmYhkhxtX0Y!^V!&J~LM+ zYw?-Kte^2VD>+-7rJtQO%Msy$mxC7x#^ZULA2a*!9RF0N5@@@| z+LJ7@(wiP~``-d=JJHR~hazX}=*!lR zJj1#dC@QRQRp##5T>pfizjL6>A(i;5zf<(Z*K6zH&YA_Viq=z8`E~6(9weiCd0DvB zYG!j>JR98QL6=rOs%{9|m_S-|#&WUbwkg7EdW^l4J$1kEdB9bnA$QRF(H7Nq;dPOs zbopJYU^XRyFKp=SGN~Cv4y8~7AiY0pgN^Wq`hy0`Dr`?Ng zefJQ~qNOx%^0>tzW-A=bl}1Llo(KqIsRw;BPMr{^`E^wzI=yG<(Wn&|x1bW0J7a?H zxn}GtuOIS;fY7b5tUHC+Q_e1>3abf`@n~Ppv(M!c+3$qbWMXD%Hea=_`7X&)J~(bd zqS3;JwGQ7=d{*O&-YuZ=hQzMzt;k*^E*~n#`r^T6@Zu5jtSZA5y=od+&6p8cO+{?o z<(DMyTeA7O?GN!V?cjr+U6BFEj}XDOk?{wKC%cVC)K6|ae53kk)SJhAO@v8qa4p9% z{FmC3-=OVpFQu9I6^PAECKv=7_`en+8 z`HA+^i?j5Dv+o6)_!hnLZ8Y>0dy`9lMWn5{In49y)9e|ZIfQZG*}@TaHR#mfWS;F( zHE>|}a29XGPamk~;Mt(1fm|LRKa{%)kxTNOL_ z;VmvsjKn%b6PNA9c`uLr{+W~Ilk072vO4#I%8#eMJaV>Za2oAC!;K=p_@Eia3?JN7|I=$kU53+<182P>0` z)C;2C#E(Lhqdm)V%$+C&Xex8LMZ!E>qT1byezCejSeuU?`O%`of&mN6@@xCyjaT7SN8w(OXvzia;nXEH88`VPcVl`N> z2b1=dlGb243X=AT){0i94?A5%mRL7yf`B7v@sX@xOv1>?&=h?UIwi2^m+yjyo9~C| zM~@#`2mB=OWv@rB#}JUBVAuDw&iYthdZke6$RV!+F$;4FE`8QpkofDe4?J=uyCL6e#Rn||x^BXcg=!m=J zn^0GXIsKmd-XHGd^Vzy5bpz*PU!Ifpl5Y#%`$YTiijLm29Fgcf5EhFg8G|--vU)3q zvSs(WXl;M|Jo9<$pQ_N{r`QFeVDe=%e!k)5`;yS<6^xVv-*Si=|Iw z{*Jk^{o*5p<^NhN%|2`3@qF{eK6dce3cPLOXSC@ymTrGV$tEdym}3USh?^Anrh_H`wt9 z3uYz0frZtGt_O9`v)m<52hr0>fr1xal-X_dUh|zd8G1V^-?`Z+z9Yl-?kZcqL5@|l zWSV59tInP^MNEuwk6hxlSd%j@G||7hrbgC#QM7m_zTBjQ9D2Fr7NO_!A4qfy=*zYG z2Cz!-0|eWuXH{SzrT?z7^YYk5;2{jYYSET5k+s=+hQAn5yA(OEyA(<>@wNQ3jRZR3 zElqmUpXw6X)X9I$c-dAFBzIJMIk48KR3Y6datxPS3BsL!+Sgs*ljtvfa=BZp41m}7 zc;$mkwACT((i`0t7lbBbvG02ucDZ9%fqMn)b3(zCuOc*?=vUuAh@9QqTdhEo@OA1` ztm9xgBsj0OmC~+mW3qL|B3L3C(&1Jjhkh1i4i$Q1mLumpH}}^_X#MhQb5SG3PgBYQ z_C=NnYPbzy>-ry`OXE!zSJ+u*XI@jC_iad`l$>1{hkXVrqurq71?;44BAH%J*->M9 z-aDTBNbNeq9jA8{7#`?leAFG3(2t}*w~iUh?zdj*mYEX8W|FKu#}=(hR8jcV+fgjT zu66&i1u7kssJNR7eK@g@Y-M|eM(W15J?KPzyy-{pCI-!~F7Fv&YQ;x#59~PTXcIVn zhOtwcO=BpIKMF{rv1Q>xO=T;5W9NBk;-647yt_*GxT5#@=zSXZ9l6Q^`LDW51~Gf| z9hs1wGx`bL+uU)r|F9EMu)}9$Bf!)7XZ`z_87uxw!<`P1u<))r3mjH%`282bmPxhJ znfcK>KYvqWIizFq@>|b(mS7sd?Rky9*Vc9ai2gKd55s--;D0KIcNz&HAn=mzs<>-2 z#pO4F;$%}ykmy&rsJSd(Tw_Jh`6lA>Rq=ATV;O!{Q9yV0bmnM(^&{6$;|rZQer#6U z7bQU-pd&{Dj((0+x7eO>H*5JX(6XF|OZKKD=LpQ70Vx)h5R>9 C@s{5J literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/show-quick-links.png b/public/images/example-thumbnails/show-quick-links.png new file mode 100644 index 0000000000000000000000000000000000000000..486b2e1d898025650a0bdf02e224b215fd1dc3db GIT binary patch literal 10055 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 literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/show-version-number.png b/public/images/example-thumbnails/show-version-number.png new file mode 100644 index 0000000000000000000000000000000000000000..a411bb0e3177cba975ac9cb295114f2d49cb7cc4 GIT binary patch literal 14023 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�`XTU*5&iQa zt<1FO-o~<}&9*hfV!1MxcgJUgKw&ecfUkUE*Lq%_IHaa=DR@iji_u`;o#g{c`+E#( zoOfR#fwPiculE(1e=oppl*jU%79Z~qh`aRjS<+wx8Us{=BAfiUn5VLsfqENlk?GRkh5CUo$R$SShe*0*iRMC z=F-yMo$V=8wfaOqL?=yPh^HuE26K$vzN*TeS5Q1J(2To1)1tQ>g%TM2IrT4eRGy=u zseSew>*fBT$}V2GaN|f9V{i8ci&gwyf2QHePp6M6v$KAtiy1cF-kbW;V!^-_07qFK zL!S3t#6Hu|$-5u;DI;2sOY)(tt ztykP(!9xotdJ|`SnPW0E2F=rH<~=82$l1nH397~!Z~Gidxr6ekAc|vS?mg)rat^pk zw0PVtdM@@u2k6{S4Ms?*Q0jc=2%uZ`Zu9jy8QRq zWjGQ(g{+=*X{(dYJ(H=Mx?oYz7w_8u%wX6R8323|&oJKm&wYqAHTo3y7seqsBP|fw z@Gn`t-n6of4Beq&dqkG(=6uwT0-=jqaG+Jx>ne}59dHb{^}!fK2gfQ8DsFp*6*Bf# z`-ASzd@{_WSo**1dr@1R9p_MAe!jAbNMqb+bSH1lylg9a$UG3FEJ|npeOG%qu*5&{l z-2ysf3j8p|aaD_+PS?J@>{wxk(f`EQUH=Pli(>48D~Y3F!;-i!2mxV9jWso>!8@)+ z*eT1dmH6vhSA5#*(xNh|ZrnsQ7gsGWfx8A*Kg3k;Yt?QIdqCzNt7~S5wR zlbIM^V-WfNkx)RbhWJLkHF&L&)VoDU9Q-yMmq~FhSoaMrirvwGDnLrpIhh3(k@LT> z|{BkT@Mq`HYFb*`vgXSgV60l3q8n^8DVlg17yR#6_*a z=IEXxvt&iQ&RDQ&azF^@>nZI$mY>xBsDNSUaYQTLG?PJj_B$Y@210}zAEV{sr>5u~&N4v9=6G7}(7Ar4fg5Ng#>0g03f zB11%E3Xq@-sf0la5<(!s#DpOv7-9%XNOyK003zHaOTvH0Pq!6J$7&1qF!-!y5p*TY>Ph=gaCjYy8jFfprlM+y{Lis z5qbh>7&cl^Pc}z*p7#WR#-bhT!CwP_vF8t`Jby~n5X_wW)kuQs7BN3icNx_j(d+mz z_r*g&fz|d*+uw|_Tkn7ywKS@u5#MV>voIi^*sVQ7ykN&QKhY+#wd4MV&A%4i1KKBl zI+FVnT`%AV_Qwy1zsVbe=$2|bGW}8S@S;fe)A>l`^>ku2@-RusLQ5?zt*o>R0N~o& zYscEM8Z`i*YPWhjzwY|i{2POR&%ysq80h6{nxsB$7ZUjcg7OSuBme|v7#i|~wQ%K4 zF~vib@bd`j(|u@(4tlL;C_PoiEvCTH^CwL&wF=a)f+uXDkrda%@r zOyy`%)@zxZMt0AtbGdpzNM`3B9T3AaMSZ+Cnx>W`|F~c}poHkP`)tai9GHyj6!pKl zlKWtrV(e5%yHX)_pusX?5ENsi?c+cSk|cg2l0r~s6MEEsGHBgY_80W;NaIE(QIKpH z@;IuYy-N0_+GA#k*_FYTiHHe1MCp*POsO8yX+*fJ4a|f`iy3ibH&I}xu;FUQKrYI@ z?@yA-Fs{=N2OqKly8BM5w|U@1hsAVq@^aDB28cd0ZSIK(A?#Qt?aoxv3K@hfNi7fR zA@|$Hi}gn0_1LG#L5nLNkYvS7!l#@-w5#eF7*$h8Ff3~v2BT%v>X^_>Q;|{YntTU* z?QO43G72pp!w;;?#1s+GpYNJJBy=dAkzxzi@7i2Nq_FmX=IhZ=YfaSR)!!`##A$MnJKdG z7l%G{jh%_f`&_RHpd`KTh@^%<>x?=DvsT}D`CcOCJBn)2+HmAu%hy1gqka%9g3!5g zb{jo1gm?nEC)w_1XJ1lYE?a+_5RNkY%GQLiXnRk;y>MZBLOXF6EvX?Sy@!tZ!|RIb zbB>4QeFMh(u4q^t!N(#`pi(ZQJz&;eF?{=eGGzBvydITSV~$GLb)h=%)PD4af`y;N zr5`4x7N!mn$%}ubJ@@x~G1)(YR*5+hN-o0HgM|I7+|Ekv*ULO^vOV7>5tJ8UK>fCA zPg3Zs4LK+k!rfo4>u1o~ywW~`igo?N=)Qs3Yr9h&jBglXK71p69fjQ7YTDoAh3HTm z{i@ZF3PHA$V%H53Px-e`NbStn9Spyd?XeL?w&Q7Z`nWzY%ifOz+kg_4ZJ1fbB*op{ zq`h8@=BT!=1Xj8Hy`GgXNs-KbEp2TY_Qm>rT$6iOIrXm0(3T0c9?Aoy=oziq$$Kh` z@A{|bBjK9>J=4a{;gCO@Gr|iH-}pOJ(OctKk$9s(Xme+qCa)rJwob7IFkBu8i-5>wSzB(VdKaGI4&w1Q)-kANAdRSsT%>2Okx&C^}e4;d)n0^4} zu+HbQcoi;gW+9W?GJ*Jo-PGb+Doy0L&gPm{VcGQWcRNfPr=KVcZ%=7)RfpCt@rPyD zWU0=6_MdN@?J74kAZl#%CF8&vpmY#Y^56@RwnsQZ8M1zN(W5i0o~Mh1B0}AgFP%{y zd(_Zejs=-5&n$ccp><%1&_k3%$Qe9c^%Y>P?WO(#L@IrNUk?*^u#^p%rWT`p^J!nPslfSJ4^n6nOLuSZsh9+Pf_C3A=Wda7U!-d zbp{3NRZQc3b_Gy=FWxGTj*Wj3;pW@u5t8xh@L^HvlD|5&EiYfcw!QItt#CZ&_pFyC zPH!c;oD<6L??)2!im|1V`{R(a1~iB;t1jsZ$@=nl4! z`zlgh_Wf^E5tEZIt+(W0Z7s@CEl!d}{&~cF{3hU7Fk|9+g5uFoe`##=-Ui~UVAOwC zf4s%DP+wb$NoJeY_4_-4y6CZ)j1nsyxA({3ci+sWn^6%d(X5jK!N)DYwdRng^-h^> z^p)O9Epd2Q8g@$@=|iVN6xGj)lg%+oha6brmaoy*HGp}S)i1|~{x&NrB$JogS+<5L zS82ygy>N3&y~jteWYRiZYG15mFt-5vn--3D3seQ{La{!iq-*Pv zsuAWm0MvzvBZ@b+qZVf`Yl+QqbI&tQu-F&^ z0JCqu#m(Ia<|kU>GsV|70WW{^k2zi@XE{)5Gq`K+y(>mBoq`DwZF#z}TG^*J2z(zK zKOfK7iNumw@e&IIUQ}>oWaRr}4(RreJl>}QO?CR@gAM8gm*{RtE*TEy4A6E2#Kc*% zHj-q;GX0%fXa!s+!`JAuX>rmBDj5K3L33_bC+@AVKe!n1EJEnE7^kDqU&tsDy;BN< z-UGV5LGMb1%&{w3vuPEbJ{ZeQK=&RmoCa`hOXE(pLi!&!nI_KZ%S_&rqpB*WmgR~q zz%5DBf3WWuSC%RIUR-P#Yl2485#&hwC1Qix57L&qZzNv0k>lqwgpb#n3*NOU?E8wRnUz+s>y;p5AnkEeQ~3P53YMG&6O8ZaRH3p6RH1VDHXybxeR~ z!={JBlhPJ&;0FEXQsLBC^m@+B&}hbToc+>TZ$95;bxm5rDRQGnr_YTH(etIrUxqVE zbX+Bz>!L+p+o*40=&_jAa#p1{N4r=s-6=I3;@M5<%-wbDKGG5!v$sW=+;oxGYywzo zsXaDRV>MN-oO2|0zW3^3uL`&mSpf%{GvMu4o4YnA_sVa+wZYMoq~*LTkA8LY-2~wk zLVHvCw#HARNktd&MNH+I9XCZ?Bn@3kkCP6CyPa!gGJ)=Pn^&3T^VlPlt;@K$Fo-xx|Xd{j&+(=7%fvWqk-AX?{Fi!Gk)AY zWBiSO$R#_>_zk9g5G`SW9p-MjzHl|q_3e^R#VZA8mS^AJ=Z#18EGs+>i|ho4lA<}E zRtUwT3;M}I5Bu{nMB1`1H-S}iSF^goL6=_`KCo4G1X{y!+c_0p6%&U-bNMz??$g7G zta+7xoJpD7o$nqPspw#IzLX4BZQrR=4m$z|zoy1bHzPt^*dn4%=qGpPNFH8QM^9DM zpVx(xZLg$o&UY{z+Ky$`Dbqi`5Y)n;OAkc+rRkv6k-P|ejQ!GN!qmuqCjZ^&@{cmo zOpAU+5qB{P7ZY7f(8P!oK`n%Rs-26sudE9v6ep+QQe-ELUUjk(KlsCR~D+DNDD$2#+=}&wD0HdiDQNbm}+pA+IE^vvVDa! z5?uI{ApiNmLn+OqY^S!>2!}a-?-MU2Beb1UgpONRnf0^xj;67nZQ>;NDLkeu;q?bw zo~g{Ac32flc%iBRM9ACYwJ9eEdvHqof7O1mA;Ar&EFLrz2JHbx-z;`%T8r(trd~OqH#Ab?) zwbs!#jf6JBBP+!oIkzRI3QFZLHw}Cq>q9%5y8dB9>5J%dL0f;^?dco^i|bnHxu^dq z`rgA6?aSCKdYhE}h6HrZ_lqtyY3 zZ^5XQ*4C$EC(NoeY^$M&_TE6l??9CioKLBj`i93$YR5DOG8aa3Kc7H^H&rOJ)~bbO zRKl3y6YQ_pZj9qL$R(r7((3DFmVum(@@YK{_vx08;+&63b1RRus!09uE{k7of4~q; z(d+M4)~%kb<#X9xls9Ld7?Og&loUL9U!Yk0a?fVB3(*5tQ~6>>P}E(}jk#O6wOd!< zo;Qb@o%0ZO@*Z*KhJMt3G4)gjvfET~y^WlrZPtRCnKT_+MXr+`-oQw|{C&Ho==2xl z+z^uHM^HXds``|TI@Byinq1E5qFDK0b{fV_yOl#(SLecgm5MbWI#}_DgQq<8meFC_ z+KVWVJo%>A5_xT=;IdKXKQ#w6>2a#B*qZgd1G0XOEHTS9}Ou1{%IG?!e9Ivao;aYoGxzDVlYP!Q*?U`paaZ78zn z;VgF7k#CW#uH(LY>iC6olzNOiQ(9>IH@}7QJeJ0lZs$zO{jjHQI6Daf%O<_Y5`Y}m_@Zw`) z@<)Y2MbUyD@DkU%;{4d|g;C|R9>1Oi|6Kz)x2IQqYl-Yr0jm-6pdv|SiwEk!!^4`s z%C=6gK{MmwdiUSTX9IXXls$#8`QAej*(sZmr^I`wxYq zg-IAMsc(F3z_Gu)TsQ{rxMQ>F_*ngs5wEzMfY18F2%+Yph=M=l=?n=W*`e!&Uv3l8 z*yhSIU4m>CMr-?ykK&1mm`5a7qQ z@eyV$z1!W&J=kcU%~{lG;;Hi((im#w0=ff*S}dN%oc8W}m@k))_1gD^N)po(?!cns z+E;opwIRK(b5eJSl>1{;DF^kMVPrPic)oE+7m-g@I9>R|0p>B$?wG&k7!(&D=4fER z0BPEDe@jmI=H99zwQJ4YM_#-9t^1yXchcEu0zR$QdGN=o!>=m^3G|M&eVx*p5pUP5 zsTTY%lf$V`(r1=c&WqoGhcCLV<)REUoh4w6a8|R&-SqSP1}m0{&(J)q+?w|cIR}<{ ze6*=zlwm;YqZzr822I+o8rSwVc4}Y0`k=+##P9WQ$K{BXk7hm8j`NSJN>$_>VV=Hu6u zLXjA3QGuNZ0!IZjgse>QIkk!7QUgV$%3&Ada;rrac;K(pu0ePgdthFgF`8Vg;kaqX zxpU|4-fK62*|8&r+NUyUHo!j?r2LNE_X)m{50ALeEJ+!y}L+x>}zu}~QY`f|enhF3rbiNJ^puF;5YNtl( zFP^SI6HR|!{jw$Ir0+=pXhH8#T>J(A^hu}PPM*!u;7>XiaMOFpA{8snTKn?j>t2zq zT|dMc|Fdb!{_o>|u(9xX-11YM&xI@2yFN~rZ~YkZ$M=pGk|N)@UNnh2<+|_CJ0Nd3 za(sK#HNgJuem`f|4hrrztgVDUt3L|>_ECR{PRL0Qf892K`05J8f zo}ON&a%>9#m>n$D03PrE+x)G;-*NEYc?>|i{GCL-X^V|*=3v8|xhLCzYdeHHbmCUO zywUPEf`9pwkSHIrqWjoQTz&IWkCn}nknp%dH-x-0sx%{S%+44S309Z6B1??gi8B|1| zHl%$#`3k?nFngw$iY;Uu6mK*%6LXT~cC4(ZoQ3DOAKK8XtlT8g#*ll{m3^|%8yj-A zN*UQPkiU(`aKld=ZSJ<5Ok?;mZfb!~q~i;5SY(c5(T6>-f{$1Fei2S~wN;H4^GAte z;OMd>#9|nO-^K<{B3373CcukS&uGM+>vS<0Z3H#L3b|`|x)Dkt+T%jWN$TPg`tBg? z`ks!W#503^VrJ++fOhyDuD6?U8vM`6%L?R;&dB3n*-QzQ>9jsqn?F_2Y-a@OS$?0k zJU8rq9BtvuG8em&f?{PUGXurc0d%~J3rVGv>oWCjS}_&lbmU40VrVRn2cMD11zo}d zSZuBla_w`ZESW8lN$4)5HMkS#73=Pr!%BeRuS4|gVQHYm<5z%MW+szyr*&iaT^-kzwvq3l%ZMw>nde zPKIg|rND)zh!deqJy?ezhSP#6C_+D}9G* z@PS{KMM=wZOZK?I3ub#=o8|rf%p!Wmma#jfqjSKf%KMpJCG~LZwD>pOh!D5fm5bf+ z5rkmIX*}E1uks_ryq53^EweKjPVX{<271qm_dR}=ciS0_^Gvv*RAZA@P7uHhhIs0gHtOKm3an#lfF^Ioa}J$O@Q0e2|8Njl3Oy56L@ zo#UV*;vml+9z)KaJVm7lp7pCgqS*p3J3T<z{XPw6^_b1KGLeUzPh)1NT$XO4NTpwsx+~J0o7LSVF{=oY& z(5^IFJZS2&O1o}TUo||kMUn{pykB0dyM+dwYDRP!8UF|%9w14rVCun zK8}ZfGcdufNFrwE$oXx$P@a35>=EVQ`+lz%i@Q9Zou1*i_QZvob8P+k=9-)hbl1PR zW+SaJ*TSS8CmDN~<;oM(u^AaH+g_YW4%?lvjVnvL0WpXQ*Iu5Sm@1Fy@v}D?$0nXR zgRD;74nSBdm0(0pRAgiSbFDJuA652$NsE#Lk`CkJ5gln0^=(gShp#k6IT0Jv%%Nk) zN|;!u>=emLL!#a|Ik`v#N8yRdNU>s_rk(<;ytC=9g}GgIt4J=9XgAQP=O`XUjzWCM zSRHEtt^r`sg@uKVeU@rGDh{#TxfuZVM(+7PH_%5PcVm(3^UGr-W%@eLMb)vU4_rta z2@3Wdi^%0KQ(Zd zVq=Z$QXSI#bzy~O&7sEjMwyf8W6L*<6c^5xB6TKeg_P=V4B#$Exn>r zZseb|8}&A89v&<)#pxw=CvO5iKJOJj55yh%>Mm}G007AOUbVc||No76Z+QAhkh(L# zeAm+L0ac1II67D!|5cK&n=`Ea0uvHZn}m`x87@i@dcHSLM+bPFaqs~{OI??3bBB*8JRXZ9X&yxYh_?pT{wTD3$z5R8*8h)|aW?9KJnbeYwB)Q>8TUK@aoh%F-(k^$(W-Clf9W$0b zPD3VmEab}SUV9D1o7##s?N3(0=r9ugyC?9^PKqyY z82(6ci4_r3*C`zh!||$f6Q}>8$mpJiJ`k^TsEZm%bO4OG38iaFL^fh8x}P~asTIi& z_#EKAoH6~%qlWHY1D~)1t{tsXL)z|MiU&Hb-lO^qJ&104C-3AStC_Iz zp4`<$`TQ5Y{+oJke~e~7XU}TG2N{*#)~R*Q;LW%|a#)KMYtS~C!F(?%kFrN9)~4A( zZD9n#K=vRaVsQXJ&W0@xY*cd=2oDjBs#9ei_m6m&-G7iUgyOYUC$9(6uB=>{$RLz( z7nOq!u{mc1*m7o-{BkAXJ`5ipjTpzRcM@9Tu|WG;p1KkPG^2MgNr6Puj!h?(bwN<@ zRC%o@I+10LszXT|puXz!wKT1ju6)NkGG#GfxzIgQC)!wLleS*#44?HjV z$Tw2Jm{d!;lVoVm^^$BnN7UQ1%5roT513%PdR<&0soG_Kl8<)}kSW?hOM7&IEjgArFU2-`?U6{^@`6$qciX&FUw7xR;qwm_IwOtvoU>4G|C@QvR6`cqa(O~DHWj&08Lj8oVR@!70xe;+DzdQA(1k^P|7j4}s=AFoz>h`36B=%$ zj1w%&D-%W%x)MfqfE+`SmG2)EFTleW8-J#aWq&!h`ldYz?Y#1FR{RR(S)@M>L6tU0 zM>kK&GJy7%YJxjEOjtT1**>3a-B#VygvDgC5vv8m^NM66ob8NOmNJCb_iI&7IVrNH zruN4E#WMws=RFI59m{BK&g1v`J;(J(Hr(6_A6)9ntID2&u@|q1Cz_1^m_9-duPxa9 z^Z4qEqw)yg?RXA5VM}se5Wb(JkNrBKVjtNwUCVGU1k+*%mh+Vb<`eX-!GmNA~Qwlv}|9O zya{xN5Rc*r&-w1yOTye~LJacb>b*w87%(wl4aF|TZ3jLYL}u#-nKhR;L;M#@%ZrYK zd%#9jG^1t3e)>T0H$N#uOb<9nKcqC`Jie7Ir!<;S&@C1iSSy<|m#}Gn?dO1tZD!Hp zp1tna=G3!K?2F!0aethhqH>ewBfz61n8(yP(lUe?;3AA2Ap)GWB0W^&o^qhwyE7ZAN{E*e0=kEp*tR`y+;TkW^qWg723Td_7t8|GY| zrw3CxzFWEQOAlTaJ$a^|My|dCSpgoe^myP?k8he_mV z3J2yMlHb0}+JRJ#>U!1Qu`%C{L1B=y<2}u5oPRzH(sI*if2mGo5AG}&<8nVkpFs)& z9I@bC(lo@T<{S2HVbV>cUYSA*S?a$u>+ZYl=Fq%8b~~1`8rPNg+-U?%(_j@zM6)|z zp|Ty2IE{xeEA(1*t{`+Nv#5uamk1Bw!pl+-yxtB6EvECW&V@mT8I6g0O--IL*|`a) z*Ah->lt{a*i0{&@)zXdU`Q#^$yI-S}gs=`uUuM`DKRglk!)Xa@mSL)$WdrS~=`as} zxOJ|nbJy+(oAb`J-L!S9gC@0b%522w@52l8D)>xBhpSuZbLq%BZ{b8niu9JBdti8J zyy?RG1dhebH;_G7Xh=}*)sib)ZM2=v+fXkZ<#@^Kqw3^V%yLhzU-PY&5#@)QH)M`y zMqvzs9z_x`FItrSE?S^w&@#f95Bam1$JG(AnWIpBB7JJkiIdem_mt&y1zIeqf**Bi zTotKPA?B>tvD`Ps3X3Kj+>^q38eIu4c6pus3EAy*?(FgO>lP7od&@JW#|=Hb$-yh2 z66U2&kDf2_M97Dct^K-z?%~V~WWsc7kpDwEuX5Cpn-2QY5cSAqCn@OarCgizsI$E3 zc$P;_7y0MK>Lf=O7k2HWjh+2!5Fr@kIwX91E_lx#?rOUsd}dF+Lut;{Qce?FRQ|ps zfxEEpRby+}C(GcmS4AT5x|-Wtv-`@ND(>^Ss~xl56fE&O8t?SinDSpg=z0B zt0;TyWp?1Z&LbMT|FYql_%mWqI_E;6-?)1`*V(?U=o9Yllg?j1b-X25`a2{)qzu92 z+aCJt*wdWW65pYppilR|0CkFm25B>@_*ow|ssZ zOy()*wU*>8^Wf6DUE<1C_{?2>d$cqc$~JfLu1&u)jqBB2AU)zyx+k=C9 zf%av^>gPANRWXr#F?p?Xv8e*NTx*07#3c1dN0+fGMa-`AP{p*a9Z5A?kz`&|V{B!y zuI60OXn_BSX}w>SgUtp%300x|a@)o1FB{YlN-4p%$?x+K8;ejZQBox|BQ_n`s=fsX zkl;{iUvs7Qy@VK2E8oqXP=)Y53!nFfeu8A)*q_=AMMy`eS4=vb!V+BYOC+VVxi5j7 zdXM=PIGj0zZP?1&@uU?HxrE*d+V)ug)GSmb#*iS{-)erRA5zKDmm8_p$bC6N^(y*W z#w=#KdBld{fhBg94SMg0?-C6f5-ML_C8-eWYSRRbdNOKnc#7cS zA`G=PDrU~;)953RqJv}`Vqo~{MyJ{NqDC+tCEGaT6}-%okB@Cv<=nG~_)eh5Uh9uk z;S2S7LgZ?fl>np9UL~&f^mV3mRW^JY1tCTGRC$d+u88ke1rN#wEYp2LV+1$PgP9c7 z6NQ=l9I0aboZvRxg?v_p6K4zPcR3DF`<0xj3fMyD`$>DvshVX{t{)cMW1#`LPzKiC zrrdHEfGpYC+6t^={-VKITvnqgbYQsJRc&ffg1c1}-er`>!7jFC;MK);! literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/sort-data-in-a-table.png b/public/images/example-thumbnails/sort-data-in-a-table.png new file mode 100644 index 0000000000000000000000000000000000000000..c93d720cde49b4d91a5fbfbe38866991896e5977 GIT binary patch literal 11902 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 literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/start-page.png b/public/images/example-thumbnails/start-page.png new file mode 100644 index 0000000000000000000000000000000000000000..0a63536edbe43e970baf28df4c066a874cfc6a99 GIT binary patch literal 31796 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 literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/task-list-page.png b/public/images/example-thumbnails/task-list-page.png new file mode 100644 index 0000000000000000000000000000000000000000..ea730beb7eb3a55ee625f2da6123511922843225 GIT binary patch literal 24720 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 literal 0 HcmV?d00001 diff --git a/public/images/example-thumbnails/type-to-create-a-new-filter.png b/public/images/example-thumbnails/type-to-create-a-new-filter.png new file mode 100644 index 0000000000000000000000000000000000000000..5cef373b784a8aba2375722d03ded4b2846cb683 GIT binary patch literal 12951 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�}?l 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

    Content

    +

    You cannot return to this page.

    {/*Angular*/} { allowCopy={true} code={` Open Basic Modal - -

    Content

    + +

    You cannot return to this page.

    - Secondary - Primary + Back + Continue
    @@ -69,12 +69,12 @@ export const RequireUserActionBeforeContinuing = () => { allowCopy={true} code={` Open Basic Modal - -

    Content

    + +

    You cannot return to this page.

    - Secondary - Primary + Back + Continue
    @@ -100,22 +100,22 @@ export const RequireUserActionBeforeContinuing = () => { code={` setOpen(true)}>Open Basic Modal setOpen(false)} actions={ setOpen(false)}> - Secondary + Back setOpen(false)}> - Primary + Continue } > -

    Content

    +

    You cannot return to this page.

    `} /> @@ -129,22 +129,22 @@ export const RequireUserActionBeforeContinuing = () => { code={` setOpen(true)}>Open Basic Modal setOpen(false)} actions={ setOpen(false)}> - Secondary + Back setOpen(false)}> - Primary + Continue } > -

    Content

    +

    You cannot return to this page.

    `} /> diff --git a/src/examples/select-one-any-all-or-no-options-from-a-list.tsx b/src/examples/select-one-or-more-from-a-list-of-options.tsx similarity index 98% rename from src/examples/select-one-any-all-or-no-options-from-a-list.tsx rename to src/examples/select-one-or-more-from-a-list-of-options.tsx index 7e99168ad..dbcd5e857 100644 --- a/src/examples/select-one-any-all-or-no-options-from-a-list.tsx +++ b/src/examples/select-one-or-more-from-a-list-of-options.tsx @@ -4,7 +4,7 @@ import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export default function SelectOneAnyAllOrNoOptionsFromAList() { +export default function SelectOneOrMoreFromAListOfOptions() { const {version} = useContext(LanguageVersionContext); return ( <> diff --git a/src/examples/set-a-specific-tab-to-be-active.tsx b/src/examples/set-a-specific-tab-to-be-active.tsx index 4410d26ec..c910cbcb9 100644 --- a/src/examples/set-a-specific-tab-to-be-active.tsx +++ b/src/examples/set-a-specific-tab-to-be-active.tsx @@ -12,7 +12,7 @@ export const SetASpecificTabToBeActive = () => { <>
    - + @@ -113,7 +113,7 @@ export const SetASpecificTabToBeActive = () => { tags="angular" allowCopy={true} code={` - +
    All
    @@ -208,7 +208,7 @@ export const SetASpecificTabToBeActive = () => { tags="angular" allowCopy={true} code={` - + @@ -312,7 +312,7 @@ export const SetASpecificTabToBeActive = () => { tags="react" allowCopy={true} code={` - + @@ -411,7 +411,7 @@ export const SetASpecificTabToBeActive = () => { tags="react" allowCopy={true} code={` - + diff --git a/src/examples/show-a-list-to-help-answer-a-question.tsx b/src/examples/show-a-list-to-help-answer-a-question.tsx index c3a4c57db..d7bff981f 100644 --- a/src/examples/show-a-list-to-help-answer-a-question.tsx +++ b/src/examples/show-a-list-to-help-answer-a-question.tsx @@ -43,14 +43,15 @@ export const ShowAListToHelpAnswerAQuestion = () => { - + - +
    Examples of education expenses diff --git a/src/examples/show-more-information-to-help-answer-a-question.tsx b/src/examples/show-more-information-to-help-answer-a-question.tsx deleted file mode 100644 index 93fbf0e21..000000000 --- a/src/examples/show-more-information-to-help-answer-a-question.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import { Sandbox } from "@components/sandbox"; -import { GoabDetails, GoabFormItem, GoabRadioGroup, GoabRadioItem } from "@abgov/react-components"; -import { useContext } from "react"; -import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; - -export const ShowMoreInformationToHelpAnswerAQuestion = () => { - const {version} = useContext(LanguageVersionContext); - return ( - - - {/*Angular code*/} - {version === "new" && } - - {/*React code*/} - {version === "new" && { - console.log("value is ", event.value); - } - `} - />} - - - { }}> - - - - - - -

    - This question helps us better understand your situation and ensure that you receive - the right information and support. -

    -
    -
    - ) -} - -export default ShowMoreInformationToHelpAnswerAQuestion; diff --git a/src/examples/slotted-error-text-in-a-form-item.tsx b/src/examples/slotted-error-text-in-a-form-item.tsx index bcfc15268..b8f7ecc4c 100644 --- a/src/examples/slotted-error-text-in-a-form-item.tsx +++ b/src/examples/slotted-error-text-in-a-form-item.tsx @@ -16,7 +16,7 @@ export const SlottedErrorTextInAFormItem = () => { return ( - + {/* *********** React code ************/} diff --git a/src/routes/foundations/Accessibility.tsx b/src/routes/foundations/Accessibility.tsx index 742783f18..c033c8e47 100644 --- a/src/routes/foundations/Accessibility.tsx +++ b/src/routes/foundations/Accessibility.tsx @@ -1,12 +1,18 @@ -import { GoabDivider } from "@abgov/react-components"; +import { GoabDivider, GoabText } from "@abgov/react-components"; import { Link } from "react-router-dom"; import { ComponentContent } from "@components/component-content/ComponentContent.tsx"; export default function AccessibilityPage() { return ( -

    Accessibility

    -

    We aim to create digital products that everyone can use, no matter their abilities or situation. This guide outlines key principles, design tips, and tools to help create accessible and inclusive experiences.

    + + Accessibility + + + We aim to create digital products that everyone can use, no matter their abilities or situation. This guide + outlines key principles, design tips, and tools to help create accessible and inclusive experiences. + +

    Every component in our design system meets meets WCAG 2.2 Level AA standards. While the system has accessibility features, teams should take extra steps to ensure consistent and accessible experiences across all products and platforms.

    diff --git a/src/routes/foundations/BrandGuidelines.tsx b/src/routes/foundations/BrandGuidelines.tsx index 8072e675c..9b593436c 100644 --- a/src/routes/foundations/BrandGuidelines.tsx +++ b/src/routes/foundations/BrandGuidelines.tsx @@ -1,11 +1,17 @@ -import { GoabDivider } from "@abgov/react-components"; +import { GoabDivider, GoabText } from "@abgov/react-components"; import { ComponentContent } from "@components/component-content/ComponentContent.tsx"; export default function BrandGuidelinesPage() { return ( -

    Brand guidelines

    -

    Communications and Public Engagement (CPE) plays an important role in providing and maintaining brand identity guidelines across the Government of Alberta. These guidelines ensure all digital products are consistent and easily recognizable, building trust with users.

    + + Brand guidelines + + + Communications and Public Engagement (CPE) plays an important role in providing and maintaining brand identity + guidelines across the Government of Alberta. These guidelines ensure all digital products are consistent and + easily recognizable, building trust with users. +
    diff --git a/src/routes/foundations/Color.tsx b/src/routes/foundations/Color.tsx index 07cf0624e..0cf00f8a0 100644 --- a/src/routes/foundations/Color.tsx +++ b/src/routes/foundations/Color.tsx @@ -1,13 +1,18 @@ -import { GoabDivider, GoabGrid, GoabContainer, GoabSpacer, GoabTable } from "@abgov/react-components"; +import { GoabDivider, GoabGrid, GoabContainer, GoabSpacer, GoabTable, GoabText } from "@abgov/react-components"; import { ComponentContent } from "@components/component-content/ComponentContent.tsx"; export default function FoundationsColorPage() { return ( - -

    Color

    -

    Colors play a major role in how the Government of Alberta communicates. They serve as a tool to convey clarity, express emotions, and promote inclusivity.

    - + + + Color + + + Colors play a major role in how the Government of Alberta communicates. They serve as a tool to convey + clarity, + express emotions, and promote inclusivity. +

    Our palette is divided into these categories:

    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 { exampleTitle="Select one, any, all, or no options from a list" figmaExample="https://www.figma.com/design/aIRjvBzpIUH0GbkffjbL04/%E2%9D%96-Patterns-library-%7C-DDD?node-id=6564-70176&t=kFEYlzR03SibmVz9-1"> - + {/*Checkbox example 3 - NEW from alpha*/} { const {version} = useContext(LanguageVersionContext); - const noop = () => {} + return ( + <> - {/* =========== Angular =============== */} - {version === "old" && ( - - - - Use the account associated with the business - - - If you don't have a Alberta.ca login, you can create one - - - - `} - /> - )} - {version === "new" && ( - + + Help text with a link. + + + + `} - /> - )} + />} - {version === "new" && ( - - - - - Use the account associated with the business - - - - - If you don't have a Alberta.ca login, you can create one - - - + {version === "new" && + + + Help text with a link. + + + + `} - /> - )} + />} - {/* ============== React ================== */} - {version === "old" && ( - - - - - - + {/*React*/} + {version === "old" && + Help text with a link.} + /> + + + `} - /> - )} + />} - {version === "new" && ( - - - - - - + {version === "new" && + Help text with a link.} + /> + + + `} - /> - )} + />} - - - - - + + Help text with a link.} + /> + + - ) + + ); } export default IncludeALinkInTheHelperTextOfAnOption; diff --git a/src/examples/include-descriptions-for-items-in-a-checkbox-list.tsx b/src/examples/include-descriptions-for-items-in-a-checkbox-list.tsx index 4ca187fc4..98aa9c562 100644 --- a/src/examples/include-descriptions-for-items-in-a-checkbox-list.tsx +++ b/src/examples/include-descriptions-for-items-in-a-checkbox-list.tsx @@ -1,97 +1,143 @@ -import { GoabCheckbox, GoabFormItem } from "@abgov/react-components"; +import { GoabFormItem, GoabRadioGroup, GoabRadioItem } from "@abgov/react-components"; import { Sandbox } from "@components/sandbox"; import { CodeSnippet } from "@components/code-snippet/CodeSnippet.tsx"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -export default function IncludeDescriptionsForItemsInACheckboxList() { +export default function IncludeDescriptionsForIndividualInputOptions() { const {version} = useContext(LanguageVersionContext); + const noop = () => { + }; + return ( - <> - - {/*Angular*/} + + {/* =========== Angular =============== */} + {version === "old" && ( + + + + Use the account associated with the business + + + If you don't have a Alberta.ca login, you can create one + + + + `} + /> + )} + {version === "new" && ( + - - Help text with a link. - - - - + public constructor(private fb: FormBuilder) { + this.form = this.fb.group({ + selectOne: ["1"] + }); + } + } `} - />} + /> + )} - {version === "new" && - - - Help text with a link. - - - - + + + + + Use the account associated with the business + + + + + If you don't have a Alberta.ca login, you can create one + + + `} - />} + /> + )} - {/*React*/} - {version === "old" && - Help text with a link.} - /> - - - + {/* ============== React ================== */} + {version === "old" && ( + + + + + + `} - />} + /> + )} - {version === "new" && - Help text with a link.} - /> - - - + + + + + + `} - />} + /> + )} - - Help text with a link.} - /> - - - - - - ); + + + + + + + + ) } diff --git a/src/examples/give-feedback-link.tsx b/src/examples/link-the-user-to-give-feedback-to-the-service.tsx similarity index 92% rename from src/examples/give-feedback-link.tsx rename to src/examples/link-the-user-to-give-feedback-to-the-service.tsx index 5bb062dd7..5684c2e74 100644 --- a/src/examples/give-feedback-link.tsx +++ b/src/examples/link-the-user-to-give-feedback-to-the-service.tsx @@ -9,7 +9,7 @@ export default function GiveFeedbackLinkExample() { return ( <> - + {/* ...React + Angular code snippets here (same as original)... */} diff --git a/src/examples/microsite-header/MicrositeHeaderExamples.tsx b/src/examples/microsite-header/MicrositeHeaderExamples.tsx index 322a1194a..7055574e6 100644 --- a/src/examples/microsite-header/MicrositeHeaderExamples.tsx +++ b/src/examples/microsite-header/MicrositeHeaderExamples.tsx @@ -1,4 +1,4 @@ -import GiveFeedbackLinkExample from "../give-feedback-link.tsx"; +import GiveFeedbackLinkExample from "../link-the-user-to-give-feedback-to-the-service.tsx"; import ShowVersionNumberExample from "../show-version-number.tsx"; import { SandboxHeader } from "@components/sandbox/sandbox-header/sandboxHeader.tsx"; diff --git a/src/examples/require-user-action-before-continuing.tsx b/src/examples/require-user-action-before-continuing.tsx index 822f749ed..08cd949f8 100644 --- a/src/examples/require-user-action-before-continuing.tsx +++ b/src/examples/require-user-action-before-continuing.tsx @@ -11,21 +11,21 @@ export const RequireUserActionBeforeContinuing = () => { setBasicModalOpen(true)}>Open Basic Modal setBasicModalOpen(false)} actions={ setBasicModalOpen(false)}> - Secondary + Back setBasicModalOpen(false)}> - Primary + Continue }> -

  • + + {shouldRenderTemporaryNotificationCtrl && ( + + )}
    ); } diff --git a/src/versioned-router.tsx b/src/versioned-router.tsx index 33274e2d1..9cac192f0 100644 --- a/src/versioned-router.tsx +++ b/src/versioned-router.tsx @@ -56,6 +56,7 @@ import FilterChipPage from "@routes/components/FilterChip.tsx"; import TextPage from "@routes/components/Text.tsx"; import { DrawerPage } from "@routes/components/Drawer.tsx"; import LinkPage from "@routes/components/Link.tsx"; +import TemporaryNotificationPage from "@routes/components/TemporaryNotification.tsx"; const ComponentRoute: React.FC<{ versionedPaths: Record; @@ -120,6 +121,7 @@ export const ComponentsRouter = () => { "spacer": , "table": , "tabs": , + "temporary-notification": , "text": , "text-area": , "tooltip": , From 6cf1e2f27135af37247725796b927760216cf696 Mon Sep 17 00:00:00 2001 From: syedszeeshan <47701214+syedszeeshan@users.noreply.github.com> Date: Mon, 21 Jul 2025 18:34:33 -0400 Subject: [PATCH 43/43] fix(#2634): add docs for drawer and form stepper --- .../example-thumbnails/add-a-filter-chip.png | Bin 0 -> 14327 bytes .../component-card/ComponentCard.tsx | 52 ++-- src/components/example-card/ExampleCard.tsx | 16 +- .../LegacyCalloutBanner.tsx | 20 ++ .../OldComponentBanner.tsx | 2 +- src/global-constants.ts | 3 + src/routes/components/AllComponents.tsx | 57 ++++- src/routes/components/Components.tsx | 32 ++- src/routes/components/FormStepper.tsx | 235 +++++++----------- src/routes/examples/ExamplesOverview.tsx | 8 +- src/routes/root.css | 4 +- src/utils/index.ts | 2 +- 12 files changed, 227 insertions(+), 204 deletions(-) create mode 100644 public/images/example-thumbnails/add-a-filter-chip.png create mode 100644 src/components/legacy-callout-banner/LegacyCalloutBanner.tsx diff --git a/public/images/example-thumbnails/add-a-filter-chip.png b/public/images/example-thumbnails/add-a-filter-chip.png new file mode 100644 index 0000000000000000000000000000000000000000..0311798ae240492e39b68dc1966535984b864fa6 GIT binary patch literal 14327 zcmeHuS6GwV_a+L$0RcTIO_~LabOezOqM{-KN)H_oklw*ai3$f)nsn(XNa#UY2rVc_ zN&*q z`UdJ&z$1X~F~B8RLq2W+B)`cq<@B@De?LY(Jbq#83jXh3$DT@X-oE$r5&yRmZvdrpSn60b@%m^!;t1cn6Tj_*+nReYC z`t`YVLq>^fZVr{Aakd41PiBie+*Q$dm?Yu^%!I~v993m@v9NKZ_i z?LBOZGYh*(vSdtK>U>#^vI??}w@yE!ElnM|d+3(zw1rcIb~hVMShLiJn*=SynFnsH zNPF=pc@I#&>G-pQIyWqAK<-I(<@~VIGAXb3tA!Wi_n;B8DRNXSDOFN!%!n0xp+HLR z>CuV|(}QJzO|eQkW&izNoyQigctcK>wPwkzq~%Kq+zLnT=@#!_mGA(G4$C28@i%^@ z`sjOJy8Eu>Tz_At*(<8v5o%^QoQ$@?u`A&f6BMOnB_YT$=6%Yr2AigqTXRxEd3zxfCZaA&pWACc zTBJCC9gy04HYn(w8x}qT^ohJH6=_3(f$1;?&d$KZ{sf)@Si^>w(U*wEr=CCLA$Klf zi8ESavEMmmHh3Nxd_Q(-gVlb2^LkE5cKJ~ef?9+P9h92=(j8`UG4iLay$fbGW82X4 z??sg}d9!nBS6EAEhBHsfeXkP3JuoF2JZmZc3@HzZsCzeqFjIk720yZRI1~8VYsj{Z zZ-jM(W-U=XT`{@ssecb+-t!?FH$L-bIv62%vS?&tqGZ%g|U%g1hP~KiMIZW2Q zsw@;4Jj&>;J_pN;|GjyVRZP%_IJN7SjVxGY$XyBUEmQ<)yM;|JoTy38$JiUJUMGoD zlfl1}cjsLlf@w<753#S~SrjnBi2fiY$uO))J~#Y0iJh;@yCGLik;V%1GW5?f+akGx zF%v1SIlT^Xa}MiYHO2XJ%QMBDnh^nwsrxcxDc#xoKufC2osE0r&-x{no3adltAeR0 zx=xPU(GSr&u$IG#85n}GYd!k~K3P;Jfx059vtp*r+Ql&g@d0U@E!|a2<{qopO<18J z%s11crP8YRh=iiw05J|`qjAhb7##s=ejrzTK9ku)HE1~JTZ0ND8DwJt<+4jE&7CeZ zH3C!T-qQ2!2D7fS4$5KkdnZ*o$~`sYBndalnjIQKKxj*YgXvup?=X`Kaj_YOv<+gO zQ_yB`w&In@vK)koV}PaJZfktZUOc6XP836JA&RqmlnS$H_D1wk8*53uwgP2fH2B>&=vTew*KA^fe7d_u~QXV13F-d0e@3irwUdM&KljCmxYT14!+ zS=xpScdD<*^=b@N;c2C+S9{w%(UQc%oEHAax|F5x{K@9bcbP;{b{!$>Ubp7%_Ob!j zeDk{8;L6@?b!YNul_Y_ZgX7u;c}0~609@XdQb&BEQfg^1$J6urpbTps2s5=d!CKU! zmNT4w?TM{aaosuFBtnB;IAWSX)&G=nRLkR{VWf=mzpR{IkZ~BYpB?k%r0aNcNwU$= z3ij%t

    W+LFUMvQfuE+OFtqQ;b6;Z2%C1_v^u+Xu2hKOK~3Dr0gIMmo4Rm|^2ypv zk@VL41j0zz)jcJ7UR{*meD&$FgfSgL@s!kkTMNXmv|!1IH!L)B2TkLA#EhElT5j{a zTA+B{{?bPpnY|o>sh3(L&@t=GeNs3w$dE_8+MYooWDY*4bMI6yiKlIzEc^M1iL&kK zziP77(M&slf_vy#90S`M>#q-V9@SxeQ;q-3GQeN8@3Z3Bi|B5ccOV%~YiFy*uAGdM zDn_7Vx-I6>g!7A2o!#xNO3-Z8J=S@G(02=;j;U&@WHjktfMIA%h%uJwYZo z7y-CJXx~=g$=>l7RH4ApaWu{`UO@49cU(|D=c>6DcG_sRwcetW@v%3yJj+6^Yv`*w zJec-qhF-*XU0JfgE=0QKd!5&%W3idND0sa%uVo4?*NvK66GVZ4X%GfQ0djQ*P!g62 zJqpa-+xwV=*YeUTg8|p#F~Qn+urRtUuPmJ_3825i8-5~jiwr!8U*oFthQGhtp3hMx zvSQ-2ZpB(ZaBH=UTt+A2O4j1yX;Wprab*+Dg%nL_Og#E`Ze(8PHI1ARM;=1V*7qf! znJ}Z2l^+k}gMI%l^;xDkzT9`Ebj}{;W(7op`&XUIlKti_3>qUral9!1wYa?)H&&du z$0cEVh2@eFy2E^w<40?_0gH;>6U^5~?+kVj3KJemy-spv(Pk;Rix1<`{=Xy;za-3p zUrGufQDUvYmrchXv@MKY`U3FK!Cn;+zmogbkY~uNb;#U0O7xc#;=n1cV}u^3efOh} zOtY%|;4NP9mYqd2S5nq)_CG1Az0Wp1biC?2U6ni)P&7$?&T!;UeJ>v%AeI-od9yW@ zrUfvZ%2@&7AUXMN42;_@r+0~(v;|1U8k%0nPR%D5jX_tSgJnmiJ`{)T@Cy`~2zQ{zNY#L5|9+@{MbvI-8y(~-&_V&Z( z%en{&ZQTTYUwykMjz&NQRK5%Ef_|tU=3@&kyCwCj4ycNJZIwC60t7 z7<%{4EsA<&s_kh@s^g4Jp747OMKcT8GrH@62IlkV?RUBn%h_cSh#^DemabdNQ@;H> z^&g^z_YU+Gu0ZOmBq4&0$I5H`$>;c;QptvRusjsbXcBD9ei2K|_jTZblse2rG zNBUlC5amU|J!LDX?YvnJ+YV&qh=TJq!aLE%-xs z*K_GA{?gb>CR@myi5!H7RB>n9*7pf@{Te}w@zTTEjn<^dkmH-pJV8}QcJN_dTz9RY zYbAe+?pIRbP;qIfHso!cVR%LUKoSYDR3+$l5VIX`Td-bddn`Sug_!?c*R(AvZQIO1 zpJO)ulaWj1W9h&KGdUN^{AQ@nBf2*KiCdazLWs~&sGs5DBVIL3Vb{I6>UTvVKS1nA z0;X7ucsh%p1F&TBFuH0PibZg9$1hR=HCr~s2Qlg8 zDV$_{>4N9du1xhEV{J3Z>(#NHqo>lD|OV9IN4LK@<`YW_+}fF>az zULOQW*|f)1Mg2`DAnlJD{4hLlM@h$8VNYlO@eT%y-9;{ggWIGrxP043fWPd=pSICH zWsMojyEVi|^w)F_xLmaGH|_LT`$du@_)693ln{J@jUt=|oIu)B zJ8Pq8kHr6+46bvFu^742#W#JO{G0a@MpOe~`CRp~i{G-mnn@&LD16MvV>w}8wm-0) z`xgG~9gDoM#n8Cx$((g0P2zRlk;vx!FnzSC{b+S&TtOSo=R{8be6utDsY6D3ZKK|5 zyv(6(a2j50R)^2R4E#e$kk+}^WSYem(H_rKiH4iOlp>GMoYO9QS4`7T z7hdVmjdI{Ai*B$cFtH_w*yBOK!^-uarl%qYr^kGwS zAXGXx0squp+HNviMP~iRyYD3-hQWvxu2hi1Rv|PZ)5J^fZMnpm{=@%3!vbZ(qL?Un}v>fLA{DDwP)+gb7uc%NzCX4m>DXJnBA#^ zof^PEuKAr1q*3aKm#=f$*k8HUt_|9rDK2q<;Yhe4ZRzh7S-H^>C0@V zL4ty$AlB_IEUJ=H*jL!wY*!J067AL{m!0!?tW!nu5aaW%ewpgPWrV!f^6@gy7xta1J^F6ku1MCwH#07UY`)bn{w7! zt=LDWgA}*+sUv(ZTkg*{&{dt5>t^Wc=(E1I(p$}uUpJak`EPB6*u=L!YW4aah+iLA#?~aNGpSI0md;)|u-1sqX#w&lS>uQ+Es%3EFj~ayY>TH$K zU4~jMwP=UjLExH3%iDpsThi0&+ebLzJo2)=gLK2)?b~XAr2gzqzEOD`$n6f#*_msR zaP+mQM7xSxf#DIg-ABDs9AvKFvArz_+gbdteA}vIuNvDV|EScJ5v5Gs=xbLj{jOTf zH!8-;Cy=MV^sC1n{Ths}Kji^3U$Z(?xcmj39A{_5Ah}*7hj7vwO6zF}`&Rm(vm| zz+Iz9X897PpxJX<{w{#%0*|V#xmW=w#Nh7s&nFiFP^0}@M$^iurZ11PLaoKCR?2Bt z?WGKATpJn#s3Wm#bYHT)R@Yt@cRFu2rKy{H-IupuW~0@h&Mr5^oM(EAG=5I0ZRiW4 zN(xEQXKtJg!SGpIpZk>6c%ym5IPR0+!j#SPikG0ga>@Q1uE%`rFzWhy(A6MCKg3b)NzWKe#Fjv}FD}VxX5=rs@L@KdHv~HV)zst&(@IUF!dsc07`0df>&>+T>fUjwROm-%(EJ zc@0EOcIav|-dX3Pn;p{ByFrO~&1PPoihjP|4PD>y-?N{aN+cRCYPxQzREgyRYchkeZMthThox4}3pYxee^j53}+>psI`xisk3L#+Ju3=`9t8@AI$r}L6i4&*Qf8RcYyF3!5H|5REMmof2x2>D{S8cWike0p@=EVp`iKanSEY zY+HVncrf($t`#1LkE{2@vt6C}qFF+5d*XgGjn$sFHHs5D9pyL>eNNM4a-&`}yHduj z_s%I<;aANKrYAp)e5@Kq9_x+_dw2Tkxg1nS-;!1C?~BHllw-(TX?(LW6yk1F*Ymx) z009igr0KC}M@_LNVQ0Uw`Oe*yEFkdlWX>xLO{5}$dWSRI-@9}P@%7GnVCmh_<*Sy8 zp@v#y3m`10)&yk5=&COOZ+#vJgl@I1^v%*@+wA_8T=o(7v+aJGyAnHgCm{?A;bsVM zhSxnRXJezNp zr1<}O{fzdWT72r$xg8s?0B8S5<@HQZ-(W7n1H5hbT1@4nQE$;+c7>QEO2nY}n6m4Ks7ZzV7BNG+wU$i93vCaMHayelv6vCl{xC#6Lt+e9 zGOs)!@V=2$wCED@s#MZ{)g$|F)whT| z+p#-Nuag(WVO+j03XQA`X?`+GiS#gku~~*t8bh4JLkPh2h=us*RlDJH+&c>t+t%-R zj-!vFJ=IXI7MUro6yRE9T>}1Mip_LXDQy}Obt?X6LKm>-2(P-=OUi{l&@Uf(>3(bVQhvOyu>P=Sp`*T z6wAgHoXNYZ3PLN`y9vF&%Q<&VeKw8=t0!pHEC-0&r$^OFoY5w;LcP2rVuvgaf=3n^ z9t(r#;(Ggms!0v2C_6U(-u{@P;^>!PvvoNAt7bdg%d4=!&2f=hf}@rYe`SD=COeNe zOVST_V{+IL66OoYjWi4}Vv&t-pLLQvF7f;@McJVrYd85p@-j+n+^Ib{dJkOX*m^mm zN~_1$7Z6jQ&nMA#?Ps&28@sm`5vYaV{Q3H>{ztd0Sm_$DMtSHwpj9#+{`lut(cUH& zs31+Gf8d>o<)Po{o$yk!WCNSU@|fp9u&YqksUbF5>3XIx_UZmtSQy93g6((74_5ZdX;^%bEMHDzl>U?oxKuBh3vOwzD_{^WS=DR9c|`p!@nv6gIii0_u+M=?gWVY5&7oo|KTdg5MTLKf42dY?ogGFt5-wMcx&8 zUR_=sXxUOpmleK7{3EWAYl(L&QmmT9!_=>{>wxkodFG36&6rO)cdmDrCVfKRkE4Mo zy1gwZ>Jl;WP0IfQPg)(cw{y=3HgrRI##&)YHU3u$R zvQHZtlOwc@>DD>j?tJ~ksC2&)5Sen%0rW?)!2U{)-XVfn^yq-RF6?d)R@|p}B5uc1 zW;+Ou&x==R%o)zX`O;rpK3xfpY5&{zR}3+{tm~o7WFbv4O#o6Hc3%ssk4TjozOfxX zrUOwO49L6YAQ?IRD6YU%+(N228ycEqeWP*H?B91akQDj%`PEDsxNiormP8e)L1rO ziP3ue?^7vfKvE4D+VSJh327%l1GYM>&WGc_7sO26#q}BTjEc%ZnW(@>Z;F} z`1AsjOM3V2bE-ViFXaBK0ey|XQmtD$`9&+-H82-1wYVZJ98BjO25yX>JKHuQ&NWFY znOCx6IkrCwS9auKYeX5Y$X_~GV=GZ3asj$kY`74~@rSg%B6T#?S*)>S;v@*Pta&nZ zGoKBI>;8)u7fGE7{6lT`zOulLdF8%owS(l!y66zuTwXNlT}bB406W02jQatYoBiv< zxzL7wBqVkfiuhN9KX>Vde)B6EVjpo71MXCMs-M zM-7#O+9`N7hRM8SiQEf$;j>I{&1?9`KOGSTS7_c5ffw>k2xnbFKNWYim2xI4__#+n z<^tV(f$gtwg~$SL72iJ;@{Wb>W~EC@sv6m>T>EVJS%UjJW;CxDN)Y*98wk<6!+oj{ zb~qGTy;ajXBzFZ;>iq4~cJb}?@T`{!DUGSa#IP&K5OYRBbJs?npP+#CU_%X8I>cbt z7yEfoI%fQuN7L(^ijnN1ur}mOsx#8!wA)N^)kDAdbuN5t1M&}hedzK-{kPw;FUj5J z1isakAOd)lkDo=fL&ng_)uB~g_l8FH_ zjBPOLKgM-=xW_LpE?0f^ zRw-CkRDN<-CT{s)7N|}3CuI%Y@|K1e=RZq-4F+e?m5 zOc-XB%jWau4=sSM`DYB)*=B~-)RQBzk+TN~$fSj+fc2;pQ2iNkRfhFD3NN`WmX$1| zU3;`n;FIDVr8c^eGb`3bS>wru)2fQab{$-+{6Ea@xz3u+_|^}Zx*b?+GKHuVFY4n%emkL=mK*ZBubNX=pBQ~O`0VDj6 zGx)^VGWvR>-#0OX&6J!)1%!%IP!(4yO+jZE^`bLp6-(+RXuKaUj;C(nF5RsYv|tpG z>f}J-f1xC|-%Hry(cU)FRBy{2rUvF@M_Ftj8}CkjIshgUwmV z!6l|(;~(dcbRCm0h$2P2mRn7Xwam$(B2x!$ju%OZUW&hu{pSeI|F6f7`X{8C)ZMT# z{**CGa0Pt<);o1fX=<4Ao5<-l7}2-&7pm!a85N0$wv1U7peK-K^MVXrV-ux!gx_lx53mes*xPYsJ1eeH;+<&6TjJh0rcoDPe?~) z}}5g1#awD{~0KO1cyyT6`}fgk0^H^pqc!A)U9 z$cX3+T17@w(N@lC#wPQ}8_Kpch!(mC);st|W}}P(@>y!>S__5jgC*>Ppy1_x`d%<| zXcXJh*wM@RKCg+tYg~>{vXESH@8L7#w$Z%ul>DH~BG~fe^2!qT)Ubc|!E+f*U^5E5 zd2A6MKaJgsNPgqh$c!!~{WWs0;aJxL$Jx?IA}V7VkH%Y#bMs3&WF9M#hz7bw{4EM>}em|yd^6ut362dVL*tV=$u>uwRcP7VY_8# za$q+}fyO$=V2w>nA>`#C5#L-x*3RB8csU%)EI+CdbT67$bI%8nUMA4=4rQjv!baii z26}T(FliU<9}cu#CIsgbgN4Ut)g6nD{h8{XW0rr&R4GH*m%a3SdKplK^8eu^AjeF3eNkEX*Yi`c?;Ry%8r{E5fn208Yw zPoZy*Xe7PcaCI5A<3!A6AejQF=pa?4ewt98NB+H^+Iu%}Yp7+g)BDBn^GXCok1LBZqQ|}G?+|f?%l?i98n9R1jw?cHlez^n<2#1NoaT|4vjvsw*Zbv2$laI!O4O(O7WSqmhX5;3bI~cbyOQC$DRGcj$${Udu zs+`?F`}i5FVe?1&CM6g$gWvI4ZsCK15PmP79(wxAjBSkJWcUFk8%v(7?XpF@;cDsK zQcnwag#ba6$+VIRdifJsG9wSwo#X`lGPC{O_?5h910`%J>cs&-sb3{CuSK2zwXb~IxG zC{_#okdinwF|*jvhtLcTVRfc$-kIVV=S=BZ`+P=SRVs0Qhwi5T>#zY+u{gwQe5kQF zL>BAy)}eN+bz9Q{D?de|zt?`NcJ8STw5f|fvAgnSvV-6VGj)&u!c^A{q-0i>-UW#J4_EYl%9RymlfmS5UV74o=%e+VQpf@cqIpQj4zO*5`+Gd4rv2ew@t90%Rn)Hgd!8N!vkIvP@eUK_(8iS{DciIE_Hzn?+}W>1_i`{rzFhQ~M$P*_A8P0WCBn_gI2{ ztg6Zq_@8y3u{rqS=x|#68a3cS_~bFRTqYj%vXg7+RF1CNF3?P%`JBOd`zHFrapS1T z8_iz#&6YcSXYv9eCsZz*OTb13fw>+{IA58(&{yHI4y|R~CbsUBzwx>)|NoBQLLSL7PWbA#!Kf2S<;xwzt(v%Z`59P;%|}Ry#Eg z5bWu!mFep>^YVSG!(h|52;1hL{|3^3O?-yw*eLJnoxo;GBuFN^s75^>O#&E`BP4XJ z_UnXIv|(CJU1HyP{2T9JW{+Umy?*!G9Its+I~D>)qnZv_dRi>|#i2t$pl7DILM_Ua z`&*miPdh2AWB^ybxxar`me)jL=ofj;h07=UCIVAWasjzkyX8eTpVrK5hfA!e)Ezc-dV#J< zrk$)664Zkb}$B7GT-wZ*TqceUHxumuYp3HGko9XsNRwxe`el7d7>oH zIeb;?)N_?g6SKUl(ET8d;tv-A1(@biMa=^^+kK)G{EsjxJ$XH{@3X_ zN%jua0K43CmJYvinpr^<2SU`W^43Pbcb!CIw{B)~L@~<`I?LjIAkl&7YgdEZf$f>! z9UJ^t+cWVQP+Hrt^-`N`Jsuu>BHJ^FE$zJWusc=18{C$of>`WRlk_rDVc});H(0y} zd%xFa?G}VD87n88Bs=>XspzQPx;s2fWG+Hrb?u2DU5mw7$e_N3!H%4?4WGjzrWw>2aldTg_P zhF*3NuD0cJg4N7x3n7!~ztXpZ=J|F&GKYJsy;9OXzkAD;DB*@xr^ew5@6ObldMPPa z%bR6$Gcn;{PocPaqA`T2NOZbBx+P)j|*007!gK@Pso1#Ry&KZy+_>tw*h$5Z2)eyOYcSh z=30#8)G^d0HsUG?UvOcMm`HJ<*iDTPg9h%6j;46-jUST~WYHnS#bYQr_PA6uL@y%v z_Z}pgBYDAug-;}2puofbI~dDDmCJy~3TOhylmEqL7<95vIXiIY?N#@%A>j6l+-C#` zV%a5T3dY7%J#Cy0Rf%gnWg!4Yj>kWTyNi@7e{kBsJ%s$cH>R=SN{#oI8c)S literal 0 HcmV?d00001 diff --git a/src/components/component-card/ComponentCard.tsx b/src/components/component-card/ComponentCard.tsx index b649f7508..f3d0e1645 100644 --- a/src/components/component-card/ComponentCard.tsx +++ b/src/components/component-card/ComponentCard.tsx @@ -3,8 +3,8 @@ import "./ComponentCard.css"; import { toKebabCase } from "../../utils"; import { GoabBadge, GoabText } from "@abgov/react-components"; import { useState, useEffect } from "react"; - -export type ComponentStatus = "Published" | "Not Published" | "In Progress"; +import { NEW_COMPONENTS } from "../../global-constants"; +export type ComponentStatus = "Available" | "Legacy" | "Not Published" | "In Progress"; // Define allowed group options as a union type export type Group = @@ -51,22 +51,22 @@ export function ComponentCard(props: ComponentCardProps) { const getBadgeType = (status: ComponentStatus) => { switch (status) { - case "Published": - return null; // No badge for "Published" + case "Available": //Published replaced with Available + return null; // No badge for "Available" case "Not Published": return "light"; case "In Progress": return "important"; default: - return "information"; // Fallback for unknown status + return "information"; // Fallback for Legacy and unknown status } }; getBadgeType(props.status); - const {language} = useContext(LanguageVersionContext); + const { language, version } = useContext(LanguageVersionContext); return (

    ); diff --git a/src/components/example-card/ExampleCard.tsx b/src/components/example-card/ExampleCard.tsx index 332b678e4..da24dc60e 100644 --- a/src/components/example-card/ExampleCard.tsx +++ b/src/components/example-card/ExampleCard.tsx @@ -4,7 +4,7 @@ import { toKebabCase } from "../../utils"; import { GoabBadge, GoabText } from "@abgov/react-components"; import { useState, useEffect } from "react"; -export type ComponentStatus = "Published" | "Not Published" | "In Progress"; +export type ComponentStatus = "Available" | "Not Published" | "In Progress" | "Legacy"; // Define allowed group options as a union type export type Group = @@ -47,7 +47,7 @@ export function ExampleCard(props: ExampleCardProps) { const testImage = new Image(); testImage.src = imageUrl; testImage.onerror = () => { - if (props.status !== "Published") { + if (props.status !== "Available") { setImageUrl("/images/component-thumbnails/not-yet-available.png"); } else { setImageUrl(""); @@ -57,8 +57,8 @@ export function ExampleCard(props: ExampleCardProps) { const getBadgeType = (status: ComponentStatus) => { switch (status) { - case "Published": - return null; // No badge for "Published" + case "Available": + return null; // No badge for "Available" case "Not Published": return "light"; case "In Progress": @@ -72,7 +72,7 @@ export function ExampleCard(props: ExampleCardProps) { return (
    - {props.status === "Published" ? ( + {props.status === "Available" ? (
    )} - {props.status !== "Published" && ( + {props.status !== "Available" && ( )}

    - {props.status === "Published" ? ( + {props.status === "Available" ? ( {props.name} ) : ( @@ -133,7 +133,7 @@ export function ExampleCard(props: ExampleCardProps) { /> ))} - {props.status !== "Published" && props.githubLink && ( + {props.status !== "Available" && props.githubLink && ( { + + return ( + + {children} + + ); +}; + +export default LegacyCalloutBanner; diff --git a/src/components/old-component-banner/OldComponentBanner.tsx b/src/components/old-component-banner/OldComponentBanner.tsx index 651e1c7f9..bb4718e6d 100644 --- a/src/components/old-component-banner/OldComponentBanner.tsx +++ b/src/components/old-component-banner/OldComponentBanner.tsx @@ -10,7 +10,7 @@ interface OldComponentBannerProps { export const OldComponentBanner = ({ componentName, language, type = "component" }: OldComponentBannerProps) => { return ( - This {type} is only available in {language == "angular" ? ANGULAR_VERSIONS.NEW.label.substring(0,2).toUpperCase() diff --git a/src/global-constants.ts b/src/global-constants.ts index 6ae486a98..43744e07d 100644 --- a/src/global-constants.ts +++ b/src/global-constants.ts @@ -1,3 +1,6 @@ export const MAX_CONTENT_WIDTH = "1440px"; export const DEFAULT_VERSION = "old"; export const DEFAULT_LANGUAGE = "react"; + +// Array of 'New' components +export const NEW_COMPONENTS = ["Drawer", "Temporary notification"]; diff --git a/src/routes/components/AllComponents.tsx b/src/routes/components/AllComponents.tsx index 48b693fa3..5801e8066 100644 --- a/src/routes/components/AllComponents.tsx +++ b/src/routes/components/AllComponents.tsx @@ -17,6 +17,11 @@ import { ComponentStatus } from "@components/component-card/ComponentCard"; import { useDebounce } from "use-debounce"; +import { useContext } from "react"; +import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; +import { ANGULAR_VERSIONS, REACT_VERSIONS } from "@components/version-language-switcher/version-language-constants.ts"; +import { GoabBadgeType } from "@abgov/ui-components-common"; +import { NEW_COMPONENTS } from "../../global-constants"; type ComponentProps = Omit & { status: ComponentStatus; @@ -27,8 +32,22 @@ type ComponentProps = Omit & { groups?: string[]; }; +const getBadgeType = (status: ComponentStatus): GoabBadgeType => { + if (status === "Available") return "success"; + if (status === "Legacy") return "information"; + if (status === "In Progress") return "important"; + return "light"; // Default or "Not Published" +}; + +//order the components based on the status rank (ascending) +const getStatusRank = (status: ComponentStatus): number => { + if (status === "Available" || status === "Legacy") return 0; + if (status === "In Progress") return 1; + return 2; // Not Published and others +}; const AllComponents = () => { + const { version, language } = useContext(LanguageVersionContext); const [filter, setFilter] = useState(""); const [debouncedFilter] = useDebounce(filter, 300); const [issueCounts, setIssueCounts] = useState>({}); @@ -41,10 +60,9 @@ const AllComponents = () => { const fetchData = async () => { const metadata = await fetchComponentMetadataFromProject(); const sorted = metadata.sort((a, b) => { - const statusOrder: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; - const statusComparison = - statusOrder.indexOf(a.status as ComponentStatus) - statusOrder.indexOf(b.status as ComponentStatus); - if (statusComparison !== 0) return statusComparison; + const aRank = getStatusRank(a.status as ComponentStatus); + const bRank = getStatusRank(b.status as ComponentStatus); + if (aRank !== bRank) return aRank - bRank; return a.name.localeCompare(b.name); }); setCards(sorted); @@ -53,6 +71,7 @@ const AllComponents = () => { }; fetchData(); }, []); + const [sortDirection, setSortDirection] = useState<{ [key: string]: number }>({ status: -1, name: 1, @@ -75,10 +94,13 @@ const AllComponents = () => { const sortedFiltered = [...result].sort((a, b) => { if (sortBy === "status") { - const statusOrder: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; - const statusComparison = - statusOrder.indexOf(a.status as ComponentStatus) - statusOrder.indexOf(b.status as ComponentStatus); - if (statusComparison !== 0) return statusComparison * newDirection; + const aRank = getStatusRank(a.status as ComponentStatus); + const bRank = getStatusRank(b.status as ComponentStatus); + + if (aRank !== bRank) return (aRank - bRank) * newDirection; + + // If same status rank, sort by name + return a.name.localeCompare(b.name) * newDirection; } const key = sortBy as keyof ComponentProps; @@ -214,12 +236,23 @@ const AllComponents = () => { - {card.status === "Published" ? ( + {card.status === "Available" || card.status === "Legacy" ? ( {toSentenceCase(card.name)} @@ -309,7 +342,7 @@ const AllComponents = () => { status={card.status} githubLink={card.openIssuesUrl || `https://github.com/GovAlta/ui-components/issues?q=is%3Aissue+is%3Aopen+label%3A${encodeURIComponent(getLabelQuery(card.name))}`} openIssues={issueCounts[card.name]} - isNew={card.isNew} + isNew={NEW_COMPONENTS.includes(card.name)} designComponentFigmaUrl={card.designComponentFigmaUrl} designContributionFigmaUrl={card.designContributionFigmaUrl} imageFolder="component-thumbnails" diff --git a/src/routes/components/Components.tsx b/src/routes/components/Components.tsx index dc7abe2b5..4b3062fb4 100644 --- a/src/routes/components/Components.tsx +++ b/src/routes/components/Components.tsx @@ -3,14 +3,18 @@ import { GoabBlock, GoabSideMenu, GoabSideMenuGroup, - GoabSpacer + GoabSpacer, } from "@abgov/react-components"; import { Link, Outlet } from "react-router-dom"; import { SupportInfo } from "@components/support-info/SupportInfo.tsx"; import { useContext } from "react"; import { LanguageVersionContext } from "@contexts/LanguageVersionContext.tsx"; -import { getVersionedUrlPath, ANGULAR_VERSIONS, REACT_VERSIONS } from "@components/version-language-switcher/version-language-constants.ts"; - +import { + getVersionedUrlPath, + ANGULAR_VERSIONS, + REACT_VERSIONS, +} from "@components/version-language-switcher/version-language-constants.ts"; +import { NEW_COMPONENTS } from "../../global-constants"; export function Components() { const { language, version } = useContext(LanguageVersionContext); @@ -21,7 +25,6 @@ export function Components() { return prefixUrl.length > 0 ? `${prefixUrl}/${path}` : path; }; - const newComponentLabel = (componentName: string) => { const getBadgeLabel = () => { if (version === "new") return "New"; @@ -29,9 +32,25 @@ export function Components() { ? ANGULAR_VERSIONS.NEW.label.substring(0, 2).toUpperCase() : REACT_VERSIONS.NEW.label.substring(0, 2).toUpperCase(); }; + + const getBadgeType = () => { + if (version === "new" && NEW_COMPONENTS.includes(componentName)) { + return "success"; + } + return "important"; + }; + return ( - {componentName} + {componentName} + + ); + }; + + const legacyComponentLabel = (componentName: string) => { + return ( + + {componentName} ); }; @@ -53,7 +72,6 @@ export function Components() { Popover Table Text - Badge @@ -80,7 +98,7 @@ export function Components() { {newComponentLabel("Drawer")} Footer - Form stepper + {legacyComponentLabel("Form stepper")} Header Microsite header Pagination diff --git a/src/routes/components/FormStepper.tsx b/src/routes/components/FormStepper.tsx index 9dbc17209..bf6d43a8a 100644 --- a/src/routes/components/FormStepper.tsx +++ b/src/routes/components/FormStepper.tsx @@ -26,6 +26,8 @@ import { import { FormStepperExamples } from "@examples/form-stepper/FormStepperExamples.tsx"; import { DesignEmpty } from "@components/empty-states/design-empty/DesignEmpty.tsx"; import { AccessibilityEmpty } from "@components/empty-states/accessibility-empty/AccessibilityEmpty.tsx"; +import { LegacyCalloutBanner } from "@components/legacy-callout-banner/LegacyCalloutBanner.tsx"; +import { Link } from "react-router-dom"; const FIGMA_LINK = "https://www.figma.com/design/3pb2IK8s2QUqWieH79KdN7/%E2%9D%96-Component-library-%7C-DDD?node-id=1014-6629"; @@ -116,40 +118,48 @@ export default function FormStepperPage() { figmaLink={FIGMA_LINK} githubLink="Form Stepper" /> - - - -

    - Playground -

    - {/*Must use Container because Form Stepper cannot be rendered correctly inside sandbox*/} - -
    - setStep(+event.step)} - {...formStepProps}> - - - - - - -
    Page 1 content
    -
    Page 2 content
    -
    Page 3 content
    -
    Page 4 content
    -
    -
    -
    - {/*Angular code*/} - {version === "old" && ( - + The component is stable and supported in the latest major release. However, we recommend + using the public form pattern for a more modular, + flexible, and accessible approach. + + + {version === "old" && ( + + + +

    + Playground +

    + {/*Must use Container because Form Stepper cannot be rendered correctly inside sandbox*/} + +
    + setStep(+event.step)} + {...formStepProps}> + + + + + + +
    Page 1 content
    +
    Page 2 content
    +
    Page 3 content
    +
    Page 4 content
    +
    +
    +
    + + {/*Angular code*/} + {version === "old" && ( + - )} - {version === "new" && ( - - )} + /> + )} - {version === "old" && ( - @@ -195,46 +189,24 @@ export default function FormStepperPage() {
    Page 4 content
    `} - /> - )} + /> + )} - {version === "new" && ( + {/*React code*/} - - - - - - -
    Page 1 content
    -
    Page 2 content
    -
    Page 3 content
    -
    Page 4 content
    -
    - `} - /> - )} - - {/*React code*/} - (-1); `} - /> - {version === "old" && ( - + {version === "old" && ( + @@ -248,62 +220,41 @@ export default function FormStepperPage() {
    Page 4 content
    `} - /> - )} + /> + )} - {version === "new" && ( - setStep(+event.step)}> - - - - - - -
    Page 1 content
    -
    Page 2 content
    -
    Page 3 content
    -
    Page 4 content
    -
    - `} + - )} - - - -
    + +
    - - Examples - - - }> - - + + Examples + + + }> + + - - - + + + - - - -
    -
    + + + + + + )} ); } diff --git a/src/routes/examples/ExamplesOverview.tsx b/src/routes/examples/ExamplesOverview.tsx index b6561d29f..294e22a75 100644 --- a/src/routes/examples/ExamplesOverview.tsx +++ b/src/routes/examples/ExamplesOverview.tsx @@ -96,7 +96,7 @@ export default function ExamplesOverviewPage() { .replace(/\s+/g, "-") })); const sorted = withSlugs.sort((a, b) => { - const statusOrder: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; + const statusOrder: ComponentStatus[] = ["Available", "In Progress", "Not Published"]; const statusComparison = statusOrder.indexOf(a.status as ComponentStatus) - statusOrder.indexOf(b.status as ComponentStatus); if (statusComparison !== 0) return statusComparison; @@ -172,7 +172,7 @@ export default function ExamplesOverviewPage() { const sortedFiltered = [...result].sort((a, b) => { if (sortBy === "status") { - const statusOrder: ComponentStatus[] = ["Published", "In Progress", "Not Published"]; + const statusOrder: ComponentStatus[] = ["Available", "In Progress", "Not Published"]; const statusComparison = statusOrder.indexOf(a.status as ComponentStatus) - statusOrder.indexOf(b.status as ComponentStatus); if (statusComparison !== 0) return statusComparison * newDirection; @@ -292,11 +292,11 @@ export default function ExamplesOverviewPage() { - {card.status === "Published" ? ( + {card.status === "Available" ? ( {toSentenceCase(card.name)} diff --git a/src/routes/root.css b/src/routes/root.css index 227f14c26..5228c84f0 100644 --- a/src/routes/root.css +++ b/src/routes/root.css @@ -26,8 +26,8 @@ Side Menu ==================*/ .side-menu { - min-width: 220px; - width: 220px; + min-width: 250px; + width: 250px; border-right: 1px solid var(--goa-color-greyscale-200); padding-bottom: var(--goa-space-l); } diff --git a/src/utils/index.ts b/src/utils/index.ts index 50686d607..081c1042a 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -94,7 +94,7 @@ async function executeGraphQLQuery(cacheName: string, query: string): Promise