@openwarelabs/blocks 0.7.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/calls-to-action/Cta01/Cta01.d.cts +3 -0
- package/dist/calls-to-action/Cta01/Cta01.d.ts +3 -0
- package/dist/calls-to-action/Cta01/Cta01.types.d.cts +14 -0
- package/dist/calls-to-action/Cta01/Cta01.types.d.ts +14 -0
- package/dist/calls-to-action/Cta02/Cta02.d.cts +3 -0
- package/dist/calls-to-action/Cta02/Cta02.d.ts +3 -0
- package/dist/calls-to-action/Cta02/Cta02.types.d.cts +16 -0
- package/dist/calls-to-action/Cta02/Cta02.types.d.ts +16 -0
- package/dist/calls-to-action/Cta03/Cta03.d.cts +3 -0
- package/dist/calls-to-action/Cta03/Cta03.d.ts +3 -0
- package/dist/calls-to-action/Cta03/Cta03.types.d.cts +18 -0
- package/dist/calls-to-action/Cta03/Cta03.types.d.ts +18 -0
- package/dist/features/Features01/Features01.d.cts +3 -0
- package/dist/features/Features01/Features01.d.ts +3 -0
- package/dist/features/Features01/Features01.types.d.cts +21 -0
- package/dist/features/Features01/Features01.types.d.ts +21 -0
- package/dist/features/Features02/Features02.d.cts +3 -0
- package/dist/features/Features02/Features02.d.ts +3 -0
- package/dist/features/Features02/Features02.types.d.cts +30 -0
- package/dist/features/Features02/Features02.types.d.ts +30 -0
- package/dist/features/Features03/Features03.d.cts +3 -0
- package/dist/features/Features03/Features03.d.ts +3 -0
- package/dist/features/Features03/Features03.types.d.cts +24 -0
- package/dist/features/Features03/Features03.types.d.ts +24 -0
- package/dist/features/Features04/Features04.d.cts +3 -0
- package/dist/features/Features04/Features04.d.ts +3 -0
- package/dist/features/Features04/Features04.types.d.cts +29 -0
- package/dist/features/Features04/Features04.types.d.ts +29 -0
- package/dist/features/Features05/Features05.d.cts +3 -0
- package/dist/features/Features05/Features05.d.ts +3 -0
- package/dist/features/Features05/Features05.types.d.cts +18 -0
- package/dist/features/Features05/Features05.types.d.ts +18 -0
- package/dist/footers/Footer01/Footer01.d.cts +3 -0
- package/dist/footers/Footer01/Footer01.d.ts +3 -0
- package/dist/footers/Footer01/Footer01.types.d.cts +32 -0
- package/dist/footers/Footer01/Footer01.types.d.ts +32 -0
- package/dist/footers/Footer02/Footer02.d.cts +3 -0
- package/dist/footers/Footer02/Footer02.d.ts +3 -0
- package/dist/footers/Footer02/Footer02.types.d.cts +18 -0
- package/dist/footers/Footer02/Footer02.types.d.ts +18 -0
- package/dist/footers/Footer03/Footer03.d.cts +3 -0
- package/dist/footers/Footer03/Footer03.d.ts +3 -0
- package/dist/footers/Footer03/Footer03.types.d.cts +53 -0
- package/dist/footers/Footer03/Footer03.types.d.ts +53 -0
- package/dist/footers/Footer04/Footer04.d.cts +3 -0
- package/dist/footers/Footer04/Footer04.d.ts +3 -0
- package/dist/footers/Footer04/Footer04.types.d.cts +18 -0
- package/dist/footers/Footer04/Footer04.types.d.ts +18 -0
- package/dist/headers/Header01/Header01.d.cts +6 -0
- package/dist/headers/Header01/Header01.d.ts +6 -0
- package/dist/headers/Header01/Header01.types.d.cts +18 -0
- package/dist/headers/Header01/Header01.types.d.ts +18 -0
- package/dist/headers/Header02/Header02.d.cts +6 -0
- package/dist/headers/Header02/Header02.d.ts +6 -0
- package/dist/headers/Header02/Header02.types.d.cts +69 -0
- package/dist/headers/Header02/Header02.types.d.ts +69 -0
- package/dist/headers/Header03/Header03.d.cts +6 -0
- package/dist/headers/Header03/Header03.d.ts +6 -0
- package/dist/headers/Header03/Header03.types.d.cts +24 -0
- package/dist/headers/Header03/Header03.types.d.ts +24 -0
- package/dist/headers/Header04/Header04.d.cts +3 -0
- package/dist/headers/Header04/Header04.d.ts +3 -0
- package/dist/headers/Header04/Header04.types.d.cts +47 -0
- package/dist/headers/Header04/Header04.types.d.ts +47 -0
- package/dist/headers/Header05/Header05.d.cts +3 -0
- package/dist/headers/Header05/Header05.d.ts +3 -0
- package/dist/headers/Header05/Header05.types.d.cts +27 -0
- package/dist/headers/Header05/Header05.types.d.ts +27 -0
- package/dist/index.cjs +1323 -7
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.cts +45 -1
- package/dist/index.d.ts +45 -1
- package/dist/index.js +1336 -20
- package/dist/index.js.map +4 -4
- package/dist/pricing/Pricing01/Pricing01.d.cts +3 -0
- package/dist/pricing/Pricing01/Pricing01.d.ts +3 -0
- package/dist/pricing/Pricing01/Pricing01.types.d.cts +43 -0
- package/dist/pricing/Pricing01/Pricing01.types.d.ts +43 -0
- package/dist/pricing/Pricing02/Pricing02.d.cts +3 -0
- package/dist/pricing/Pricing02/Pricing02.d.ts +3 -0
- package/dist/pricing/Pricing02/Pricing02.types.d.cts +64 -0
- package/dist/pricing/Pricing02/Pricing02.types.d.ts +64 -0
- package/dist/pricing/Pricing03/Pricing03.d.cts +3 -0
- package/dist/pricing/Pricing03/Pricing03.d.ts +3 -0
- package/dist/pricing/Pricing03/Pricing03.types.d.cts +65 -0
- package/dist/pricing/Pricing03/Pricing03.types.d.ts +65 -0
- package/dist/pricing/Pricing04/Pricing04.d.cts +3 -0
- package/dist/pricing/Pricing04/Pricing04.d.ts +3 -0
- package/dist/pricing/Pricing04/Pricing04.types.d.cts +38 -0
- package/dist/pricing/Pricing04/Pricing04.types.d.ts +38 -0
- package/dist/pricing/Pricing05/Pricing05.d.cts +3 -0
- package/dist/pricing/Pricing05/Pricing05.d.ts +3 -0
- package/dist/pricing/Pricing05/Pricing05.types.d.cts +64 -0
- package/dist/pricing/Pricing05/Pricing05.types.d.ts +64 -0
- package/dist/shared/BlockActions.d.cts +1 -1
- package/dist/shared/BlockActions.d.ts +1 -1
- package/dist/shared/BlockBrandLink.d.cts +3 -0
- package/dist/shared/BlockBrandLink.d.ts +3 -0
- package/dist/shared/FooterColumns.d.cts +3 -0
- package/dist/shared/FooterColumns.d.ts +3 -0
- package/dist/shared/icons.d.cts +13 -3
- package/dist/shared/icons.d.ts +13 -3
- package/dist/shared/shared.types.d.cts +49 -1
- package/dist/shared/shared.types.d.ts +49 -1
- package/dist/styles.css +3762 -323
- package/package.json +2 -2
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/heroes/Hero01/Hero01.tsx", "../src/shared/BlockActions.tsx", "../src/heroes/Hero02/Hero02.tsx", "../src/shared/icons.tsx", "../src/heroes/Hero03/Hero03.tsx", "../src/heroes/Hero04/Hero04.tsx", "../src/heroes/Hero05/Hero05.tsx", "../src/heroes/Hero06/Hero06.tsx"],
|
|
4
|
-
"sourcesContent": ["import { useId } from \"react\";\n\nimport { Chip, cx, Text } from \"@openwarelabs/ui\";\n\nimport { BlockActions } from \"@blocks/shared/BlockActions\";\nimport type { Hero01Props } from \"./Hero01.types\";\n\n/** A centred hero: an eyebrow, the headline, a lead, two actions and a note, with the product below, running on into the page. */\nexport function Hero01({ eyebrow, title, description, primaryAction, secondaryAction, note, visual, className, ...props }: Hero01Props) {\n const titleId = useId();\n return (\n <section className={cx(\"ow-hero01\", className)} aria-labelledby={titleId} {...props}>\n <div className=\"ow-hero01__inner\">\n {eyebrow ? <Chip>{eyebrow}</Chip> : null}\n <Text variant=\"hero\" align=\"center\" id={titleId} className=\"ow-hero01__title\">\n {title}\n </Text>\n <Text variant=\"lead\" align=\"center\" className=\"ow-hero01__lead\">\n {description}\n </Text>\n <BlockActions className=\"ow-hero01__actions\" primary={primaryAction} secondary={secondaryAction} />\n {note ? (\n <Text variant=\"caption\" as=\"p\" className=\"ow-hero01__note\">\n {note}\n </Text>\n ) : null}\n </div>\n {visual ? <div className=\"ow-hero01__visual\">{visual}</div> : null}\n </section>\n );\n}\n", "import { Button, buttonClassName } from \"@openwarelabs/ui\";\n\nimport type { BlockActionButtonProps, BlockActionsProps } from \"@blocks/shared/shared.types\";\n\n/** One action as a large pill: a link styled as a button when it has an href, a button otherwise. */\nexport function BlockActionButton({ action, variant }: BlockActionButtonProps) {\n const { label, href, onClick, startIcon, endIcon, target, \"aria-label\": ariaLabel } = action;\n if (href !== undefined) {\n return (\n <a\n className={buttonClassName({ variant, size: \"lg\", shape: \"pill\" })}\n href={href}\n target={target}\n rel={target === \"_blank\" ? \"noopener noreferrer\" : undefined}\n aria-label={ariaLabel}\n onClick={onClick}\n >\n {startIcon ? <span className=\"ow-button__icon\">{startIcon}</span> : null}\n {label}\n {endIcon ? <span className=\"ow-button__icon\">{endIcon}</span> : null}\n </a>\n );\n }\n return (\n <Button variant={variant} shape=\"pill\" size=\"lg\" startIcon={startIcon} endIcon={endIcon} aria-label={ariaLabel} onClick={onClick}>\n {label}\n </Button>\n );\n}\n\n/** The primary action and an optional secondary one, side by side. */\nexport function BlockActions({ primary, secondary, className }: BlockActionsProps) {\n return (\n <div className={className}>\n <BlockActionButton action={primary} variant=\"primary\" />\n {secondary ? <BlockActionButton action={secondary} variant=\"secondary\" /> : null}\n </div>\n );\n}\n", "import { useId } from \"react\";\n\nimport { Chip, cx, Text } from \"@openwarelabs/ui\";\n\nimport { BlockActions } from \"@blocks/shared/BlockActions\";\nimport { CheckIcon } from \"@blocks/shared/icons\";\nimport type { Hero02Props } from \"./Hero02.types\";\n\n/** A split hero: the words on the left and the product on the right. They stack on phones. */\nexport function Hero02({ eyebrow, title, description, primaryAction, secondaryAction, points, visual, className, ...props }: Hero02Props) {\n const titleId = useId();\n return (\n <section className={cx(\"ow-hero02\", className)} aria-labelledby={titleId} {...props}>\n <div className=\"ow-hero02__inner\">\n <div className=\"ow-hero02__text\">\n {eyebrow ? <Chip>{eyebrow}</Chip> : null}\n <Text variant=\"page-title\" id={titleId} className=\"ow-hero02__title\">\n {title}\n </Text>\n <Text variant=\"lead\" className=\"ow-hero02__lead\">\n {description}\n </Text>\n <BlockActions className=\"ow-hero02__actions\" primary={primaryAction} secondary={secondaryAction} />\n {points?.length ? (\n <ul className=\"ow-hero02__points\">\n {points.map((point, index) => (\n <Text as=\"li\" key={index} tone=\"muted\" className=\"ow-hero02__point\">\n <CheckIcon size={15} />\n {point}\n </Text>\n ))}\n </ul>\n ) : null}\n </div>\n {visual}\n </div>\n </section>\n );\n}\n", "import type { ReactNode } from \"react\";\n\nimport type { BlockIconProps } from \"@blocks/shared/shared.types\";\n\n// The few icons the blocks draw themselves, as Lucide shapes (ISC licence), so the package needs no icon library.\nconst icon = (paths: ReactNode) =>\n function BlockIcon({ size = 16 }: BlockIconProps) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n {paths}\n </svg>\n );\n };\n\nexport const CheckIcon = icon(<path d=\"M20 6 9 17l-5-5\" />);\nexport const MailIcon = icon(\n <>\n <path d=\"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\" />\n <rect x=\"2\" y=\"4\" width=\"20\" height=\"16\" rx=\"2\" />\n </>,\n);\nexport const DownloadIcon = icon(\n <>\n <path d=\"M12 15V3\" />\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <path d=\"m7 10 5 5 5-5\" />\n </>,\n);\n", "import { useEffect, useId, useRef, useState, type FormEvent } from \"react\";\n\nimport { Button, Chip, cx, Input, Text } from \"@openwarelabs/ui\";\n\nimport { CheckIcon, MailIcon } from \"@blocks/shared/icons\";\nimport type { Hero03Props } from \"./Hero03.types\";\n\nconst emailPattern = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n\n/** A hero with an email field: join a waitlist or start a trial in one step, with a confirmation in place of the form. */\nexport function Hero03({\n eyebrow,\n title,\n description,\n submitLabel,\n onSubmit,\n note,\n successTitle,\n successDescription,\n visual,\n labels = {},\n className,\n ...props\n}: Hero03Props) {\n const [email, setEmail] = useState(\"\");\n const [error, setError] = useState<string | null>(null);\n const [sending, setSending] = useState(false);\n const [joined, setJoined] = useState<string | null>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const doneRef = useRef<HTMLDivElement>(null);\n const touched = useRef(false);\n const id = useId();\n const titleId = `${id}-title`;\n\n // Moving between the form and the confirmation, take focus along so it isn't lost with the element that had it.\n useEffect(() => {\n if (!touched.current) return;\n if (joined) doneRef.current?.focus();\n else inputRef.current?.focus();\n }, [joined]);\n\n const submit = async (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n const value = email.trim();\n const problem = !value\n ? (labels.empty ?? \"Enter your work email to join the waitlist.\")\n : !emailPattern.test(value)\n ? (labels.invalid ?? \"That doesn't look like an email address. Try one like maya@example.com.\")\n : null;\n setError(problem);\n if (problem) {\n inputRef.current?.focus();\n return;\n }\n setSending(true);\n try {\n await onSubmit(value);\n touched.current = true;\n setJoined(value);\n } catch (failure) {\n setError(failure instanceof Error && failure.message ? failure.message : (labels.failed ?? \"That didn't go through. Try again in a moment.\"));\n inputRef.current?.focus();\n } finally {\n setSending(false);\n }\n };\n\n return (\n <section className={cx(\"ow-hero03\", className)} aria-labelledby={titleId} {...props}>\n <div className=\"ow-hero03__inner\">\n {eyebrow ? <Chip>{eyebrow}</Chip> : null}\n <Text variant=\"hero\" align=\"center\" id={titleId} className=\"ow-hero03__title\">\n {title}\n </Text>\n <Text variant=\"lead\" align=\"center\" className=\"ow-hero03__lead\">\n {description}\n </Text>\n\n {joined ? (\n <div ref={doneRef} className=\"ow-hero03__done\" tabIndex={-1}>\n <span className=\"ow-hero03__done-icon\" aria-hidden=\"true\">\n <CheckIcon size={16} />\n </span>\n <div className=\"ow-hero03__done-text\">\n <Text variant=\"label\">{successTitle}</Text>\n {successDescription ? (\n <Text variant=\"caption\" as=\"p\" className=\"ow-hero03__done-detail\">\n {successDescription(joined)}\n </Text>\n ) : null}\n </div>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => {\n touched.current = true;\n setJoined(null);\n }}\n >\n {labels.change ?? \"Change email\"}\n </Button>\n </div>\n ) : (\n <form className=\"ow-hero03__form\" noValidate onSubmit={submit}>\n <div className=\"ow-hero03__row\">\n <Input\n ref={inputRef}\n className=\"ow-hero03__input\"\n type=\"email\"\n autoComplete=\"email\"\n aria-label={labels.email ?? \"Work email\"}\n aria-describedby={error ? `${id}-error` : note ? `${id}-note` : undefined}\n placeholder={labels.placeholder ?? \"you@company.com\"}\n startContent={<MailIcon size={16} />}\n value={email}\n isInvalid={Boolean(error)}\n onChange={(event) => {\n setEmail(event.target.value);\n if (error) setError(null);\n }}\n />\n <Button type=\"submit\" variant=\"primary\" shape=\"pill\" size=\"lg\" loading={sending}>\n {submitLabel}\n </Button>\n </div>\n {error ? (\n <Text tone=\"danger\" id={`${id}-error`} className=\"ow-hero03__error\" role=\"alert\">\n {error}\n </Text>\n ) : null}\n {note ? (\n <Text variant=\"caption\" as=\"p\" id={`${id}-note`} className=\"ow-hero03__note\">\n {note}\n </Text>\n ) : null}\n </form>\n )}\n\n {visual}\n </div>\n </section>\n );\n}\n", "import { useId } from \"react\";\n\nimport { Chip, cx, DotGrid, Text } from \"@openwarelabs/ui\";\n\nimport { BlockActions } from \"@blocks/shared/BlockActions\";\nimport type { Hero04Props } from \"./Hero04.types\";\n\n/** A hero on Openware's dot grid, with the dots turning brass under the pointer and room for something either side. */\nexport function Hero04({ eyebrow, title, description, primaryAction, secondaryAction, start, end, interactive = true, className, ...props }: Hero04Props) {\n const titleId = useId();\n return (\n <section className={cx(\"ow-hero04\", className)} aria-labelledby={titleId} {...props}>\n <DotGrid fade interactive={interactive} className=\"ow-hero04__grid\">\n <div className=\"ow-hero04__layout\">\n {start}\n <div className=\"ow-hero04__text\">\n {eyebrow ? <Chip>{eyebrow}</Chip> : null}\n <Text variant=\"hero\" align=\"center\" id={titleId} className=\"ow-hero04__title\">\n {title}\n </Text>\n <Text variant=\"lead\" align=\"center\" className=\"ow-hero04__lead\">\n {description}\n </Text>\n <BlockActions className=\"ow-hero04__actions\" primary={primaryAction} secondary={secondaryAction} />\n </div>\n {end}\n </div>\n </DotGrid>\n </section>\n );\n}\n", "import { useId } from \"react\";\n\nimport { Chip, cx, Text } from \"@openwarelabs/ui\";\n\nimport { BlockActions } from \"@blocks/shared/BlockActions\";\nimport type { Hero05Props } from \"./Hero05.types\";\n\n/** The usual hero, with the headline beside the lead, then a row of customers' logos as the first proof. */\nexport function Hero05({ eyebrow, title, description, primaryAction, secondaryAction, logosTitle, logos, className, ...props }: Hero05Props) {\n const id = useId();\n return (\n <section className={cx(\"ow-hero05\", className)} aria-labelledby={`${id}-title`} {...props}>\n <div className=\"ow-hero05__inner\">\n <div className=\"ow-hero05__top\">\n <div className=\"ow-hero05__heading\">\n {eyebrow ? <Chip>{eyebrow}</Chip> : null}\n <Text variant=\"hero\" id={`${id}-title`} className=\"ow-hero05__title\">\n {title}\n </Text>\n </div>\n <div>\n <Text variant=\"lead\">{description}</Text>\n <BlockActions className=\"ow-hero05__actions\" primary={primaryAction} secondary={secondaryAction} />\n </div>\n </div>\n\n <div className=\"ow-hero05__proof\">\n <Text tone=\"muted\" id={`${id}-logos`}>\n {logosTitle}\n </Text>\n <ul className=\"ow-hero05__list\" aria-labelledby={`${id}-logos`}>\n {logos.map((logo) => (\n <li key={logo.name} className=\"ow-hero05__logo\">\n {logo.logo}\n </li>\n ))}\n </ul>\n </div>\n </div>\n </section>\n );\n}\n", "import { useEffect, useId, useState } from \"react\";\n\nimport { Button, buttonClassName, Chip, cx, Link, Text } from \"@openwarelabs/ui\";\n\nimport { DownloadIcon } from \"@blocks/shared/icons\";\nimport type { Hero06Platform, Hero06PlatformId, Hero06Props } from \"./Hero06.types\";\n\n/** The computer this page is open on, or null for phones, tablets and anything unknown. */\nfunction detectPlatform(): Hero06PlatformId | null {\n const nav = navigator as Navigator & { userAgentData?: { platform?: string } };\n const name = `${nav.userAgentData?.platform ?? \"\"} ${navigator.platform} ${navigator.userAgent}`.toLowerCase();\n if (/android|iphone|ipad|ipod/.test(name) || (name.includes(\"mac\") && navigator.maxTouchPoints > 1)) return null;\n if (name.includes(\"mac\")) return \"mac\";\n if (name.includes(\"win\")) return \"windows\";\n if (name.includes(\"linux\") || name.includes(\"x11\")) return \"linux\";\n return null;\n}\n\nconst defaultLabel = (name: string) => `Download for ${name}`;\n\n/** A hero for a desktop app: a download button for each system, with the visitor's own first, and the app beside it. */\nexport function Hero06({\n eyebrow,\n title,\n description,\n platforms,\n version,\n otherDownloads,\n downloadLabel = defaultLabel,\n visual,\n className,\n ...props\n}: Hero06Props) {\n const titleId = useId();\n // Until the page knows which computer it's on (after it mounts), the first platform leads.\n const [detected, setDetected] = useState<Hero06PlatformId | null>(null);\n useEffect(() => setDetected(detectPlatform()), []);\n\n const current = platforms.find((platform) => platform.id === detected) ?? platforms[0];\n const order = current ? [current, ...platforms.filter((platform) => platform !== current)] : [];\n\n const button = (platform: Hero06Platform, primary: boolean) => {\n const label = downloadLabel(platform.name);\n const content = primary ? label : platform.name;\n const icon = primary ? <DownloadIcon size={16} /> : null;\n if (platform.href !== undefined) {\n return (\n <a\n key={platform.id}\n className={buttonClassName({ variant: primary ? \"primary\" : \"secondary\", size: \"lg\", shape: \"pill\" })}\n href={platform.href}\n aria-label={primary ? undefined : label}\n onClick={platform.onDownload}\n >\n {icon ? <span className=\"ow-button__icon\">{icon}</span> : null}\n {content}\n </a>\n );\n }\n return (\n <Button\n key={platform.id}\n variant={primary ? \"primary\" : \"secondary\"}\n shape=\"pill\"\n size=\"lg\"\n startIcon={icon}\n aria-label={primary ? undefined : label}\n onClick={platform.onDownload}\n >\n {content}\n </Button>\n );\n };\n\n return (\n <section className={cx(\"ow-hero06\", className)} aria-labelledby={titleId} {...props}>\n <div className=\"ow-hero06__inner\">\n <div className=\"ow-hero06__text\">\n {eyebrow ? <Chip>{eyebrow}</Chip> : null}\n <Text variant=\"page-title\" id={titleId} className=\"ow-hero06__title\">\n {title}\n </Text>\n <Text variant=\"lead\" className=\"ow-hero06__lead\">\n {description}\n </Text>\n <div className=\"ow-hero06__buttons\">{order.map((platform, index) => button(platform, index === 0))}</div>\n {version || current?.requirement || otherDownloads ? (\n <Text variant=\"caption\" as=\"p\" className=\"ow-hero06__meta\">\n {version ? <span>{version}</span> : null}\n {current?.requirement ? <span>{current.requirement}</span> : null}\n {otherDownloads ? (\n <span className=\"ow-hero06__other\">\n <Link href={otherDownloads.href} variant=\"muted\">\n {otherDownloads.label}\n </Link>\n </span>\n ) : null}\n </Text>\n ) : null}\n </div>\n {visual}\n </div>\n </section>\n );\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["jsx", "jsxs", "useId", "Chip", "cx", "Text", "jsx", "jsxs", "jsx", "jsxs", "useId", "cx", "Chip", "Text", "useId", "Button", "Chip", "cx", "Text", "jsx", "jsxs", "useId", "cx", "Chip", "Text", "Button", "useId", "Chip", "cx", "Text", "jsx", "jsxs", "useId", "cx", "Chip", "Text", "useId", "Chip", "cx", "Text", "jsx", "jsxs", "useId", "cx", "Chip", "Text", "useEffect", "useId", "useState", "Button", "buttonClassName", "Chip", "cx", "Text", "jsx", "jsxs", "useId", "useState", "useEffect", "icon", "buttonClassName", "Button", "cx", "Chip", "Text"]
|
|
3
|
+
"sources": ["../src/heroes/Hero01/Hero01.tsx", "../src/shared/BlockActions.tsx", "../src/heroes/Hero02/Hero02.tsx", "../src/shared/icons.tsx", "../src/heroes/Hero03/Hero03.tsx", "../src/heroes/Hero04/Hero04.tsx", "../src/heroes/Hero05/Hero05.tsx", "../src/heroes/Hero06/Hero06.tsx", "../src/headers/Header01/Header01.tsx", "../src/shared/BlockBrandLink.tsx", "../src/headers/Header02/Header02.tsx", "../src/headers/Header03/Header03.tsx", "../src/headers/Header04/Header04.tsx", "../src/headers/Header05/Header05.tsx", "../src/pricing/Pricing01/Pricing01.tsx", "../src/pricing/Pricing02/Pricing02.tsx", "../src/pricing/Pricing03/Pricing03.tsx", "../src/pricing/Pricing04/Pricing04.tsx", "../src/pricing/Pricing05/Pricing05.tsx", "../src/features/Features01/Features01.tsx", "../src/features/Features02/Features02.tsx", "../src/features/Features03/Features03.tsx", "../src/features/Features04/Features04.tsx", "../src/features/Features05/Features05.tsx", "../src/footers/Footer01/Footer01.tsx", "../src/shared/FooterColumns.tsx", "../src/footers/Footer02/Footer02.tsx", "../src/footers/Footer03/Footer03.tsx", "../src/footers/Footer04/Footer04.tsx", "../src/calls-to-action/Cta01/Cta01.tsx", "../src/calls-to-action/Cta02/Cta02.tsx", "../src/calls-to-action/Cta03/Cta03.tsx"],
|
|
4
|
+
"sourcesContent": ["import { useId } from \"react\";\n\nimport { Chip, cx, Text } from \"@openwarelabs/ui\";\n\nimport { BlockActions } from \"@blocks/shared/BlockActions\";\nimport type { Hero01Props } from \"./Hero01.types\";\n\n/** A centred hero: an eyebrow, the headline, a lead, two actions and a note, with the product below, running on into the page. */\nexport function Hero01({ eyebrow, title, description, primaryAction, secondaryAction, note, visual, className, ...props }: Hero01Props) {\n const titleId = useId();\n return (\n <section className={cx(\"ow-hero01\", className)} aria-labelledby={titleId} {...props}>\n <div className=\"ow-hero01__inner\">\n {eyebrow ? <Chip>{eyebrow}</Chip> : null}\n <Text variant=\"hero\" align=\"center\" id={titleId} className=\"ow-hero01__title\">\n {title}\n </Text>\n <Text variant=\"lead\" align=\"center\" className=\"ow-hero01__lead\">\n {description}\n </Text>\n <BlockActions className=\"ow-hero01__actions\" primary={primaryAction} secondary={secondaryAction} />\n {note ? (\n <Text variant=\"caption\" as=\"p\" className=\"ow-hero01__note\">\n {note}\n </Text>\n ) : null}\n </div>\n {visual ? <div className=\"ow-hero01__visual\">{visual}</div> : null}\n </section>\n );\n}\n", "import type { MouseEvent } from \"react\";\n\nimport { Button, buttonClassName, cx } from \"@openwarelabs/ui\";\n\nimport type { BlockActionButtonProps, BlockActionsProps } from \"@blocks/shared/shared.types\";\n\n/** One action as a large pill: a link styled as a button when it has an href, a button otherwise. */\nexport function BlockActionButton({ action, variant, size = \"lg\", className, onAfterClick, fullWidth = false }: BlockActionButtonProps) {\n const { label, href, onClick, startIcon, endIcon, target, \"aria-label\": ariaLabel } = action;\n const click =\n onClick || onAfterClick\n ? (event: MouseEvent<HTMLElement>) => {\n onClick?.(event);\n onAfterClick?.();\n }\n : undefined;\n if (href !== undefined) {\n return (\n <a\n className={cx(buttonClassName({ variant, size, shape: \"pill\" }), fullWidth && \"ow-button--full\", className)}\n href={href}\n target={target}\n rel={target === \"_blank\" ? \"noopener noreferrer\" : undefined}\n aria-label={ariaLabel}\n onClick={click}\n >\n {startIcon ? <span className=\"ow-button__icon\">{startIcon}</span> : null}\n {label}\n {endIcon ? <span className=\"ow-button__icon\">{endIcon}</span> : null}\n </a>\n );\n }\n return (\n <Button\n variant={variant}\n shape=\"pill\"\n size={size}\n startIcon={startIcon}\n endIcon={endIcon}\n aria-label={ariaLabel}\n onClick={click}\n fullWidth={fullWidth}\n className={className}\n >\n {label}\n </Button>\n );\n}\n\n/** The primary action and an optional secondary one, side by side. */\nexport function BlockActions({ primary, secondary, className }: BlockActionsProps) {\n return (\n <div className={className}>\n <BlockActionButton action={primary} variant=\"primary\" />\n {secondary ? <BlockActionButton action={secondary} variant=\"secondary\" /> : null}\n </div>\n );\n}\n", "import { useId } from \"react\";\n\nimport { Chip, cx, Text } from \"@openwarelabs/ui\";\n\nimport { BlockActions } from \"@blocks/shared/BlockActions\";\nimport { CheckIcon } from \"@blocks/shared/icons\";\nimport type { Hero02Props } from \"./Hero02.types\";\n\n/** A split hero: the words on the left and the product on the right. They stack on phones. */\nexport function Hero02({ eyebrow, title, description, primaryAction, secondaryAction, points, visual, className, ...props }: Hero02Props) {\n const titleId = useId();\n return (\n <section className={cx(\"ow-hero02\", className)} aria-labelledby={titleId} {...props}>\n <div className=\"ow-hero02__inner\">\n <div className=\"ow-hero02__text\">\n {eyebrow ? <Chip>{eyebrow}</Chip> : null}\n <Text variant=\"page-title\" id={titleId} className=\"ow-hero02__title\">\n {title}\n </Text>\n <Text variant=\"lead\" className=\"ow-hero02__lead\">\n {description}\n </Text>\n <BlockActions className=\"ow-hero02__actions\" primary={primaryAction} secondary={secondaryAction} />\n {points?.length ? (\n <ul className=\"ow-hero02__points\">\n {points.map((point, index) => (\n <Text as=\"li\" key={index} tone=\"muted\" className=\"ow-hero02__point\">\n <CheckIcon size={15} />\n {point}\n </Text>\n ))}\n </ul>\n ) : null}\n </div>\n {visual}\n </div>\n </section>\n );\n}\n", "import type { ReactNode } from \"react\";\n\nimport type { BlockIconProps } from \"@blocks/shared/shared.types\";\n\n// The few icons the blocks draw themselves, as Lucide shapes (ISC licence), so the package needs no icon library.\nconst icon = (paths: ReactNode) =>\n function BlockIcon({ size = 16, strokeWidth = 2 }: BlockIconProps) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n {paths}\n </svg>\n );\n };\n\nexport const CheckIcon = icon(<path d=\"M20 6 9 17l-5-5\" />);\nexport const MailIcon = icon(\n <>\n <path d=\"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\" />\n <rect x=\"2\" y=\"4\" width=\"20\" height=\"16\" rx=\"2\" />\n </>,\n);\nexport const DownloadIcon = icon(\n <>\n <path d=\"M12 15V3\" />\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" />\n <path d=\"m7 10 5 5 5-5\" />\n </>,\n);\nexport const MenuIcon = icon(\n <>\n <path d=\"M4 5h16\" />\n <path d=\"M4 12h16\" />\n <path d=\"M4 19h16\" />\n </>,\n);\nexport const XIcon = icon(\n <>\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </>,\n);\nexport const ChevronDownIcon = icon(<path d=\"m6 9 6 6 6-6\" />);\nexport const ChevronRightIcon = icon(<path d=\"m9 18 6-6-6-6\" />);\nexport const ArrowRightIcon = icon(\n <>\n <path d=\"M5 12h14\" />\n <path d=\"m12 5 7 7-7 7\" />\n </>,\n);\nexport const MinusIcon = icon(<path d=\"M5 12h14\" />);\nexport const SunIcon = icon(\n <>\n <circle cx=\"12\" cy=\"12\" r=\"4\" />\n <path d=\"M12 2v2\" />\n <path d=\"M12 20v2\" />\n <path d=\"m4.93 4.93 1.41 1.41\" />\n <path d=\"m17.66 17.66 1.41 1.41\" />\n <path d=\"M2 12h2\" />\n <path d=\"M20 12h2\" />\n <path d=\"m6.34 17.66-1.41 1.41\" />\n <path d=\"m19.07 4.93-1.41 1.41\" />\n </>,\n);\nexport const MoonIcon = icon(\n <path d=\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\" />,\n);\nexport const MonitorIcon = icon(\n <>\n <rect width=\"20\" height=\"14\" x=\"2\" y=\"3\" rx=\"2\" />\n <line x1=\"8\" x2=\"16\" y1=\"21\" y2=\"21\" />\n <line x1=\"12\" x2=\"12\" y1=\"17\" y2=\"21\" />\n </>,\n);\nexport const CircleCheckIcon = icon(\n <>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"m16 9-5.5 5.5L8 12\" />\n </>,\n);\n", "import { useEffect, useId, useRef, useState, type FormEvent } from \"react\";\n\nimport { Button, Chip, cx, Input, Text } from \"@openwarelabs/ui\";\n\nimport { CheckIcon, MailIcon } from \"@blocks/shared/icons\";\nimport type { Hero03Props } from \"./Hero03.types\";\n\nconst emailPattern = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n\n/** A hero with an email field: join a waitlist or start a trial in one step, with a confirmation in place of the form. */\nexport function Hero03({\n eyebrow,\n title,\n description,\n submitLabel,\n onSubmit,\n note,\n successTitle,\n successDescription,\n visual,\n labels = {},\n className,\n ...props\n}: Hero03Props) {\n const [email, setEmail] = useState(\"\");\n const [error, setError] = useState<string | null>(null);\n const [sending, setSending] = useState(false);\n const [joined, setJoined] = useState<string | null>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const doneRef = useRef<HTMLDivElement>(null);\n const touched = useRef(false);\n const id = useId();\n const titleId = `${id}-title`;\n\n // Moving between the form and the confirmation, take focus along so it isn't lost with the element that had it.\n useEffect(() => {\n if (!touched.current) return;\n if (joined) doneRef.current?.focus();\n else inputRef.current?.focus();\n }, [joined]);\n\n const submit = async (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n const value = email.trim();\n const problem = !value\n ? (labels.empty ?? \"Enter your work email to join the waitlist.\")\n : !emailPattern.test(value)\n ? (labels.invalid ?? \"That doesn't look like an email address. Try one like maya@example.com.\")\n : null;\n setError(problem);\n if (problem) {\n inputRef.current?.focus();\n return;\n }\n setSending(true);\n try {\n await onSubmit(value);\n touched.current = true;\n setJoined(value);\n } catch (failure) {\n setError(failure instanceof Error && failure.message ? failure.message : (labels.failed ?? \"That didn't go through. Try again in a moment.\"));\n inputRef.current?.focus();\n } finally {\n setSending(false);\n }\n };\n\n return (\n <section className={cx(\"ow-hero03\", className)} aria-labelledby={titleId} {...props}>\n <div className=\"ow-hero03__inner\">\n {eyebrow ? <Chip>{eyebrow}</Chip> : null}\n <Text variant=\"hero\" align=\"center\" id={titleId} className=\"ow-hero03__title\">\n {title}\n </Text>\n <Text variant=\"lead\" align=\"center\" className=\"ow-hero03__lead\">\n {description}\n </Text>\n\n {joined ? (\n <div ref={doneRef} className=\"ow-hero03__done\" tabIndex={-1}>\n <span className=\"ow-hero03__done-icon\" aria-hidden=\"true\">\n <CheckIcon size={16} />\n </span>\n <div className=\"ow-hero03__done-text\">\n <Text variant=\"label\">{successTitle}</Text>\n {successDescription ? (\n <Text variant=\"caption\" as=\"p\" className=\"ow-hero03__done-detail\">\n {successDescription(joined)}\n </Text>\n ) : null}\n </div>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => {\n touched.current = true;\n setJoined(null);\n }}\n >\n {labels.change ?? \"Change email\"}\n </Button>\n </div>\n ) : (\n <form className=\"ow-hero03__form\" noValidate onSubmit={submit}>\n <div className=\"ow-hero03__row\">\n <Input\n ref={inputRef}\n className=\"ow-hero03__input\"\n type=\"email\"\n autoComplete=\"email\"\n aria-label={labels.email ?? \"Work email\"}\n aria-describedby={error ? `${id}-error` : note ? `${id}-note` : undefined}\n placeholder={labels.placeholder ?? \"you@company.com\"}\n startContent={<MailIcon size={16} />}\n value={email}\n isInvalid={Boolean(error)}\n onChange={(event) => {\n setEmail(event.target.value);\n if (error) setError(null);\n }}\n />\n <Button type=\"submit\" variant=\"primary\" shape=\"pill\" size=\"lg\" loading={sending}>\n {submitLabel}\n </Button>\n </div>\n {error ? (\n <Text tone=\"danger\" id={`${id}-error`} className=\"ow-hero03__error\" role=\"alert\">\n {error}\n </Text>\n ) : null}\n {note ? (\n <Text variant=\"caption\" as=\"p\" id={`${id}-note`} className=\"ow-hero03__note\">\n {note}\n </Text>\n ) : null}\n </form>\n )}\n\n {visual}\n </div>\n </section>\n );\n}\n", "import { useId } from \"react\";\n\nimport { Chip, cx, DotGrid, Text } from \"@openwarelabs/ui\";\n\nimport { BlockActions } from \"@blocks/shared/BlockActions\";\nimport type { Hero04Props } from \"./Hero04.types\";\n\n/** A hero on Openware's dot grid, with the dots turning brass under the pointer and room for something either side. */\nexport function Hero04({ eyebrow, title, description, primaryAction, secondaryAction, start, end, interactive = true, className, ...props }: Hero04Props) {\n const titleId = useId();\n return (\n <section className={cx(\"ow-hero04\", className)} aria-labelledby={titleId} {...props}>\n <DotGrid fade interactive={interactive} className=\"ow-hero04__grid\">\n <div className=\"ow-hero04__layout\">\n {start}\n <div className=\"ow-hero04__text\">\n {eyebrow ? <Chip>{eyebrow}</Chip> : null}\n <Text variant=\"hero\" align=\"center\" id={titleId} className=\"ow-hero04__title\">\n {title}\n </Text>\n <Text variant=\"lead\" align=\"center\" className=\"ow-hero04__lead\">\n {description}\n </Text>\n <BlockActions className=\"ow-hero04__actions\" primary={primaryAction} secondary={secondaryAction} />\n </div>\n {end}\n </div>\n </DotGrid>\n </section>\n );\n}\n", "import { useId } from \"react\";\n\nimport { Chip, cx, Text } from \"@openwarelabs/ui\";\n\nimport { BlockActions } from \"@blocks/shared/BlockActions\";\nimport type { Hero05Props } from \"./Hero05.types\";\n\n/** The usual hero, with the headline beside the lead, then a row of customers' logos as the first proof. */\nexport function Hero05({ eyebrow, title, description, primaryAction, secondaryAction, logosTitle, logos, className, ...props }: Hero05Props) {\n const id = useId();\n return (\n <section className={cx(\"ow-hero05\", className)} aria-labelledby={`${id}-title`} {...props}>\n <div className=\"ow-hero05__inner\">\n <div className=\"ow-hero05__top\">\n <div className=\"ow-hero05__heading\">\n {eyebrow ? <Chip>{eyebrow}</Chip> : null}\n <Text variant=\"hero\" id={`${id}-title`} className=\"ow-hero05__title\">\n {title}\n </Text>\n </div>\n <div>\n <Text variant=\"lead\">{description}</Text>\n <BlockActions className=\"ow-hero05__actions\" primary={primaryAction} secondary={secondaryAction} />\n </div>\n </div>\n\n <div className=\"ow-hero05__proof\">\n <Text tone=\"muted\" id={`${id}-logos`}>\n {logosTitle}\n </Text>\n <ul className=\"ow-hero05__list\" aria-labelledby={`${id}-logos`}>\n {logos.map((logo) => (\n <li key={logo.name} className=\"ow-hero05__logo\">\n {logo.logo}\n </li>\n ))}\n </ul>\n </div>\n </div>\n </section>\n );\n}\n", "import { useEffect, useId, useState } from \"react\";\n\nimport { Button, buttonClassName, Chip, cx, Link, Text } from \"@openwarelabs/ui\";\n\nimport { DownloadIcon } from \"@blocks/shared/icons\";\nimport type { Hero06Platform, Hero06PlatformId, Hero06Props } from \"./Hero06.types\";\n\n/** The computer this page is open on, or null for phones, tablets and anything unknown. */\nfunction detectPlatform(): Hero06PlatformId | null {\n const nav = navigator as Navigator & { userAgentData?: { platform?: string } };\n const name = `${nav.userAgentData?.platform ?? \"\"} ${navigator.platform} ${navigator.userAgent}`.toLowerCase();\n if (/android|iphone|ipad|ipod/.test(name) || (name.includes(\"mac\") && navigator.maxTouchPoints > 1)) return null;\n if (name.includes(\"mac\")) return \"mac\";\n if (name.includes(\"win\")) return \"windows\";\n if (name.includes(\"linux\") || name.includes(\"x11\")) return \"linux\";\n return null;\n}\n\nconst defaultLabel = (name: string) => `Download for ${name}`;\n\n/** A hero for a desktop app: a download button for each system, with the visitor's own first, and the app beside it. */\nexport function Hero06({\n eyebrow,\n title,\n description,\n platforms,\n version,\n otherDownloads,\n downloadLabel = defaultLabel,\n visual,\n className,\n ...props\n}: Hero06Props) {\n const titleId = useId();\n // Until the page knows which computer it's on (after it mounts), the first platform leads.\n const [detected, setDetected] = useState<Hero06PlatformId | null>(null);\n useEffect(() => setDetected(detectPlatform()), []);\n\n const current = platforms.find((platform) => platform.id === detected) ?? platforms[0];\n const order = current ? [current, ...platforms.filter((platform) => platform !== current)] : [];\n\n const button = (platform: Hero06Platform, primary: boolean) => {\n const label = downloadLabel(platform.name);\n const content = primary ? label : platform.name;\n const icon = primary ? <DownloadIcon size={16} /> : null;\n if (platform.href !== undefined) {\n return (\n <a\n key={platform.id}\n className={buttonClassName({ variant: primary ? \"primary\" : \"secondary\", size: \"lg\", shape: \"pill\" })}\n href={platform.href}\n aria-label={primary ? undefined : label}\n onClick={platform.onDownload}\n >\n {icon ? <span className=\"ow-button__icon\">{icon}</span> : null}\n {content}\n </a>\n );\n }\n return (\n <Button\n key={platform.id}\n variant={primary ? \"primary\" : \"secondary\"}\n shape=\"pill\"\n size=\"lg\"\n startIcon={icon}\n aria-label={primary ? undefined : label}\n onClick={platform.onDownload}\n >\n {content}\n </Button>\n );\n };\n\n return (\n <section className={cx(\"ow-hero06\", className)} aria-labelledby={titleId} {...props}>\n <div className=\"ow-hero06__inner\">\n <div className=\"ow-hero06__text\">\n {eyebrow ? <Chip>{eyebrow}</Chip> : null}\n <Text variant=\"page-title\" id={titleId} className=\"ow-hero06__title\">\n {title}\n </Text>\n <Text variant=\"lead\" className=\"ow-hero06__lead\">\n {description}\n </Text>\n <div className=\"ow-hero06__buttons\">{order.map((platform, index) => button(platform, index === 0))}</div>\n {version || current?.requirement || otherDownloads ? (\n <Text variant=\"caption\" as=\"p\" className=\"ow-hero06__meta\">\n {version ? <span>{version}</span> : null}\n {current?.requirement ? <span>{current.requirement}</span> : null}\n {otherDownloads ? (\n <span className=\"ow-hero06__other\">\n <Link href={otherDownloads.href} variant=\"muted\">\n {otherDownloads.label}\n </Link>\n </span>\n ) : null}\n </Text>\n ) : null}\n </div>\n {visual}\n </div>\n </section>\n );\n}\n", "import { useEffect, useState } from \"react\";\n\nimport { Button, cx, Link, Popover, SiteHeader } from \"@openwarelabs/ui\";\n\nimport { BlockActionButton } from \"@blocks/shared/BlockActions\";\nimport { BlockBrandLink } from \"@blocks/shared/BlockBrandLink\";\nimport { MenuIcon } from \"@blocks/shared/icons\";\nimport type { Header01Props } from \"./Header01.types\";\n\n/**\n * A blurred pill that floats above the page and follows it down: the logo, the links in the middle and one call\n * to action. On phones the links fold into a menu behind a button. Put it first inside the page's scrolling area.\n */\nexport function Header01({ brand, links, primaryAction, secondaryLink, labels = {}, className, ...props }: Header01Props) {\n const [menuOpen, setMenuOpen] = useState(false);\n const menuLabel = labels.menu ?? \"Menu\";\n\n // The menu button only shows on phones; close its menu if the window grows past them.\n useEffect(() => {\n const wide = window.matchMedia(\"(min-width: 761px)\");\n const onChange = () => wide.matches && setMenuOpen(false);\n wide.addEventListener(\"change\", onChange);\n return () => wide.removeEventListener(\"change\", onChange);\n }, []);\n\n return (\n <div className={cx(\"ow-header01\", className)} {...props}>\n <SiteHeader\n brand={<BlockBrandLink brand={brand} className=\"ow-header01__brand\" />}\n nav={links.map((link, index) => (\n <Link key={index} href={link.href} variant=\"standalone\" aria-current={link.current ? \"page\" : undefined}>\n {link.label}\n </Link>\n ))}\n actions={\n <>\n {secondaryLink ? (\n <Link\n href={secondaryLink.href}\n variant=\"standalone\"\n className=\"ow-header01__sign-in\"\n aria-current={secondaryLink.current ? \"page\" : undefined}\n >\n {secondaryLink.label}\n </Link>\n ) : null}\n <BlockActionButton action={primaryAction} variant=\"primary\" size=\"sm\" />\n <span className=\"ow-header01__phone-menu\">\n <Popover\n aria-label={menuLabel}\n placement=\"bottom-end\"\n width={240}\n open={menuOpen}\n onOpenChange={setMenuOpen}\n trigger={\n <Button variant=\"ghost\" shape=\"pill\" size=\"sm\" iconOnly aria-label={menuLabel}>\n <MenuIcon size={16} />\n </Button>\n }\n >\n <nav className=\"ow-header01__menu\" aria-label=\"Main\">\n {links.map((link, index) => (\n <Link\n key={index}\n href={link.href}\n variant=\"standalone\"\n className=\"ow-header01__menu-link\"\n aria-current={link.current ? \"page\" : undefined}\n onClick={() => setMenuOpen(false)}\n >\n {link.label}\n </Link>\n ))}\n {secondaryLink ? (\n <Link\n href={secondaryLink.href}\n variant=\"standalone\"\n className=\"ow-header01__menu-link ow-header01__menu-link--sign-in\"\n onClick={() => setMenuOpen(false)}\n >\n {secondaryLink.label}\n </Link>\n ) : null}\n </nav>\n </Popover>\n </span>\n </>\n }\n />\n </div>\n );\n}\n", "import { forwardRef } from \"react\";\n\nimport { Link } from \"@openwarelabs/ui\";\n\nimport type { BlockBrandLinkProps } from \"@blocks/shared/shared.types\";\n\n/** The product's logo and name, as a link home. */\nexport const BlockBrandLink = forwardRef<HTMLAnchorElement, BlockBrandLinkProps>(function BlockBrandLink({ brand, className }, ref) {\n return (\n <Link ref={ref} href={brand.href} variant=\"standalone\" className={className}>\n {brand.logo}\n {brand.name}\n </Link>\n );\n});\n", "import { Fragment, useEffect, useId, useState } from \"react\";\n\nimport { Badge, Button, buttonClassName, cx, Link, Menu, MenuItem, MenuSeparator, Popover, Text } from \"@openwarelabs/ui\";\n\nimport { BlockActionButton } from \"@blocks/shared/BlockActions\";\nimport { BlockBrandLink } from \"@blocks/shared/BlockBrandLink\";\nimport { ArrowRightIcon, ChevronDownIcon, MenuIcon, XIcon } from \"@blocks/shared/icons\";\nimport type { Header02Panel, Header02Props } from \"./Header02.types\";\n\nconst navigateTo = (href: string) => window.location.assign(href);\n\nfunction PanelContent({ panel, onNavigate }: { panel: Header02Panel; onNavigate(): void }) {\n return (\n <div className=\"ow-header02__product\">\n <ul className=\"ow-header02__features\">\n {panel.features.map((feature, index) => (\n <li key={index}>\n <Link href={feature.href} variant=\"standalone\" className=\"ow-header02__feature\" onClick={onNavigate}>\n {feature.icon ? (\n <span className=\"ow-header02__feature-icon\" aria-hidden=\"true\">\n {feature.icon}\n </span>\n ) : null}\n <span className=\"ow-header02__feature-text\">\n <Text variant=\"label\">{feature.title}</Text>\n <Text variant=\"caption\">{feature.description}</Text>\n </span>\n </Link>\n </li>\n ))}\n </ul>\n {panel.highlight ? (\n <Link href={panel.highlight.href} variant=\"standalone\" className=\"ow-header02__news\" onClick={onNavigate}>\n {panel.highlight.badge ? (\n <Badge size=\"sm\" variant=\"active\">\n {panel.highlight.badge}\n </Badge>\n ) : null}\n <Text variant=\"label\">{panel.highlight.title}</Text>\n <Text as=\"span\" tone=\"primary\" className=\"ow-header02__news-link\">\n {panel.highlight.linkLabel}\n <ArrowRightIcon size={14} />\n </Text>\n </Link>\n ) : null}\n </div>\n );\n}\n\n/**\n * A bar across the top with a big menu (a grid of features and a highlight), dropdowns of links and plain links,\n * then one call to action. On phones everything folds into a panel under the bar.\n */\nexport function Header02({\n brand,\n panel,\n menus = [],\n links = [],\n primaryAction,\n secondaryLink,\n onNavigate = navigateTo,\n defaultPanelOpen = false,\n labels = {},\n className,\n ...props\n}: Header02Props) {\n const [productOpen, setProductOpen] = useState(defaultPanelOpen);\n const [phoneOpen, setPhoneOpen] = useState(false);\n const phoneId = useId();\n const closePhone = () => setPhoneOpen(false);\n\n useEffect(() => {\n const wide = window.matchMedia(\"(min-width: 761px)\");\n const onChange = () => (wide.matches ? setPhoneOpen(false) : setProductOpen(false));\n wide.addEventListener(\"change\", onChange);\n return () => wide.removeEventListener(\"change\", onChange);\n }, []);\n\n return (\n <header className={cx(\"ow-header02\", className)} {...props}>\n <div className=\"ow-header02__inner\">\n <BlockBrandLink brand={brand} className=\"ow-header02__brand\" />\n <nav className=\"ow-header02__nav\" aria-label=\"Main\">\n {panel ? (\n <Popover\n className=\"ow-header02__popover\"\n aria-label={panel.label}\n width={720}\n autoFocus={false}\n open={productOpen}\n onOpenChange={setProductOpen}\n trigger={\n <Button variant=\"ghost\" shape=\"pill\" size=\"sm\" className=\"ow-header02__item\" endIcon={<ChevronDownIcon size={14} />}>\n {panel.label}\n </Button>\n }\n >\n <PanelContent panel={panel} onNavigate={() => setProductOpen(false)} />\n </Popover>\n ) : null}\n {menus.map((menu) => (\n <Menu\n key={menu.label}\n label={menu.label}\n width={220}\n trigger={\n <Button variant=\"ghost\" shape=\"pill\" size=\"sm\" className=\"ow-header02__item\" endIcon={<ChevronDownIcon size={14} />}>\n {menu.label}\n </Button>\n }\n >\n {menu.groups.map((group, index) => (\n <Fragment key={index}>\n {index > 0 ? <MenuSeparator /> : null}\n {group.map((entry) => (\n <MenuItem key={entry.label} icon={entry.icon} onSelect={() => onNavigate(entry.href)}>\n {entry.label}\n </MenuItem>\n ))}\n </Fragment>\n ))}\n </Menu>\n ))}\n {links.map((link, index) => (\n <a\n key={index}\n href={link.href}\n className={cx(buttonClassName({ variant: \"ghost\", shape: \"pill\", size: \"sm\" }), \"ow-header02__item\")}\n aria-current={link.current ? \"page\" : undefined}\n >\n {link.label}\n </a>\n ))}\n </nav>\n <div className=\"ow-header02__actions\">\n {secondaryLink ? (\n <a\n href={secondaryLink.href}\n className={cx(buttonClassName({ variant: \"ghost\", shape: \"pill\", size: \"sm\" }), \"ow-header02__item ow-header02__sign-in\")}\n >\n {secondaryLink.label}\n </a>\n ) : null}\n <BlockActionButton action={primaryAction} variant=\"primary\" size=\"sm\" />\n <Button\n className=\"ow-header02__toggle\"\n variant=\"ghost\"\n size=\"sm\"\n iconOnly\n aria-label={labels.menu ?? \"Menu\"}\n aria-expanded={phoneOpen}\n aria-controls={phoneId}\n onClick={() => setPhoneOpen((open) => !open)}\n >\n {phoneOpen ? <XIcon size={18} /> : <MenuIcon size={18} />}\n </Button>\n </div>\n </div>\n\n {/* Phones: everything in the bar, folded into a panel under it. */}\n <nav id={phoneId} className=\"ow-header02__panel\" aria-label=\"Main\" hidden={!phoneOpen}>\n {panel ? (\n <>\n <Text variant=\"overline\" as=\"p\" className=\"ow-header02__panel-label\">\n {panel.label}\n </Text>\n <ul className=\"ow-header02__panel-list\">\n {panel.features.map((feature, index) => (\n <li key={index}>\n <Link href={feature.href} variant=\"standalone\" className=\"ow-header02__panel-link\" onClick={closePhone}>\n {feature.icon}\n {feature.title}\n </Link>\n </li>\n ))}\n </ul>\n </>\n ) : null}\n {menus.map((menu) => (\n <Fragment key={menu.label}>\n <Text variant=\"overline\" as=\"p\" className=\"ow-header02__panel-label\">\n {menu.label}\n </Text>\n <ul className=\"ow-header02__panel-list ow-header02__panel-list--columns\">\n {menu.groups.flat().map((entry) => (\n <li key={entry.label}>\n <Link href={entry.href} variant=\"standalone\" className=\"ow-header02__panel-link\" onClick={closePhone}>\n {entry.label}\n </Link>\n </li>\n ))}\n </ul>\n </Fragment>\n ))}\n {links.length ? (\n <ul className=\"ow-header02__panel-list ow-header02__panel-list--ruled\">\n {links.map((link, index) => (\n <li key={index}>\n <Link\n href={link.href}\n variant=\"standalone\"\n className=\"ow-header02__panel-link\"\n aria-current={link.current ? \"page\" : undefined}\n onClick={closePhone}\n >\n {link.label}\n </Link>\n </li>\n ))}\n </ul>\n ) : null}\n {secondaryLink ? (\n <a href={secondaryLink.href} className={cx(buttonClassName({ shape: \"pill\" }), \"ow-button--full\")} onClick={closePhone}>\n {secondaryLink.label}\n </a>\n ) : null}\n </nav>\n </header>\n );\n}\n", "import { cx, Link, ScrollShadow } from \"@openwarelabs/ui\";\n\nimport { BlockActionButton } from \"@blocks/shared/BlockActions\";\nimport { BlockBrandLink } from \"@blocks/shared/BlockBrandLink\";\nimport type { HeaderLink } from \"@blocks/shared/shared.types\";\nimport type { Header03Props } from \"./Header03.types\";\n\nfunction NavLink({ link }: { link: HeaderLink }) {\n return (\n <Link href={link.href} variant=\"standalone\" className=\"ow-header03__link\" aria-current={link.current ? \"page\" : undefined}>\n {link.label}\n </Link>\n );\n}\n\n/**\n * The logo in the middle with links either side, for a brand-led site. On tablets and phones every link moves to a\n * line of its own under the bar, scrolling sideways when it runs out of room.\n */\nexport function Header03({ brand, start, end = [], primaryAction, secondaryLink, labels = {}, className, ...props }: Header03Props) {\n return (\n <header className={cx(\"ow-header03\", className)} {...props}>\n <div className=\"ow-header03__inner\">\n <nav className=\"ow-header03__nav\" aria-label={labels.start ?? \"Primary\"}>\n {start.map((link, index) => (\n <NavLink key={index} link={link} />\n ))}\n </nav>\n {secondaryLink ? (\n <Link href={secondaryLink.href} variant=\"standalone\" className=\"ow-header03__link ow-header03__phone-only\">\n {secondaryLink.label}\n </Link>\n ) : null}\n\n <BlockBrandLink brand={brand} className=\"ow-header03__brand\" />\n\n <div className=\"ow-header03__end\">\n {end.length ? (\n <nav className=\"ow-header03__nav\" aria-label={labels.end ?? \"More\"}>\n {end.map((link, index) => (\n <NavLink key={index} link={link} />\n ))}\n </nav>\n ) : null}\n <div className=\"ow-header03__actions\">\n {secondaryLink ? <NavLink link={secondaryLink} /> : null}\n <BlockActionButton action={primaryAction} variant=\"primary\" size=\"sm\" />\n </div>\n </div>\n </div>\n\n {/* Tablets and phones: every link on a line of its own, scrolling sideways when it runs out of room. */}\n <ScrollShadow orientation=\"horizontal\" size={24} className=\"ow-header03__phone-only ow-header03__phone-nav\">\n <nav aria-label={labels.all ?? \"Main\"}>\n <ul className=\"ow-header03__phone-links\">\n {[...start, ...end].map((link, index) => (\n <li key={index}>\n <NavLink link={link} />\n </li>\n ))}\n </ul>\n </nav>\n </ScrollShadow>\n </header>\n );\n}\n", "import { useRef, useState } from \"react\";\n\nimport { Button, CloseButton, cx, Link, Menu, MenuItem, MenuSeparator, Text } from \"@openwarelabs/ui\";\n\nimport { BlockActionButton } from \"@blocks/shared/BlockActions\";\nimport { BlockBrandLink } from \"@blocks/shared/BlockBrandLink\";\nimport { ArrowRightIcon, MenuIcon } from \"@blocks/shared/icons\";\nimport type { Header04Props } from \"./Header04.types\";\n\nconst navigateTo = (href: string) => window.location.assign(href);\n\n/** A header with a slim announcement above it: a line of news, a link and a close button that folds it away. */\nexport function Header04({\n announcement,\n onDismiss,\n defaultDismissed = false,\n brand,\n links,\n primaryAction,\n secondaryLink,\n onNavigate = navigateTo,\n labels = {},\n className,\n ...props\n}: Header04Props) {\n const [closed, setClosed] = useState(defaultDismissed);\n const brandRef = useRef<HTMLAnchorElement>(null);\n\n const dismiss = () => {\n setClosed(true);\n onDismiss?.();\n // The close button is going away; leave focus at the top of the header rather than nowhere.\n brandRef.current?.focus();\n };\n\n return (\n <div className={cx(\"ow-header04\", className)} {...props}>\n <aside\n className=\"ow-header04__notice\"\n aria-label={labels.announcement ?? \"Announcement\"}\n data-closed={closed || undefined}\n aria-hidden={closed || undefined}\n >\n <div className=\"ow-header04__clip\">\n <div className=\"ow-header04__notice-inner\">\n <Text className=\"ow-header04__message\">\n <span className=\"ow-header04__dot\" aria-hidden=\"true\" />\n <strong>{announcement.title}</strong>\n {announcement.description ? (\n <>\n {\" \"}\n <span className=\"ow-header04__detail\">{announcement.description}</span>\n </>\n ) : null}\n {announcement.link ? (\n <Link href={announcement.link.href} className=\"ow-header04__link\">\n <span className=\"ow-header04__link-wide\">{announcement.link.label}</span>\n <span className=\"ow-header04__link-narrow\">{announcement.link.shortLabel ?? announcement.link.label}</span>\n <ArrowRightIcon size={14} />\n </Link>\n ) : null}\n </Text>\n <CloseButton size=\"sm\" label={labels.dismiss ?? \"Dismiss the announcement\"} onClick={dismiss} />\n </div>\n </div>\n </aside>\n\n <header className=\"ow-header04__header\">\n <div className=\"ow-header04__inner\">\n <BlockBrandLink ref={brandRef} brand={brand} className=\"ow-header04__brand\" />\n <nav className=\"ow-header04__nav\" aria-label=\"Main\">\n {links.map((link, index) => (\n <Link\n key={index}\n href={link.href}\n variant=\"standalone\"\n className=\"ow-header04__link-plain\"\n aria-current={link.current ? \"page\" : undefined}\n >\n {link.label}\n </Link>\n ))}\n </nav>\n <div className=\"ow-header04__actions\">\n {secondaryLink ? (\n <Link href={secondaryLink.href} variant=\"standalone\" className=\"ow-header04__link-plain\">\n {secondaryLink.label}\n </Link>\n ) : null}\n <BlockActionButton action={primaryAction} variant=\"primary\" size=\"sm\" />\n <span className=\"ow-header04__phone-menu\">\n <Menu\n label={labels.menu ?? \"Menu\"}\n align=\"end\"\n width={220}\n trigger={\n <Button variant=\"ghost\" size=\"sm\" iconOnly aria-label={labels.menu ?? \"Menu\"}>\n <MenuIcon size={18} />\n </Button>\n }\n >\n {links.map((link, index) => (\n <MenuItem key={index} onSelect={() => onNavigate(link.href)}>\n {link.label}\n </MenuItem>\n ))}\n {secondaryLink ? (\n <>\n <MenuSeparator />\n <MenuItem onSelect={() => onNavigate(secondaryLink.href)}>{secondaryLink.label}</MenuItem>\n </>\n ) : null}\n </Menu>\n </span>\n </div>\n </div>\n </header>\n </div>\n );\n}\n", "import { useEffect, useId, useState } from \"react\";\n\nimport { Button, buttonClassName, cx, Drawer, Link, Text } from \"@openwarelabs/ui\";\n\nimport { BlockActionButton } from \"@blocks/shared/BlockActions\";\nimport { BlockBrandLink } from \"@blocks/shared/BlockBrandLink\";\nimport { ChevronRightIcon, MenuIcon } from \"@blocks/shared/icons\";\nimport type { Header05Props } from \"./Header05.types\";\n\n// Under this width the links fold into the drawer (the same width as the media query in the CSS).\nconst narrow = \"(max-width: 1024px)\";\n\n/** A header whose links fold into a drawer behind a menu button on tablets and phones, with a second list and both actions. */\nexport function Header05({ brand, links, more, primaryAction, secondaryLink, defaultOpen = false, labels = {}, className, ...props }: Header05Props) {\n const [open, setOpen] = useState(defaultOpen);\n const moreId = useId();\n\n useEffect(() => {\n const query = window.matchMedia(narrow);\n const onChange = () => !query.matches && setOpen(false);\n query.addEventListener(\"change\", onChange);\n return () => query.removeEventListener(\"change\", onChange);\n }, []);\n\n const close = () => setOpen(false);\n\n return (\n <>\n <header className={cx(\"ow-header05\", className)} {...props}>\n <div className=\"ow-header05__inner\">\n <BlockBrandLink brand={brand} className=\"ow-header05__brand\" />\n <nav className=\"ow-header05__nav\" aria-label=\"Main\">\n {links.map((link, index) => (\n <Link\n key={index}\n href={link.href}\n variant=\"standalone\"\n className=\"ow-header05__link\"\n aria-current={link.current ? \"page\" : undefined}\n >\n {link.label}\n </Link>\n ))}\n </nav>\n <div className=\"ow-header05__actions\">\n {secondaryLink ? (\n <Link href={secondaryLink.href} variant=\"standalone\" className=\"ow-header05__link\">\n {secondaryLink.label}\n </Link>\n ) : null}\n <BlockActionButton action={primaryAction} variant=\"primary\" size=\"sm\" />\n <Button\n className=\"ow-header05__open\"\n variant=\"ghost\"\n size=\"sm\"\n iconOnly\n aria-label={labels.open ?? \"Open menu\"}\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n onClick={() => setOpen(true)}\n >\n <MenuIcon size={18} />\n </Button>\n </div>\n </div>\n </header>\n\n <Drawer\n className=\"ow-header05__drawer\"\n open={open}\n onClose={close}\n title={labels.title ?? \"Menu\"}\n side=\"right\"\n size={320}\n footer={\n <>\n {secondaryLink ? (\n <a href={secondaryLink.href} className={buttonClassName({ shape: \"pill\" })} onClick={close}>\n {secondaryLink.label}\n </a>\n ) : null}\n <BlockActionButton action={primaryAction} variant=\"primary\" size=\"md\" onAfterClick={close} />\n </>\n }\n >\n <nav aria-label=\"Main\">\n <ul className=\"ow-header05__drawer-list\">\n {links.map((link, index) => (\n <li key={index}>\n <Link\n href={link.href}\n variant=\"standalone\"\n className=\"ow-header05__drawer-link\"\n aria-current={link.current ? \"page\" : undefined}\n onClick={close}\n >\n {link.label}\n {link.current ? <span className=\"ow-header05__current\" aria-hidden=\"true\" /> : null}\n <ChevronRightIcon size={16} />\n </Link>\n </li>\n ))}\n </ul>\n {more ? (\n <div className=\"ow-header05__more\">\n <Text variant=\"overline\" as=\"p\" className=\"ow-header05__more-label\" id={moreId}>\n {more.title}\n </Text>\n <ul className=\"ow-header05__more-list\" aria-labelledby={moreId}>\n {more.links.map((link, index) => (\n <li key={index}>\n <Link href={link.href} variant=\"standalone\" className=\"ow-header05__more-link\" onClick={close}>\n {link.label}\n </Link>\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n </nav>\n </Drawer>\n </>\n );\n}\n", "import { useId } from \"react\";\n\nimport { Badge, Card, cx, Link, SectionHeading, Text } from \"@openwarelabs/ui\";\n\nimport { BlockActionButton } from \"@blocks/shared/BlockActions\";\nimport { ArrowRightIcon, CheckIcon } from \"@blocks/shared/icons\";\nimport type { Pricing01Props } from \"./Pricing01.types\";\n\n/** Plans side by side as cards, the recommended one raised, with a line for an enterprise plan below. */\nexport function Pricing01({ eyebrow, title, description, plans, enterprise, note, className, ...props }: Pricing01Props) {\n const id = useId();\n return (\n <section className={cx(\"ow-pricing01\", className)} aria-labelledby={`${id}-title`} {...props}>\n <div className=\"ow-pricing01__inner\">\n <SectionHeading align=\"center\" eyebrow={eyebrow} title={<span id={`${id}-title`}>{title}</span>} intro={description} />\n\n <div className=\"ow-pricing01__grid\">\n {plans.map((plan, index) => (\n <Card\n key={index}\n padding=\"none\"\n className=\"ow-pricing01__card\"\n data-recommended={plan.recommended || undefined}\n aria-labelledby={`${id}-plan-${index}`}\n role=\"group\"\n >\n <div className=\"ow-pricing01__head\">\n <div className=\"ow-pricing01__name-row\">\n <Text variant=\"card-title\" id={`${id}-plan-${index}`}>\n {plan.name}\n </Text>\n {plan.badge ? (\n <Badge size=\"sm\" variant=\"active\">\n {plan.badge}\n </Badge>\n ) : null}\n </div>\n {plan.summary ? (\n <Text variant=\"copy\" className=\"ow-pricing01__summary\">\n {plan.summary}\n </Text>\n ) : null}\n <Text as=\"p\" variant=\"body\" tone=\"muted\" className=\"ow-pricing01__price\">\n <Text as=\"span\" variant=\"section-title\" tone=\"default\" className=\"ow-pricing01__amount\">\n {plan.price}\n </Text>\n {plan.unit}\n </Text>\n <BlockActionButton action={plan.action} variant={plan.recommended ? \"primary\" : \"secondary\"} size=\"md\" fullWidth />\n </div>\n <div className=\"ow-pricing01__body\">\n {plan.featuresTitle ? (\n <Text as=\"p\" variant=\"label\">\n {plan.featuresTitle}\n </Text>\n ) : null}\n <ul className=\"ow-pricing01__features\">\n {plan.features.map((feature, featureIndex) => (\n <Text as=\"li\" variant=\"body\" tone=\"soft\" key={featureIndex}>\n <CheckIcon size={16} />\n {feature}\n </Text>\n ))}\n </ul>\n </div>\n </Card>\n ))}\n </div>\n\n {enterprise ? (\n <div className=\"ow-pricing01__enterprise\">\n {enterprise.icon ? (\n <span className=\"ow-pricing01__enterprise-icon\" aria-hidden=\"true\">\n {enterprise.icon}\n </span>\n ) : null}\n <Text variant=\"copy\" className=\"ow-pricing01__enterprise-text\">\n <Text as=\"strong\" variant=\"label\" tone=\"default\">\n {enterprise.title}\n </Text>{\" \"}\n {enterprise.description}\n </Text>\n <Link href={enterprise.link.href} variant=\"standalone\" className=\"ow-pricing01__enterprise-link\">\n {enterprise.link.label}\n <ArrowRightIcon size={14} />\n </Link>\n </div>\n ) : null}\n\n {note ? (\n <Text as=\"p\" variant=\"caption\" align=\"center\" className=\"ow-pricing01__note\">\n {note}\n </Text>\n ) : null}\n </div>\n </section>\n );\n}\n", "import { useId, useState } from \"react\";\n\nimport { Badge, cx, SectionHeading, SegmentedControl, Text, VisuallyHidden } from \"@openwarelabs/ui\";\n\nimport { BlockActionButton } from \"@blocks/shared/BlockActions\";\nimport { CheckIcon } from \"@blocks/shared/icons\";\nimport type { Pricing02Period, Pricing02Plan, Pricing02Price, Pricing02Props } from \"./Pricing02.types\";\n\nconst priceFor = (plan: Pricing02Plan, period: Pricing02Period): Pricing02Price => (\"amount\" in plan.price ? plan.price : plan.price[period]);\n\nconst includes = (name: string) => `${name} includes`;\n\n/** Plans in one panel with a switch between monthly and yearly prices, which fade in as they change. */\nexport function Pricing02({\n eyebrow,\n title,\n description,\n plans,\n periodNote,\n defaultPeriod = \"monthly\",\n onPeriodChange,\n note,\n labels = {},\n className,\n ...props\n}: Pricing02Props) {\n const [period, setPeriod] = useState<Pricing02Period>(defaultPeriod);\n const id = useId();\n\n return (\n <section className={cx(\"ow-pricing02\", className)} aria-labelledby={`${id}-title`} {...props}>\n <div className=\"ow-pricing02__inner\">\n <div className=\"ow-pricing02__header\">\n <SectionHeading eyebrow={eyebrow} title={<span id={`${id}-title`}>{title}</span>} intro={description} />\n <div className=\"ow-pricing02__switch\">\n <SegmentedControl\n aria-label={labels.period ?? \"Billing period\"}\n value={period}\n onChange={(value) => {\n setPeriod(value as Pricing02Period);\n onPeriodChange?.(value as Pricing02Period);\n }}\n options={[\n { value: \"monthly\", label: labels.monthly ?? \"Monthly\" },\n { value: \"yearly\", label: labels.yearly ?? \"Yearly\" },\n ]}\n />\n {periodNote ? (\n <Text as=\"p\" variant=\"caption\">\n {periodNote}\n </Text>\n ) : null}\n </div>\n </div>\n\n <VisuallyHidden aria-live=\"polite\">\n {period === \"yearly\" ? (labels.showingYearly ?? \"Showing yearly prices.\") : (labels.showingMonthly ?? \"Showing monthly prices.\")}\n </VisuallyHidden>\n\n <div className=\"ow-pricing02__panel\">\n {plans.map((plan, index) => {\n const price = priceFor(plan, period);\n return (\n <div key={index} className=\"ow-pricing02__plan\" data-popular={plan.recommended || undefined}>\n <div className=\"ow-pricing02__name-row\">\n <Text variant=\"card-title\">{plan.name}</Text>\n {plan.badge ? (\n <Badge size=\"sm\" variant=\"active\">\n {plan.badge}\n </Badge>\n ) : null}\n </div>\n {plan.summary ? (\n <Text variant=\"copy\" className=\"ow-pricing02__summary\">\n {plan.summary}\n </Text>\n ) : null}\n <div className=\"ow-pricing02__price\">\n <Text as=\"p\" variant=\"body\" tone=\"muted\" className=\"ow-pricing02__figure\">\n {/* The key restarts the fade when the amount changes. */}\n <Text\n as=\"span\"\n variant=\"section-title\"\n tone=\"default\"\n key={price.amount}\n className={price.custom ? \"ow-pricing02__amount ow-pricing02__amount--text\" : \"ow-pricing02__amount\"}\n >\n {price.amount}\n </Text>\n {price.unit}\n </Text>\n {price.billing ? (\n <Text as=\"p\" variant=\"caption\" className=\"ow-pricing02__billing\">\n {price.billing}\n </Text>\n ) : null}\n </div>\n <BlockActionButton action={plan.action} variant={plan.recommended ? \"primary\" : \"secondary\"} size=\"md\" fullWidth />\n <ul className=\"ow-pricing02__features\" aria-label={(labels.includes ?? includes)(plan.name)}>\n {plan.features.map((feature, featureIndex) => (\n <Text as=\"li\" variant=\"body\" tone=\"soft\" key={featureIndex}>\n <CheckIcon size={16} />\n {feature}\n </Text>\n ))}\n </ul>\n </div>\n );\n })}\n </div>\n\n {note ? (\n <Text as=\"p\" variant=\"caption\" align=\"center\" className=\"ow-pricing02__note\">\n {note}\n </Text>\n ) : null}\n </div>\n </section>\n );\n}\n", "import { useId, useState, useSyncExternalStore } from \"react\";\n\nimport { Badge, cx, SectionHeading, SegmentedControl, Table, Text, VisuallyHidden, type TableColumn } from \"@openwarelabs/ui\";\n\nimport { BlockActionButton } from \"@blocks/shared/BlockActions\";\nimport { CheckIcon, MinusIcon } from \"@blocks/shared/icons\";\nimport type { Pricing03Props, Pricing03Row, Pricing03Value } from \"./Pricing03.types\";\n\nconst phoneQuery = \"(max-width: 760px)\";\n\n/** Whether the window is phone-sized, following it as it changes. */\nfunction useIsPhone() {\n return useSyncExternalStore(\n (onChange) => {\n const list = window.matchMedia(phoneQuery);\n list.addEventListener(\"change\", onChange);\n return () => list.removeEventListener(\"change\", onChange);\n },\n () => window.matchMedia(phoneQuery).matches,\n () => false,\n );\n}\n\nconst caption = (title: string) => `${title}, by plan`;\n\n/** Every feature down the side and a tick, a dash or a limit for each plan; one plan at a time on phones. */\nexport function Pricing03({ eyebrow, title, description, plans, groups, pricesNote, defaultPlan, note, labels = {}, className, ...props }: Pricing03Props) {\n const id = useId();\n const isPhone = useIsPhone();\n const [picked, setPicked] = useState(() => defaultPlan ?? (plans.find((plan) => plan.recommended) ?? plans[0])?.id ?? \"\");\n const shown = isPhone ? plans.filter((plan) => plan.id === picked) : plans;\n\n const cell = (value: Pricing03Value) => {\n if (value === true) {\n return (\n <span className=\"ow-pricing03__yes\">\n <CheckIcon size={14} strokeWidth={2.5} />\n <VisuallyHidden>{labels.included ?? \"Included\"}</VisuallyHidden>\n </span>\n );\n }\n if (value === false) {\n return (\n <span className=\"ow-pricing03__no\">\n <MinusIcon size={16} />\n <VisuallyHidden>{labels.notIncluded ?? \"Not included\"}</VisuallyHidden>\n </span>\n );\n }\n return value;\n };\n\n const columns = (groupTitle: string): Array<TableColumn<Pricing03Row & { id: string }>> => [\n {\n key: \"feature\",\n header: groupTitle,\n render: (row) => (\n <Text as=\"span\" variant=\"body\" className=\"ow-pricing03__feature\">\n {row.feature}\n {row.note ? (\n <Text variant=\"caption\" className=\"ow-pricing03__feature-note\">\n {row.note}\n </Text>\n ) : null}\n </Text>\n ),\n },\n ...shown.map((plan) => ({\n key: plan.id,\n header: plan.name,\n render: (row: Pricing03Row) => cell(row.values[plan.id]),\n })),\n ];\n\n return (\n <section className={cx(\"ow-pricing03\", className)} aria-labelledby={`${id}-title`} {...props}>\n <div className=\"ow-pricing03__inner\">\n <SectionHeading align=\"center\" eyebrow={eyebrow} title={<span id={`${id}-title`}>{title}</span>} intro={description} />\n\n <div className=\"ow-pricing03__picker\">\n <SegmentedControl\n aria-label={labels.picker ?? \"Plan to compare\"}\n fullWidth\n value={picked}\n onChange={setPicked}\n options={plans.map((plan) => ({ value: plan.id, label: plan.name }))}\n />\n </div>\n\n <div className=\"ow-pricing03__plans\">\n {pricesNote ? (\n <Text as=\"p\" variant=\"caption\" className=\"ow-pricing03__plans-label\">\n {pricesNote}\n </Text>\n ) : null}\n {shown.map((plan) => (\n <div key={plan.id} className=\"ow-pricing03__plan\">\n <Text as=\"p\" variant=\"card-title\" className=\"ow-pricing03__plan-name\">\n {plan.name}\n {plan.badge ? (\n <Badge size=\"sm\" variant=\"active\">\n {plan.badge}\n </Badge>\n ) : null}\n </Text>\n <Text as=\"p\" variant=\"caption\" className=\"ow-pricing03__plan-price\">\n <Text as=\"strong\" variant=\"label\" tone=\"default\" className=\"ow-pricing03__plan-amount\">\n {plan.price}\n </Text>{\" \"}\n {plan.unit}\n </Text>\n <BlockActionButton action={plan.action} variant={plan.recommended ? \"primary\" : \"secondary\"} size=\"sm\" />\n </div>\n ))}\n </div>\n\n <div className=\"ow-pricing03__groups\">\n {groups.map((group) => (\n <Table\n key={group.title}\n className=\"ow-pricing03__group\"\n caption={(labels.caption ?? caption)(group.title)}\n hideCaption\n columns={columns(group.title)}\n rows={group.rows.map((row, index) => ({ ...row, id: `${group.title}-${index}` }))}\n />\n ))}\n </div>\n\n {note ? (\n <Text as=\"p\" variant=\"caption\" align=\"center\" className=\"ow-pricing03__note\">\n {note}\n </Text>\n ) : null}\n </div>\n </section>\n );\n}\n", "import { useId } from \"react\";\n\nimport { Card, cx, SectionHeading, Text } from \"@openwarelabs/ui\";\n\nimport { BlockActionButton } from \"@blocks/shared/BlockActions\";\nimport { CheckIcon } from \"@blocks/shared/icons\";\nimport type { Pricing04Props } from \"./Pricing04.types\";\n\n/** One price with what's included, for a simple product: a wide card with the features on the left and the offer on the right. */\nexport function Pricing04({ eyebrow, title, description, product, offer, promises, className, ...props }: Pricing04Props) {\n const id = useId();\n return (\n <section className={cx(\"ow-pricing04\", className)} aria-labelledby={`${id}-title`} {...props}>\n <div className=\"ow-pricing04__inner\">\n <SectionHeading align=\"center\" eyebrow={eyebrow} title={<span id={`${id}-title`}>{title}</span>} intro={description} />\n\n <Card padding=\"none\" className=\"ow-pricing04__card\">\n <div className=\"ow-pricing04__details\">\n <Text variant=\"heading\">{product.name}</Text>\n {product.description ? (\n <Text variant=\"copy\" className=\"ow-pricing04__description\">\n {product.description}\n </Text>\n ) : null}\n {product.featuresTitle ? (\n <Text as=\"p\" variant=\"label\" tone=\"primary\" className=\"ow-pricing04__included\">\n {product.featuresTitle}\n </Text>\n ) : null}\n <ul className=\"ow-pricing04__features\">\n {product.features.map((feature, index) => (\n <Text as=\"li\" variant=\"body\" tone=\"soft\" key={index}>\n <CheckIcon size={16} />\n {feature}\n </Text>\n ))}\n </ul>\n </div>\n\n <div className=\"ow-pricing04__offer\">\n {offer.label ? (\n <Text as=\"p\" variant=\"label\" tone=\"soft\">\n {offer.label}\n </Text>\n ) : null}\n <Text as=\"p\" variant=\"label\" tone=\"muted\" className=\"ow-pricing04__price\">\n <Text as=\"span\" variant=\"page-title\" tone=\"default\" className=\"ow-pricing04__amount\">\n {offer.price}\n </Text>\n {offer.currency}\n </Text>\n {offer.unit ? (\n <Text variant=\"body\" tone=\"muted\" className=\"ow-pricing04__unit\">\n {offer.unit}\n </Text>\n ) : null}\n <BlockActionButton action={offer.action} variant=\"primary\" fullWidth />\n {offer.note ? (\n <Text as=\"p\" variant=\"caption\" className=\"ow-pricing04__fine\">\n {offer.note}\n </Text>\n ) : null}\n </div>\n </Card>\n\n {promises?.length ? (\n <ul className=\"ow-pricing04__promises\">\n {promises.map((promise, index) => (\n <Text as=\"li\" variant=\"body\" tone=\"muted\" key={index}>\n {promise.icon}\n {promise.text}\n </Text>\n ))}\n </ul>\n ) : null}\n </div>\n </section>\n );\n}\n", "import { useId, useMemo, useState } from \"react\";\n\nimport { Card, cx, SectionHeading, Slider, Text } from \"@openwarelabs/ui\";\n\nimport { BlockActionButton } from \"@blocks/shared/BlockActions\";\nimport type { Pricing05Props, Pricing05Tier } from \"./Pricing05.types\";\n\n/** How many units fall in each band, and what they cost. */\nfunction estimate(tiers: Pricing05Tier[], units: number) {\n const lines = tiers.map((tier) => {\n const count = Math.max(0, Math.min(units, tier.to) - tier.from);\n return { tier, count, cost: count * tier.price };\n });\n return { lines, total: lines.reduce((sum, line) => sum + line.cost, 0) };\n}\n\nconst capitalise = (text: string) => text.charAt(0).toUpperCase() + text.slice(1);\n\n/** A price per unit in bands, with a slider to estimate the month and the cost of each band beside it. */\nexport function Pricing05({\n eyebrow,\n title,\n description,\n tiers,\n aside,\n estimate: words,\n max,\n step = max / 200,\n defaultValue,\n marks = [0, max / 4, max / 2, (max * 3) / 4, max],\n currency = \"EUR\",\n locale,\n action,\n note,\n labels = {},\n className,\n ...props\n}: Pricing05Props) {\n const id = useId();\n const [units, setUnits] = useState(defaultValue);\n const { lines, total } = estimate(tiers, units);\n const current = tiers.findIndex((tier) => units <= tier.to);\n\n const unit = labels.unit ?? \"unit\";\n const plural = labels.units ?? \"units\";\n const perMonth = labels.perMonth ?? `${plural} a month`;\n\n const format = useMemo(() => {\n const number = new Intl.NumberFormat(locale);\n const money = new Intl.NumberFormat(locale, { style: \"currency\", currency });\n const unitPrice = new Intl.NumberFormat(locale, { style: \"currency\", currency, minimumFractionDigits: 2, maximumFractionDigits: 3 });\n return { number: (value: number) => number.format(value), money: (value: number) => money.format(value), unitPrice: (value: number) => unitPrice.format(value) };\n }, [locale, currency]);\n\n const rangeLabel = (tier: Pricing05Tier) => {\n if (tier.from === 0) return `First ${format.number(tier.to)} ${plural}`;\n if (tier.to === Infinity) return `Over ${format.number(tier.from)}`;\n return `${format.number(tier.from + 1)} to ${format.number(tier.to)}`;\n };\n\n const mark = (value: number) => (value === 0 ? \"0\" : value >= 1000 && value % 1000 === 0 ? `${value / 1000}k` : format.number(value));\n\n return (\n <section className={cx(\"ow-pricing05\", className)} aria-labelledby={`${id}-title`} {...props}>\n <div className=\"ow-pricing05__inner\">\n <div>\n <SectionHeading eyebrow={eyebrow} title={<span id={`${id}-title`}>{title}</span>} intro={description} />\n <ul className=\"ow-pricing05__tiers\" aria-label={labels.tiers ?? `Price per ${unit}`}>\n {tiers.map((tier, index) => (\n <li key={tier.from} className=\"ow-pricing05__tier\" data-current={index === current || undefined}>\n <span className=\"ow-pricing05__tier-dot\" aria-hidden=\"true\" />\n <Text variant={index === current ? \"label\" : \"body\"} tone={index === current ? \"default\" : \"soft\"}>\n {rangeLabel(tier)}\n </Text>\n <Text variant=\"label\" className=\"ow-pricing05__tier-price\">\n {tier.price === 0 ? (\n (labels.free ?? \"Free\")\n ) : (\n <>\n {format.unitPrice(tier.price)}\n <Text as=\"small\" variant=\"caption\" className=\"ow-pricing05__tier-unit\">\n a {unit}\n </Text>\n </>\n )}\n </Text>\n </li>\n ))}\n </ul>\n {aside ? (\n <Text variant=\"copy\" className=\"ow-pricing05__aside\">\n {aside}\n </Text>\n ) : null}\n </div>\n\n <Card padding=\"none\" className=\"ow-pricing05__card\">\n <Text variant=\"card-title\">{words.title}</Text>\n {words.description ? (\n <Text variant=\"copy\" className=\"ow-pricing05__card-intro\">\n {words.description}\n </Text>\n ) : null}\n\n <Text as=\"p\" variant=\"heading\" className=\"ow-pricing05__runs\" aria-hidden=\"true\">\n {format.number(units)}{\" \"}\n <Text as=\"small\" variant=\"body\" tone=\"muted\" className=\"ow-pricing05__runs-unit\">\n {perMonth}\n </Text>\n </Text>\n {/* The big number above is the slider's visible label; screen readers hear the amount and the cost. */}\n <Slider\n aria-label={labels.slider ?? capitalise(perMonth)}\n showValue={false}\n min={0}\n max={max}\n step={step}\n value={units}\n onChange={setUnits}\n formatValue={(value) => `${format.number(value)} ${plural}, about ${format.money(estimate(tiers, value).total)} a month`}\n />\n <div className=\"ow-pricing05__scale\" aria-hidden=\"true\">\n {marks.map((value) => (\n <span key={value}>{mark(value)}</span>\n ))}\n </div>\n\n <div className=\"ow-pricing05__breakdown\">\n {lines.map(({ tier, count, cost }) => (\n <Text as=\"div\" variant=\"body\" tone=\"soft\" key={tier.from} className=\"ow-pricing05__line\" data-idle={count === 0 || undefined}>\n <span>\n {format.number(count)} {plural} {tier.price === 0 ? (labels.free ?? \"Free\").toLowerCase() : `at ${format.unitPrice(tier.price)}`}\n </span>\n <span>{format.money(cost)}</span>\n </Text>\n ))}\n </div>\n\n <div className=\"ow-pricing05__total\">\n <Text as=\"p\" variant=\"label\">\n {words.totalLabel}\n {words.totalNote ? (\n <Text as=\"small\" variant=\"caption\" className=\"ow-pricing05__total-note\">\n {words.totalNote}\n </Text>\n ) : null}\n </Text>\n <Text as=\"p\" variant=\"section-title\" className=\"ow-pricing05__total-amount\">\n {format.money(total)}\n </Text>\n </div>\n\n <BlockActionButton action={action} variant=\"primary\" fullWidth className=\"ow-pricing05__action\" />\n {note ? (\n <Text as=\"p\" variant=\"caption\" align=\"center\" className=\"ow-pricing05__fine\">\n {note}\n </Text>\n ) : null}\n </Card>\n </div>\n </section>\n );\n}\n", "import { useId } from \"react\";\n\nimport { cx, SectionHeading, Text } from \"@openwarelabs/ui\";\n\nimport type { Features01Props } from \"./Features01.types\";\n\n/** An icon, a short title and a sentence for each feature, in a grid that drops to one column on phones. */\nexport function Features01({ eyebrow, title, description, features, footer, className, ...props }: Features01Props) {\n const id = useId();\n return (\n <section className={cx(\"ow-features01\", className)} aria-labelledby={`${id}-title`} {...props}>\n <div className=\"ow-features01__inner\">\n <SectionHeading align=\"center\" eyebrow={eyebrow} title={<span id={`${id}-title`}>{title}</span>} intro={description} />\n\n <ul className=\"ow-features01__grid\">\n {features.map((feature, index) => (\n <li key={index} className=\"ow-features01__item\">\n {feature.icon ? (\n <span className=\"ow-features01__icon\" aria-hidden=\"true\">\n {feature.icon}\n </span>\n ) : null}\n <Text variant=\"card-title\" className=\"ow-features01__title\">\n {feature.title}\n </Text>\n <Text variant=\"copy\" className=\"ow-features01__text\">\n {feature.description}\n </Text>\n </li>\n ))}\n </ul>\n\n {footer ? (\n <Text variant=\"copy\" align=\"center\" className=\"ow-features01__more\">\n {footer}\n </Text>\n ) : null}\n </div>\n </section>\n );\n}\n", "import { useId } from \"react\";\n\nimport { cx, DotGrid, Link, SectionHeading, Text } from \"@openwarelabs/ui\";\n\nimport { CheckIcon } from \"@blocks/shared/icons\";\nimport type { Features02Props } from \"./Features02.types\";\n\n/** Rows that swap sides, each a few lines and points beside a picture on a dot grid. */\nexport function Features02({ eyebrow, title, description, rows, className, ...props }: Features02Props) {\n const id = useId();\n return (\n <section className={cx(\"ow-features02\", className)} aria-labelledby={`${id}-title`} {...props}>\n <div className=\"ow-features02__inner\">\n <SectionHeading eyebrow={eyebrow} title={<span id={`${id}-title`}>{title}</span>} intro={description} />\n\n <div className=\"ow-features02__rows\">\n {rows.map((row, index) => (\n <article key={index} className=\"ow-features02__row\" aria-labelledby={`${id}-row-${index}`}>\n <div className=\"ow-features02__copy\">\n {row.kicker || row.icon ? (\n <Text variant=\"label\" tone=\"primary\" className=\"ow-features02__kicker\">\n {row.icon}\n {row.kicker}\n </Text>\n ) : null}\n <Text variant=\"heading\" id={`${id}-row-${index}`} className=\"ow-features02__title\">\n {row.title}\n </Text>\n <Text variant=\"lead\" className=\"ow-features02__text\">\n {row.description}\n </Text>\n {row.points?.length ? (\n <ul className=\"ow-features02__points\">\n {row.points.map((point, pointIndex) => (\n <Text as=\"li\" key={pointIndex} tone=\"soft\" className=\"ow-features02__point\">\n <CheckIcon size={16} />\n {point}\n </Text>\n ))}\n </ul>\n ) : null}\n {row.link ? (\n <Link href={row.link.href} variant=\"standalone\" className=\"ow-features02__link\">\n {row.link.label} \u2192\n </Link>\n ) : null}\n </div>\n <DotGrid\n className=\"ow-features02__stage\"\n role={row.visualLabel ? \"img\" : undefined}\n aria-label={row.visualLabel}\n >\n {row.visual}\n </DotGrid>\n </article>\n ))}\n </div>\n </div>\n </section>\n );\n}\n", "import { useId } from \"react\";\n\nimport { cx, SectionHeading, Text } from \"@openwarelabs/ui\";\n\nimport type { Features03Props } from \"./Features03.types\";\n\n/** A bento grid: cards of different sizes, the biggest for the feature that matters most. */\nexport function Features03({ eyebrow, title, description, cards, className, ...props }: Features03Props) {\n const id = useId();\n return (\n <section className={cx(\"ow-features03\", className)} aria-labelledby={`${id}-title`} {...props}>\n <div className=\"ow-features03__inner\">\n <div className=\"ow-features03__header\">\n <SectionHeading eyebrow={eyebrow} title={<span id={`${id}-title`}>{title}</span>} />\n {description ? (\n <Text variant=\"lead\" className=\"ow-features03__intro\">\n {description}\n </Text>\n ) : null}\n </div>\n\n {/* The first card is the big one, with a heading and a lead; the rest are dense cards. */}\n <div className=\"ow-features03__grid\">\n {cards.map((card, index) => {\n const featured = index === 0;\n return (\n <article\n key={index}\n className={cx(\n \"ow-features03__card\",\n featured && \"ow-features03__card--featured\",\n index === cards.length - 1 && index > 0 && \"ow-features03__card--last\",\n )}\n aria-labelledby={`${id}-card-${index}`}\n >\n <div className=\"ow-features03__copy\">\n <Text variant={featured ? \"heading\" : \"card-title\"} id={`${id}-card-${index}`}>\n {card.title}\n </Text>\n <Text variant={featured ? \"lead\" : \"copy\"} className=\"ow-features03__text\">\n {card.description}\n </Text>\n </div>\n <div className=\"ow-features03__visual\" role={card.visualLabel ? \"img\" : undefined} aria-label={card.visualLabel}>\n {card.visual}\n </div>\n </article>\n );\n })}\n </div>\n </div>\n </section>\n );\n}\n", "import { useId } from \"react\";\n\nimport { cx, SectionHeading, Tab, TabList, TabPanel, Tabs, Text } from \"@openwarelabs/ui\";\n\nimport type { Features04Props } from \"./Features04.types\";\n\n/** A row of tabs, each showing its part of the product with a caption above it. */\nexport function Features04({ eyebrow, title, description, tabs, defaultTab = 0, labels = {}, className, ...props }: Features04Props) {\n const id = useId();\n return (\n <section className={cx(\"ow-features04\", className)} aria-labelledby={`${id}-title`} {...props}>\n <div className=\"ow-features04__inner\">\n <SectionHeading align=\"center\" eyebrow={eyebrow} title={<span id={`${id}-title`}>{title}</span>} intro={description} />\n\n <Tabs defaultValue={String(defaultTab)} className=\"ow-features04__tabs\">\n <TabList aria-label={labels.tabs ?? \"Features\"}>\n {tabs.map((tab, index) => (\n <Tab key={index} value={String(index)} icon={tab.icon}>\n {tab.label}\n </Tab>\n ))}\n </TabList>\n {tabs.map((tab, index) => (\n <TabPanel key={index} value={String(index)} className=\"ow-features04__panel\">\n {tab.caption ? (\n <Text variant=\"copy\" align=\"center\" className=\"ow-features04__caption\">\n {tab.caption}\n </Text>\n ) : null}\n {tab.visual}\n </TabPanel>\n ))}\n </Tabs>\n </div>\n </section>\n );\n}\n", "import { useId } from \"react\";\n\nimport { cx, Link, SectionHeading, Text } from \"@openwarelabs/ui\";\n\nimport { BlockActionButton } from \"@blocks/shared/BlockActions\";\nimport { CheckIcon } from \"@blocks/shared/icons\";\nimport type { Features05Props } from \"./Features05.types\";\n\n/** A checklist of what's included, with a button, beside one large picture. */\nexport function Features05({ eyebrow, title, description, items, primaryAction, secondaryLink, visual, className, ...props }: Features05Props) {\n const id = useId();\n return (\n <section className={cx(\"ow-features05\", className)} aria-labelledby={`${id}-title`} {...props}>\n <div className=\"ow-features05__inner\">\n <div className=\"ow-features05__copy\">\n <SectionHeading eyebrow={eyebrow} title={<span id={`${id}-title`}>{title}</span>} intro={description} />\n <ul className=\"ow-features05__list\">\n {items.map((item, index) => (\n <Text as=\"li\" key={index} tone=\"soft\" className=\"ow-features05__item\">\n <span className=\"ow-features05__tick\" aria-hidden=\"true\">\n <CheckIcon size={12} strokeWidth={3} />\n </span>\n {item}\n </Text>\n ))}\n </ul>\n {primaryAction || secondaryLink ? (\n <div className=\"ow-features05__actions\">\n {primaryAction ? <BlockActionButton action={primaryAction} variant=\"primary\" /> : null}\n {secondaryLink ? (\n <Link href={secondaryLink.href} variant=\"standalone\">\n {secondaryLink.label}\n </Link>\n ) : null}\n </div>\n ) : null}\n </div>\n <div className=\"ow-features05__visual\">{visual}</div>\n </div>\n </section>\n );\n}\n", "import { useEffect, useId, useState } from \"react\";\n\nimport { cx, Link, SegmentedControl, Separator, Text } from \"@openwarelabs/ui\";\n\nimport { FooterColumns } from \"@blocks/shared/FooterColumns\";\nimport { MonitorIcon, MoonIcon, SunIcon } from \"@blocks/shared/icons\";\nimport type { Footer01Props } from \"./Footer01.types\";\n\nconst currentTheme = () => (typeof document === \"undefined\" ? \"system\" : (document.documentElement.dataset.theme ?? \"system\"));\n\n/** Light, dark or the system's choice, set on <html data-theme>. */\nfunction useTheme() {\n const [theme, setTheme] = useState(currentTheme);\n\n // Stay in step if something else changes the theme.\n useEffect(() => {\n const observer = new MutationObserver(() => setTheme(currentTheme()));\n observer.observe(document.documentElement, { attributes: true, attributeFilter: [\"data-theme\"] });\n return () => observer.disconnect();\n }, []);\n\n const choose = (value: string) => {\n document.documentElement.dataset.theme = value;\n setTheme(value);\n };\n return [theme, choose] as const;\n}\n\n/** The logo and a line, then three or four columns of links, with the small print and a theme switch below. */\nexport function Footer01({ brand, description, status, columns, legal, legalLinks = [], themeSwitch = false, labels = {}, className, ...props }: Footer01Props) {\n const [theme, setTheme] = useTheme();\n const themeId = useId();\n const home = labels.home ?? (typeof brand.name === \"string\" ? `${brand.name} home` : undefined);\n\n return (\n <footer className={cx(\"ow-footer01\", className)} {...props}>\n <div className=\"ow-footer01__inner\">\n <div className=\"ow-footer01__top\">\n <div className=\"ow-footer01__brand\">\n <Link href={brand.href} variant=\"standalone\" className=\"ow-footer01__logo\" aria-label={home}>\n {brand.logo}\n <Text variant=\"dialog-title\" as=\"span\">\n {brand.name}\n </Text>\n </Link>\n {description ? <Text variant=\"copy\">{description}</Text> : null}\n {status ? (\n <Link href={status.href} variant=\"standalone\" className=\"ow-footer01__status\">\n <span className=\"ow-footer01__status-dot\" aria-hidden=\"true\" />\n {status.label}\n </Link>\n ) : null}\n </div>\n\n <FooterColumns columns={columns} headingClassName=\"ow-footer01__heading\" listClassName=\"ow-footer01__links\" badgeClassName=\"ow-footer01__new\" />\n </div>\n\n <Separator />\n\n <div className=\"ow-footer01__bottom\">\n <Text variant=\"caption\" as=\"p\" className=\"ow-footer01__legal\">\n <span>{legal}</span>\n {legalLinks.map((link, index) => (\n <Link key={index} href={link.href} variant=\"muted\">\n {link.label}\n </Link>\n ))}\n </Text>\n {themeSwitch ? (\n <div className=\"ow-footer01__theme\">\n <Text variant=\"caption\" id={themeId}>\n {labels.theme ?? \"Theme\"}\n </Text>\n <SegmentedControl\n size=\"sm\"\n aria-labelledby={themeId}\n options={[\n { value: \"light\", label: null, icon: <SunIcon size={15} />, \"aria-label\": labels.light ?? \"Light\" },\n { value: \"dark\", label: null, icon: <MoonIcon size={15} />, \"aria-label\": labels.dark ?? \"Dark\" },\n { value: \"system\", label: null, icon: <MonitorIcon size={15} />, \"aria-label\": labels.system ?? \"Match the system\" },\n ]}\n value={theme}\n onChange={setTheme}\n />\n </div>\n ) : null}\n </div>\n </div>\n </footer>\n );\n}\n", "import { useId } from \"react\";\n\nimport { Link, Text } from \"@openwarelabs/ui\";\n\nimport type { FooterColumnsProps } from \"@blocks/shared/shared.types\";\n\n/** A footer's columns of links, each a <nav> named by its heading. */\nexport function FooterColumns({ columns, headingClassName, listClassName, badgeClassName }: FooterColumnsProps) {\n const id = useId();\n return (\n <>\n {columns.map((column, index) => (\n <nav key={index} aria-labelledby={`${id}-${index}`}>\n <Text variant=\"label\" as=\"h2\" id={`${id}-${index}`} className={headingClassName}>\n {column.title}\n </Text>\n <ul className={listClassName}>\n {column.links.map((link, linkIndex) => (\n <li key={linkIndex}>\n <Link href={link.href} variant=\"standalone\">\n {link.label}\n </Link>\n {link.badge ? (\n <Text variant=\"badge\" className={badgeClassName}>\n {link.badge}\n </Text>\n ) : null}\n </li>\n ))}\n </ul>\n </nav>\n ))}\n </>\n );\n}\n", "import { cx, Link, Text } from \"@openwarelabs/ui\";\n\nimport type { Footer02Props } from \"./Footer02.types\";\n\n/** The logo, one line of links and the small print, centred. */\nexport function Footer02({ brand, links, legal, labels = {}, className, ...props }: Footer02Props) {\n return (\n <footer className={cx(\"ow-footer02\", className)} {...props}>\n <div className=\"ow-footer02__inner\">\n <Link href={brand.href} className=\"ow-footer02__logo\" aria-label={labels.home ?? (typeof brand.name === \"string\" ? `${brand.name} home` : undefined)}>\n {brand.logo}\n </Link>\n <nav aria-label={labels.nav ?? \"Footer\"}>\n <ul className=\"ow-footer02__links\">\n {links.map((link, index) => (\n <li key={index}>\n <Link href={link.href} variant=\"standalone\">\n {link.label}\n </Link>\n </li>\n ))}\n </ul>\n </nav>\n <Text variant=\"caption\" as=\"p\">\n {legal}\n </Text>\n </div>\n </footer>\n );\n}\n", "import { useId, useRef, useState, type FormEvent } from \"react\";\n\nimport { Button, cx, Input, Link, Separator, Text } from \"@openwarelabs/ui\";\n\nimport { FooterColumns } from \"@blocks/shared/FooterColumns\";\nimport { CircleCheckIcon, MailIcon } from \"@blocks/shared/icons\";\nimport type { Footer03Props } from \"./Footer03.types\";\n\nconst emailPattern = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n\n/** A newsletter sign-up across the top, then the brand and columns of links, then the small print. */\nexport function Footer03({ newsletter, brand, description, columns, legal, legalLinks = [], labels = {}, className, ...props }: Footer03Props) {\n const [email, setEmail] = useState(\"\");\n const [error, setError] = useState(\"\");\n const [sending, setSending] = useState(false);\n const [sentTo, setSentTo] = useState(\"\");\n const input = useRef<HTMLInputElement>(null);\n const id = useId();\n\n const subscribe = async (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n const address = email.trim();\n if (!address) setError(labels.empty ?? \"Enter your email address.\");\n else if (!emailPattern.test(address)) setError(labels.invalid ?? \"That doesn't look like an email address. Check it for a typo.\");\n else {\n setError(\"\");\n setSending(true);\n try {\n await newsletter.onSubmit(address);\n setSentTo(address);\n return;\n } catch (failure) {\n setError(failure instanceof Error && failure.message ? failure.message : (labels.failed ?? \"That didn't go through. Try again in a moment.\"));\n } finally {\n setSending(false);\n }\n }\n input.current?.focus();\n };\n\n const startAgain = () => {\n setSentTo(\"\");\n setEmail(\"\");\n window.setTimeout(() => input.current?.focus());\n };\n\n return (\n <footer className={cx(\"ow-footer03\", className)} {...props}>\n <div className=\"ow-footer03__inner\">\n <section className=\"ow-footer03__signup\" aria-labelledby={`${id}-title`}>\n <div>\n <Text variant=\"heading\" as=\"h2\" id={`${id}-title`}>\n {newsletter.title}\n </Text>\n {newsletter.description ? (\n <Text variant=\"copy\" className=\"ow-footer03__intro\">\n {newsletter.description}\n </Text>\n ) : null}\n </div>\n\n {sentTo ? (\n <div className=\"ow-footer03__done\" role=\"status\">\n <CircleCheckIcon size={18} />\n <span className=\"ow-footer03__done-text\">\n <Text variant=\"label\">{newsletter.successTitle}</Text>\n {newsletter.successDescription ? (\n <Text variant=\"body\" as=\"span\" tone=\"soft\" className=\"ow-footer03__done-detail\">\n {newsletter.successDescription(sentTo)}\n </Text>\n ) : null}\n </span>\n <Button size=\"sm\" variant=\"ghost\" onClick={startAgain}>\n {labels.change ?? \"Change\"}\n </Button>\n </div>\n ) : (\n <form noValidate onSubmit={subscribe}>\n <div className=\"ow-footer03__row\">\n <Input\n ref={input}\n type=\"email\"\n autoComplete=\"email\"\n placeholder={labels.placeholder ?? \"you@example.com\"}\n aria-label={labels.email ?? \"Email address\"}\n aria-describedby={`${id}-note`}\n className=\"ow-footer03__email\"\n startContent={<MailIcon size={16} />}\n isInvalid={Boolean(error)}\n value={email}\n onChange={(event) => {\n setEmail(event.target.value);\n if (error) setError(\"\");\n }}\n />\n <Button type=\"submit\" variant=\"primary\" shape=\"pill\" loading={sending} endIcon={newsletter.submitIcon}>\n {newsletter.submitLabel}\n </Button>\n </div>\n <Text\n variant=\"caption\"\n as=\"p\"\n id={`${id}-note`}\n tone={error ? \"danger\" : undefined}\n className=\"ow-footer03__note\"\n aria-live=\"polite\"\n >\n {error || newsletter.note}\n </Text>\n </form>\n )}\n </section>\n\n <div className=\"ow-footer03__links\">\n <div className=\"ow-footer03__brand\">\n <Link\n href={brand.href}\n variant=\"standalone\"\n className=\"ow-footer03__logo\"\n aria-label={labels.home ?? (typeof brand.name === \"string\" ? `${brand.name} home` : undefined)}\n >\n {brand.logo}\n <Text variant=\"dialog-title\" as=\"span\">\n {brand.name}\n </Text>\n </Link>\n {description ? (\n <Text variant=\"copy\" className=\"ow-footer03__line\">\n {description}\n </Text>\n ) : null}\n </div>\n <FooterColumns columns={columns} headingClassName=\"ow-footer03__heading\" listClassName=\"ow-footer03__list\" />\n </div>\n\n <Separator />\n\n <div className=\"ow-footer03__bottom\">\n <Text variant=\"caption\" as=\"p\">\n {legal}\n </Text>\n {legalLinks.length ? (\n <Text variant=\"caption\" as=\"ul\" className=\"ow-footer03__legal\">\n {legalLinks.map((link, index) => (\n <li key={index}>\n <Link href={link.href} variant=\"muted\">\n {link.label}\n </Link>\n </li>\n ))}\n </Text>\n ) : null}\n </div>\n </div>\n </footer>\n );\n}\n", "import { cx, Link, Text } from \"@openwarelabs/ui\";\n\nimport { BlockActionButton } from \"@blocks/shared/BlockActions\";\nimport { FooterColumns } from \"@blocks/shared/FooterColumns\";\nimport type { Footer04Props } from \"./Footer04.types\";\n\n/** A last line of pitch and a button, columns of links, the small print, and the product's name set very large across the bottom. */\nexport function Footer04({ title, titleMuted, primaryAction, columns, legal, legalLinks = [], wordmark, className, ...props }: Footer04Props) {\n return (\n <footer className={cx(\"ow-footer04\", className)} {...props}>\n <div className=\"ow-footer04__inner\">\n <div className=\"ow-footer04__top\">\n <div className=\"ow-footer04__pitch\">\n <Text variant=\"heading\" as=\"p\">\n {title}\n {titleMuted ? (\n <>\n {\" \"}\n <Text variant=\"heading\" as=\"span\" tone=\"muted\">\n {titleMuted}\n </Text>\n </>\n ) : null}\n </Text>\n {primaryAction ? <BlockActionButton action={primaryAction} variant=\"primary\" size=\"md\" /> : null}\n </div>\n <div className=\"ow-footer04__columns\">\n <FooterColumns columns={columns} headingClassName=\"ow-footer04__heading\" listClassName=\"ow-footer04__list\" />\n </div>\n </div>\n\n <div className=\"ow-footer04__legal\">\n <Text variant=\"caption\" as=\"p\">\n {legal}\n </Text>\n {legalLinks.length ? (\n <Text variant=\"caption\" as=\"ul\" className=\"ow-footer04__legal-links\">\n {legalLinks.map((link, index) => (\n <li key={index}>\n <Link href={link.href} variant=\"muted\">\n {link.label}\n </Link>\n </li>\n ))}\n </Text>\n ) : null}\n </div>\n\n <div className=\"ow-footer04__name\" aria-hidden=\"true\">\n <div className=\"ow-footer04__crop\">\n <span>{wordmark}</span>\n </div>\n </div>\n </div>\n </footer>\n );\n}\n", "import { useId } from \"react\";\n\nimport { cx, DotGrid, Text } from \"@openwarelabs/ui\";\n\nimport { BlockActions } from \"@blocks/shared/BlockActions\";\nimport type { Cta01Props } from \"./Cta01.types\";\n\n/** A wide panel on a dot grid with a headline on the left and the buttons on the right. */\nexport function Cta01({ title, description, primaryAction, secondaryAction, note, className, ...props }: Cta01Props) {\n const id = useId();\n return (\n <section className={cx(\"ow-cta01\", className)} aria-labelledby={id} {...props}>\n <DotGrid fade className=\"ow-cta01__panel\">\n <div className=\"ow-cta01__content\">\n <div className=\"ow-cta01__text\">\n <Text variant=\"section-title\" id={id}>\n {title}\n </Text>\n {description ? (\n <Text variant=\"lead\" className=\"ow-cta01__lead\">\n {description}\n </Text>\n ) : null}\n </div>\n <div className=\"ow-cta01__side\">\n <BlockActions className=\"ow-cta01__actions\" primary={primaryAction} secondary={secondaryAction} />\n {note ? (\n <Text as=\"p\" variant=\"caption\" className=\"ow-cta01__note\">\n {note}\n </Text>\n ) : null}\n </div>\n </div>\n </DotGrid>\n </section>\n );\n}\n", "import { useId } from \"react\";\n\nimport { cx, DotGrid, Link, Text } from \"@openwarelabs/ui\";\n\nimport { BlockActionButton } from \"@blocks/shared/BlockActions\";\nimport { ArrowRightIcon, CheckIcon } from \"@blocks/shared/icons\";\nimport type { Cta02Props } from \"./Cta02.types\";\n\n/** A centred call to action on the brand colour, with white text, a white button and a few facts. */\nexport function Cta02({ eyebrow, title, description, primaryAction, secondaryLink, facts, className, ...props }: Cta02Props) {\n const id = useId();\n return (\n <section className={cx(\"ow-cta02\", className)} aria-labelledby={id} {...props}>\n <DotGrid fade className=\"ow-cta02__plate\">\n <div className=\"ow-cta02__content\">\n {/* A Chip, redrawn for the plate: the library's white Chip would glare on the brand colour. */}\n {eyebrow ? (\n <Text as=\"p\" variant=\"body\" className=\"ow-cta02__eyebrow\">\n {eyebrow}\n </Text>\n ) : null}\n <Text as=\"h2\" variant=\"page-title\" id={id} className=\"ow-cta02__title\">\n {title}\n </Text>\n {description ? (\n <Text variant=\"lead\" className=\"ow-cta02__lead\">\n {description}\n </Text>\n ) : null}\n <div className=\"ow-cta02__actions\">\n <BlockActionButton action={primaryAction} variant=\"secondary\" className=\"ow-cta02__action\" />\n {secondaryLink ? (\n <Link href={secondaryLink.href} variant=\"standalone\" className=\"ow-cta02__link\">\n <Text variant=\"label\">{secondaryLink.label}</Text>\n <ArrowRightIcon size={16} />\n </Link>\n ) : null}\n </div>\n {facts?.length ? (\n <ul className=\"ow-cta02__facts\">\n {facts.map((fact, index) => (\n <Text as=\"li\" variant=\"body\" key={index}>\n <CheckIcon size={15} />\n {fact}\n </Text>\n ))}\n </ul>\n ) : null}\n </div>\n </DotGrid>\n </section>\n );\n}\n", "import { useId } from \"react\";\n\nimport { cx, SectionHeading, Text } from \"@openwarelabs/ui\";\n\nimport { BlockActions } from \"@blocks/shared/BlockActions\";\nimport { CheckIcon } from \"@blocks/shared/icons\";\nimport type { Cta03Props } from \"./Cta03.types\";\n\n/** Words, two buttons and a few points beside a picture. */\nexport function Cta03({ eyebrow, title, description, primaryAction, secondaryAction, points, visual, className, ...props }: Cta03Props) {\n const id = useId();\n return (\n <section className={cx(\"ow-cta03\", className)} aria-labelledby={id} {...props}>\n <div className=\"ow-cta03__inner\">\n <div>\n <SectionHeading eyebrow={eyebrow} title={<span id={id}>{title}</span>} intro={description} />\n <BlockActions className=\"ow-cta03__actions\" primary={primaryAction} secondary={secondaryAction} />\n {points?.length ? (\n <ul className=\"ow-cta03__points\">\n {points.map((point, index) => (\n <Text as=\"li\" variant=\"body\" tone=\"soft\" key={index}>\n <CheckIcon size={16} />\n {point}\n </Text>\n ))}\n </ul>\n ) : null}\n </div>\n {visual}\n </div>\n </section>\n );\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["cx", "jsx", "jsxs", "cx", "useId", "Chip", "cx", "Text", "jsx", "jsxs", "jsx", "jsxs", "useId", "cx", "Chip", "Text", "useId", "Button", "Chip", "cx", "Text", "jsx", "jsxs", "useId", "cx", "Chip", "Text", "Button", "useId", "Chip", "cx", "Text", "jsx", "jsxs", "useId", "cx", "Chip", "Text", "useId", "Chip", "cx", "Text", "jsx", "jsxs", "useId", "cx", "Chip", "Text", "useEffect", "useId", "useState", "Button", "buttonClassName", "Chip", "cx", "Text", "jsx", "jsxs", "useId", "useState", "useEffect", "icon", "buttonClassName", "Button", "cx", "Chip", "Text", "useEffect", "useState", "Button", "cx", "Link", "Link", "jsxs", "BlockBrandLink", "Fragment", "jsx", "jsxs", "useState", "useEffect", "cx", "Link", "Button", "Fragment", "useEffect", "useId", "useState", "Button", "buttonClassName", "cx", "Link", "Popover", "Text", "Fragment", "jsx", "jsxs", "Link", "Text", "useState", "useId", "useEffect", "cx", "Popover", "Button", "buttonClassName", "cx", "Link", "jsx", "jsxs", "Link", "cx", "useRef", "useState", "Button", "cx", "Link", "Menu", "MenuItem", "MenuSeparator", "Text", "Fragment", "jsx", "jsxs", "navigateTo", "useState", "useRef", "cx", "Text", "Link", "Menu", "Button", "MenuItem", "MenuSeparator", "useEffect", "useId", "useState", "Button", "buttonClassName", "cx", "Link", "Text", "Fragment", "jsx", "jsxs", "useState", "useId", "useEffect", "cx", "Link", "Button", "buttonClassName", "Text", "useId", "Badge", "cx", "Link", "Text", "jsx", "jsxs", "useId", "cx", "Text", "Badge", "Link", "useId", "useState", "Badge", "cx", "SectionHeading", "Text", "jsx", "jsxs", "useState", "useId", "cx", "SectionHeading", "Text", "Badge", "useId", "useState", "Badge", "cx", "SectionHeading", "SegmentedControl", "Text", "VisuallyHidden", "jsx", "jsxs", "useId", "useState", "VisuallyHidden", "Text", "cx", "SectionHeading", "SegmentedControl", "Badge", "useId", "Card", "cx", "SectionHeading", "Text", "jsx", "jsxs", "useId", "cx", "SectionHeading", "Card", "Text", "useId", "useState", "Card", "cx", "SectionHeading", "Text", "Fragment", "jsx", "jsxs", "useId", "useState", "cx", "SectionHeading", "Text", "Card", "useId", "cx", "SectionHeading", "Text", "jsx", "jsxs", "useId", "cx", "DotGrid", "Link", "SectionHeading", "Text", "jsx", "jsxs", "useId", "cx", "SectionHeading", "Text", "Link", "DotGrid", "useId", "cx", "SectionHeading", "Text", "jsx", "jsxs", "useId", "cx", "SectionHeading", "Text", "jsx", "jsxs", "useId", "cx", "Link", "SectionHeading", "Text", "jsx", "jsxs", "useId", "cx", "SectionHeading", "Text", "Link", "useEffect", "useId", "useState", "cx", "Link", "SegmentedControl", "Text", "useId", "Link", "Text", "Fragment", "jsx", "jsxs", "jsx", "jsxs", "useState", "useEffect", "useId", "cx", "Link", "Text", "SegmentedControl", "cx", "Link", "Text", "jsx", "jsxs", "useId", "useRef", "useState", "Button", "cx", "Input", "Link", "Separator", "Text", "jsx", "jsxs", "emailPattern", "useState", "useRef", "useId", "cx", "Text", "Button", "Input", "Link", "Separator", "cx", "Link", "Text", "Fragment", "jsx", "jsxs", "cx", "Text", "Link", "useId", "cx", "DotGrid", "Text", "jsx", "jsxs", "useId", "cx", "DotGrid", "Text", "useId", "cx", "DotGrid", "Link", "Text", "jsx", "jsxs", "useId", "cx", "DotGrid", "Text", "Link", "useId", "cx", "SectionHeading", "Text", "jsx", "jsxs", "useId", "cx", "SectionHeading", "Text"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { Pricing01Props } from "./Pricing01.types.cjs";
|
|
2
|
+
/** Plans side by side as cards, the recommended one raised, with a line for an enterprise plan below. */
|
|
3
|
+
export declare function Pricing01({ eyebrow, title, description, plans, enterprise, note, className, ...props }: Pricing01Props): import("react").JSX.Element;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { Pricing01Props } from "./Pricing01.types.js";
|
|
2
|
+
/** Plans side by side as cards, the recommended one raised, with a line for an enterprise plan below. */
|
|
3
|
+
export declare function Pricing01({ eyebrow, title, description, plans, enterprise, note, className, ...props }: Pricing01Props): import("react").JSX.Element;
|