@orangecheck/app-design 1.6.2 → 1.7.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/README.md +3 -3
- package/dist/chrome.d.mts +11 -6
- package/dist/chrome.d.ts +11 -6
- package/dist/chrome.js +152 -128
- package/dist/chrome.js.map +1 -1
- package/dist/chrome.mjs +151 -129
- package/dist/chrome.mjs.map +1 -1
- package/dist/components.d.mts +40 -5
- package/dist/components.d.ts +40 -5
- package/dist/components.js +131 -10
- package/dist/components.js.map +1 -1
- package/dist/components.mjs +128 -11
- package/dist/components.mjs.map +1 -1
- package/dist/{docs-CFE5mU_6.d.mts → docs-B9G1BNXI.d.mts} +2 -2
- package/dist/{docs-ByUx4t-D.d.ts → docs-BWWnm5Jv.d.ts} +2 -2
- package/dist/family.d.mts +1 -1
- package/dist/family.d.ts +1 -1
- package/dist/family.js +7 -1
- package/dist/family.js.map +1 -1
- package/dist/family.mjs +5 -2
- package/dist/family.mjs.map +1 -1
- package/dist/{index-DmfyPYe5.d.mts → index-Bkl49Vgy.d.mts} +4 -1
- package/dist/{index-DmfyPYe5.d.ts → index-Bkl49Vgy.d.ts} +4 -1
- package/dist/index.d.mts +7 -7
- package/dist/index.d.ts +7 -7
- package/dist/index.js +189 -43
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +181 -44
- package/dist/index.mjs.map +1 -1
- package/dist/mdx.d.mts +3 -3
- package/dist/mdx.d.ts +3 -3
- package/dist/mdx.js +3 -2
- package/dist/mdx.js.map +1 -1
- package/dist/mdx.mjs +3 -2
- package/dist/mdx.mjs.map +1 -1
- package/dist/primitives.d.mts +2 -2
- package/dist/primitives.d.ts +2 -2
- package/dist/session.d.mts +4 -4
- package/dist/session.d.ts +4 -4
- package/dist/session.js +122 -1
- package/dist/session.js.map +1 -1
- package/dist/session.mjs +122 -1
- package/dist/session.mjs.map +1 -1
- package/dist/{status-badge-BJ9Sdsx8.d.mts → status-badge-BBbCO6ZA.d.mts} +1 -1
- package/dist/{status-badge-Bt8x3RhO.d.ts → status-badge-CHHxtFkP.d.ts} +1 -1
- package/dist/styles/swagger.css +24 -1
- package/dist/styles/tokens.css +5 -0
- package/dist/{tool-shell-CQZNRUgH.d.mts → tool-shell-CnZ3NUSi.d.ts} +10 -4
- package/dist/{tool-shell-CRmceGrV.d.ts → tool-shell-DQFEMLLe.d.mts} +10 -4
- package/dist/{tools-Bg1gi2HO.d.mts → tools-CKO8IseL.d.mts} +2 -2
- package/dist/{tools-Bw7RhO92.d.ts → tools-CzjFPng4.d.ts} +2 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -35,13 +35,13 @@ family `OcThemeProvider` on the same page: it writes `data-oc-theme` and the sha
|
|
|
35
35
|
|---|---|
|
|
36
36
|
| `/brand` | `Mark`, `AppIcon`, `Lockup`, `IsoCheck`, `HalftoneSphere` |
|
|
37
37
|
| `/primitives` | `Button`, `Badge`, `Card`, form controls (`Input size="sm"` for tools), `Dialog`, `Sheet`, `Popover`, `Tooltip`, `DropdownMenu`, `Tabs`, `Toaster`, `DensityProvider` |
|
|
38
|
-
| `/components` | `Display`, `Eyebrow`, `Section`, `StepGrid`, `PackageCard`, `TruthTable`, `Sats`, `DataTable`, `Notice`, `ProgressSteps`, `ErrorPage`, the public page blocks (`SectionHeading`, `FactBlock`, `ProofStrip`, `Closing`, `LegalDocument` …), the protocol page blocks (`ProtocolGrid`, `AppGrid`, `ProtocolHero`, `SpecCard`, `VerifyBox`, `ComparisonTable`, `VerifyReport`, `SignMessage`), code (`CodeBlock`, `CodeTabs`, `InstallTabs`), the docs blocks (`Breadcrumbs`, `DocsPager`, `OnThisPage`, `Callout`, `Steps`, `LinkCard`, `ApiTable`, `Diagram`, `SearchDialog`) and the tool parts (`ArtifactView`, `DropZone`, `FormSection`, `StateBadge`, `AnchorStatus`, `BlockHeight`, `BlockCountdown`, `Meter`, `FilterChips`, `ToolGrid`) |
|
|
39
|
-
| `/chrome` | `SiteHeader`, `SiteFooter`, `FamilyMenu`, `SkipLink`, `SiteBanner`, `SignInFrame`, `AppShell`, `AccountMenu`, `ThemeToggle`, `DocsShell`, `DocsNav`, `ToolShell`, `SessionAccountView` |
|
|
38
|
+
| `/components` | `Display`, `Eyebrow`, `Section`, `StepGrid`, `PackageCard`, `TruthTable`, `Sats`, `DataTable`, `Notice`, `ProgressSteps`, `ErrorPage`, the public page blocks (`SectionHeading`, `FactBlock`, `ProofStrip`, `Closing`, `LegalDocument` …), the protocol page blocks (`ProtocolGrid`, `AppGrid`, `ProtocolHero`, `SpecCard`, `VerifyBox`, `ComparisonTable`, `VerifyReport`, `SignMessage`), code (`CodeBlock`, `CodeTabs`, `InstallTabs`), the docs blocks (`Breadcrumbs`, `DocsPager`, `OnThisPage`, `Callout`, `Steps`, `LinkCard`, `ApiTable`, `Diagram`, `SearchDialog`) and the tool parts (`ArtifactView`, `DropZone`, `FormSection`, `StateBadge`, `AnchorStatus`, `BlockHeight`, `BlockCountdown`, `Meter`, `FilterChips`, `ToolGrid`), and the parts signed-in pages repeat (`SectionTitle`, `ListCard`, `ChoiceGroup`, `ChoiceCard`) |
|
|
39
|
+
| `/chrome` | `SiteHeader`, `SiteFooter`, `FamilyMenu`, `SkipLink`, `SiteBanner`, `SignInFrame`, `AppShell`, `AccountMenu`, `ThemeToggle`, `DocsShell`, `DocsNav`, `ToolShell`, `ToolColumn`, `SessionAccountView`, `AccountCta` |
|
|
40
40
|
| `/mdx` | `mdxComponents` and `createMdxComponents({ mermaid })`: markdown in the system's type |
|
|
41
41
|
| `/code` | `rehypeCode` (highlights fences at build time), `highlight`, `highlightToHtml`; no React |
|
|
42
42
|
| `/format` | `explorerUrl`, `shortenMiddle`, `formatBlockHeight`, `blocksToDuration`, `formatUtc`, `formatBytes`; no React |
|
|
43
43
|
| `/session` | `SessionAccount`, read from `@orangecheck/auth-client` (an optional peer: install it to use this entry) |
|
|
44
|
-
| `/family` | every public site as data (`FAMILY`, `PROTOCOLS`, `OCHK_IO_NAV`, `LEGAL_LINKS`); no React |
|
|
44
|
+
| `/family` | every public site as data (`FAMILY`, `PROTOCOLS`, `OCHK_IO_NAV`, `LEGAL_LINKS`) and the account phrase (`GET_AN_ACCOUNT`, `SIGN_IN_LABEL`); no React |
|
|
45
45
|
| `/tokens` | the palette as data, for OG images and charts |
|
|
46
46
|
|
|
47
47
|
Docs written in MDX get highlighted code from the build and the system's type:
|
package/dist/chrome.d.mts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { e as FooterColumn, N as NavItem, d as FamilySlug,
|
|
3
|
+
import { e as FooterColumn, N as NavItem, d as FamilySlug, k as ProtocolSlug } from './index-Bkl49Vgy.mjs';
|
|
4
4
|
import { T as TocItem } from './hero-Dn37il-9.mjs';
|
|
5
|
-
import { a as Status } from './status-badge-
|
|
6
|
-
export { A as AccountMenu, a as AccountMenuItem, b as AppShell, c as AppShellProps, O as OCHK_APP_ACCOUNT, S as SessionAccountView, d as SessionState, e as ShellNavGroup, f as ShellNavItem, g as ShellSection, T as ThemeToggle, h as
|
|
7
|
-
import './tools-
|
|
5
|
+
import { a as Status } from './status-badge-BBbCO6ZA.mjs';
|
|
6
|
+
export { A as AccountMenu, a as AccountMenuItem, b as AppShell, c as AppShellProps, O as OCHK_APP_ACCOUNT, S as SessionAccountView, d as SessionState, e as ShellNavGroup, f as ShellNavItem, g as ShellSection, T as ThemeToggle, h as ToolColumn, i as ToolShell, j as ToolShellProps, u as useSignInHref } from './tool-shell-DQFEMLLe.mjs';
|
|
7
|
+
import './tools-CKO8IseL.mjs';
|
|
8
8
|
import './format.mjs';
|
|
9
9
|
|
|
10
10
|
interface SiteHeaderProps {
|
|
@@ -20,6 +20,10 @@ interface SiteHeaderProps {
|
|
|
20
20
|
menu?: ReactNode;
|
|
21
21
|
className?: string;
|
|
22
22
|
}
|
|
23
|
+
declare function AccountCta({ href, className }: {
|
|
24
|
+
href?: string;
|
|
25
|
+
className?: string;
|
|
26
|
+
}): react.JSX.Element;
|
|
23
27
|
declare function SiteHeader({ home, brand, product, family, nav, search, actions, variant, navOnPhone, menu: menuExtra, className, }: SiteHeaderProps): react.JSX.Element;
|
|
24
28
|
declare function SkipLink({ href, children }: {
|
|
25
29
|
href?: string;
|
|
@@ -57,13 +61,14 @@ declare function FamilyMenu({ current, className }: {
|
|
|
57
61
|
className?: string;
|
|
58
62
|
}): react.JSX.Element;
|
|
59
63
|
|
|
60
|
-
declare function SignInFrame({ title, lead, children, error, fineprint, brand, home, protocol, back, art, caption, className, }: {
|
|
64
|
+
declare function SignInFrame({ title, lead, children, error, fineprint, brand, product, home, protocol, back, art, caption, className, }: {
|
|
61
65
|
title?: ReactNode;
|
|
62
66
|
lead?: ReactNode;
|
|
63
67
|
children: ReactNode;
|
|
64
68
|
error?: ReactNode;
|
|
65
69
|
fineprint?: ReactNode;
|
|
66
70
|
brand?: ReactNode;
|
|
71
|
+
product?: string;
|
|
67
72
|
home?: string;
|
|
68
73
|
protocol?: ProtocolSlug;
|
|
69
74
|
back?: ReactNode;
|
|
@@ -110,4 +115,4 @@ interface ShellPlace {
|
|
|
110
115
|
declare const ShellContext: react.Context<ShellPlace>;
|
|
111
116
|
declare function useShellPlace(): ShellPlace;
|
|
112
117
|
|
|
113
|
-
export { DOCS_HEADER_NAV, DocsNav, type DocsNavItem, type DocsNavSection, DocsShell, type DocsShellProps, FamilyMenu, FooterColumn, NavItem, OchkIoFooter, ShellContext, type ShellPlace, SignInFrame, SiteBanner, SiteFooter, type SiteFooterProps, SiteHeader, type SiteHeaderProps, SkipLink, useShellPlace };
|
|
118
|
+
export { AccountCta, DOCS_HEADER_NAV, DocsNav, type DocsNavItem, type DocsNavSection, DocsShell, type DocsShellProps, FamilyMenu, FooterColumn, NavItem, OchkIoFooter, ShellContext, type ShellPlace, SignInFrame, SiteBanner, SiteFooter, type SiteFooterProps, SiteHeader, type SiteHeaderProps, SkipLink, useShellPlace };
|
package/dist/chrome.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { e as FooterColumn, N as NavItem, d as FamilySlug,
|
|
3
|
+
import { e as FooterColumn, N as NavItem, d as FamilySlug, k as ProtocolSlug } from './index-Bkl49Vgy.js';
|
|
4
4
|
import { T as TocItem } from './hero-Dn37il-9.js';
|
|
5
|
-
import { a as Status } from './status-badge-
|
|
6
|
-
export { A as AccountMenu, a as AccountMenuItem, b as AppShell, c as AppShellProps, O as OCHK_APP_ACCOUNT, S as SessionAccountView, d as SessionState, e as ShellNavGroup, f as ShellNavItem, g as ShellSection, T as ThemeToggle, h as
|
|
7
|
-
import './tools-
|
|
5
|
+
import { a as Status } from './status-badge-CHHxtFkP.js';
|
|
6
|
+
export { A as AccountMenu, a as AccountMenuItem, b as AppShell, c as AppShellProps, O as OCHK_APP_ACCOUNT, S as SessionAccountView, d as SessionState, e as ShellNavGroup, f as ShellNavItem, g as ShellSection, T as ThemeToggle, h as ToolColumn, i as ToolShell, j as ToolShellProps, u as useSignInHref } from './tool-shell-CnZ3NUSi.js';
|
|
7
|
+
import './tools-CzjFPng4.js';
|
|
8
8
|
import './format.js';
|
|
9
9
|
|
|
10
10
|
interface SiteHeaderProps {
|
|
@@ -20,6 +20,10 @@ interface SiteHeaderProps {
|
|
|
20
20
|
menu?: ReactNode;
|
|
21
21
|
className?: string;
|
|
22
22
|
}
|
|
23
|
+
declare function AccountCta({ href, className }: {
|
|
24
|
+
href?: string;
|
|
25
|
+
className?: string;
|
|
26
|
+
}): react.JSX.Element;
|
|
23
27
|
declare function SiteHeader({ home, brand, product, family, nav, search, actions, variant, navOnPhone, menu: menuExtra, className, }: SiteHeaderProps): react.JSX.Element;
|
|
24
28
|
declare function SkipLink({ href, children }: {
|
|
25
29
|
href?: string;
|
|
@@ -57,13 +61,14 @@ declare function FamilyMenu({ current, className }: {
|
|
|
57
61
|
className?: string;
|
|
58
62
|
}): react.JSX.Element;
|
|
59
63
|
|
|
60
|
-
declare function SignInFrame({ title, lead, children, error, fineprint, brand, home, protocol, back, art, caption, className, }: {
|
|
64
|
+
declare function SignInFrame({ title, lead, children, error, fineprint, brand, product, home, protocol, back, art, caption, className, }: {
|
|
61
65
|
title?: ReactNode;
|
|
62
66
|
lead?: ReactNode;
|
|
63
67
|
children: ReactNode;
|
|
64
68
|
error?: ReactNode;
|
|
65
69
|
fineprint?: ReactNode;
|
|
66
70
|
brand?: ReactNode;
|
|
71
|
+
product?: string;
|
|
67
72
|
home?: string;
|
|
68
73
|
protocol?: ProtocolSlug;
|
|
69
74
|
back?: ReactNode;
|
|
@@ -110,4 +115,4 @@ interface ShellPlace {
|
|
|
110
115
|
declare const ShellContext: react.Context<ShellPlace>;
|
|
111
116
|
declare function useShellPlace(): ShellPlace;
|
|
112
117
|
|
|
113
|
-
export { DOCS_HEADER_NAV, DocsNav, type DocsNavItem, type DocsNavSection, DocsShell, type DocsShellProps, FamilyMenu, FooterColumn, NavItem, OchkIoFooter, ShellContext, type ShellPlace, SignInFrame, SiteBanner, SiteFooter, type SiteFooterProps, SiteHeader, type SiteHeaderProps, SkipLink, useShellPlace };
|
|
118
|
+
export { AccountCta, DOCS_HEADER_NAV, DocsNav, type DocsNavItem, type DocsNavSection, DocsShell, type DocsShellProps, FamilyMenu, FooterColumn, NavItem, OchkIoFooter, ShellContext, type ShellPlace, SignInFrame, SiteBanner, SiteFooter, type SiteFooterProps, SiteHeader, type SiteHeaderProps, SkipLink, useShellPlace };
|
package/dist/chrome.js
CHANGED
|
@@ -6,15 +6,15 @@ var react = require('react');
|
|
|
6
6
|
var clsx = require('clsx');
|
|
7
7
|
var tailwindMerge = require('tailwind-merge');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
+
var reactSlot = require('@radix-ui/react-slot');
|
|
10
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
11
|
+
var SeparatorPrimitive = require('@radix-ui/react-separator');
|
|
12
|
+
var nextThemes = require('next-themes');
|
|
13
|
+
require('sonner');
|
|
9
14
|
var DialogPrimitive = require('@radix-ui/react-dialog');
|
|
10
15
|
var DropdownMenuPrimitive = require('@radix-ui/react-dropdown-menu');
|
|
11
16
|
var PopoverPrimitive = require('@radix-ui/react-popover');
|
|
12
17
|
var TooltipPrimitive = require('@radix-ui/react-tooltip');
|
|
13
|
-
var nextThemes = require('next-themes');
|
|
14
|
-
var classVarianceAuthority = require('class-variance-authority');
|
|
15
|
-
var SeparatorPrimitive = require('@radix-ui/react-separator');
|
|
16
|
-
require('sonner');
|
|
17
|
-
var reactSlot = require('@radix-ui/react-slot');
|
|
18
18
|
var router = require('next/compat/router');
|
|
19
19
|
|
|
20
20
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -38,11 +38,11 @@ function _interopNamespace(e) {
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
var Link__default = /*#__PURE__*/_interopDefault(Link);
|
|
41
|
+
var SeparatorPrimitive__namespace = /*#__PURE__*/_interopNamespace(SeparatorPrimitive);
|
|
41
42
|
var DialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(DialogPrimitive);
|
|
42
43
|
var DropdownMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(DropdownMenuPrimitive);
|
|
43
44
|
var PopoverPrimitive__namespace = /*#__PURE__*/_interopNamespace(PopoverPrimitive);
|
|
44
45
|
var TooltipPrimitive__namespace = /*#__PURE__*/_interopNamespace(TooltipPrimitive);
|
|
45
|
-
var SeparatorPrimitive__namespace = /*#__PURE__*/_interopNamespace(SeparatorPrimitive);
|
|
46
46
|
|
|
47
47
|
var merge = tailwindMerge.extendTailwindMerge({
|
|
48
48
|
extend: {
|
|
@@ -137,6 +137,9 @@ function Lockup({ name = "orangecheck", size = 28, className }) {
|
|
|
137
137
|
// src/family/index.ts
|
|
138
138
|
var OCHK_IO = "https://ochk.io";
|
|
139
139
|
var DOCS_HREF = `${OCHK_IO}/docs`;
|
|
140
|
+
var OCHK_APP = "https://ochk.app";
|
|
141
|
+
var GET_AN_ACCOUNT = { href: OCHK_APP, label: "Get an account" };
|
|
142
|
+
var SIGN_IN_LABEL = "Sign in";
|
|
140
143
|
function protocol(slug, verb, line, kinds) {
|
|
141
144
|
return {
|
|
142
145
|
slug,
|
|
@@ -173,7 +176,7 @@ var FAMILY = [
|
|
|
173
176
|
{
|
|
174
177
|
slug: "me",
|
|
175
178
|
label: "ochk.app",
|
|
176
|
-
href:
|
|
179
|
+
href: OCHK_APP,
|
|
177
180
|
group: "orangecheck",
|
|
178
181
|
line: "One account, with Bitcoin behind it.",
|
|
179
182
|
status: "testing"
|
|
@@ -282,6 +285,93 @@ var OCHK_IO_FOOTER = [
|
|
|
282
285
|
]
|
|
283
286
|
}
|
|
284
287
|
];
|
|
288
|
+
function Spinner({ className, label }) {
|
|
289
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
290
|
+
"svg",
|
|
291
|
+
{
|
|
292
|
+
viewBox: "0 0 24 24",
|
|
293
|
+
fill: "none",
|
|
294
|
+
role: label ? "status" : void 0,
|
|
295
|
+
"aria-label": label,
|
|
296
|
+
"aria-hidden": label ? void 0 : true,
|
|
297
|
+
className: cn("size-4 animate-spin", className),
|
|
298
|
+
children: [
|
|
299
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "9", stroke: "currentColor", strokeOpacity: "0.2", strokeWidth: "2.5" }),
|
|
300
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M21 12a9 9 0 0 0-9-9", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round" })
|
|
301
|
+
]
|
|
302
|
+
}
|
|
303
|
+
);
|
|
304
|
+
}
|
|
305
|
+
react.forwardRef(function Separator2({ className, orientation = "horizontal", decorative = true, ...props }, ref) {
|
|
306
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
307
|
+
SeparatorPrimitive__namespace.Root,
|
|
308
|
+
{
|
|
309
|
+
ref,
|
|
310
|
+
decorative,
|
|
311
|
+
orientation,
|
|
312
|
+
className: cn(
|
|
313
|
+
"shrink-0 bg-border",
|
|
314
|
+
orientation === "horizontal" ? "h-px w-full" : "h-full w-px",
|
|
315
|
+
className
|
|
316
|
+
),
|
|
317
|
+
...props
|
|
318
|
+
}
|
|
319
|
+
);
|
|
320
|
+
});
|
|
321
|
+
var buttonVariants = classVarianceAuthority.cva(
|
|
322
|
+
[
|
|
323
|
+
"inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-full font-medium",
|
|
324
|
+
"transition-[background-color,border-color,color,box-shadow,transform] duration-150",
|
|
325
|
+
"outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
|
|
326
|
+
"active:translate-y-px disabled:pointer-events-none",
|
|
327
|
+
// Disabled is one look for every variant: a quiet grey pill, never a
|
|
328
|
+
// faded black or orange slab that reads as broken.
|
|
329
|
+
"disabled:border disabled:border-border disabled:bg-muted disabled:text-oca-subtle disabled:shadow-none",
|
|
330
|
+
"[&_svg]:pointer-events-none [&_svg]:size-[1.1em] [&_svg]:shrink-0"
|
|
331
|
+
],
|
|
332
|
+
{
|
|
333
|
+
variants: {
|
|
334
|
+
variant: {
|
|
335
|
+
primary: "bg-primary text-primary-foreground hover:bg-primary/85",
|
|
336
|
+
secondary: "border border-border bg-secondary text-secondary-foreground hover:border-oca-hairline-strong hover:bg-accent",
|
|
337
|
+
brand: "bg-brand text-brand-foreground hover:bg-oca-orange-deep",
|
|
338
|
+
ghost: "text-foreground hover:bg-accent",
|
|
339
|
+
danger: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
|
|
340
|
+
link: "h-auto rounded-none px-0 text-foreground underline decoration-foreground/35 underline-offset-4 hover:decoration-foreground",
|
|
341
|
+
onInk: "bg-white text-oca-ink hover:bg-white/90",
|
|
342
|
+
onInkOutline: "border border-white/20 text-white hover:bg-white/10"
|
|
343
|
+
},
|
|
344
|
+
size: {
|
|
345
|
+
sm: "h-9 px-4 text-sm",
|
|
346
|
+
md: "h-11 px-5 text-[0.9375rem]",
|
|
347
|
+
lg: "h-14 px-7 text-[1.0625rem]",
|
|
348
|
+
icon: "size-10",
|
|
349
|
+
"icon-sm": "size-8"
|
|
350
|
+
}
|
|
351
|
+
},
|
|
352
|
+
compoundVariants: [{ variant: "link", className: "h-auto px-0" }],
|
|
353
|
+
defaultVariants: { variant: "primary", size: "md" }
|
|
354
|
+
}
|
|
355
|
+
);
|
|
356
|
+
var Button = react.forwardRef(function Button2({ className, variant, size, asChild = false, loading = false, disabled, children, type, ...props }, ref) {
|
|
357
|
+
const Comp = asChild ? reactSlot.Slot : "button";
|
|
358
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
359
|
+
Comp,
|
|
360
|
+
{
|
|
361
|
+
ref,
|
|
362
|
+
"data-ui": "button",
|
|
363
|
+
className: cn(buttonVariants({ variant, size }), className),
|
|
364
|
+
disabled: asChild ? void 0 : disabled || loading,
|
|
365
|
+
"aria-busy": loading || void 0,
|
|
366
|
+
type: asChild ? void 0 : type ?? "button",
|
|
367
|
+
...props,
|
|
368
|
+
children: asChild ? children : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
369
|
+
loading ? /* @__PURE__ */ jsxRuntime.jsx(Spinner, { className: "size-[1.1em]" }) : null,
|
|
370
|
+
children
|
|
371
|
+
] })
|
|
372
|
+
}
|
|
373
|
+
);
|
|
374
|
+
});
|
|
285
375
|
var overlayClass = "oca-animate-fade fixed inset-0 z-50 bg-[rgb(10_10_10/0.38)] backdrop-blur-[2px] data-[state=closed]:opacity-0";
|
|
286
376
|
react.forwardRef(function DialogContent2({ className, children, hideClose, ...props }, ref) {
|
|
287
377
|
return /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Portal, { children: [
|
|
@@ -445,7 +535,8 @@ function sharedContext(name, initial) {
|
|
|
445
535
|
return store[key] ?? (store[key] = react.createContext(initial));
|
|
446
536
|
}
|
|
447
537
|
|
|
448
|
-
// src/lib/
|
|
538
|
+
// src/lib/column.ts
|
|
539
|
+
var InColumnContext = sharedContext("in-column", false);
|
|
449
540
|
var ShellContext = sharedContext("shell-place", {});
|
|
450
541
|
function useShellPlace() {
|
|
451
542
|
return react.useContext(ShellContext);
|
|
@@ -857,7 +948,7 @@ function SidebarShell({
|
|
|
857
948
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
858
949
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "hidden h-[4.5rem] items-center justify-end gap-3 px-8 lg:flex", children: account }),
|
|
859
950
|
banner ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-4 pb-2 pt-4 md:px-8 lg:pt-0", children: banner }) : null,
|
|
860
|
-
/* @__PURE__ */ jsxRuntime.jsx("main", { id: "main-content", className: "flex-1 px-4 pb-16 pt-6 md:px-8 lg:pt-2", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-auto w-full max-w-[72rem]", children }) })
|
|
951
|
+
/* @__PURE__ */ jsxRuntime.jsx("main", { id: "main-content", className: "flex-1 px-4 pb-16 pt-6 md:px-8 lg:pt-2", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-auto w-full max-w-[72rem]", children: /* @__PURE__ */ jsxRuntime.jsx(InColumnContext.Provider, { value: true, children }) }) })
|
|
861
952
|
] })
|
|
862
953
|
] }),
|
|
863
954
|
tabs ? /* @__PURE__ */ jsxRuntime.jsx(TabBar, { items: tabs }) : null
|
|
@@ -1052,6 +1143,18 @@ function NavDropdown({ item }) {
|
|
|
1052
1143
|
] })
|
|
1053
1144
|
] });
|
|
1054
1145
|
}
|
|
1146
|
+
function AccountCta({ href = GET_AN_ACCOUNT.href, className }) {
|
|
1147
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Button, { asChild: true, size: "sm", className, children: /* @__PURE__ */ jsxRuntime.jsx("a", { href, children: GET_AN_ACCOUNT.label }) });
|
|
1148
|
+
}
|
|
1149
|
+
function ProductLockup({ size, product }) {
|
|
1150
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center", children: [
|
|
1151
|
+
/* @__PURE__ */ jsxRuntime.jsx(Lockup, { size }),
|
|
1152
|
+
product ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1153
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, className: "mx-3 h-5 w-px bg-oca-hairline-strong" }),
|
|
1154
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium tracking-[-0.01em]", style: { fontSize: size * 0.56 }, children: product })
|
|
1155
|
+
] }) : null
|
|
1156
|
+
] });
|
|
1157
|
+
}
|
|
1055
1158
|
function SiteHeader({
|
|
1056
1159
|
home = "/",
|
|
1057
1160
|
brand,
|
|
@@ -1071,13 +1174,7 @@ function SiteHeader({
|
|
|
1071
1174
|
const current = typeof family === "string" ? family : void 0;
|
|
1072
1175
|
const phoneNav = navOnPhone ? nav : [];
|
|
1073
1176
|
const menu = phoneNav.length > 0 || Boolean(family) || Boolean(menuExtra);
|
|
1074
|
-
const brandNode = brand ?? /* @__PURE__ */ jsxRuntime.
|
|
1075
|
-
/* @__PURE__ */ jsxRuntime.jsx(Lockup, { size }),
|
|
1076
|
-
product ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1077
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, className: "mx-3 h-5 w-px bg-oca-hairline-strong" }),
|
|
1078
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium tracking-[-0.01em]", style: { fontSize: size * 0.56 }, children: product })
|
|
1079
|
-
] }) : null
|
|
1080
|
-
] });
|
|
1177
|
+
const brandNode = brand ?? /* @__PURE__ */ jsxRuntime.jsx(ProductLockup, { size, product });
|
|
1081
1178
|
const navigation = nav.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label": "Main", className: "hidden items-center gap-1 md:flex", children: nav.map(
|
|
1082
1179
|
(n) => n.children?.length ? /* @__PURE__ */ jsxRuntime.jsx(NavDropdown, { item: n }, n.href) : (
|
|
1083
1180
|
// Between md and lg the family menu and the actions share the row: tighter.
|
|
@@ -1207,7 +1304,7 @@ function SiteBanner({
|
|
|
1207
1304
|
var FOOT_LINK = "inline-flex min-h-11 items-center transition-colors hover:text-foreground md:min-h-0";
|
|
1208
1305
|
function LegalRow({ links }) {
|
|
1209
1306
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-x-6 gap-y-2 sm:flex-row sm:items-center sm:justify-between", children: [
|
|
1210
|
-
/* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label": "Legal", children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-wrap gap-x-5", children: links.map((l) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: l.href.startsWith("/") ? /* @__PURE__ */ jsxRuntime.jsx(Link__default.default, { href: l.href, className: FOOT_LINK, children: l.label }) : /* @__PURE__ */ jsxRuntime.jsx("a", { href: l.href, className: FOOT_LINK, children: l.label }) }, l.
|
|
1307
|
+
/* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label": "Legal", children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-wrap gap-x-5", children: links.map((l, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: l.href.startsWith("/") ? /* @__PURE__ */ jsxRuntime.jsx(Link__default.default, { href: l.href, className: FOOT_LINK, children: l.label }) : /* @__PURE__ */ jsxRuntime.jsx("a", { href: l.href, className: FOOT_LINK, children: l.label }) }, `${i}:${l.label}`)) }) }),
|
|
1211
1308
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
|
|
1212
1309
|
"\xA9 ",
|
|
1213
1310
|
(/* @__PURE__ */ new Date()).getFullYear(),
|
|
@@ -1227,16 +1324,26 @@ function SiteFooter({
|
|
|
1227
1324
|
}) {
|
|
1228
1325
|
const legalLinks = legal === true ? LEGAL_LINKS : legal || null;
|
|
1229
1326
|
if (compact) {
|
|
1230
|
-
return
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1327
|
+
return (
|
|
1328
|
+
// The tools' column (ToolColumn): the lockup lines up with the page's title.
|
|
1329
|
+
/* @__PURE__ */ jsxRuntime.jsx("footer", { className: cn("border-t border-border bg-background px-4 text-[0.875rem] text-muted-foreground md:px-8", className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto flex w-full max-w-[72rem] flex-col gap-x-8 gap-y-3 py-5 lg:flex-row lg:items-center lg:justify-between", children: [
|
|
1330
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-x-6 gap-y-3", children: [
|
|
1331
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1332
|
+
"a",
|
|
1333
|
+
{
|
|
1334
|
+
href: OCHK_IO,
|
|
1335
|
+
className: "relative rounded-lg text-foreground before:absolute before:inset-x-0 before:top-1/2 before:h-11 before:-translate-y-1/2",
|
|
1336
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Lockup, { size: 22 })
|
|
1337
|
+
}
|
|
1338
|
+
),
|
|
1339
|
+
family ? /* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label": "Protocols", children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-wrap gap-x-4", children: PROTOCOLS.map((p) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: p.pageHref, className: FOOT_LINK, children: p.label }) }, p.slug)) }) }) : null
|
|
1340
|
+
] }),
|
|
1341
|
+
legalLinks || meta ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-x-6 gap-y-2 sm:flex-row sm:flex-wrap sm:items-center", children: [
|
|
1342
|
+
legalLinks ? /* @__PURE__ */ jsxRuntime.jsx(LegalRow, { links: legalLinks }) : null,
|
|
1343
|
+
meta
|
|
1344
|
+
] }) : null
|
|
1345
|
+
] }) })
|
|
1346
|
+
);
|
|
1240
1347
|
}
|
|
1241
1348
|
const cols = [
|
|
1242
1349
|
...columns,
|
|
@@ -1271,17 +1378,17 @@ function SiteFooter({
|
|
|
1271
1378
|
className: cn("flex min-w-0 flex-col gap-1", spans && "col-span-2 md:col-span-1"),
|
|
1272
1379
|
children: [
|
|
1273
1380
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-[0.875rem] font-medium", children: col.heading }),
|
|
1274
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col gap-1", spans && "grid grid-cols-2 gap-x-6 md:flex md:flex-col"), children: col.links.map((l) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1381
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col gap-1", spans && "grid grid-cols-2 gap-x-6 md:flex md:flex-col"), children: col.links.map((l, j) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1275
1382
|
NavLink,
|
|
1276
1383
|
{
|
|
1277
1384
|
item: l,
|
|
1278
1385
|
className: "-mx-3 py-2.5 text-[0.9375rem] md:py-1.5"
|
|
1279
1386
|
},
|
|
1280
|
-
l.
|
|
1387
|
+
`${j}:${l.label}`
|
|
1281
1388
|
)) })
|
|
1282
1389
|
]
|
|
1283
1390
|
},
|
|
1284
|
-
col.heading
|
|
1391
|
+
`${i}:${col.heading}`
|
|
1285
1392
|
);
|
|
1286
1393
|
})
|
|
1287
1394
|
]
|
|
@@ -1381,12 +1488,13 @@ function IsoCheck({ size = 360, settle = false, shadow = true, tilt = false, tit
|
|
|
1381
1488
|
);
|
|
1382
1489
|
}
|
|
1383
1490
|
function SignInFrame({
|
|
1384
|
-
title =
|
|
1491
|
+
title = SIGN_IN_LABEL,
|
|
1385
1492
|
lead,
|
|
1386
1493
|
children,
|
|
1387
1494
|
error,
|
|
1388
1495
|
fineprint,
|
|
1389
1496
|
brand,
|
|
1497
|
+
product,
|
|
1390
1498
|
home,
|
|
1391
1499
|
protocol: protocol2,
|
|
1392
1500
|
back,
|
|
@@ -1404,7 +1512,7 @@ function SignInFrame({
|
|
|
1404
1512
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "flex flex-col px-4 pb-8 pt-5 sm:px-8 lg:px-14 lg:pt-8", children: [
|
|
1405
1513
|
/* @__PURE__ */ jsxRuntime.jsxs("header", { className: "flex items-center justify-between gap-4", children: [
|
|
1406
1514
|
/* @__PURE__ */ jsxRuntime.jsxs(Link__default.default, { href: homeHref, className: "w-fit rounded-lg", children: [
|
|
1407
|
-
brand ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1515
|
+
brand ?? /* @__PURE__ */ jsxRuntime.jsx(ProductLockup, { size: 28, product: product ?? (protocol2 ? protocolSite(protocol2).label : void 0) }),
|
|
1408
1516
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: " home" })
|
|
1409
1517
|
] }),
|
|
1410
1518
|
back === void 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1441,97 +1549,10 @@ function SignInFrame({
|
|
|
1441
1549
|
}
|
|
1442
1550
|
);
|
|
1443
1551
|
}
|
|
1444
|
-
function Spinner({ className, label }) {
|
|
1445
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1446
|
-
"svg",
|
|
1447
|
-
{
|
|
1448
|
-
viewBox: "0 0 24 24",
|
|
1449
|
-
fill: "none",
|
|
1450
|
-
role: label ? "status" : void 0,
|
|
1451
|
-
"aria-label": label,
|
|
1452
|
-
"aria-hidden": label ? void 0 : true,
|
|
1453
|
-
className: cn("size-4 animate-spin", className),
|
|
1454
|
-
children: [
|
|
1455
|
-
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "9", stroke: "currentColor", strokeOpacity: "0.2", strokeWidth: "2.5" }),
|
|
1456
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M21 12a9 9 0 0 0-9-9", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round" })
|
|
1457
|
-
]
|
|
1458
|
-
}
|
|
1459
|
-
);
|
|
1460
|
-
}
|
|
1461
|
-
react.forwardRef(function Separator3({ className, orientation = "horizontal", decorative = true, ...props }, ref) {
|
|
1462
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1463
|
-
SeparatorPrimitive__namespace.Root,
|
|
1464
|
-
{
|
|
1465
|
-
ref,
|
|
1466
|
-
decorative,
|
|
1467
|
-
orientation,
|
|
1468
|
-
className: cn(
|
|
1469
|
-
"shrink-0 bg-border",
|
|
1470
|
-
orientation === "horizontal" ? "h-px w-full" : "h-full w-px",
|
|
1471
|
-
className
|
|
1472
|
-
),
|
|
1473
|
-
...props
|
|
1474
|
-
}
|
|
1475
|
-
);
|
|
1476
|
-
});
|
|
1477
1552
|
var DensityContext = sharedContext("density", "comfortable");
|
|
1478
1553
|
function DensityProvider({ density, children }) {
|
|
1479
1554
|
return react.createElement(DensityContext.Provider, { value: density }, children);
|
|
1480
1555
|
}
|
|
1481
|
-
var buttonVariants = classVarianceAuthority.cva(
|
|
1482
|
-
[
|
|
1483
|
-
"inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-full font-medium",
|
|
1484
|
-
"transition-[background-color,border-color,color,box-shadow,transform] duration-150",
|
|
1485
|
-
"outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
|
|
1486
|
-
"active:translate-y-px disabled:pointer-events-none",
|
|
1487
|
-
// Disabled is one look for every variant: a quiet grey pill, never a
|
|
1488
|
-
// faded black or orange slab that reads as broken.
|
|
1489
|
-
"disabled:border disabled:border-border disabled:bg-muted disabled:text-oca-subtle disabled:shadow-none",
|
|
1490
|
-
"[&_svg]:pointer-events-none [&_svg]:size-[1.1em] [&_svg]:shrink-0"
|
|
1491
|
-
],
|
|
1492
|
-
{
|
|
1493
|
-
variants: {
|
|
1494
|
-
variant: {
|
|
1495
|
-
primary: "bg-primary text-primary-foreground hover:bg-primary/85",
|
|
1496
|
-
secondary: "border border-border bg-secondary text-secondary-foreground hover:border-oca-hairline-strong hover:bg-accent",
|
|
1497
|
-
brand: "bg-brand text-brand-foreground hover:bg-oca-orange-deep",
|
|
1498
|
-
ghost: "text-foreground hover:bg-accent",
|
|
1499
|
-
danger: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
|
|
1500
|
-
link: "h-auto rounded-none px-0 text-foreground underline decoration-foreground/35 underline-offset-4 hover:decoration-foreground",
|
|
1501
|
-
onInk: "bg-white text-oca-ink hover:bg-white/90",
|
|
1502
|
-
onInkOutline: "border border-white/20 text-white hover:bg-white/10"
|
|
1503
|
-
},
|
|
1504
|
-
size: {
|
|
1505
|
-
sm: "h-9 px-4 text-sm",
|
|
1506
|
-
md: "h-11 px-5 text-[0.9375rem]",
|
|
1507
|
-
lg: "h-14 px-7 text-[1.0625rem]",
|
|
1508
|
-
icon: "size-10",
|
|
1509
|
-
"icon-sm": "size-8"
|
|
1510
|
-
}
|
|
1511
|
-
},
|
|
1512
|
-
compoundVariants: [{ variant: "link", className: "h-auto px-0" }],
|
|
1513
|
-
defaultVariants: { variant: "primary", size: "md" }
|
|
1514
|
-
}
|
|
1515
|
-
);
|
|
1516
|
-
var Button = react.forwardRef(function Button2({ className, variant, size, asChild = false, loading = false, disabled, children, type, ...props }, ref) {
|
|
1517
|
-
const Comp = asChild ? reactSlot.Slot : "button";
|
|
1518
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1519
|
-
Comp,
|
|
1520
|
-
{
|
|
1521
|
-
ref,
|
|
1522
|
-
"data-ui": "button",
|
|
1523
|
-
className: cn(buttonVariants({ variant, size }), className),
|
|
1524
|
-
disabled: asChild ? void 0 : disabled || loading,
|
|
1525
|
-
"aria-busy": loading || void 0,
|
|
1526
|
-
type: asChild ? void 0 : type ?? "button",
|
|
1527
|
-
...props,
|
|
1528
|
-
children: asChild ? children : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1529
|
-
loading ? /* @__PURE__ */ jsxRuntime.jsx(Spinner, { className: "size-[1.1em]" }) : null,
|
|
1530
|
-
children
|
|
1531
|
-
] })
|
|
1532
|
-
}
|
|
1533
|
-
);
|
|
1534
|
-
});
|
|
1535
1556
|
function useActiveHeading(ids) {
|
|
1536
1557
|
const [active, setActive] = react.useState(ids[0]);
|
|
1537
1558
|
const key = ids.join("|");
|
|
@@ -1785,7 +1806,7 @@ function SessionAccountView({
|
|
|
1785
1806
|
items = [],
|
|
1786
1807
|
signInHref,
|
|
1787
1808
|
signInPath,
|
|
1788
|
-
signInLabel =
|
|
1809
|
+
signInLabel = SIGN_IN_LABEL,
|
|
1789
1810
|
accountHref = OCHK_APP_ACCOUNT,
|
|
1790
1811
|
onSignOut,
|
|
1791
1812
|
nameFrom = "lg"
|
|
@@ -1816,6 +1837,13 @@ function SessionAccountView({
|
|
|
1816
1837
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: state === "checking" ? "contents invisible" : "contents", "aria-hidden": state === "checking" || void 0, children: /* @__PURE__ */ jsxRuntime.jsx(Button, { asChild: true, size: "sm", variant: "secondary", tabIndex: state === "checking" ? -1 : void 0, children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: signInHref ?? inPlace ?? "https://ochk.io/signin", children: signInLabel }) }) })
|
|
1817
1838
|
);
|
|
1818
1839
|
}
|
|
1840
|
+
function ToolColumn({
|
|
1841
|
+
measure = "wide",
|
|
1842
|
+
className,
|
|
1843
|
+
children
|
|
1844
|
+
}) {
|
|
1845
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("px-4 pb-16 pt-8 md:px-8 md:pt-10", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-auto w-full max-w-[72rem]", children: /* @__PURE__ */ jsxRuntime.jsx(InColumnContext.Provider, { value: true, children: measure === "narrow" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-[48rem]", children }) : children }) }) });
|
|
1846
|
+
}
|
|
1819
1847
|
function ToolShell({
|
|
1820
1848
|
protocol: protocol2,
|
|
1821
1849
|
tools,
|
|
@@ -1824,6 +1852,7 @@ function ToolShell({
|
|
|
1824
1852
|
rail = false,
|
|
1825
1853
|
railFooter,
|
|
1826
1854
|
variant = "tool",
|
|
1855
|
+
measure = "wide",
|
|
1827
1856
|
banner,
|
|
1828
1857
|
footer,
|
|
1829
1858
|
children
|
|
@@ -1881,14 +1910,7 @@ function ToolShell({
|
|
|
1881
1910
|
/* @__PURE__ */ jsxRuntime.jsx(SideNav, { groups: [{ label: "Tools", items: tools.map(({ href, label, icon, active }) => ({ href, label, icon, active })) }] }),
|
|
1882
1911
|
railFooter ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-auto flex flex-col gap-0.5 px-3 text-[0.875rem] text-muted-foreground [&_a:hover]:text-foreground [&_a]:py-1.5 [&_a]:transition-colors", children: railFooter }) : null
|
|
1883
1912
|
] }) : null,
|
|
1884
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1885
|
-
"main",
|
|
1886
|
-
{
|
|
1887
|
-
id: "main-content",
|
|
1888
|
-
className: cn("min-w-0 flex-1", app ? "flex min-h-0 flex-col" : "px-4 pb-16 pt-8 md:px-8 md:pt-10"),
|
|
1889
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(SiteHomeContext.Provider, { value: homeHref, children: app ? children : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-auto w-full max-w-[72rem]", children }) })
|
|
1890
|
-
}
|
|
1891
|
-
)
|
|
1913
|
+
/* @__PURE__ */ jsxRuntime.jsx("main", { id: "main-content", className: cn("min-w-0 flex-1", app && "flex min-h-0 flex-col"), children: /* @__PURE__ */ jsxRuntime.jsx(SiteHomeContext.Provider, { value: homeHref, children: app ? children : /* @__PURE__ */ jsxRuntime.jsx(ToolColumn, { measure, children }) }) })
|
|
1892
1914
|
] }),
|
|
1893
1915
|
app || footer === false ? null : footer ?? /* @__PURE__ */ jsxRuntime.jsx(SiteFooter, { compact: true, family: true, legal: true }),
|
|
1894
1916
|
tabs ? /* @__PURE__ */ jsxRuntime.jsx(TabBar, { items: tabs }) : null
|
|
@@ -1897,6 +1919,7 @@ function ToolShell({
|
|
|
1897
1919
|
) });
|
|
1898
1920
|
}
|
|
1899
1921
|
|
|
1922
|
+
exports.AccountCta = AccountCta;
|
|
1900
1923
|
exports.AccountMenu = AccountMenu;
|
|
1901
1924
|
exports.AppShell = AppShell;
|
|
1902
1925
|
exports.DOCS_HEADER_NAV = DOCS_HEADER_NAV;
|
|
@@ -1913,6 +1936,7 @@ exports.SiteFooter = SiteFooter;
|
|
|
1913
1936
|
exports.SiteHeader = SiteHeader;
|
|
1914
1937
|
exports.SkipLink = SkipLink;
|
|
1915
1938
|
exports.ThemeToggle = ThemeToggle;
|
|
1939
|
+
exports.ToolColumn = ToolColumn;
|
|
1916
1940
|
exports.ToolShell = ToolShell;
|
|
1917
1941
|
exports.useShellPlace = useShellPlace;
|
|
1918
1942
|
exports.useSignInHref = useSignInHref;
|