@nswds/app 1.102.0 → 1.103.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/globals.css +102 -0
- package/dist/index.cjs +946 -142
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.js +941 -138
- package/dist/index.js.map +1 -1
- package/dist/styles.css +99 -0
- package/dist/styles.css.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
2
2
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
3
|
-
import
|
|
3
|
+
import clsx13, { clsx } from 'clsx';
|
|
4
4
|
import { twMerge } from 'tailwind-merge';
|
|
5
5
|
import { cva } from 'class-variance-authority';
|
|
6
6
|
import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
|
|
@@ -4499,7 +4499,7 @@ var Button2 = forwardRef(function Button3({ className, variant, color: color2, s
|
|
|
4499
4499
|
{
|
|
4500
4500
|
"data-variant": variant,
|
|
4501
4501
|
...props,
|
|
4502
|
-
className:
|
|
4502
|
+
className: clsx13(classes, "cursor-pointer"),
|
|
4503
4503
|
ref,
|
|
4504
4504
|
children: /* @__PURE__ */ jsx(TouchTarget, { children })
|
|
4505
4505
|
}
|
|
@@ -5958,7 +5958,7 @@ var BadgeButton = forwardRef(function BadgeButton2({
|
|
|
5958
5958
|
children,
|
|
5959
5959
|
...props
|
|
5960
5960
|
}, ref) {
|
|
5961
|
-
const classes =
|
|
5961
|
+
const classes = clsx13(className, focusOutline[color2], [
|
|
5962
5962
|
// Base
|
|
5963
5963
|
"group relative inline-flex rounded-sm",
|
|
5964
5964
|
// Focus
|
|
@@ -5980,7 +5980,7 @@ var BadgeButton = forwardRef(function BadgeButton2({
|
|
|
5980
5980
|
{
|
|
5981
5981
|
"data-variant": variant,
|
|
5982
5982
|
...props,
|
|
5983
|
-
className:
|
|
5983
|
+
className: clsx13(classes, "cursor-pointer"),
|
|
5984
5984
|
ref,
|
|
5985
5985
|
children: /* @__PURE__ */ jsx(TouchTarget, { children: /* @__PURE__ */ jsx(Badge, { variant, color: color2, size, children }) })
|
|
5986
5986
|
}
|
|
@@ -15223,7 +15223,7 @@ function Heading({
|
|
|
15223
15223
|
...props,
|
|
15224
15224
|
id: computedId,
|
|
15225
15225
|
"data-anchor": true,
|
|
15226
|
-
className:
|
|
15226
|
+
className: clsx13(
|
|
15227
15227
|
className,
|
|
15228
15228
|
trimClasses[trim],
|
|
15229
15229
|
"m-0",
|
|
@@ -16303,6 +16303,877 @@ function ColorPairingTool({
|
|
|
16303
16303
|
const normalizedVisibleFormats = [...new Set(visibleFormats)];
|
|
16304
16304
|
return /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(ColorPairingToolLoading, {}), children: /* @__PURE__ */ jsx(ColorPairingToolContent, { visibleFormats: normalizedVisibleFormats }) });
|
|
16305
16305
|
}
|
|
16306
|
+
function Text({ className, trim = "normal", size = 2, label = false, ...props }) {
|
|
16307
|
+
const textSizeClasses = {
|
|
16308
|
+
1: "text-[length:var(--font-size-1)] leading-[var(--line-height-28)] tracking-[var(--letter-spacing-0)]",
|
|
16309
|
+
2: "text-[length:var(--font-size-2)] leading-[var(--line-height-24)] tracking-[var(--letter-spacing-0)]",
|
|
16310
|
+
3: "text-[length:var(--font-size-3)] leading-[var(--line-height-20)] tracking-[var(--letter-spacing-0)]",
|
|
16311
|
+
4: "text-[length:var(--font-size-4)] leading-[var(--line-height-20)] tracking-[var(--letter-spacing-0)]"
|
|
16312
|
+
};
|
|
16313
|
+
const labelSizeClasses = {
|
|
16314
|
+
1: "text-[length:var(--font-size-1)] leading-[var(--line-height-24)] tracking-[var(--letter-spacing-0)]",
|
|
16315
|
+
2: "text-[length:var(--font-size-2)] leading-[var(--line-height-20)] tracking-[var(--letter-spacing-0)]",
|
|
16316
|
+
3: "text-[length:var(--font-size-3)] leading-[var(--line-height-16)] tracking-[var(--letter-spacing-0)]",
|
|
16317
|
+
4: "text-[length:var(--font-size-4)] leading-[var(--line-height-16)] tracking-[var(--letter-spacing-0)]"
|
|
16318
|
+
};
|
|
16319
|
+
const sizeClass = label ? labelSizeClasses[size] : textSizeClasses[size];
|
|
16320
|
+
const trimClasses = {
|
|
16321
|
+
normal: ["before:content-none after:content-none"],
|
|
16322
|
+
start: [
|
|
16323
|
+
'before:content-[""] before:table after:content-none',
|
|
16324
|
+
"before:mb-[calc(var(--leading-trim-start,var(--default-leading-trim-start))-var(--line-height,calc(1em*var(--default-line-height)))/2)]"
|
|
16325
|
+
],
|
|
16326
|
+
end: [
|
|
16327
|
+
'before:content-none after:content-[""] after:table',
|
|
16328
|
+
"after:mt-[calc(var(--leading-trim-end,var(--default-leading-trim-end))-var(--line-height,calc(1em*var(--default-line-height)))/2)]"
|
|
16329
|
+
],
|
|
16330
|
+
both: [
|
|
16331
|
+
'before:content-[""] before:table after:content-[""] after:table',
|
|
16332
|
+
"before:mb-[calc(var(--leading-trim-start,var(--default-leading-trim-start))-var(--line-height,calc(1em*var(--default-line-height)))/2)]",
|
|
16333
|
+
"after:mt-[calc(var(--leading-trim-end,var(--default-leading-trim-end))-var(--line-height,calc(1em*var(--default-line-height)))/2)]"
|
|
16334
|
+
]
|
|
16335
|
+
};
|
|
16336
|
+
return /* @__PURE__ */ jsx(
|
|
16337
|
+
"p",
|
|
16338
|
+
{
|
|
16339
|
+
"data-slot": "text",
|
|
16340
|
+
...props,
|
|
16341
|
+
className: clsx13(className, trimClasses[trim], "text-grey-800 dark:text-grey-400", sizeClass)
|
|
16342
|
+
}
|
|
16343
|
+
);
|
|
16344
|
+
}
|
|
16345
|
+
function TextLink({ className, ...props }) {
|
|
16346
|
+
return /* @__PURE__ */ jsx(
|
|
16347
|
+
Link,
|
|
16348
|
+
{
|
|
16349
|
+
...props,
|
|
16350
|
+
className: clsx13(
|
|
16351
|
+
className,
|
|
16352
|
+
"text-primary-800 underline decoration-primary-800/50 data-hover:decoration-primary-800 dark:text-white dark:decoration-white/50 dark:data-hover:decoration-white"
|
|
16353
|
+
)
|
|
16354
|
+
}
|
|
16355
|
+
);
|
|
16356
|
+
}
|
|
16357
|
+
function Strong({ className, ...props }) {
|
|
16358
|
+
return /* @__PURE__ */ jsx("strong", { ...props, className: clsx13(className, "font-medium text-grey-950 dark:text-white") });
|
|
16359
|
+
}
|
|
16360
|
+
function Code({ className, ...props }) {
|
|
16361
|
+
const hasLanguageClass = typeof className === "string" && className.includes("language-");
|
|
16362
|
+
return /* @__PURE__ */ jsx(
|
|
16363
|
+
"code",
|
|
16364
|
+
{
|
|
16365
|
+
...props,
|
|
16366
|
+
className: clsx13(
|
|
16367
|
+
className,
|
|
16368
|
+
!hasLanguageClass && "language-plaintext",
|
|
16369
|
+
"text-sm sm:text-[0.8125rem]"
|
|
16370
|
+
)
|
|
16371
|
+
}
|
|
16372
|
+
);
|
|
16373
|
+
}
|
|
16374
|
+
var PREFERRED_BACKGROUND_TONES2 = [400, 600, 200, 800, 100, 50];
|
|
16375
|
+
var DEFAULT_VISIBLE_FORMATS2 = ["hex", "rgb", "hsl", "oklch"];
|
|
16376
|
+
var DEFAULT_INITIAL_BACKGROUND_TOKEN2 = "nsw-blue-800";
|
|
16377
|
+
var DEFAULT_INITIAL_PAIR_ID2 = "nsw-blue-800:nsw-blue-200";
|
|
16378
|
+
function getToneFromToken2(token) {
|
|
16379
|
+
if (!token) return null;
|
|
16380
|
+
const match = token.match(/-(\d+)$/);
|
|
16381
|
+
return match ? Number.parseInt(match[1], 10) : null;
|
|
16382
|
+
}
|
|
16383
|
+
function getFamilySwatchColor2(family, preferredTone = 600) {
|
|
16384
|
+
const exactMatch = family.colors.find((color2) => color2.tone === preferredTone);
|
|
16385
|
+
if (exactMatch) {
|
|
16386
|
+
return exactMatch.hex;
|
|
16387
|
+
}
|
|
16388
|
+
const closestMatch = [...family.colors].sort(
|
|
16389
|
+
(left, right) => Math.abs(left.tone - preferredTone) - Math.abs(right.tone - preferredTone)
|
|
16390
|
+
)[0];
|
|
16391
|
+
return closestMatch?.hex ?? "transparent";
|
|
16392
|
+
}
|
|
16393
|
+
function getFamilySelectorLabel2(family, themeCategory, selectionRole) {
|
|
16394
|
+
if (themeCategory !== "aboriginal") {
|
|
16395
|
+
return family.label;
|
|
16396
|
+
}
|
|
16397
|
+
const preferredTone = selectionRole === "primary colour" ? 800 : 600;
|
|
16398
|
+
return family.colors.find((color2) => color2.tone === preferredTone)?.name ?? family.label;
|
|
16399
|
+
}
|
|
16400
|
+
function getPairingColorDisplayName2(color2) {
|
|
16401
|
+
return color2.name ?? color2.token;
|
|
16402
|
+
}
|
|
16403
|
+
function isWhiteForegroundPair2(pair) {
|
|
16404
|
+
return pair.foreground.token === "white";
|
|
16405
|
+
}
|
|
16406
|
+
function getWhiteForegroundGuidance2(pair) {
|
|
16407
|
+
if (pair.passes.aaaText) {
|
|
16408
|
+
return "White is approved for headings, body copy, and calls to action on this background.";
|
|
16409
|
+
}
|
|
16410
|
+
if (pair.passes.aaaLarge) {
|
|
16411
|
+
return "Use white only for WCAG large text on this background, such as headings at 24px+ or bold text at 18.5px+. Keep sentence-case body copy at 16px+ and use a darker recommended foreground instead.";
|
|
16412
|
+
}
|
|
16413
|
+
return "Do not use white on this background. Choose one of the recommended foregrounds below instead.";
|
|
16414
|
+
}
|
|
16415
|
+
function getPreviewGuidance2(pair, isRecommended) {
|
|
16416
|
+
if (!isWhiteForegroundPair2(pair)) {
|
|
16417
|
+
return "Use only AAA-recommended combinations across your selected primary, accent, and grey families.";
|
|
16418
|
+
}
|
|
16419
|
+
if (isRecommended) {
|
|
16420
|
+
return "Use white text on dark colour only when it meets AAA for headings, body copy, and calls to action.";
|
|
16421
|
+
}
|
|
16422
|
+
return getWhiteForegroundGuidance2(pair);
|
|
16423
|
+
}
|
|
16424
|
+
function getReadableTextColor(tone) {
|
|
16425
|
+
return tone >= 600 ? "#ffffff" : "#002664";
|
|
16426
|
+
}
|
|
16427
|
+
function getPreferredPairForBackground2(pairs, preferredPairId) {
|
|
16428
|
+
if (preferredPairId) {
|
|
16429
|
+
const preferredPair = pairs.find((pair) => pair.id === preferredPairId);
|
|
16430
|
+
if (preferredPair) {
|
|
16431
|
+
return preferredPair;
|
|
16432
|
+
}
|
|
16433
|
+
}
|
|
16434
|
+
return pairs.find((pair) => !isWhiteForegroundPair2(pair)) ?? pairs[0] ?? null;
|
|
16435
|
+
}
|
|
16436
|
+
function getDefaultBackgroundToken2(context) {
|
|
16437
|
+
for (const tone of PREFERRED_BACKGROUND_TONES2) {
|
|
16438
|
+
for (const group of context.backgroundGroups) {
|
|
16439
|
+
const match = group.backgrounds.find(
|
|
16440
|
+
(background) => background.tone === tone && (context.pairsByBackground[background.token]?.length ?? 0) > 0
|
|
16441
|
+
);
|
|
16442
|
+
if (match) {
|
|
16443
|
+
return match.token;
|
|
16444
|
+
}
|
|
16445
|
+
}
|
|
16446
|
+
}
|
|
16447
|
+
for (const tone of PREFERRED_BACKGROUND_TONES2) {
|
|
16448
|
+
for (const group of context.backgroundGroups) {
|
|
16449
|
+
const match = group.backgrounds.find((background) => background.tone === tone);
|
|
16450
|
+
if (match) {
|
|
16451
|
+
return match.token;
|
|
16452
|
+
}
|
|
16453
|
+
}
|
|
16454
|
+
}
|
|
16455
|
+
return context.backgrounds[0]?.token ?? "";
|
|
16456
|
+
}
|
|
16457
|
+
function resolveBackgroundToken2(context, preferredToken, preferredTone) {
|
|
16458
|
+
if (preferredToken && context.backgrounds.some((background) => background.token === preferredToken)) {
|
|
16459
|
+
return preferredToken;
|
|
16460
|
+
}
|
|
16461
|
+
if (preferredTone !== null && preferredTone !== void 0) {
|
|
16462
|
+
for (const group of context.backgroundGroups) {
|
|
16463
|
+
const match = group.backgrounds.find((background) => background.tone === preferredTone);
|
|
16464
|
+
if (match) {
|
|
16465
|
+
return match.token;
|
|
16466
|
+
}
|
|
16467
|
+
}
|
|
16468
|
+
}
|
|
16469
|
+
return getDefaultBackgroundToken2(context);
|
|
16470
|
+
}
|
|
16471
|
+
function getInitialPairingState2(searchParams) {
|
|
16472
|
+
const paletteParam = searchParams.get("palette");
|
|
16473
|
+
const primaryParam = searchParams.get("primary");
|
|
16474
|
+
const accentParam = searchParams.get("accent");
|
|
16475
|
+
const pairParam = searchParams.get("pair");
|
|
16476
|
+
const backgroundParam = searchParams.get("background");
|
|
16477
|
+
const themeCategory = paletteParam === "brand" || paletteParam === "aboriginal" ? paletteParam : "brand";
|
|
16478
|
+
const context = getPairingContext(themeCategory, primaryParam, accentParam);
|
|
16479
|
+
const shouldUseDefaultBrandExample = !backgroundParam && !pairParam && themeCategory === "brand" && context.primary.key === "blue" && context.accent.key === "red";
|
|
16480
|
+
const defaultBackgroundToken = shouldUseDefaultBrandExample ? context.backgrounds.some(
|
|
16481
|
+
(background) => background.token === DEFAULT_INITIAL_BACKGROUND_TOKEN2
|
|
16482
|
+
) ? DEFAULT_INITIAL_BACKGROUND_TOKEN2 : null : null;
|
|
16483
|
+
const defaultPairId = shouldUseDefaultBrandExample && defaultBackgroundToken && context.pairsByBackground[defaultBackgroundToken]?.some(
|
|
16484
|
+
(pair) => pair.id === DEFAULT_INITIAL_PAIR_ID2
|
|
16485
|
+
) ? DEFAULT_INITIAL_PAIR_ID2 : null;
|
|
16486
|
+
const pairBackgroundToken = context.recommendedPairs.find((pair) => pair.id === pairParam)?.background.token ?? null;
|
|
16487
|
+
const selectedBackgroundToken = resolveBackgroundToken2(
|
|
16488
|
+
context,
|
|
16489
|
+
backgroundParam ?? pairBackgroundToken ?? defaultBackgroundToken,
|
|
16490
|
+
getToneFromToken2(backgroundParam ?? pairBackgroundToken ?? defaultBackgroundToken)
|
|
16491
|
+
);
|
|
16492
|
+
const selectedPairId = getPreferredPairForBackground2(
|
|
16493
|
+
context.pairsByBackground[selectedBackgroundToken] ?? [],
|
|
16494
|
+
pairParam ?? defaultPairId
|
|
16495
|
+
)?.id ?? "";
|
|
16496
|
+
return {
|
|
16497
|
+
accentKey: context.accent.key,
|
|
16498
|
+
primaryKey: context.primary.key,
|
|
16499
|
+
selectedBackgroundToken,
|
|
16500
|
+
selectedPairId,
|
|
16501
|
+
themeCategory
|
|
16502
|
+
};
|
|
16503
|
+
}
|
|
16504
|
+
function ColorPairingToolV2Loading() {
|
|
16505
|
+
return /* @__PURE__ */ jsxs("div", { className: "grid gap-8 lg:grid-cols-[18rem_minmax(0,1fr)]", children: [
|
|
16506
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-6 bg-grey-50/70 p-6", children: [
|
|
16507
|
+
/* @__PURE__ */ jsx("div", { className: "h-10 rounded-sm bg-grey-100" }),
|
|
16508
|
+
/* @__PURE__ */ jsx("div", { className: "h-40 rounded-sm bg-grey-100" }),
|
|
16509
|
+
/* @__PURE__ */ jsx("div", { className: "h-52 rounded-sm bg-grey-100" })
|
|
16510
|
+
] }),
|
|
16511
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
|
|
16512
|
+
/* @__PURE__ */ jsx("div", { className: "h-12 rounded-sm bg-grey-100" }),
|
|
16513
|
+
/* @__PURE__ */ jsx("div", { className: "h-64 rounded-sm bg-grey-100" }),
|
|
16514
|
+
/* @__PURE__ */ jsx("div", { className: "h-40 rounded-sm bg-grey-100" }),
|
|
16515
|
+
/* @__PURE__ */ jsxs("div", { className: "grid gap-4 md:grid-cols-2 xl:grid-cols-3", children: [
|
|
16516
|
+
/* @__PURE__ */ jsx("div", { className: "h-44 rounded-sm bg-grey-100" }),
|
|
16517
|
+
/* @__PURE__ */ jsx("div", { className: "h-44 rounded-sm bg-grey-100" }),
|
|
16518
|
+
/* @__PURE__ */ jsx("div", { className: "h-44 rounded-sm bg-grey-100" })
|
|
16519
|
+
] })
|
|
16520
|
+
] })
|
|
16521
|
+
] });
|
|
16522
|
+
}
|
|
16523
|
+
function SidebarStep({
|
|
16524
|
+
children,
|
|
16525
|
+
description,
|
|
16526
|
+
step,
|
|
16527
|
+
title
|
|
16528
|
+
}) {
|
|
16529
|
+
return /* @__PURE__ */ jsxs("section", { className: "space-y-4", children: [
|
|
16530
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
16531
|
+
/* @__PURE__ */ jsxs("p", { className: "text-[0.72rem] font-semibold tracking-[0.12em] text-muted-foreground uppercase", children: [
|
|
16532
|
+
"Step ",
|
|
16533
|
+
step
|
|
16534
|
+
] }),
|
|
16535
|
+
/* @__PURE__ */ jsx(Heading, { level: 3, size: 6, className: "text-foreground", trim: "normal", children: title }),
|
|
16536
|
+
description ? /* @__PURE__ */ jsx("p", { className: "text-sm/6 text-muted-foreground", children: description }) : null
|
|
16537
|
+
] }),
|
|
16538
|
+
children
|
|
16539
|
+
] });
|
|
16540
|
+
}
|
|
16541
|
+
function PreviewHeroCard({
|
|
16542
|
+
familySummary,
|
|
16543
|
+
isRecommended,
|
|
16544
|
+
pair
|
|
16545
|
+
}) {
|
|
16546
|
+
const whiteForeground = isWhiteForegroundPair2(pair);
|
|
16547
|
+
const statusLabel = isRecommended ? "Pass" : pair.passes.aaaLarge ? "Large text only" : "Example only";
|
|
16548
|
+
const StatusIcon = isRecommended ? Icons.check : Icons.info;
|
|
16549
|
+
const fauxButtonStyle = {
|
|
16550
|
+
"--btn-bg": pair.foreground.hex,
|
|
16551
|
+
"--btn-border": pair.foreground.hex,
|
|
16552
|
+
"--btn-text": pair.background.hex,
|
|
16553
|
+
"--btn-icon": pair.background.hex,
|
|
16554
|
+
"--btn-hover-overlay": pair.background.hex
|
|
16555
|
+
};
|
|
16556
|
+
return /* @__PURE__ */ jsx(Card, { className: "gap-0 overflow-hidden py-0", children: /* @__PURE__ */ jsx(
|
|
16557
|
+
"div",
|
|
16558
|
+
{
|
|
16559
|
+
className: "p-6 sm:min-h-[26rem] sm:p-8",
|
|
16560
|
+
style: {
|
|
16561
|
+
backgroundColor: pair.background.hex,
|
|
16562
|
+
color: pair.foreground.hex
|
|
16563
|
+
},
|
|
16564
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex min-h-[22rem] flex-col justify-between gap-8", children: [
|
|
16565
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
16566
|
+
/* @__PURE__ */ jsxs(
|
|
16567
|
+
"span",
|
|
16568
|
+
{
|
|
16569
|
+
className: "inline-flex items-center gap-2 rounded-full border px-3 py-1 text-[0.72rem] font-semibold tracking-[0.16em] uppercase",
|
|
16570
|
+
style: {
|
|
16571
|
+
borderColor: pair.foreground.hex,
|
|
16572
|
+
backgroundColor: pair.foreground.hex,
|
|
16573
|
+
color: pair.background.hex
|
|
16574
|
+
},
|
|
16575
|
+
children: [
|
|
16576
|
+
/* @__PURE__ */ jsx(Icons.palette, { "data-slot": "icon", className: "size-4" }),
|
|
16577
|
+
familySummary
|
|
16578
|
+
]
|
|
16579
|
+
}
|
|
16580
|
+
),
|
|
16581
|
+
/* @__PURE__ */ jsxs(
|
|
16582
|
+
"span",
|
|
16583
|
+
{
|
|
16584
|
+
className: "inline-flex rounded-full border px-3 py-1 text-[0.72rem] font-semibold tracking-[0.16em] uppercase",
|
|
16585
|
+
style: {
|
|
16586
|
+
borderColor: pair.foreground.hex
|
|
16587
|
+
},
|
|
16588
|
+
children: [
|
|
16589
|
+
pair.rating,
|
|
16590
|
+
" ",
|
|
16591
|
+
pair.contrastRatio.toFixed(2),
|
|
16592
|
+
":1"
|
|
16593
|
+
]
|
|
16594
|
+
}
|
|
16595
|
+
)
|
|
16596
|
+
] }),
|
|
16597
|
+
/* @__PURE__ */ jsxs("div", { className: "max-w-xl space-y-4 pb-12 sm:pb-16", children: [
|
|
16598
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm font-semibold tracking-[0.22em] uppercase", children: whiteForeground && !isRecommended ? "White on colour example" : whiteForeground ? "White on colour" : "Colour on colour" }),
|
|
16599
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
16600
|
+
/* @__PURE__ */ jsx("h3", { className: "max-w-lg text-4xl leading-none font-bold text-current sm:text-5xl", children: "Pair colour with confidence." }),
|
|
16601
|
+
/* @__PURE__ */ jsx("p", { className: "max-w-md text-base/6 sm:text-base/7", children: getPreviewGuidance2(pair, isRecommended) }),
|
|
16602
|
+
/* @__PURE__ */ jsx(
|
|
16603
|
+
"span",
|
|
16604
|
+
{
|
|
16605
|
+
"aria-hidden": "true",
|
|
16606
|
+
"data-variant": "solid",
|
|
16607
|
+
className: cn(
|
|
16608
|
+
buttonVariants({ variant: "solid", size: "default" }),
|
|
16609
|
+
"pointer-events-none cursor-default px-6 text-[16px] font-[700] select-none sm:px-6 sm:text-[16px] sm:font-[700]"
|
|
16610
|
+
),
|
|
16611
|
+
style: fauxButtonStyle,
|
|
16612
|
+
children: "Get started"
|
|
16613
|
+
}
|
|
16614
|
+
)
|
|
16615
|
+
] })
|
|
16616
|
+
] }),
|
|
16617
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-3", children: [
|
|
16618
|
+
/* @__PURE__ */ jsxs(
|
|
16619
|
+
"span",
|
|
16620
|
+
{
|
|
16621
|
+
className: "inline-flex items-center gap-2 rounded-full px-4 py-2 text-sm font-semibold",
|
|
16622
|
+
style: {
|
|
16623
|
+
backgroundColor: pair.foreground.hex,
|
|
16624
|
+
color: pair.background.hex
|
|
16625
|
+
},
|
|
16626
|
+
children: [
|
|
16627
|
+
statusLabel,
|
|
16628
|
+
/* @__PURE__ */ jsx(StatusIcon, { "data-slot": "icon", className: "size-4" })
|
|
16629
|
+
]
|
|
16630
|
+
}
|
|
16631
|
+
),
|
|
16632
|
+
/* @__PURE__ */ jsxs(
|
|
16633
|
+
"span",
|
|
16634
|
+
{
|
|
16635
|
+
className: "inline-flex rounded-full border px-4 py-2 text-sm",
|
|
16636
|
+
style: {
|
|
16637
|
+
borderColor: pair.foreground.hex
|
|
16638
|
+
},
|
|
16639
|
+
children: [
|
|
16640
|
+
pair.background.token,
|
|
16641
|
+
" / ",
|
|
16642
|
+
pair.foreground.token
|
|
16643
|
+
]
|
|
16644
|
+
}
|
|
16645
|
+
)
|
|
16646
|
+
] })
|
|
16647
|
+
] })
|
|
16648
|
+
}
|
|
16649
|
+
) });
|
|
16650
|
+
}
|
|
16651
|
+
function PreviewFallbackCard2({ background }) {
|
|
16652
|
+
return /* @__PURE__ */ jsx(Card, { className: "gap-0 overflow-hidden py-0", children: /* @__PURE__ */ jsxs(
|
|
16653
|
+
"div",
|
|
16654
|
+
{
|
|
16655
|
+
className: "space-y-6 px-6 py-7 sm:px-8 sm:py-8",
|
|
16656
|
+
style: {
|
|
16657
|
+
backgroundColor: background.hex,
|
|
16658
|
+
color: getReadableTextColor(background.tone)
|
|
16659
|
+
},
|
|
16660
|
+
children: [
|
|
16661
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm font-semibold", children: "Hero preview" }),
|
|
16662
|
+
/* @__PURE__ */ jsxs("div", { className: "max-w-xl space-y-4", children: [
|
|
16663
|
+
/* @__PURE__ */ jsx("h3", { className: "max-w-lg text-3xl leading-tight font-bold sm:text-4xl", children: "No AAA combination available." }),
|
|
16664
|
+
/* @__PURE__ */ jsx("p", { className: "max-w-lg text-base/7", children: "This background tone is approved, but there are no recommended AAA foreground pairings available for it in the current tool." })
|
|
16665
|
+
] })
|
|
16666
|
+
]
|
|
16667
|
+
}
|
|
16668
|
+
) });
|
|
16669
|
+
}
|
|
16670
|
+
function PairDetailCard2({
|
|
16671
|
+
color: color2,
|
|
16672
|
+
role,
|
|
16673
|
+
visibleFormats
|
|
16674
|
+
}) {
|
|
16675
|
+
const [, copyToClipboardRaw] = useCopyToClipboard();
|
|
16676
|
+
const [copiedField, setCopiedField] = useState(null);
|
|
16677
|
+
const copiedFieldTimeoutRef = useRef(null);
|
|
16678
|
+
const hasDisplayTone = color2.token !== "white";
|
|
16679
|
+
const formatRows = visibleFormats.map((format) => ({
|
|
16680
|
+
key: format,
|
|
16681
|
+
label: format.toUpperCase(),
|
|
16682
|
+
value: color2[format],
|
|
16683
|
+
mono: true,
|
|
16684
|
+
copyable: true
|
|
16685
|
+
}));
|
|
16686
|
+
const valueRows = [
|
|
16687
|
+
{ key: "token", label: "Token", value: color2.token, mono: true, copyable: true },
|
|
16688
|
+
{
|
|
16689
|
+
key: "tone",
|
|
16690
|
+
label: "Tone",
|
|
16691
|
+
value: hasDisplayTone ? String(color2.tone) : "Not applicable",
|
|
16692
|
+
mono: false,
|
|
16693
|
+
copyable: hasDisplayTone
|
|
16694
|
+
},
|
|
16695
|
+
...formatRows
|
|
16696
|
+
];
|
|
16697
|
+
useEffect(() => {
|
|
16698
|
+
return () => {
|
|
16699
|
+
if (copiedFieldTimeoutRef.current) {
|
|
16700
|
+
clearTimeout(copiedFieldTimeoutRef.current);
|
|
16701
|
+
}
|
|
16702
|
+
};
|
|
16703
|
+
}, []);
|
|
16704
|
+
const copyField = (field) => {
|
|
16705
|
+
if (field === "tone" && !hasDisplayTone) {
|
|
16706
|
+
return;
|
|
16707
|
+
}
|
|
16708
|
+
const fieldValue = valueRows.find((row) => row.key === field)?.value;
|
|
16709
|
+
if (!fieldValue) return;
|
|
16710
|
+
copyToClipboardRaw(fieldValue);
|
|
16711
|
+
setCopiedField(field);
|
|
16712
|
+
const toastLabel = valueRows.find((row) => row.key === field)?.label ?? "Value";
|
|
16713
|
+
toast(`${toastLabel} copied to clipboard`, {
|
|
16714
|
+
duration: 2e3
|
|
16715
|
+
});
|
|
16716
|
+
if (copiedFieldTimeoutRef.current) {
|
|
16717
|
+
clearTimeout(copiedFieldTimeoutRef.current);
|
|
16718
|
+
}
|
|
16719
|
+
copiedFieldTimeoutRef.current = setTimeout(() => {
|
|
16720
|
+
setCopiedField(null);
|
|
16721
|
+
copiedFieldTimeoutRef.current = null;
|
|
16722
|
+
}, 2e3);
|
|
16723
|
+
};
|
|
16724
|
+
const renderCopyButton = (field, srLabel, className) => /* @__PURE__ */ jsxs(
|
|
16725
|
+
Button2,
|
|
16726
|
+
{
|
|
16727
|
+
variant: "ghost",
|
|
16728
|
+
size: "icon",
|
|
16729
|
+
className: cn("shrink-0", className),
|
|
16730
|
+
onClick: () => copyField(field),
|
|
16731
|
+
children: [
|
|
16732
|
+
copiedField === field ? /* @__PURE__ */ jsx(Icons.check, { "data-slot": "icon", className: "size-5" }) : /* @__PURE__ */ jsx(Icons.content_copy, { "data-slot": "icon", className: "size-5" }),
|
|
16733
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: srLabel })
|
|
16734
|
+
]
|
|
16735
|
+
}
|
|
16736
|
+
);
|
|
16737
|
+
return /* @__PURE__ */ jsxs(Card, { className: "gap-0 pb-0", children: [
|
|
16738
|
+
/* @__PURE__ */ jsxs(CardHeader, { className: "gap-4 border-b", children: [
|
|
16739
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
16740
|
+
/* @__PURE__ */ jsx(CardTitle, { children: role }),
|
|
16741
|
+
/* @__PURE__ */ jsx(CardDescription, { children: color2.name ?? color2.token })
|
|
16742
|
+
] }),
|
|
16743
|
+
/* @__PURE__ */ jsx(
|
|
16744
|
+
"div",
|
|
16745
|
+
{
|
|
16746
|
+
className: "h-14 w-full rounded-sm border border-grey-200 shadow-sm dark:border-grey-700",
|
|
16747
|
+
style: { backgroundColor: color2.hex }
|
|
16748
|
+
}
|
|
16749
|
+
)
|
|
16750
|
+
] }),
|
|
16751
|
+
/* @__PURE__ */ jsx(CardContent, { className: "px-0 pb-3", children: /* @__PURE__ */ jsx("div", { className: "divide-y divide-grey-100 dark:divide-grey-800", children: valueRows.map((row) => /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-4 px-6 py-3", children: [
|
|
16752
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
16753
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs font-semibold tracking-[0.16em] text-muted-foreground uppercase", children: row.label }),
|
|
16754
|
+
/* @__PURE__ */ jsx(
|
|
16755
|
+
"p",
|
|
16756
|
+
{
|
|
16757
|
+
className: cn(
|
|
16758
|
+
"mt-2 min-w-0 text-base text-foreground",
|
|
16759
|
+
row.mono && "font-mono text-sm break-all sm:text-base"
|
|
16760
|
+
),
|
|
16761
|
+
children: row.value
|
|
16762
|
+
}
|
|
16763
|
+
)
|
|
16764
|
+
] }),
|
|
16765
|
+
row.copyable ? renderCopyButton(
|
|
16766
|
+
row.key,
|
|
16767
|
+
`Copy ${role.toLowerCase()} ${row.label.toLowerCase()}`,
|
|
16768
|
+
"mt-0.5"
|
|
16769
|
+
) : null
|
|
16770
|
+
] }, row.key)) }) })
|
|
16771
|
+
] });
|
|
16772
|
+
}
|
|
16773
|
+
function AccessibilityScoreCard({ pair }) {
|
|
16774
|
+
return /* @__PURE__ */ jsxs(Card, { className: "gap-0 py-0", children: [
|
|
16775
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-5 px-6 py-6 sm:flex-row sm:items-end sm:justify-between", children: [
|
|
16776
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
16777
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm font-semibold text-foreground", children: "Accessibility score" }),
|
|
16778
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
16779
|
+
/* @__PURE__ */ jsx("p", { className: "text-5xl leading-none font-bold text-foreground", children: pair ? `${pair.contrastRatio.toFixed(2)}:1` : "N/A" }),
|
|
16780
|
+
/* @__PURE__ */ jsx("p", { className: "text-base text-muted-foreground", children: "Contrast ratio" })
|
|
16781
|
+
] })
|
|
16782
|
+
] }),
|
|
16783
|
+
/* @__PURE__ */ jsx(
|
|
16784
|
+
"span",
|
|
16785
|
+
{
|
|
16786
|
+
className: cn(
|
|
16787
|
+
"inline-flex items-center gap-2 rounded-full px-4 py-2 text-base font-semibold",
|
|
16788
|
+
pair ? "bg-success-700 text-white" : "border border-grey-300 bg-background text-foreground"
|
|
16789
|
+
),
|
|
16790
|
+
children: pair ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
16791
|
+
"Pass AAA",
|
|
16792
|
+
/* @__PURE__ */ jsx(Icons.check, { "data-slot": "icon", className: "size-5" })
|
|
16793
|
+
] }) : "No AAA result"
|
|
16794
|
+
}
|
|
16795
|
+
)
|
|
16796
|
+
] }),
|
|
16797
|
+
/* @__PURE__ */ jsx("div", { className: "border-t border-grey-200 px-6 py-4 dark:border-grey-700", children: /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: pair ? "Meets WCAG 2.1 AAA standards for large and normal text." : "Choose a different approved background tone to review recommended AAA pairings." }) })
|
|
16798
|
+
] });
|
|
16799
|
+
}
|
|
16800
|
+
function RecommendedPairCard({
|
|
16801
|
+
isSelected,
|
|
16802
|
+
onSelect,
|
|
16803
|
+
pair
|
|
16804
|
+
}) {
|
|
16805
|
+
return /* @__PURE__ */ jsxs(
|
|
16806
|
+
"button",
|
|
16807
|
+
{
|
|
16808
|
+
type: "button",
|
|
16809
|
+
"aria-label": `Use ${getPairingColorDisplayName2(pair.foreground)} on ${getPairingColorDisplayName2(pair.background)}`,
|
|
16810
|
+
"aria-pressed": isSelected,
|
|
16811
|
+
onClick: onSelect,
|
|
16812
|
+
className: cn(
|
|
16813
|
+
"overflow-hidden rounded-sm border bg-background text-left transition-colors",
|
|
16814
|
+
isSelected ? "border-primary-700 ring-2 ring-primary-700 ring-offset-2 ring-offset-background" : "border-grey-200 hover:border-grey-400 dark:border-grey-700 dark:hover:border-grey-500"
|
|
16815
|
+
),
|
|
16816
|
+
children: [
|
|
16817
|
+
/* @__PURE__ */ jsxs(
|
|
16818
|
+
"div",
|
|
16819
|
+
{
|
|
16820
|
+
className: "min-h-32 space-y-3 px-4 py-4",
|
|
16821
|
+
style: {
|
|
16822
|
+
backgroundColor: pair.background.hex,
|
|
16823
|
+
color: pair.foreground.hex
|
|
16824
|
+
},
|
|
16825
|
+
children: [
|
|
16826
|
+
/* @__PURE__ */ jsxs("p", { className: "text-[0.68rem] font-semibold tracking-[0.12em] uppercase opacity-90", children: [
|
|
16827
|
+
pair.background.token,
|
|
16828
|
+
" / ",
|
|
16829
|
+
pair.foreground.token
|
|
16830
|
+
] }),
|
|
16831
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
16832
|
+
/* @__PURE__ */ jsx("p", { className: "text-2xl leading-tight font-bold", children: getPairingColorDisplayName2(pair.foreground) }),
|
|
16833
|
+
/* @__PURE__ */ jsxs("p", { className: "text-sm/6 opacity-90", children: [
|
|
16834
|
+
pair.foreground.familyLabel,
|
|
16835
|
+
" on ",
|
|
16836
|
+
pair.background.familyLabel
|
|
16837
|
+
] })
|
|
16838
|
+
] })
|
|
16839
|
+
]
|
|
16840
|
+
}
|
|
16841
|
+
),
|
|
16842
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-4 px-4 py-3", children: [
|
|
16843
|
+
/* @__PURE__ */ jsxs("span", { className: "text-sm font-semibold text-foreground", children: [
|
|
16844
|
+
pair.contrastRatio.toFixed(2),
|
|
16845
|
+
":1"
|
|
16846
|
+
] }),
|
|
16847
|
+
/* @__PURE__ */ jsx("span", { className: "inline-flex items-center gap-1 rounded-full bg-success-50 px-2.5 py-1 text-xs font-semibold text-success-800 dark:bg-success-950/30 dark:text-success-200", children: "AAA" })
|
|
16848
|
+
] })
|
|
16849
|
+
]
|
|
16850
|
+
}
|
|
16851
|
+
);
|
|
16852
|
+
}
|
|
16853
|
+
function ColorPairingToolV2Content({ visibleFormats }) {
|
|
16854
|
+
const searchParams = useSearchParams();
|
|
16855
|
+
const [initialState] = useState(() => getInitialPairingState2(searchParams));
|
|
16856
|
+
const [themeCategory, setThemeCategory] = useState(initialState.themeCategory);
|
|
16857
|
+
const [primaryFamilyKey, setPrimaryFamilyKey] = useState(initialState.primaryKey);
|
|
16858
|
+
const [accentFamilyKey, setAccentFamilyKey] = useState(initialState.accentKey);
|
|
16859
|
+
const [selectedBackgroundToken, setSelectedBackgroundToken] = useState(
|
|
16860
|
+
initialState.selectedBackgroundToken
|
|
16861
|
+
);
|
|
16862
|
+
const [selectedPairId, setSelectedPairId] = useState(initialState.selectedPairId);
|
|
16863
|
+
const themeFamilies = getPairingFamilies(themeCategory);
|
|
16864
|
+
const context = getPairingContext(themeCategory, primaryFamilyKey, accentFamilyKey);
|
|
16865
|
+
const selectableFamilies = themeFamilies.filter((family) => family.key !== context.grey.key);
|
|
16866
|
+
const selectableAccentFamilies = selectableFamilies.filter(
|
|
16867
|
+
(family) => family.key !== context.primary.key
|
|
16868
|
+
);
|
|
16869
|
+
const selectedBackground = context.backgrounds.find((background) => background.token === selectedBackgroundToken) ?? context.backgrounds[0] ?? null;
|
|
16870
|
+
const selectedBackgroundPairs = selectedBackground ? context.pairsByBackground[selectedBackground.token] ?? [] : [];
|
|
16871
|
+
const selectedPair = getPreferredPairForBackground2(selectedBackgroundPairs, selectedPairId);
|
|
16872
|
+
const detailForeground = selectedPair?.foreground ?? null;
|
|
16873
|
+
const familySummary = [context.primary.label, context.accent.label, context.grey.label].join(
|
|
16874
|
+
" + "
|
|
16875
|
+
);
|
|
16876
|
+
const updateUrlParams = (nextThemeCategory, nextPrimaryKey, nextAccentKey, nextSelectedBackgroundToken, nextSelectedPairId) => {
|
|
16877
|
+
const params = new URLSearchParams(window.location.search);
|
|
16878
|
+
params.delete("family");
|
|
16879
|
+
params.set("palette", nextThemeCategory);
|
|
16880
|
+
params.set("primary", nextPrimaryKey);
|
|
16881
|
+
params.set("accent", nextAccentKey);
|
|
16882
|
+
params.set("background", nextSelectedBackgroundToken);
|
|
16883
|
+
if (nextSelectedPairId) {
|
|
16884
|
+
params.set("pair", nextSelectedPairId);
|
|
16885
|
+
} else {
|
|
16886
|
+
params.delete("pair");
|
|
16887
|
+
}
|
|
16888
|
+
window.history.replaceState(
|
|
16889
|
+
null,
|
|
16890
|
+
"",
|
|
16891
|
+
`${window.location.pathname}?${params.toString()}${window.location.hash}`
|
|
16892
|
+
);
|
|
16893
|
+
};
|
|
16894
|
+
const syncSelection = (nextThemeCategory, nextPrimaryKey, nextAccentKey, preferredBackgroundToken, preferredPairId) => {
|
|
16895
|
+
const nextContext = getPairingContext(nextThemeCategory, nextPrimaryKey, nextAccentKey);
|
|
16896
|
+
const nextSelectedBackgroundToken = resolveBackgroundToken2(
|
|
16897
|
+
nextContext,
|
|
16898
|
+
preferredBackgroundToken,
|
|
16899
|
+
getToneFromToken2(preferredBackgroundToken)
|
|
16900
|
+
);
|
|
16901
|
+
const nextSelectedPairId = getPreferredPairForBackground2(
|
|
16902
|
+
nextContext.pairsByBackground[nextSelectedBackgroundToken] ?? [],
|
|
16903
|
+
preferredPairId
|
|
16904
|
+
)?.id ?? "";
|
|
16905
|
+
setThemeCategory(nextThemeCategory);
|
|
16906
|
+
setPrimaryFamilyKey(nextContext.primary.key);
|
|
16907
|
+
setAccentFamilyKey(nextContext.accent.key);
|
|
16908
|
+
setSelectedBackgroundToken(nextSelectedBackgroundToken);
|
|
16909
|
+
setSelectedPairId(nextSelectedPairId);
|
|
16910
|
+
updateUrlParams(
|
|
16911
|
+
nextThemeCategory,
|
|
16912
|
+
nextContext.primary.key,
|
|
16913
|
+
nextContext.accent.key,
|
|
16914
|
+
nextSelectedBackgroundToken,
|
|
16915
|
+
nextSelectedPairId
|
|
16916
|
+
);
|
|
16917
|
+
};
|
|
16918
|
+
const handleThemeCategoryChange = (nextThemeCategory) => {
|
|
16919
|
+
syncSelection(
|
|
16920
|
+
nextThemeCategory,
|
|
16921
|
+
primaryFamilyKey,
|
|
16922
|
+
accentFamilyKey,
|
|
16923
|
+
selectedBackgroundToken,
|
|
16924
|
+
selectedPairId
|
|
16925
|
+
);
|
|
16926
|
+
};
|
|
16927
|
+
const handlePrimaryColorChange = (nextPrimaryKey) => {
|
|
16928
|
+
const nextAccentKey = nextPrimaryKey === accentFamilyKey ? getDefaultAccentFamilyKey(themeCategory, nextPrimaryKey) : accentFamilyKey;
|
|
16929
|
+
syncSelection(
|
|
16930
|
+
themeCategory,
|
|
16931
|
+
nextPrimaryKey,
|
|
16932
|
+
nextAccentKey,
|
|
16933
|
+
selectedBackgroundToken,
|
|
16934
|
+
selectedPairId
|
|
16935
|
+
);
|
|
16936
|
+
};
|
|
16937
|
+
const handleAccentColorChange = (nextAccentKey) => {
|
|
16938
|
+
if (nextAccentKey === primaryFamilyKey) return;
|
|
16939
|
+
syncSelection(
|
|
16940
|
+
themeCategory,
|
|
16941
|
+
primaryFamilyKey,
|
|
16942
|
+
nextAccentKey,
|
|
16943
|
+
selectedBackgroundToken,
|
|
16944
|
+
selectedPairId
|
|
16945
|
+
);
|
|
16946
|
+
};
|
|
16947
|
+
const handleBackgroundChange = (nextSelectedBackgroundToken) => {
|
|
16948
|
+
const nextSelectedPairId = getPreferredPairForBackground2(
|
|
16949
|
+
context.pairsByBackground[nextSelectedBackgroundToken] ?? [],
|
|
16950
|
+
selectedPairId
|
|
16951
|
+
)?.id ?? "";
|
|
16952
|
+
setSelectedBackgroundToken(nextSelectedBackgroundToken);
|
|
16953
|
+
setSelectedPairId(nextSelectedPairId);
|
|
16954
|
+
updateUrlParams(
|
|
16955
|
+
themeCategory,
|
|
16956
|
+
context.primary.key,
|
|
16957
|
+
context.accent.key,
|
|
16958
|
+
nextSelectedBackgroundToken,
|
|
16959
|
+
nextSelectedPairId
|
|
16960
|
+
);
|
|
16961
|
+
};
|
|
16962
|
+
const handlePairChange = (nextSelectedPairId) => {
|
|
16963
|
+
if (!selectedBackground) return;
|
|
16964
|
+
setSelectedPairId(nextSelectedPairId);
|
|
16965
|
+
updateUrlParams(
|
|
16966
|
+
themeCategory,
|
|
16967
|
+
context.primary.key,
|
|
16968
|
+
context.accent.key,
|
|
16969
|
+
selectedBackground.token,
|
|
16970
|
+
nextSelectedPairId
|
|
16971
|
+
);
|
|
16972
|
+
};
|
|
16973
|
+
if (!selectedBackground) {
|
|
16974
|
+
return /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsxs("div", { className: "px-6", children: [
|
|
16975
|
+
/* @__PURE__ */ jsx(Heading, { level: 3, size: 5, className: "text-foreground", trim: "normal", children: "No approved background tones available" }),
|
|
16976
|
+
/* @__PURE__ */ jsx("p", { className: "mt-3 text-base text-muted-foreground", children: "No approved tones are available for the current palette." })
|
|
16977
|
+
] }) });
|
|
16978
|
+
}
|
|
16979
|
+
return /* @__PURE__ */ jsxs("div", { className: "grid gap-8 lg:grid-cols-[18rem_minmax(0,1fr)]", children: [
|
|
16980
|
+
/* @__PURE__ */ jsx("aside", { className: "bg-grey-50/60 p-6", children: /* @__PURE__ */ jsxs("div", { className: "space-y-8", children: [
|
|
16981
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
16982
|
+
/* @__PURE__ */ jsx(Heading, { level: 3, size: 5, className: "text-foreground", trim: "normal", children: "Configuration" }),
|
|
16983
|
+
/* @__PURE__ */ jsx(Text, { size: 2, children: "Choose a palette, set your primary and accent families, then select an approved background." })
|
|
16984
|
+
] }),
|
|
16985
|
+
/* @__PURE__ */ jsx(SidebarStep, { step: 1, title: "Select your palette", children: /* @__PURE__ */ jsx("div", { className: "grid gap-2", children: ["brand", "aboriginal"].map((palette) => {
|
|
16986
|
+
const isSelected = themeCategory === palette;
|
|
16987
|
+
const label = palette === "brand" ? "Brand palette" : "Aboriginal palette";
|
|
16988
|
+
return /* @__PURE__ */ jsx(
|
|
16989
|
+
"button",
|
|
16990
|
+
{
|
|
16991
|
+
type: "button",
|
|
16992
|
+
"aria-label": `Select ${label}`,
|
|
16993
|
+
"aria-pressed": isSelected,
|
|
16994
|
+
onClick: () => handleThemeCategoryChange(palette),
|
|
16995
|
+
className: cn(
|
|
16996
|
+
"rounded-sm border px-3 py-2.5 text-left text-sm font-semibold transition-colors",
|
|
16997
|
+
isSelected ? "border-primary-800 bg-primary-800 text-white" : "border-grey-300 bg-background text-foreground hover:border-primary-800 hover:bg-primary-50"
|
|
16998
|
+
),
|
|
16999
|
+
children: label
|
|
17000
|
+
},
|
|
17001
|
+
palette
|
|
17002
|
+
);
|
|
17003
|
+
}) }) }),
|
|
17004
|
+
/* @__PURE__ */ jsx(
|
|
17005
|
+
SidebarStep,
|
|
17006
|
+
{
|
|
17007
|
+
step: 2,
|
|
17008
|
+
title: "Choose your colours",
|
|
17009
|
+
description: "Grey is added automatically from the selected palette.",
|
|
17010
|
+
children: /* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
17011
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
|
|
17012
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm font-semibold text-foreground", children: "Primary colour" }),
|
|
17013
|
+
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-3 gap-2", children: selectableFamilies.map((family) => {
|
|
17014
|
+
const swatchTone = 800;
|
|
17015
|
+
const isSelected = family.key === context.primary.key;
|
|
17016
|
+
const label = getFamilySelectorLabel2(family, themeCategory, "primary colour");
|
|
17017
|
+
return /* @__PURE__ */ jsx(
|
|
17018
|
+
"button",
|
|
17019
|
+
{
|
|
17020
|
+
type: "button",
|
|
17021
|
+
"aria-label": `Select ${label} as primary colour`,
|
|
17022
|
+
"aria-pressed": isSelected,
|
|
17023
|
+
onClick: () => handlePrimaryColorChange(family.key),
|
|
17024
|
+
className: cn(
|
|
17025
|
+
"min-h-11 rounded-sm border px-2 py-2 text-center text-[0.8rem] leading-5 font-semibold transition-transform",
|
|
17026
|
+
isSelected ? "ring-2 ring-primary-700 ring-offset-2 ring-offset-grey-50/60" : "hover:-translate-y-px"
|
|
17027
|
+
),
|
|
17028
|
+
style: {
|
|
17029
|
+
backgroundColor: getFamilySwatchColor2(family, swatchTone),
|
|
17030
|
+
color: getReadableTextColor(swatchTone),
|
|
17031
|
+
borderColor: "rgba(0, 0, 0, 0.12)"
|
|
17032
|
+
},
|
|
17033
|
+
title: label,
|
|
17034
|
+
children: label
|
|
17035
|
+
},
|
|
17036
|
+
family.key
|
|
17037
|
+
);
|
|
17038
|
+
}) })
|
|
17039
|
+
] }),
|
|
17040
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
|
|
17041
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm font-semibold text-foreground", children: "Accent colour" }),
|
|
17042
|
+
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-3 gap-2", children: selectableAccentFamilies.map((family) => {
|
|
17043
|
+
const swatchTone = 600;
|
|
17044
|
+
const isSelected = family.key === context.accent.key;
|
|
17045
|
+
const label = getFamilySelectorLabel2(family, themeCategory, "accent colour");
|
|
17046
|
+
return /* @__PURE__ */ jsx(
|
|
17047
|
+
"button",
|
|
17048
|
+
{
|
|
17049
|
+
type: "button",
|
|
17050
|
+
"aria-label": `Select ${label} as accent colour`,
|
|
17051
|
+
"aria-pressed": isSelected,
|
|
17052
|
+
onClick: () => handleAccentColorChange(family.key),
|
|
17053
|
+
className: cn(
|
|
17054
|
+
"min-h-11 rounded-sm border px-2 py-2 text-center text-[0.8rem] leading-5 font-semibold transition-transform",
|
|
17055
|
+
isSelected ? "ring-2 ring-primary-700 ring-offset-2 ring-offset-grey-50/60" : "hover:-translate-y-px"
|
|
17056
|
+
),
|
|
17057
|
+
style: {
|
|
17058
|
+
backgroundColor: getFamilySwatchColor2(family, swatchTone),
|
|
17059
|
+
color: getReadableTextColor(swatchTone),
|
|
17060
|
+
borderColor: "rgba(0, 0, 0, 0.12)"
|
|
17061
|
+
},
|
|
17062
|
+
title: label,
|
|
17063
|
+
children: label
|
|
17064
|
+
},
|
|
17065
|
+
family.key
|
|
17066
|
+
);
|
|
17067
|
+
}) })
|
|
17068
|
+
] })
|
|
17069
|
+
] })
|
|
17070
|
+
}
|
|
17071
|
+
),
|
|
17072
|
+
/* @__PURE__ */ jsx(SidebarStep, { step: 3, title: "Pick a background", children: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
|
|
17073
|
+
/* @__PURE__ */ jsxs("p", { className: "text-sm text-muted-foreground", children: [
|
|
17074
|
+
"Selected:",
|
|
17075
|
+
" ",
|
|
17076
|
+
/* @__PURE__ */ jsx("span", { className: "font-semibold text-foreground", children: selectedBackground.token })
|
|
17077
|
+
] }),
|
|
17078
|
+
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-4 gap-2", children: context.backgrounds.map((background) => {
|
|
17079
|
+
const hasPairs = (context.pairsByBackground[background.token]?.length ?? 0) > 0;
|
|
17080
|
+
const isSelected = selectedBackground.token === background.token;
|
|
17081
|
+
return /* @__PURE__ */ jsx(
|
|
17082
|
+
"button",
|
|
17083
|
+
{
|
|
17084
|
+
type: "button",
|
|
17085
|
+
"aria-label": hasPairs ? `Select ${background.token} background` : `Select ${background.token} background with no AAA pairings`,
|
|
17086
|
+
"aria-pressed": isSelected,
|
|
17087
|
+
onClick: () => handleBackgroundChange(background.token),
|
|
17088
|
+
className: cn(
|
|
17089
|
+
"relative aspect-square rounded-sm border transition-transform",
|
|
17090
|
+
isSelected ? "ring-2 ring-primary-700 ring-offset-2 ring-offset-grey-50/60" : "hover:-translate-y-px",
|
|
17091
|
+
!hasPairs && "opacity-80"
|
|
17092
|
+
),
|
|
17093
|
+
style: {
|
|
17094
|
+
backgroundColor: background.hex,
|
|
17095
|
+
borderColor: "rgba(0, 0, 0, 0.14)"
|
|
17096
|
+
},
|
|
17097
|
+
title: background.token,
|
|
17098
|
+
children: !hasPairs ? /* @__PURE__ */ jsx("span", { className: "absolute top-1/2 left-1/2 h-0.5 w-5 -translate-x-1/2 -translate-y-1/2 rotate-45 rounded-full bg-white shadow-[0_0_0_1px_rgba(0,0,0,0.28)]" }) : null
|
|
17099
|
+
},
|
|
17100
|
+
background.token
|
|
17101
|
+
);
|
|
17102
|
+
}) })
|
|
17103
|
+
] }) })
|
|
17104
|
+
] }) }),
|
|
17105
|
+
/* @__PURE__ */ jsxs("main", { className: "space-y-8", children: [
|
|
17106
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
17107
|
+
/* @__PURE__ */ jsx(Heading, { level: 3, size: 5, className: "text-foreground", trim: "normal", children: "Live Preview & Results" }),
|
|
17108
|
+
/* @__PURE__ */ jsx(Text, { size: 2, children: "Review the selected pairing in context, then compare the available AAA combinations for your chosen background." })
|
|
17109
|
+
] }),
|
|
17110
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-5", children: [
|
|
17111
|
+
selectedPair ? /* @__PURE__ */ jsx(
|
|
17112
|
+
PreviewHeroCard,
|
|
17113
|
+
{
|
|
17114
|
+
familySummary,
|
|
17115
|
+
isRecommended: Boolean(selectedPair),
|
|
17116
|
+
pair: selectedPair
|
|
17117
|
+
}
|
|
17118
|
+
) : /* @__PURE__ */ jsx(PreviewFallbackCard2, { background: selectedBackground }),
|
|
17119
|
+
/* @__PURE__ */ jsx(AccessibilityScoreCard, { pair: selectedPair })
|
|
17120
|
+
] }),
|
|
17121
|
+
/* @__PURE__ */ jsxs("section", { className: "space-y-4", children: [
|
|
17122
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
17123
|
+
/* @__PURE__ */ jsx(Heading, { level: 3, size: 5, className: "text-foreground", trim: "normal", children: "Recommended Combinations" }),
|
|
17124
|
+
/* @__PURE__ */ jsxs("p", { className: "text-base text-muted-foreground", children: [
|
|
17125
|
+
"AAA-recommended foregrounds for",
|
|
17126
|
+
" ",
|
|
17127
|
+
/* @__PURE__ */ jsx("span", { className: "font-semibold text-foreground", children: selectedBackground.token }),
|
|
17128
|
+
"."
|
|
17129
|
+
] })
|
|
17130
|
+
] }),
|
|
17131
|
+
selectedBackgroundPairs.length > 0 ? /* @__PURE__ */ jsx("div", { className: "grid gap-4 md:grid-cols-2 xl:grid-cols-3", children: selectedBackgroundPairs.map((pair) => /* @__PURE__ */ jsx(
|
|
17132
|
+
RecommendedPairCard,
|
|
17133
|
+
{
|
|
17134
|
+
pair,
|
|
17135
|
+
isSelected: selectedPair?.id === pair.id,
|
|
17136
|
+
onSelect: () => handlePairChange(pair.id)
|
|
17137
|
+
},
|
|
17138
|
+
pair.id
|
|
17139
|
+
)) }) : /* @__PURE__ */ jsx(Card, { className: "gap-0 py-0", children: /* @__PURE__ */ jsxs("div", { className: "px-6 py-6", children: [
|
|
17140
|
+
/* @__PURE__ */ jsx(Heading, { level: 4, size: 6, className: "text-foreground", trim: "normal", children: "No recommended combinations" }),
|
|
17141
|
+
/* @__PURE__ */ jsx("p", { className: "mt-3 text-base text-muted-foreground", children: "Choose another approved background tone to review available AAA pairings." })
|
|
17142
|
+
] }) })
|
|
17143
|
+
] }),
|
|
17144
|
+
/* @__PURE__ */ jsxs("div", { className: "grid gap-4 lg:grid-cols-2", children: [
|
|
17145
|
+
/* @__PURE__ */ jsx(
|
|
17146
|
+
PairDetailCard2,
|
|
17147
|
+
{
|
|
17148
|
+
color: selectedBackground,
|
|
17149
|
+
role: "Background",
|
|
17150
|
+
visibleFormats
|
|
17151
|
+
}
|
|
17152
|
+
),
|
|
17153
|
+
detailForeground ? /* @__PURE__ */ jsx(
|
|
17154
|
+
PairDetailCard2,
|
|
17155
|
+
{
|
|
17156
|
+
color: detailForeground,
|
|
17157
|
+
role: "Foreground",
|
|
17158
|
+
visibleFormats
|
|
17159
|
+
}
|
|
17160
|
+
) : /* @__PURE__ */ jsxs(Card, { className: "gap-4", children: [
|
|
17161
|
+
/* @__PURE__ */ jsx(CardHeader, { className: "gap-3 border-b", children: /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
17162
|
+
/* @__PURE__ */ jsx(CardTitle, { children: "Foreground" }),
|
|
17163
|
+
/* @__PURE__ */ jsx(CardDescription, { children: "No recommended foreground available" })
|
|
17164
|
+
] }) }),
|
|
17165
|
+
/* @__PURE__ */ jsx(CardContent, { children: /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: "Choose another approved tone or review the recommended foregrounds for the same background." }) })
|
|
17166
|
+
] })
|
|
17167
|
+
] })
|
|
17168
|
+
] })
|
|
17169
|
+
] });
|
|
17170
|
+
}
|
|
17171
|
+
function ColorPairingToolV2({
|
|
17172
|
+
visibleFormats = DEFAULT_VISIBLE_FORMATS2
|
|
17173
|
+
} = {}) {
|
|
17174
|
+
const normalizedVisibleFormats = [...new Set(visibleFormats)];
|
|
17175
|
+
return /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(ColorPairingToolV2Loading, {}), children: /* @__PURE__ */ jsx(ColorPairingToolV2Content, { visibleFormats: normalizedVisibleFormats }) });
|
|
17176
|
+
}
|
|
16306
17177
|
function ColorSwatches({ theme: theme2, format, viewMode }) {
|
|
16307
17178
|
return /* @__PURE__ */ jsx(
|
|
16308
17179
|
"div",
|
|
@@ -18078,7 +18949,7 @@ function DescriptionList({ className, ...props }) {
|
|
|
18078
18949
|
"dl",
|
|
18079
18950
|
{
|
|
18080
18951
|
...props,
|
|
18081
|
-
className:
|
|
18952
|
+
className: clsx13(
|
|
18082
18953
|
className,
|
|
18083
18954
|
"grid grid-cols-1 text-base/6 sm:grid-cols-[min(50%,--spacing(80))_auto] sm:text-sm/6"
|
|
18084
18955
|
)
|
|
@@ -18090,7 +18961,7 @@ function DescriptionTerm({ className, ...props }) {
|
|
|
18090
18961
|
"dt",
|
|
18091
18962
|
{
|
|
18092
18963
|
...props,
|
|
18093
|
-
className:
|
|
18964
|
+
className: clsx13(
|
|
18094
18965
|
className,
|
|
18095
18966
|
"col-start-1 border-t border-grey-950/5 pt-3 text-grey-600 first:border-none sm:border-t sm:border-grey-950/5 sm:py-3 dark:border-white/5 dark:text-grey-400 sm:dark:border-white/5"
|
|
18096
18967
|
)
|
|
@@ -18102,7 +18973,7 @@ function DescriptionDetails({ className, ...props }) {
|
|
|
18102
18973
|
"dd",
|
|
18103
18974
|
{
|
|
18104
18975
|
...props,
|
|
18105
|
-
className:
|
|
18976
|
+
className: clsx13(
|
|
18106
18977
|
className,
|
|
18107
18978
|
"pt-1 pb-3 text-grey-950 sm:border-t sm:border-grey-950/5 sm:py-3 sm:nth-2:border-none dark:text-white dark:sm:border-white/5"
|
|
18108
18979
|
)
|
|
@@ -18516,7 +19387,7 @@ function Fieldset2({
|
|
|
18516
19387
|
Headless4.Fieldset,
|
|
18517
19388
|
{
|
|
18518
19389
|
...props,
|
|
18519
|
-
className:
|
|
19390
|
+
className: clsx13(className, "*:data-[slot=text]:mt-1 [&>*+[data-slot=control]]:mt-6")
|
|
18520
19391
|
}
|
|
18521
19392
|
);
|
|
18522
19393
|
}
|
|
@@ -18529,7 +19400,7 @@ function Legend6({
|
|
|
18529
19400
|
{
|
|
18530
19401
|
"data-slot": "legend",
|
|
18531
19402
|
...props,
|
|
18532
|
-
className:
|
|
19403
|
+
className: clsx13(
|
|
18533
19404
|
className,
|
|
18534
19405
|
"text-base/6 font-semibold text-zinc-950 data-disabled:opacity-50 sm:text-sm/6 dark:text-white"
|
|
18535
19406
|
)
|
|
@@ -18537,7 +19408,7 @@ function Legend6({
|
|
|
18537
19408
|
);
|
|
18538
19409
|
}
|
|
18539
19410
|
function FieldGroup({ className, ...props }) {
|
|
18540
|
-
return /* @__PURE__ */ jsx("div", { "data-slot": "control", ...props, className:
|
|
19411
|
+
return /* @__PURE__ */ jsx("div", { "data-slot": "control", ...props, className: clsx13(className, "space-y-8") });
|
|
18541
19412
|
}
|
|
18542
19413
|
function Field2({
|
|
18543
19414
|
className,
|
|
@@ -18547,7 +19418,7 @@ function Field2({
|
|
|
18547
19418
|
Headless4.Field,
|
|
18548
19419
|
{
|
|
18549
19420
|
...props,
|
|
18550
|
-
className:
|
|
19421
|
+
className: clsx13(
|
|
18551
19422
|
className,
|
|
18552
19423
|
"[&>[data-slot=label]+[data-slot=control]]:mt-3",
|
|
18553
19424
|
"[&>[data-slot=label]+[data-slot=description]]:mt-1",
|
|
@@ -18568,7 +19439,7 @@ function FieldLabel({
|
|
|
18568
19439
|
{
|
|
18569
19440
|
"data-slot": "label",
|
|
18570
19441
|
...props,
|
|
18571
|
-
className:
|
|
19442
|
+
className: clsx13(
|
|
18572
19443
|
className,
|
|
18573
19444
|
"text-base/6 text-zinc-950 select-none data-disabled:opacity-50 sm:text-sm/6 dark:text-white"
|
|
18574
19445
|
)
|
|
@@ -18584,7 +19455,7 @@ function Description4({
|
|
|
18584
19455
|
{
|
|
18585
19456
|
"data-slot": "description",
|
|
18586
19457
|
...props,
|
|
18587
|
-
className:
|
|
19458
|
+
className: clsx13(
|
|
18588
19459
|
className,
|
|
18589
19460
|
"text-base/6 text-zinc-500 data-disabled:opacity-50 sm:text-sm/6 dark:text-zinc-400"
|
|
18590
19461
|
)
|
|
@@ -18600,7 +19471,7 @@ function ErrorMessage({
|
|
|
18600
19471
|
{
|
|
18601
19472
|
"data-slot": "error",
|
|
18602
19473
|
...props,
|
|
18603
|
-
className:
|
|
19474
|
+
className: clsx13(
|
|
18604
19475
|
className,
|
|
18605
19476
|
"text-base/6 text-red-600 data-disabled:opacity-50 sm:text-sm/6 dark:text-red-500"
|
|
18606
19477
|
)
|
|
@@ -18824,7 +19695,7 @@ var toggleVariants = cva(styles3.base, {
|
|
|
18824
19695
|
variants: {
|
|
18825
19696
|
variant: {
|
|
18826
19697
|
ghost: "",
|
|
18827
|
-
outline:
|
|
19698
|
+
outline: clsx13(styles3.outline)
|
|
18828
19699
|
},
|
|
18829
19700
|
size: {
|
|
18830
19701
|
default: "h-9 px-2 min-w-9",
|
|
@@ -18927,7 +19798,7 @@ function FormatToggle({ format, setFormat }) {
|
|
|
18927
19798
|
|
|
18928
19799
|
// package.json
|
|
18929
19800
|
var package_default = {
|
|
18930
|
-
version: "1.
|
|
19801
|
+
version: "1.102.0"};
|
|
18931
19802
|
function Logo(props) {
|
|
18932
19803
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
18933
19804
|
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "NSW Government" }),
|
|
@@ -19077,7 +19948,7 @@ function Header2({
|
|
|
19077
19948
|
"data-slot": "header",
|
|
19078
19949
|
"data-scrolled": isScrolled,
|
|
19079
19950
|
id: "nsw-header",
|
|
19080
|
-
className:
|
|
19951
|
+
className: clsx13(
|
|
19081
19952
|
"sticky top-0 z-50 hidden bg-white px-4 py-5 transition duration-500 sm:px-6 lg:flex lg:flex-none lg:flex-wrap lg:items-center lg:justify-between lg:px-12",
|
|
19082
19953
|
!hideShadow && "shadow-md shadow-slate-900/5 dark:shadow-none",
|
|
19083
19954
|
isScrolled ? "dark:bg-slate-900/95 dark:backdrop-blur-sm dark:[@supports(backdrop-filter:blur(0))]:bg-slate-900/75" : "dark:bg-transparent"
|
|
@@ -19993,7 +20864,7 @@ function Listbox2({
|
|
|
19993
20864
|
autoFocus,
|
|
19994
20865
|
"data-slot": "control",
|
|
19995
20866
|
"aria-label": ariaLabel,
|
|
19996
|
-
className:
|
|
20867
|
+
className: clsx13([
|
|
19997
20868
|
className,
|
|
19998
20869
|
// Basic layout
|
|
19999
20870
|
"group relative block w-full",
|
|
@@ -20017,7 +20888,7 @@ function Listbox2({
|
|
|
20017
20888
|
as: "span",
|
|
20018
20889
|
options,
|
|
20019
20890
|
placeholder: placeholder && /* @__PURE__ */ jsx("span", { className: "block truncate text-grey-500", children: placeholder }),
|
|
20020
|
-
className:
|
|
20891
|
+
className: clsx13([
|
|
20021
20892
|
"cursor-pointer",
|
|
20022
20893
|
// Basic layout
|
|
20023
20894
|
"relative block w-full appearance-none rounded-sm py-[calc(--spacing(4.5)-1px)] sm:py-[calc(--spacing(3.5)-1px)]",
|
|
@@ -20047,7 +20918,7 @@ function Listbox2({
|
|
|
20047
20918
|
{
|
|
20048
20919
|
transition: true,
|
|
20049
20920
|
anchor: "selection start",
|
|
20050
|
-
className:
|
|
20921
|
+
className: clsx13(
|
|
20051
20922
|
// Anchor positioning
|
|
20052
20923
|
"[--anchor-offset:-1.625rem] [--anchor-padding:--spacing(4)] sm:[--anchor-offset:-1.375rem]",
|
|
20053
20924
|
// Base styles
|
|
@@ -20073,7 +20944,7 @@ function ListboxOption2({
|
|
|
20073
20944
|
className,
|
|
20074
20945
|
...props
|
|
20075
20946
|
}) {
|
|
20076
|
-
const sharedClasses =
|
|
20947
|
+
const sharedClasses = clsx13(
|
|
20077
20948
|
// Base
|
|
20078
20949
|
"flex min-w-0 items-center",
|
|
20079
20950
|
// Icons
|
|
@@ -20085,12 +20956,12 @@ function ListboxOption2({
|
|
|
20085
20956
|
);
|
|
20086
20957
|
return /* @__PURE__ */ jsx(Headless4.ListboxOption, { as: Fragment$1, ...props, children: ({ selectedOption }) => {
|
|
20087
20958
|
if (selectedOption) {
|
|
20088
|
-
return /* @__PURE__ */ jsx("div", { className:
|
|
20959
|
+
return /* @__PURE__ */ jsx("div", { className: clsx13(className, sharedClasses), children });
|
|
20089
20960
|
}
|
|
20090
20961
|
return /* @__PURE__ */ jsxs(
|
|
20091
20962
|
"div",
|
|
20092
20963
|
{
|
|
20093
|
-
className:
|
|
20964
|
+
className: clsx13(
|
|
20094
20965
|
// Basic layout
|
|
20095
20966
|
"group/option grid cursor-pointer grid-cols-[--spacing(5)_1fr] items-baseline gap-x-2 rounded-sm py-2.5 pr-3.5 pl-2 sm:grid-cols-[--spacing(4)_1fr] sm:py-1.5 sm:pr-3 sm:pl-1.5",
|
|
20096
20967
|
// Typography
|
|
@@ -20121,7 +20992,7 @@ function ListboxOption2({
|
|
|
20121
20992
|
)
|
|
20122
20993
|
}
|
|
20123
20994
|
),
|
|
20124
|
-
/* @__PURE__ */ jsx("span", { className:
|
|
20995
|
+
/* @__PURE__ */ jsx("span", { className: clsx13(className, sharedClasses, "col-start-2"), children })
|
|
20125
20996
|
]
|
|
20126
20997
|
}
|
|
20127
20998
|
);
|
|
@@ -20132,7 +21003,7 @@ function ListboxLabel({ className, ...props }) {
|
|
|
20132
21003
|
"span",
|
|
20133
21004
|
{
|
|
20134
21005
|
...props,
|
|
20135
|
-
className:
|
|
21006
|
+
className: clsx13(className, "ml-2.5 truncate first:ml-0 sm:ml-2 sm:first:ml-0")
|
|
20136
21007
|
}
|
|
20137
21008
|
);
|
|
20138
21009
|
}
|
|
@@ -20145,7 +21016,7 @@ function ListboxDescription({
|
|
|
20145
21016
|
"span",
|
|
20146
21017
|
{
|
|
20147
21018
|
...props,
|
|
20148
|
-
className:
|
|
21019
|
+
className: clsx13(
|
|
20149
21020
|
className,
|
|
20150
21021
|
"flex flex-1 overflow-hidden text-grey-500 group-data-focus/option:text-white before:w-2 before:min-w-0 before:shrink dark:text-grey-400"
|
|
20151
21022
|
),
|
|
@@ -20193,74 +21064,6 @@ function Spinner({ className, size = "md", ...props }) {
|
|
|
20193
21064
|
}
|
|
20194
21065
|
) });
|
|
20195
21066
|
}
|
|
20196
|
-
function Text({ className, trim = "normal", size = 2, label = false, ...props }) {
|
|
20197
|
-
const textSizeClasses = {
|
|
20198
|
-
1: "text-[length:var(--font-size-1)] leading-[var(--line-height-28)] tracking-[var(--letter-spacing-0)]",
|
|
20199
|
-
2: "text-[length:var(--font-size-2)] leading-[var(--line-height-24)] tracking-[var(--letter-spacing-0)]",
|
|
20200
|
-
3: "text-[length:var(--font-size-3)] leading-[var(--line-height-20)] tracking-[var(--letter-spacing-0)]",
|
|
20201
|
-
4: "text-[length:var(--font-size-4)] leading-[var(--line-height-20)] tracking-[var(--letter-spacing-0)]"
|
|
20202
|
-
};
|
|
20203
|
-
const labelSizeClasses = {
|
|
20204
|
-
1: "text-[length:var(--font-size-1)] leading-[var(--line-height-24)] tracking-[var(--letter-spacing-0)]",
|
|
20205
|
-
2: "text-[length:var(--font-size-2)] leading-[var(--line-height-20)] tracking-[var(--letter-spacing-0)]",
|
|
20206
|
-
3: "text-[length:var(--font-size-3)] leading-[var(--line-height-16)] tracking-[var(--letter-spacing-0)]",
|
|
20207
|
-
4: "text-[length:var(--font-size-4)] leading-[var(--line-height-16)] tracking-[var(--letter-spacing-0)]"
|
|
20208
|
-
};
|
|
20209
|
-
const sizeClass = label ? labelSizeClasses[size] : textSizeClasses[size];
|
|
20210
|
-
const trimClasses = {
|
|
20211
|
-
normal: ["before:content-none after:content-none"],
|
|
20212
|
-
start: [
|
|
20213
|
-
'before:content-[""] before:table after:content-none',
|
|
20214
|
-
"before:mb-[calc(var(--leading-trim-start,var(--default-leading-trim-start))-var(--line-height,calc(1em*var(--default-line-height)))/2)]"
|
|
20215
|
-
],
|
|
20216
|
-
end: [
|
|
20217
|
-
'before:content-none after:content-[""] after:table',
|
|
20218
|
-
"after:mt-[calc(var(--leading-trim-end,var(--default-leading-trim-end))-var(--line-height,calc(1em*var(--default-line-height)))/2)]"
|
|
20219
|
-
],
|
|
20220
|
-
both: [
|
|
20221
|
-
'before:content-[""] before:table after:content-[""] after:table',
|
|
20222
|
-
"before:mb-[calc(var(--leading-trim-start,var(--default-leading-trim-start))-var(--line-height,calc(1em*var(--default-line-height)))/2)]",
|
|
20223
|
-
"after:mt-[calc(var(--leading-trim-end,var(--default-leading-trim-end))-var(--line-height,calc(1em*var(--default-line-height)))/2)]"
|
|
20224
|
-
]
|
|
20225
|
-
};
|
|
20226
|
-
return /* @__PURE__ */ jsx(
|
|
20227
|
-
"p",
|
|
20228
|
-
{
|
|
20229
|
-
"data-slot": "text",
|
|
20230
|
-
...props,
|
|
20231
|
-
className: clsx12(className, trimClasses[trim], "text-grey-800 dark:text-grey-400", sizeClass)
|
|
20232
|
-
}
|
|
20233
|
-
);
|
|
20234
|
-
}
|
|
20235
|
-
function TextLink({ className, ...props }) {
|
|
20236
|
-
return /* @__PURE__ */ jsx(
|
|
20237
|
-
Link,
|
|
20238
|
-
{
|
|
20239
|
-
...props,
|
|
20240
|
-
className: clsx12(
|
|
20241
|
-
className,
|
|
20242
|
-
"text-primary-800 underline decoration-primary-800/50 data-hover:decoration-primary-800 dark:text-white dark:decoration-white/50 dark:data-hover:decoration-white"
|
|
20243
|
-
)
|
|
20244
|
-
}
|
|
20245
|
-
);
|
|
20246
|
-
}
|
|
20247
|
-
function Strong({ className, ...props }) {
|
|
20248
|
-
return /* @__PURE__ */ jsx("strong", { ...props, className: clsx12(className, "font-medium text-grey-950 dark:text-white") });
|
|
20249
|
-
}
|
|
20250
|
-
function Code({ className, ...props }) {
|
|
20251
|
-
const hasLanguageClass = typeof className === "string" && className.includes("language-");
|
|
20252
|
-
return /* @__PURE__ */ jsx(
|
|
20253
|
-
"code",
|
|
20254
|
-
{
|
|
20255
|
-
...props,
|
|
20256
|
-
className: clsx12(
|
|
20257
|
-
className,
|
|
20258
|
-
!hasLanguageClass && "language-plaintext",
|
|
20259
|
-
"text-sm sm:text-[0.8125rem]"
|
|
20260
|
-
)
|
|
20261
|
-
}
|
|
20262
|
-
);
|
|
20263
|
-
}
|
|
20264
21067
|
function Loading() {
|
|
20265
21068
|
return /* @__PURE__ */ jsxs("div", { className: "flex min-h-screen items-center justify-center gap-4 bg-grey-50 dark:bg-grey-900", children: [
|
|
20266
21069
|
/* @__PURE__ */ jsx(Spinner, { "aria-label": "Loading...", size: "lg" }),
|
|
@@ -20820,7 +21623,7 @@ function MultiLevelPushMenu({
|
|
|
20820
21623
|
{
|
|
20821
21624
|
href: item.href,
|
|
20822
21625
|
onClick: (e) => handleItemClick(item, e),
|
|
20823
|
-
className:
|
|
21626
|
+
className: clsx13(
|
|
20824
21627
|
"relative flex w-full cursor-pointer items-center justify-between gap-x-6 border-l p-4 transition-colors hover:border-primary-800 hover:bg-primary-800/10",
|
|
20825
21628
|
pathname === item.href ? "border-primary-800 bg-primary-800/10 font-semibold text-primary-800" : "border-transparent text-grey-800",
|
|
20826
21629
|
isAnimating && "pointer-events-none"
|
|
@@ -20832,7 +21635,7 @@ function MultiLevelPushMenu({
|
|
|
20832
21635
|
{
|
|
20833
21636
|
onClick: (e) => handleItemClick(item, e),
|
|
20834
21637
|
disabled: isAnimating,
|
|
20835
|
-
className:
|
|
21638
|
+
className: clsx13(
|
|
20836
21639
|
"relative flex w-full cursor-pointer items-center justify-between gap-x-6 border-l p-4 transition-colors hover:border-primary-800 hover:bg-primary-800/10",
|
|
20837
21640
|
pathname === item.href ? "border-primary-800 bg-primary-800/10 font-semibold text-primary-800" : "border-transparent text-grey-800",
|
|
20838
21641
|
isAnimating && "pointer-events-none"
|
|
@@ -20899,7 +21702,7 @@ function MobileHeader({
|
|
|
20899
21702
|
/* @__PURE__ */ jsxs(
|
|
20900
21703
|
"div",
|
|
20901
21704
|
{
|
|
20902
|
-
className:
|
|
21705
|
+
className: clsx13(
|
|
20903
21706
|
"relative flex w-full items-center py-4",
|
|
20904
21707
|
menu && !search && "justify-start",
|
|
20905
21708
|
search && "justify-between",
|
|
@@ -20915,7 +21718,7 @@ function MobileHeader({
|
|
|
20915
21718
|
{
|
|
20916
21719
|
href: "/",
|
|
20917
21720
|
"aria-label": "Home page",
|
|
20918
|
-
className:
|
|
21721
|
+
className: clsx13(
|
|
20919
21722
|
"flex items-center",
|
|
20920
21723
|
menu && !search && "justify-start",
|
|
20921
21724
|
search && !menu && "flex-row justify-between",
|
|
@@ -20926,7 +21729,7 @@ function MobileHeader({
|
|
|
20926
21729
|
/* @__PURE__ */ jsxs(
|
|
20927
21730
|
"div",
|
|
20928
21731
|
{
|
|
20929
|
-
className:
|
|
21732
|
+
className: clsx13(
|
|
20930
21733
|
"flex flex-wrap items-center",
|
|
20931
21734
|
menu && !search && "justify-center text-left",
|
|
20932
21735
|
search && !menu && "justify-center text-left",
|
|
@@ -28937,7 +29740,7 @@ var featureBundle = {
|
|
|
28937
29740
|
// node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs
|
|
28938
29741
|
var motion = /* @__PURE__ */ createMotionProxy(featureBundle, createDomVisualElement);
|
|
28939
29742
|
function Navbar({ className, ...props }) {
|
|
28940
|
-
return /* @__PURE__ */ jsx("nav", { ...props, className:
|
|
29743
|
+
return /* @__PURE__ */ jsx("nav", { ...props, className: clsx13(className, "flex flex-1 items-center gap-4 py-2.5") });
|
|
28941
29744
|
}
|
|
28942
29745
|
function NavbarDivider({ className, ...props }) {
|
|
28943
29746
|
return /* @__PURE__ */ jsx(
|
|
@@ -28945,16 +29748,16 @@ function NavbarDivider({ className, ...props }) {
|
|
|
28945
29748
|
{
|
|
28946
29749
|
"aria-hidden": "true",
|
|
28947
29750
|
...props,
|
|
28948
|
-
className:
|
|
29751
|
+
className: clsx13(className, "h-6 w-px bg-zinc-950/10 dark:bg-white/10")
|
|
28949
29752
|
}
|
|
28950
29753
|
);
|
|
28951
29754
|
}
|
|
28952
29755
|
function NavbarSection({ className, ...props }) {
|
|
28953
29756
|
const id3 = useId();
|
|
28954
|
-
return /* @__PURE__ */ jsx(LayoutGroup, { id: id3, children: /* @__PURE__ */ jsx("div", { ...props, className:
|
|
29757
|
+
return /* @__PURE__ */ jsx(LayoutGroup, { id: id3, children: /* @__PURE__ */ jsx("div", { ...props, className: clsx13(className, "flex items-center gap-3") }) });
|
|
28955
29758
|
}
|
|
28956
29759
|
function NavbarSpacer({ className, ...props }) {
|
|
28957
|
-
return /* @__PURE__ */ jsx("div", { "aria-hidden": "true", ...props, className:
|
|
29760
|
+
return /* @__PURE__ */ jsx("div", { "aria-hidden": "true", ...props, className: clsx13(className, "-ml-4 flex-1") });
|
|
28958
29761
|
}
|
|
28959
29762
|
var NavbarItem = forwardRef(function NavbarItem2({
|
|
28960
29763
|
current,
|
|
@@ -28962,7 +29765,7 @@ var NavbarItem = forwardRef(function NavbarItem2({
|
|
|
28962
29765
|
children,
|
|
28963
29766
|
...props
|
|
28964
29767
|
}, ref) {
|
|
28965
|
-
const classes =
|
|
29768
|
+
const classes = clsx13(
|
|
28966
29769
|
// Base
|
|
28967
29770
|
"relative flex min-w-0 items-center gap-3 rounded-lg p-2 text-left text-base/6 font-medium text-zinc-950 sm:text-sm/5",
|
|
28968
29771
|
// Leading icon/icon-only
|
|
@@ -28980,7 +29783,7 @@ var NavbarItem = forwardRef(function NavbarItem2({
|
|
|
28980
29783
|
"dark:data-hover:bg-white/5 dark:data-hover:*:data-[slot=icon]:fill-white",
|
|
28981
29784
|
"dark:data-active:bg-white/5 dark:data-active:*:data-[slot=icon]:fill-white"
|
|
28982
29785
|
);
|
|
28983
|
-
return /* @__PURE__ */ jsxs("span", { className:
|
|
29786
|
+
return /* @__PURE__ */ jsxs("span", { className: clsx13(className, "relative"), children: [
|
|
28984
29787
|
current && /* @__PURE__ */ jsx(
|
|
28985
29788
|
motion.span,
|
|
28986
29789
|
{
|
|
@@ -29001,7 +29804,7 @@ var NavbarItem = forwardRef(function NavbarItem2({
|
|
|
29001
29804
|
Headless4.Button,
|
|
29002
29805
|
{
|
|
29003
29806
|
...props,
|
|
29004
|
-
className:
|
|
29807
|
+
className: clsx13("cursor-default", classes),
|
|
29005
29808
|
"data-current": current ? "true" : void 0,
|
|
29006
29809
|
ref,
|
|
29007
29810
|
children: /* @__PURE__ */ jsx(TouchTarget, { children })
|
|
@@ -29010,14 +29813,14 @@ var NavbarItem = forwardRef(function NavbarItem2({
|
|
|
29010
29813
|
] });
|
|
29011
29814
|
});
|
|
29012
29815
|
function NavbarLabel({ className, ...props }) {
|
|
29013
|
-
return /* @__PURE__ */ jsx("span", { ...props, className:
|
|
29816
|
+
return /* @__PURE__ */ jsx("span", { ...props, className: clsx13(className, "truncate") });
|
|
29014
29817
|
}
|
|
29015
29818
|
function Navigation({
|
|
29016
29819
|
className,
|
|
29017
29820
|
onLinkClick,
|
|
29018
29821
|
navigation
|
|
29019
29822
|
}) {
|
|
29020
|
-
return /* @__PURE__ */ jsx("nav", { className:
|
|
29823
|
+
return /* @__PURE__ */ jsx("nav", { className: clsx13("text-base lg:text-sm", className), children: /* @__PURE__ */ jsx("ul", { role: "list", className: "flex flex-col gap-9", children: navigation.map((section, index) => /* @__PURE__ */ jsxs("li", { children: [
|
|
29021
29824
|
section.links ? /* @__PURE__ */ jsx("h2", { className: "font-display font-medium text-grey-800 dark:text-white", children: section.title }) : /* @__PURE__ */ jsx("ul", { role: "list", className: "mt-2 flex flex-col gap-2 border-l lg:mt-4", children: /* @__PURE__ */ jsx("li", { className: "-ml-px flex flex-col items-start gap-2", children: /* @__PURE__ */ jsx(
|
|
29022
29825
|
NavigationLink,
|
|
29023
29826
|
{
|
|
@@ -29040,7 +29843,7 @@ function NavigationLink({
|
|
|
29040
29843
|
{
|
|
29041
29844
|
href,
|
|
29042
29845
|
onClick,
|
|
29043
|
-
className:
|
|
29846
|
+
className: clsx13(
|
|
29044
29847
|
"inline-block w-full cursor-pointer rounded-r-sm border-l py-1 pr-2 pl-4 text-left text-base/8 sm:text-sm/6",
|
|
29045
29848
|
"hover:border-grey-950 hover:bg-primary-800/10 hover:font-semibold hover:text-grey-950",
|
|
29046
29849
|
"dark:text-grey-400 dark:hover:border-grey-400 dark:hover:text-white",
|
|
@@ -29513,7 +30316,7 @@ function Wrapper({
|
|
|
29513
30316
|
return /* @__PURE__ */ jsx(
|
|
29514
30317
|
"div",
|
|
29515
30318
|
{
|
|
29516
|
-
className:
|
|
30319
|
+
className: clsx13("max-w-8xl mx-auto space-y-8 px-4 py-6 sm:px-6 lg:px-12", className),
|
|
29517
30320
|
...props,
|
|
29518
30321
|
children
|
|
29519
30322
|
}
|
|
@@ -29527,7 +30330,7 @@ function PageHeading({
|
|
|
29527
30330
|
return /* @__PURE__ */ jsx(
|
|
29528
30331
|
"header",
|
|
29529
30332
|
{
|
|
29530
|
-
className:
|
|
30333
|
+
className: clsx13(
|
|
29531
30334
|
"border-b border-grey-300 bg-white dark:border-grey-700 dark:bg-grey-900",
|
|
29532
30335
|
className
|
|
29533
30336
|
),
|
|
@@ -29554,7 +30357,7 @@ function Pagination({
|
|
|
29554
30357
|
children,
|
|
29555
30358
|
...props
|
|
29556
30359
|
}) {
|
|
29557
|
-
return /* @__PURE__ */ jsx("nav", { "aria-label": ariaLabel, className:
|
|
30360
|
+
return /* @__PURE__ */ jsx("nav", { "aria-label": ariaLabel, className: clsx13(containerStyles[variant], className), ...props, children: /* @__PURE__ */ jsx(PaginationVariantContext.Provider, { value: variant, children }) });
|
|
29558
30361
|
}
|
|
29559
30362
|
function PaginationPrevious({ href = null, className, children = "Previous" }) {
|
|
29560
30363
|
const variant = React5.useContext(PaginationVariantContext);
|
|
@@ -29577,7 +30380,7 @@ function PaginationPrevious({ href = null, className, children = "Previous" }) {
|
|
|
29577
30380
|
}
|
|
29578
30381
|
) });
|
|
29579
30382
|
}
|
|
29580
|
-
return /* @__PURE__ */ jsx("span", { className:
|
|
30383
|
+
return /* @__PURE__ */ jsx("span", { className: clsx13(className, "grow basis-0"), children: /* @__PURE__ */ jsxs(
|
|
29581
30384
|
Button2,
|
|
29582
30385
|
{
|
|
29583
30386
|
...href === null ? { disabled: true } : { href },
|
|
@@ -29611,7 +30414,7 @@ function PaginationNext({ href = null, className, children = "Next" }) {
|
|
|
29611
30414
|
}
|
|
29612
30415
|
) });
|
|
29613
30416
|
}
|
|
29614
|
-
return /* @__PURE__ */ jsx("span", { className:
|
|
30417
|
+
return /* @__PURE__ */ jsx("span", { className: clsx13(className, "flex grow basis-0 justify-end"), children: /* @__PURE__ */ jsxs(
|
|
29615
30418
|
Button2,
|
|
29616
30419
|
{
|
|
29617
30420
|
...href === null ? { disabled: true } : { href },
|
|
@@ -29627,9 +30430,9 @@ function PaginationNext({ href = null, className, children = "Next" }) {
|
|
|
29627
30430
|
function PaginationList({ className, ...props }) {
|
|
29628
30431
|
const variant = React5.useContext(PaginationVariantContext);
|
|
29629
30432
|
if (variant === "line") {
|
|
29630
|
-
return /* @__PURE__ */ jsx("div", { className:
|
|
30433
|
+
return /* @__PURE__ */ jsx("div", { className: clsx13(listStyles.line, className), ...props });
|
|
29631
30434
|
}
|
|
29632
|
-
return /* @__PURE__ */ jsx("span", { className:
|
|
30435
|
+
return /* @__PURE__ */ jsx("span", { className: clsx13(listStyles.default, className), ...props });
|
|
29633
30436
|
}
|
|
29634
30437
|
function PaginationPage({
|
|
29635
30438
|
href,
|
|
@@ -29661,7 +30464,7 @@ function PaginationPage({
|
|
|
29661
30464
|
"aria-current": current ? "page" : void 0,
|
|
29662
30465
|
variant: current ? "solid" : "ghost",
|
|
29663
30466
|
color: current ? "accent" : "light",
|
|
29664
|
-
className:
|
|
30467
|
+
className: clsx13(
|
|
29665
30468
|
className,
|
|
29666
30469
|
"leading-none before:absolute before:-inset-px before:rounded-sm",
|
|
29667
30470
|
"min-h-8 min-w-8 sm:px-[calc(--spacing(4))] sm:py-[calc(--spacing(3))]",
|
|
@@ -29682,7 +30485,7 @@ function PaginationGap({
|
|
|
29682
30485
|
"span",
|
|
29683
30486
|
{
|
|
29684
30487
|
"aria-hidden": "true",
|
|
29685
|
-
className:
|
|
30488
|
+
className: clsx13(
|
|
29686
30489
|
"inline-flex items-center border-t-2 border-transparent px-4 pt-4 text-sm font-medium text-grey-800 select-none",
|
|
29687
30490
|
className
|
|
29688
30491
|
),
|
|
@@ -29696,7 +30499,7 @@ function PaginationGap({
|
|
|
29696
30499
|
{
|
|
29697
30500
|
"aria-hidden": "true",
|
|
29698
30501
|
...props,
|
|
29699
|
-
className:
|
|
30502
|
+
className: clsx13(
|
|
29700
30503
|
className,
|
|
29701
30504
|
"w-9 text-center text-sm/6 font-semibold text-grey-950 select-none dark:text-white"
|
|
29702
30505
|
),
|
|
@@ -29716,7 +30519,7 @@ function PrevNextLinksPageLink({
|
|
|
29716
30519
|
Link13,
|
|
29717
30520
|
{
|
|
29718
30521
|
href,
|
|
29719
|
-
className:
|
|
30522
|
+
className: clsx13(
|
|
29720
30523
|
"flex items-center gap-x-1 text-base font-semibold text-slate-500 hover:text-slate-600 dark:text-slate-400 dark:hover:text-slate-300",
|
|
29721
30524
|
dir === "previous" && "flex-row-reverse"
|
|
29722
30525
|
),
|
|
@@ -29725,7 +30528,7 @@ function PrevNextLinksPageLink({
|
|
|
29725
30528
|
/* @__PURE__ */ jsx(
|
|
29726
30529
|
Icons.east,
|
|
29727
30530
|
{
|
|
29728
|
-
className:
|
|
30531
|
+
className: clsx13("size-5 flex-none fill-current", dir === "previous" && "-scale-x-100")
|
|
29729
30532
|
}
|
|
29730
30533
|
)
|
|
29731
30534
|
]
|
|
@@ -29999,7 +30802,7 @@ function Prose({
|
|
|
29999
30802
|
return /* @__PURE__ */ jsx(
|
|
30000
30803
|
Component2,
|
|
30001
30804
|
{
|
|
30002
|
-
className:
|
|
30805
|
+
className: clsx13(
|
|
30003
30806
|
className,
|
|
30004
30807
|
"prose max-w-none dark:!prose-invert",
|
|
30005
30808
|
// headings
|
|
@@ -30771,7 +31574,7 @@ function SidebarNavigation({
|
|
|
30771
31574
|
navigation
|
|
30772
31575
|
}) {
|
|
30773
31576
|
const pathname = usePathname();
|
|
30774
|
-
return /* @__PURE__ */ jsx("nav", { className:
|
|
31577
|
+
return /* @__PURE__ */ jsx("nav", { className: clsx13("text-base lg:text-sm", className), children: /* @__PURE__ */ jsx("ul", { role: "list", className: "flex flex-col gap-9", children: navigation.map((section, sectionIndex) => /* @__PURE__ */ jsxs("li", { children: [
|
|
30775
31578
|
section.links ? /* @__PURE__ */ jsx("h2", { className: "font-display font-medium text-foreground dark:text-white", children: section.title }) : /* @__PURE__ */ jsx(
|
|
30776
31579
|
"ul",
|
|
30777
31580
|
{
|
|
@@ -30806,7 +31609,7 @@ function SidebarLink({ link, pathname, onLinkClick, depth }) {
|
|
|
30806
31609
|
const hasChildren = Array.isArray(link.links) && link.links.length > 0;
|
|
30807
31610
|
const isActive = pathname === link.href;
|
|
30808
31611
|
const isActiveOrHasActiveDescendant = isLinkOrDescendantActive(link, pathname);
|
|
30809
|
-
const baseLinkClasses =
|
|
31612
|
+
const baseLinkClasses = clsx13(
|
|
30810
31613
|
"w-full cursor-pointer rounded-r-sm border-l py-1 pr-2 pl-4 text-left text-base/8 sm:text-sm/6",
|
|
30811
31614
|
"hover:border-grey-950 hover:bg-primary-800/10 hover:font-semibold hover:text-grey-950",
|
|
30812
31615
|
"dark:text-grey-400 dark:hover:border-grey-400 dark:hover:text-white",
|
|
@@ -30816,13 +31619,13 @@ function SidebarLink({ link, pathname, onLinkClick, depth }) {
|
|
|
30816
31619
|
/* @__PURE__ */ jsx(CollapsibleTrigger2, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
30817
31620
|
"button",
|
|
30818
31621
|
{
|
|
30819
|
-
className:
|
|
31622
|
+
className: clsx13(baseLinkClasses, "group flex items-center justify-between gap-1"),
|
|
30820
31623
|
children: [
|
|
30821
31624
|
/* @__PURE__ */ jsx("span", { children: link.title }),
|
|
30822
31625
|
/* @__PURE__ */ jsx(
|
|
30823
31626
|
Icons.chevron_right,
|
|
30824
31627
|
{
|
|
30825
|
-
className:
|
|
31628
|
+
className: clsx13(
|
|
30826
31629
|
"ml-2 size-5 transition-transform duration-200",
|
|
30827
31630
|
"group-data-[state=open]:rotate-90"
|
|
30828
31631
|
)
|
|
@@ -30831,7 +31634,7 @@ function SidebarLink({ link, pathname, onLinkClick, depth }) {
|
|
|
30831
31634
|
]
|
|
30832
31635
|
}
|
|
30833
31636
|
) }),
|
|
30834
|
-
/* @__PURE__ */ jsx(CollapsibleContent2, { children: /* @__PURE__ */ jsx("ul", { className:
|
|
31637
|
+
/* @__PURE__ */ jsx(CollapsibleContent2, { children: /* @__PURE__ */ jsx("ul", { className: clsx13("mt-2 ml-5 flex flex-col gap-1 border-l pl-0"), children: link.links && link.links.map((childLink) => /* @__PURE__ */ jsx(
|
|
30835
31638
|
SidebarLink,
|
|
30836
31639
|
{
|
|
30837
31640
|
link: childLink,
|
|
@@ -31160,7 +31963,7 @@ var StepIndicator = React5.forwardRef(
|
|
|
31160
31963
|
return /* @__PURE__ */ jsx("ul", { role: "list", ref, className: cn("w-full", className), ...props, children: array.map((step, stepIdx) => /* @__PURE__ */ jsx(
|
|
31161
31964
|
"li",
|
|
31162
31965
|
{
|
|
31163
|
-
className:
|
|
31966
|
+
className: clsx13(stepIdx !== array.length - 1 ? "pb-3" : "", "relative"),
|
|
31164
31967
|
children: step.href === pathname && !(step.status === "completed" || step.status === "error" || step.status === "saved" || step.status === "cannot-start") ? /* @__PURE__ */ jsx(Fragment, { children: step.status === "in-progress" ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
31165
31968
|
stepIdx !== array.length - 1 ? /* @__PURE__ */ jsx(
|
|
31166
31969
|
"div",
|
|
@@ -31406,7 +32209,7 @@ function StepNavigation({
|
|
|
31406
32209
|
})),
|
|
31407
32210
|
[navigation, formStatus, getStatus]
|
|
31408
32211
|
);
|
|
31409
|
-
return /* @__PURE__ */ jsx("nav", { className:
|
|
32212
|
+
return /* @__PURE__ */ jsx("nav", { className: clsx13("text-base lg:text-sm", className), children: /* @__PURE__ */ jsx("ul", { role: "list", className: "space-y-9", children: navigationWithStatus.map((section) => /* @__PURE__ */ jsxs("li", { children: [
|
|
31410
32213
|
/* @__PURE__ */ jsx("h2", { className: "font-display font-medium text-slate-900 dark:text-white", children: section.title }),
|
|
31411
32214
|
/* @__PURE__ */ jsx(StepIndicator, { className: "mt-2 lg:mt-4", array: section.links })
|
|
31412
32215
|
] }, section.title)) }) });
|
|
@@ -31434,7 +32237,7 @@ function SwitchGroup({ className, ...props }) {
|
|
|
31434
32237
|
{
|
|
31435
32238
|
"data-slot": "control",
|
|
31436
32239
|
...props,
|
|
31437
|
-
className:
|
|
32240
|
+
className: clsx13(
|
|
31438
32241
|
className,
|
|
31439
32242
|
// Basic groups
|
|
31440
32243
|
"space-y-3 **:data-[slot=label]:font-normal",
|
|
@@ -31453,7 +32256,7 @@ function SwitchField({
|
|
|
31453
32256
|
{
|
|
31454
32257
|
"data-slot": "field",
|
|
31455
32258
|
...props,
|
|
31456
|
-
className:
|
|
32259
|
+
className: clsx13(
|
|
31457
32260
|
className,
|
|
31458
32261
|
// Base layout
|
|
31459
32262
|
"grid grid-cols-[1fr_auto] gap-x-8 gap-y-1 sm:grid-cols-[1fr_auto]",
|
|
@@ -31517,7 +32320,7 @@ function Switch2({
|
|
|
31517
32320
|
{
|
|
31518
32321
|
"data-slot": "control",
|
|
31519
32322
|
...props,
|
|
31520
|
-
className:
|
|
32323
|
+
className: clsx13(
|
|
31521
32324
|
className,
|
|
31522
32325
|
// Base styles
|
|
31523
32326
|
"group relative isolate inline-flex h-6 w-10 cursor-default rounded-full p-[3px] sm:h-5 sm:w-8",
|
|
@@ -31544,7 +32347,7 @@ function Switch2({
|
|
|
31544
32347
|
"span",
|
|
31545
32348
|
{
|
|
31546
32349
|
"aria-hidden": "true",
|
|
31547
|
-
className:
|
|
32350
|
+
className: clsx13(
|
|
31548
32351
|
// Basic layout
|
|
31549
32352
|
"pointer-events-none relative inline-block size-4.5 rounded-full sm:size-3.5",
|
|
31550
32353
|
// Transition
|
|
@@ -31653,7 +32456,7 @@ function TableOfContents({ tableOfContents }) {
|
|
|
31653
32456
|
"ol",
|
|
31654
32457
|
{
|
|
31655
32458
|
role: "list",
|
|
31656
|
-
className:
|
|
32459
|
+
className: clsx13(
|
|
31657
32460
|
"mt-3 flex flex-col gap-2",
|
|
31658
32461
|
"border-l border-grey-900/10 dark:border-white/10",
|
|
31659
32462
|
"text-sm/6 text-grey-700 dark:text-grey-400"
|
|
@@ -31664,7 +32467,7 @@ function TableOfContents({ tableOfContents }) {
|
|
|
31664
32467
|
{
|
|
31665
32468
|
href: `#${section.id}`,
|
|
31666
32469
|
prefetch: false,
|
|
31667
|
-
className:
|
|
32470
|
+
className: clsx13(
|
|
31668
32471
|
"-ml-px inline-block border-l pl-4",
|
|
31669
32472
|
"hover:border-primary-800 dark:hover:border-white",
|
|
31670
32473
|
isActive(section) ? "border-primary-800 font-semibold text-primary-800 dark:border-white dark:text-white" : "border-transparent"
|
|
@@ -31677,7 +32480,7 @@ function TableOfContents({ tableOfContents }) {
|
|
|
31677
32480
|
{
|
|
31678
32481
|
href: `#${subSection.id}`,
|
|
31679
32482
|
prefetch: false,
|
|
31680
|
-
className:
|
|
32483
|
+
className: clsx13(
|
|
31681
32484
|
"-ml-px inline-block border-l pl-8",
|
|
31682
32485
|
"hover:border-primary-800 dark:hover:border-white",
|
|
31683
32486
|
isActive(subSection) ? "border-primary-800 font-semibold text-primary-800 dark:border-white dark:text-white" : "border-transparent"
|
|
@@ -34993,6 +35796,6 @@ var languages = [
|
|
|
34993
35796
|
"html"
|
|
34994
35797
|
];
|
|
34995
35798
|
|
|
34996
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Action2 as Action, Actions, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AreaChart, Artifact, ArtifactAction, ArtifactActions, ArtifactContent, ArtifactDescription, ArtifactHeader, ArtifactTitle, AspectRatio, AuthLayout, AvailableChartColors, Avatar, AvatarFallback, AvatarImage, Badge, BadgeButton, BarChart, BarList, BaseColorSwatches, Branch, BranchMessages, BranchNext, BranchPage, BranchPrevious, BranchSelector, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Breadcrumbs, Button2 as Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, CategoryBar, ChainOfThought, ChainOfThoughtContent, ChainOfThoughtHeader, ChainOfThoughtImage, ChainOfThoughtSearchResult, ChainOfThoughtSearchResults, ChainOfThoughtStep, ChartContainer, ChartLegend3 as ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip3 as ChartTooltip, ChartTooltipContent, Checkbox, CheckboxSmall, Code, CodeBlock, CodeBlockCopyButton, CodeDemo, CodeHighlight, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, ColorCard, ColorPairingTool, ColorSwatches, ColourScale, ComboChart, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Context, ContextCacheUsage, ContextContent, ContextContentBody, ContextContentFooter, ContextContentHeader, ContextInputUsage, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ContextOutputUsage, ContextReasoningUsage, ContextTrigger, Conversation, ConversationContent, ConversationEmptyState, ConversationScrollButton, DataTable, DataTableColumnHeader, DataTableFacetedFilter, DataTablePagination, DataTableToolbar, DataTableViewOptions, Description4 as Description, DescriptionDetails, DescriptionList, DescriptionTerm, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DonutChart, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DynamicFavicon, ErrorMessage, ExpandableSearch, ExpandableSearchField, Field2 as Field, FieldGroup, FieldLabel, Fieldset2 as Fieldset, Footer, FooterAcknowledgement, FooterLegalLinks, FooterSmallPrint, FooterSocialLink, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, FormatToggle, GenerateInterpolatedColors, Header2 as Header, Heading, HeroBannerSupportingImage, HoverCard, HoverCardContent, HoverCardTrigger, Icons, Image4 as Image, InlineCitation, InlineCitationCard, InlineCitationCardBody, InlineCitationCardTrigger, InlineCitationCarousel, InlineCitationCarouselContent, InlineCitationCarouselHeader, InlineCitationCarouselIndex, InlineCitationCarouselItem, InlineCitationSource, InlineCitationText, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Label5 as Label, Legend6 as Legend, LineChart, Link, _List as List, Listbox2 as Listbox, ListboxDescription, ListboxLabel, ListboxOption2 as ListboxOption, Loader, Loading, Logo, MainNavigation, Masthead, MegaMenu, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Message, MessageContent, MobileHeader, MobileSearch, MultiLevelPushMenu, NSWCard, NSWCardArrow, NSWCardDescription, NSWCardIcon, NSWCardImg, NSWCardTitle, Navbar, NavbarDivider, NavbarItem, NavbarLabel, NavbarSection, NavbarSpacer, Navigation, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NotFound, OpenIn, OpenInChatGPT, OpenInClaude, OpenInContent, OpenInScira, OpenInT3, OpenInTrigger, OpenInv0, PageHeading, Pagination, PaginationGap, PaginationList, PaginationNext, PaginationPage, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PreWithCopy, PrevNextLinks, PrevNextLinksPageLink, Progress, ProgressBar, ProgressCircle, PromptInput, PromptInputActionAddAttachments, PromptInputActionMenu, PromptInputActionMenuContent, PromptInputActionMenuItem, PromptInputActionMenuTrigger, PromptInputAttachment, PromptInputAttachments, PromptInputBody, PromptInputButton, PromptInputSubmit, PromptInputTextarea, PromptInputToolbar, PromptInputTools, Prose, RadioGroup2 as RadioGroup, RadioGroupItem, Reasoning, ReasoningContent, ReasoningTrigger, ResizableHandle, ResizablePanel, ResizablePanelGroup, Response, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator4 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLink, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarNavigation, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SiteSearch, Skeleton, Slider, Social, Source, Sources, SourcesContent, SourcesTrigger, SparkAreaChart, SparkBarChart, SparkLineChart, Spinner, StepIndicator, StepNavigation, Strong, SubmitButton, Suggestion, Suggestions, Switch2 as Switch, SwitchField, SwitchGroup, TabNavigation, TabNavigationLink, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableOfContents, TableRow, Tabs2 as Tabs, TabsContent, TabsList, TabsTrigger, Task, TaskContent, TaskItem, TaskItemFile, TaskTrigger, Text, TextLink, Textarea, ThemeColorPalette, ThemeProvider, ThemeSelector, ThemeSwitcher, Toaster, TocContext, TocProvider, Toggle, ToggleGroup, ToggleGroupItem, Tool, ToolContent, ToolHeader, ToolInput, ToolOutput, Tooltip5 as Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TopLevel, TouchTarget, Tracker, Tooltip3 as TremorTooltip, ViewToggle, WebPreview, WebPreviewBody, WebPreviewNavigation, WebPreviewUrl, Wrapper, aboriginal, addStartStopToColorArray, allPalettes, badgeVariants, brand, buttonVariants, camelCase, chartColors, cn, colorDataArray, colorThemes, colors, constructCategoryColors, createColorArray, createColorData, createFormStore, darkenColor, diverging, domToSimple, focusInput, focusRing, generateColorThemes, generateDataVisColors, getColorClassName, getColorValue, getHeadings, getNodeText, getSurroundingColors, getYAxisDomain, hasErrorInput, hasOnlyOneValueForKey, humaniseVariant, interpolateColors, isLightColor, kebabCase, languages, lightenColor, navigationMenuTriggerStyle, oklchConverter, progressBarVariants, renderColorOutput, renderColorOutputToDTFM, semantic, sequential, shades, themeIndices, themeTokens, toggleVariants, truncate, useActiveSectionObserver, useDisableToc, useFormField, useIsMobile, useOnWindowResize, usePageHeadings, usePromptInputAttachments, useSelectorHeight, useSidebar, useStickyOffset, useToc };
|
|
35799
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Action2 as Action, Actions, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AreaChart, Artifact, ArtifactAction, ArtifactActions, ArtifactContent, ArtifactDescription, ArtifactHeader, ArtifactTitle, AspectRatio, AuthLayout, AvailableChartColors, Avatar, AvatarFallback, AvatarImage, Badge, BadgeButton, BarChart, BarList, BaseColorSwatches, Branch, BranchMessages, BranchNext, BranchPage, BranchPrevious, BranchSelector, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Breadcrumbs, Button2 as Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, CategoryBar, ChainOfThought, ChainOfThoughtContent, ChainOfThoughtHeader, ChainOfThoughtImage, ChainOfThoughtSearchResult, ChainOfThoughtSearchResults, ChainOfThoughtStep, ChartContainer, ChartLegend3 as ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip3 as ChartTooltip, ChartTooltipContent, Checkbox, CheckboxSmall, Code, CodeBlock, CodeBlockCopyButton, CodeDemo, CodeHighlight, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, ColorCard, ColorPairingTool, ColorPairingToolV2, ColorSwatches, ColourScale, ComboChart, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Context, ContextCacheUsage, ContextContent, ContextContentBody, ContextContentFooter, ContextContentHeader, ContextInputUsage, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ContextOutputUsage, ContextReasoningUsage, ContextTrigger, Conversation, ConversationContent, ConversationEmptyState, ConversationScrollButton, DataTable, DataTableColumnHeader, DataTableFacetedFilter, DataTablePagination, DataTableToolbar, DataTableViewOptions, Description4 as Description, DescriptionDetails, DescriptionList, DescriptionTerm, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DonutChart, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DynamicFavicon, ErrorMessage, ExpandableSearch, ExpandableSearchField, Field2 as Field, FieldGroup, FieldLabel, Fieldset2 as Fieldset, Footer, FooterAcknowledgement, FooterLegalLinks, FooterSmallPrint, FooterSocialLink, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, FormatToggle, GenerateInterpolatedColors, Header2 as Header, Heading, HeroBannerSupportingImage, HoverCard, HoverCardContent, HoverCardTrigger, Icons, Image4 as Image, InlineCitation, InlineCitationCard, InlineCitationCardBody, InlineCitationCardTrigger, InlineCitationCarousel, InlineCitationCarouselContent, InlineCitationCarouselHeader, InlineCitationCarouselIndex, InlineCitationCarouselItem, InlineCitationSource, InlineCitationText, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Label5 as Label, Legend6 as Legend, LineChart, Link, _List as List, Listbox2 as Listbox, ListboxDescription, ListboxLabel, ListboxOption2 as ListboxOption, Loader, Loading, Logo, MainNavigation, Masthead, MegaMenu, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Message, MessageContent, MobileHeader, MobileSearch, MultiLevelPushMenu, NSWCard, NSWCardArrow, NSWCardDescription, NSWCardIcon, NSWCardImg, NSWCardTitle, Navbar, NavbarDivider, NavbarItem, NavbarLabel, NavbarSection, NavbarSpacer, Navigation, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NotFound, OpenIn, OpenInChatGPT, OpenInClaude, OpenInContent, OpenInScira, OpenInT3, OpenInTrigger, OpenInv0, PageHeading, Pagination, PaginationGap, PaginationList, PaginationNext, PaginationPage, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PreWithCopy, PrevNextLinks, PrevNextLinksPageLink, Progress, ProgressBar, ProgressCircle, PromptInput, PromptInputActionAddAttachments, PromptInputActionMenu, PromptInputActionMenuContent, PromptInputActionMenuItem, PromptInputActionMenuTrigger, PromptInputAttachment, PromptInputAttachments, PromptInputBody, PromptInputButton, PromptInputSubmit, PromptInputTextarea, PromptInputToolbar, PromptInputTools, Prose, RadioGroup2 as RadioGroup, RadioGroupItem, Reasoning, ReasoningContent, ReasoningTrigger, ResizableHandle, ResizablePanel, ResizablePanelGroup, Response, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator4 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLink, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarNavigation, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SiteSearch, Skeleton, Slider, Social, Source, Sources, SourcesContent, SourcesTrigger, SparkAreaChart, SparkBarChart, SparkLineChart, Spinner, StepIndicator, StepNavigation, Strong, SubmitButton, Suggestion, Suggestions, Switch2 as Switch, SwitchField, SwitchGroup, TabNavigation, TabNavigationLink, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableOfContents, TableRow, Tabs2 as Tabs, TabsContent, TabsList, TabsTrigger, Task, TaskContent, TaskItem, TaskItemFile, TaskTrigger, Text, TextLink, Textarea, ThemeColorPalette, ThemeProvider, ThemeSelector, ThemeSwitcher, Toaster, TocContext, TocProvider, Toggle, ToggleGroup, ToggleGroupItem, Tool, ToolContent, ToolHeader, ToolInput, ToolOutput, Tooltip5 as Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TopLevel, TouchTarget, Tracker, Tooltip3 as TremorTooltip, ViewToggle, WebPreview, WebPreviewBody, WebPreviewNavigation, WebPreviewUrl, Wrapper, aboriginal, addStartStopToColorArray, allPalettes, badgeVariants, brand, buttonVariants, camelCase, chartColors, cn, colorDataArray, colorThemes, colors, constructCategoryColors, createColorArray, createColorData, createFormStore, darkenColor, diverging, domToSimple, focusInput, focusRing, generateColorThemes, generateDataVisColors, getColorClassName, getColorValue, getHeadings, getNodeText, getSurroundingColors, getYAxisDomain, hasErrorInput, hasOnlyOneValueForKey, humaniseVariant, interpolateColors, isLightColor, kebabCase, languages, lightenColor, navigationMenuTriggerStyle, oklchConverter, progressBarVariants, renderColorOutput, renderColorOutputToDTFM, semantic, sequential, shades, themeIndices, themeTokens, toggleVariants, truncate, useActiveSectionObserver, useDisableToc, useFormField, useIsMobile, useOnWindowResize, usePageHeadings, usePromptInputAttachments, useSelectorHeight, useSidebar, useStickyOffset, useToc };
|
|
34997
35800
|
//# sourceMappingURL=index.js.map
|
|
34998
35801
|
//# sourceMappingURL=index.js.map
|