@adminiumjs/ui 0.3.0-rc.2 → 0.3.0-rc.3

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.
@@ -0,0 +1,42 @@
1
+ import type { ComponentPropsWithRef, ReactNode } from 'react';
2
+ export interface CodePaneProps extends Omit<ComponentPropsWithRef<'div'>, 'onChange' | 'title'> {
3
+ /** The header glyph (the comp's `braces`), 15 px, in `--code-blue`. */
4
+ icon?: ReactNode;
5
+ title: ReactNode;
6
+ /** Whether the text differs from what the form holds: "edited — not applied". */
7
+ dirty: boolean;
8
+ /** The state badge's words for each state (i18n). */
9
+ stateLabel: ReactNode;
10
+ value: string;
11
+ onValueChange: (value: string) => void;
12
+ /** The textarea's accessible name (i18n). */
13
+ textareaLabel: string;
14
+ /** The header's end action — the comp's Format button. */
15
+ action?: ReactNode;
16
+ /** A parse or compile problem, shown in the strip under the text. */
17
+ error?: ReactNode;
18
+ /** The footer's buttons: `CodePaneButton`s. */
19
+ footer?: ReactNode;
20
+ }
21
+ /**
22
+ * CodePane — the builder's "Route definition" pane:
23
+ * the dark island (`.adm-always-dark`, the scope's own `--bg`) with a header,
24
+ * a monospace textarea, an error strip and a footer slot.
25
+ *
26
+ * Colours are the island's tokens, never the comp's hexes: text
27
+ * `fg-muted` (#d3d3e0 in the comp), hairlines `border`, the error strip
28
+ * `danger` on `danger-soft`.
29
+ */
30
+ export declare function CodePane({ icon, title, dirty, stateLabel, value, onValueChange, textareaLabel, action, error, footer, className, ...props }: CodePaneProps): import("react").JSX.Element;
31
+ export interface CodePaneButtonProps extends ComponentPropsWithRef<'button'> {
32
+ /**
33
+ * `apply` fills the row's first half: the comp's LIGHT accent with near-white
34
+ * text when enabled — the island flips `--accent` to the dark accent, so the
35
+ * light one is pinned here — and `surface-3` /
36
+ * `fg-subtle` when there is nothing to apply. `revert` is outlined.
37
+ * `format` is the header's small action.
38
+ */
39
+ variant: 'apply' | 'revert' | 'format';
40
+ }
41
+ export declare function CodePaneButton({ variant, className, type, ...props }: CodePaneButtonProps): import("react").JSX.Element;
42
+ //# sourceMappingURL=CodePane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodePane.d.ts","sourceRoot":"","sources":["../../../src/components/code-pane/CodePane.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAI9D,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAC7F,uEAAuE;IACvE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,iFAAiF;IACjF,KAAK,EAAE,OAAO,CAAC;IACf,qDAAqD;IACrD,UAAU,EAAE,SAAS,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,6CAA6C;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,qEAAqE;IACrE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,KAAK,EACL,KAAK,EACL,UAAU,EACV,KAAK,EACL,aAAa,EACb,aAAa,EACb,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACT,EAAE,aAAa,+BA0Cf;AAED,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB,CAAC,QAAQ,CAAC;IAC1E;;;;;;OAMG;IACH,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACxC;AAED,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAe,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,+BAiBpG"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ import { TriangleAlert } from 'lucide-react';
4
+ import { cn } from '../../lib/cn.js';
5
+ /**
6
+ * CodePane — the builder's "Route definition" pane:
7
+ * the dark island (`.adm-always-dark`, the scope's own `--bg`) with a header,
8
+ * a monospace textarea, an error strip and a footer slot.
9
+ *
10
+ * Colours are the island's tokens, never the comp's hexes: text
11
+ * `fg-muted` (#d3d3e0 in the comp), hairlines `border`, the error strip
12
+ * `danger` on `danger-soft`.
13
+ */
14
+ export function CodePane({ icon, title, dirty, stateLabel, value, onValueChange, textareaLabel, action, error, footer, className, ...props }) {
15
+ return (_jsxs("div", { className: cn('adm-always-dark flex min-h-0 flex-col bg-bg leading-[normal] text-fg', className), ...props, children: [_jsxs("div", { className: "flex shrink-0 items-center gap-[9px] border-b border-border px-4 py-3", children: [icon === undefined ? null : (_jsx("span", { "aria-hidden": "true", className: "flex text-code-blue [&_svg]:size-[15px]", children: icon })), _jsx("span", { className: "text-[12.5px] font-bold text-fg", children: title }), _jsx("span", { "data-state": dirty ? 'dirty' : 'synced', className: cn('rounded-[6px] px-[7px] py-[2px] text-[10px] font-bold', dirty ? 'bg-warn-soft text-warn' : 'bg-surface-3 text-fg-subtle'), children: stateLabel }), action === undefined ? null : _jsx("div", { className: "ms-auto flex", children: action })] }), _jsx("textarea", { "aria-label": textareaLabel, value: value, onChange: (event) => onValueChange(event.target.value), spellCheck: false, dir: "ltr", className: cn('nb-code nb-scroll min-h-0 flex-1 resize-none border-none bg-transparent px-4 py-3.5', 'font-mono text-[11.5px] leading-[1.65] text-fg-muted [tab-size:2]', 'outline-none focus-visible:shadow-[inset_0_0_0_1px_color-mix(in_srgb,var(--accent-light)_60%,transparent)]') }), error === undefined || error === null || error === false ? null : (_jsxs("div", { role: "alert", className: "flex shrink-0 items-start gap-2 bg-danger-soft px-4 py-2.5 font-mono text-[11.5px] text-danger", children: [_jsx(TriangleAlert, { "aria-hidden": "true", className: "mt-px size-3.5 shrink-0" }), _jsx("span", { className: "min-w-0 break-words", children: error })] })), footer === undefined ? null : _jsx("div", { className: "flex shrink-0 gap-2 border-t border-border px-4 py-3", children: footer })] }));
16
+ }
17
+ export function CodePaneButton({ variant, className, type = 'button', ...props }) {
18
+ return (_jsx("button", { type: type, className: cn('focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent', variant === 'format'
19
+ ? 'nb-ib rounded-[7px] bg-surface-2 px-2.5 py-[5px] text-[11.5px] font-bold text-fg-muted hover:text-fg'
20
+ : 'flex-1 rounded-[9px] p-[9px] text-[12.5px] font-bold', variant === 'apply' &&
21
+ 'bg-[var(--accent-light)] text-fg disabled:cursor-not-allowed disabled:bg-surface-3 disabled:text-fg-subtle', variant === 'revert' && 'border border-border-strong bg-transparent text-fg-muted', className), ...props }));
22
+ }
23
+ //# sourceMappingURL=CodePane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodePane.js","sourceRoot":"","sources":["../../../src/components/code-pane/CodePane.tsx"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAsBrC;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ,CAAC,EACvB,IAAI,EACJ,KAAK,EACL,KAAK,EACL,UAAU,EACV,KAAK,EACL,aAAa,EACb,aAAa,EACb,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,GAAG,KAAK,EACM;IACd,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,sEAAsE,EAAE,SAAS,CAAC,KAAM,KAAK,aAC9G,eAAK,SAAS,EAAC,uEAAuE,aACnF,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC3B,8BAAkB,MAAM,EAAC,SAAS,EAAC,yCAAyC,YACzE,IAAI,GACA,CACR,EACD,eAAM,SAAS,EAAC,iCAAiC,YAAE,KAAK,GAAQ,EAChE,6BACc,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EACtC,SAAS,EAAE,EAAE,CACX,uDAAuD,EACvD,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,6BAA6B,CACjE,YAEA,UAAU,GACN,EACN,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,cAAc,YAAE,MAAM,GAAO,IACvE,EACN,iCACc,aAAa,EACzB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,UAAU,EAAE,KAAK,EACjB,GAAG,EAAC,KAAK,EACT,SAAS,EAAE,EAAE,CACX,qFAAqF,EACrF,mEAAmE,EACnE,4GAA4G,CAC7G,GACD,EACD,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACjE,eAAK,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,gGAAgG,aAC1H,KAAC,aAAa,mBAAa,MAAM,EAAC,SAAS,EAAC,yBAAyB,GAAG,EACxE,eAAM,SAAS,EAAC,qBAAqB,YAAE,KAAK,GAAQ,IAChD,CACP,EACA,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,sDAAsD,YAAE,MAAM,GAAO,IAC/G,CACP,CAAC;AACJ,CAAC;AAaD,MAAM,UAAU,cAAc,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAuB;IACnG,OAAO,CACL,iBACE,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CACX,qFAAqF,EACrF,OAAO,KAAK,QAAQ;YAClB,CAAC,CAAC,sGAAsG;YACxG,CAAC,CAAC,sDAAsD,EAC1D,OAAO,KAAK,OAAO;YACjB,4GAA4G,EAC9G,OAAO,KAAK,QAAQ,IAAI,0DAA0D,EAClF,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { CodePane, CodePaneButton } from './CodePane.js';
2
+ export type { CodePaneButtonProps, CodePaneProps } from './CodePane.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/code-pane/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACzD,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
2
+ export { CodePane, CodePaneButton } from './CodePane.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/code-pane/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type * as React from 'react';
2
+ /** The six public API methods, in the order every list shows them. */
3
+ export declare const HTTP_METHODS: readonly ["GET", "POST", "PATCH", "PUT", "DELETE", "BATCH"];
4
+ export type HttpMethod = (typeof HTTP_METHODS)[number];
5
+ /**
6
+ * Each method's tone, as the utilities a component composes. GET, POST, PATCH
7
+ * and DELETE wear the semantic tones; PUT and BATCH have their own pair
8
+ * (`--method-put`, `--method-batch`). Literal strings, so Tailwind emits them.
9
+ *
10
+ * `solid` is the tint pre-composited over `--surface` — a chip's contrast must
11
+ * be a property of the chip, not of whatever it lands on (tokens.css, THE
12
+ * OPAQUE CHIP TINTS). `dot` is the method's solid colour, for the explorer
13
+ * rail's 6 px dots.
14
+ */
15
+ export declare const METHOD_TONE: Readonly<Record<HttpMethod, {
16
+ text: string;
17
+ solid: string;
18
+ border: string;
19
+ dot: string;
20
+ }>>;
21
+ export interface MethodBadgeProps extends Omit<React.ComponentPropsWithRef<'span'>, 'style' | 'children'> {
22
+ method: HttpMethod;
23
+ /** `sm` 9.5 px, padding 2/5 (tables, pills); `md` 10 px, padding 3/7 (headings). */
24
+ size?: 'sm' | 'md';
25
+ /** 5 px on the keys page; the explorer draws 6 px. */
26
+ radius?: 5 | 6;
27
+ }
28
+ /**
29
+ * An HTTP method, as the API Keys and API explorer comps draw it:
30
+ * JetBrains Mono, .04em tracking, the method's colour on its tint.
31
+ *
32
+ * Weight 600, not the comp's 700: the comp loads JetBrains Mono at 400–600
33
+ * only, so its 700 RENDERS at 600, and 600 is what the comp shows.
34
+ * Line-height `normal`, stated here because a badge is often
35
+ * placed inside something that sets another.
36
+ */
37
+ export declare function MethodBadge({ method, size, radius, className, ...props }: MethodBadgeProps): React.JSX.Element;
38
+ //# sourceMappingURL=MethodBadge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MethodBadge.d.ts","sourceRoot":"","sources":["../../../src/components/method-badge/MethodBadge.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAIpC,sEAAsE;AACtE,eAAO,MAAM,YAAY,6DAA8D,CAAC;AACxF,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAYlH,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACvG,MAAM,EAAE,UAAU,CAAC;IACnB,oFAAoF;IACpF,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,sDAAsD;IACtD,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,IAAW,EAAE,MAAU,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,qBAqBrG"}
@@ -0,0 +1,44 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from '../../lib/cn.js';
3
+ /** The six public API methods, in the order every list shows them. */
4
+ export const HTTP_METHODS = ['GET', 'POST', 'PATCH', 'PUT', 'DELETE', 'BATCH'];
5
+ /**
6
+ * Each method's tone, as the utilities a component composes. GET, POST, PATCH
7
+ * and DELETE wear the semantic tones; PUT and BATCH have their own pair
8
+ * (`--method-put`, `--method-batch`). Literal strings, so Tailwind emits them.
9
+ *
10
+ * `solid` is the tint pre-composited over `--surface` — a chip's contrast must
11
+ * be a property of the chip, not of whatever it lands on (tokens.css, THE
12
+ * OPAQUE CHIP TINTS). `dot` is the method's solid colour, for the explorer
13
+ * rail's 6 px dots.
14
+ */
15
+ export const METHOD_TONE = {
16
+ GET: { text: 'text-info', solid: 'bg-info-soft-solid', border: 'border-info', dot: 'bg-info' },
17
+ POST: { text: 'text-pos', solid: 'bg-pos-soft-solid', border: 'border-pos', dot: 'bg-pos' },
18
+ PATCH: { text: 'text-warn', solid: 'bg-warn-soft-solid', border: 'border-warn', dot: 'bg-warn' },
19
+ PUT: { text: 'text-method-put', solid: 'bg-method-put-soft-solid', border: 'border-method-put', dot: 'bg-method-put' },
20
+ DELETE: { text: 'text-danger', solid: 'bg-danger-soft-solid', border: 'border-danger', dot: 'bg-danger' },
21
+ BATCH: {
22
+ text: 'text-method-batch',
23
+ solid: 'bg-method-batch-soft-solid',
24
+ border: 'border-method-batch',
25
+ dot: 'bg-method-batch',
26
+ },
27
+ };
28
+ /**
29
+ * An HTTP method, as the API Keys and API explorer comps draw it:
30
+ * JetBrains Mono, .04em tracking, the method's colour on its tint.
31
+ *
32
+ * Weight 600, not the comp's 700: the comp loads JetBrains Mono at 400–600
33
+ * only, so its 700 RENDERS at 600, and 600 is what the comp shows.
34
+ * Line-height `normal`, stated here because a badge is often
35
+ * placed inside something that sets another.
36
+ */
37
+ export function MethodBadge({ method, size = 'sm', radius = 5, className, ...props }) {
38
+ const tone = METHOD_TONE[method];
39
+ return (_jsx("span", { "data-method": method, className: cn('inline-flex shrink-0 items-center whitespace-nowrap font-mono font-semibold tracking-[.04em]', size === 'sm' ? 'px-[5px] py-[2px] text-[9.5px]' : 'px-[7px] py-[3px] text-[10px]',
40
+ // AFTER the size: tailwind-merge drops a line-height that precedes a
41
+ // font-size, since `text-*` may carry one of its own.
42
+ 'leading-[normal]', radius === 5 ? 'rounded-[5px]' : 'rounded-[6px]', tone.text, tone.solid, className), ...props, children: method }));
43
+ }
44
+ //# sourceMappingURL=MethodBadge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MethodBadge.js","sourceRoot":"","sources":["../../../src/components/method-badge/MethodBadge.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,sEAAsE;AACtE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAGxF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,WAAW,GAA+F;IACrH,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,EAAE;IAC9F,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE;IAC3F,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,EAAE;IAChG,GAAG,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,0BAA0B,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,eAAe,EAAE;IACtH,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,WAAW,EAAE;IACzG,KAAK,EAAE;QACL,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,4BAA4B;QACnC,MAAM,EAAE,qBAAqB;QAC7B,GAAG,EAAE,iBAAiB;KACvB;CACF,CAAC;AAUF;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAoB;IACpG,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,CACL,8BACe,MAAM,EACnB,SAAS,EAAE,EAAE,CACX,8FAA8F,EAC9F,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,+BAA+B;QAClF,qEAAqE;QACrE,sDAAsD;QACtD,kBAAkB,EAClB,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,EAChD,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,KAAK,EACV,SAAS,CACV,KACG,KAAK,YAER,MAAM,GACF,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { HTTP_METHODS, METHOD_TONE, MethodBadge } from './MethodBadge.js';
2
+ export type { HttpMethod, MethodBadgeProps } from './MethodBadge.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/method-badge/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1E,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,3 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
2
+ export { HTTP_METHODS, METHOD_TONE, MethodBadge } from './MethodBadge.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/method-badge/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,55 @@
1
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
2
+ import { type ComponentPropsWithRef, type ReactNode } from 'react';
3
+ export declare const SheetTrigger: import("react").ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
4
+ export declare const SheetClose: import("react").ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & import("react").RefAttributes<HTMLButtonElement>>;
5
+ export interface SheetProps extends Omit<ComponentPropsWithRef<typeof DialogPrimitive.Root>, 'open'> {
6
+ open: boolean;
7
+ /** The panel's max width in px; the comp's is 1180. */
8
+ maxWidth?: number | undefined;
9
+ /** Extra classes for the panel. */
10
+ className?: string | undefined;
11
+ /** Hand-wired description id, when the header's subtitle is not the description. */
12
+ 'aria-describedby'?: string | undefined;
13
+ children?: ReactNode;
14
+ }
15
+ /**
16
+ * Sheet — a full-height dialog panel, as the API Keys comp draws its create
17
+ * and builder sheets: a `--scrim` veil with a 3 px blur and 22 px
18
+ * of padding, holding a panel that grows to `maxWidth` and the full height,
19
+ * `--bg`, 1 px border, 18 px radius, the modal shadow, clipped.
20
+ *
21
+ * Compose `SheetHeader` / `SheetBar` / `SheetBody` / `SheetFooter`. Line-height
22
+ * is reset to `normal` on the panel: it is portalled out of the page, so the
23
+ * page root's reset does not reach it.
24
+ */
25
+ export declare function Sheet({ open, maxWidth, className, children, 'aria-describedby': describedBy, ...rootProps }: SheetProps): import("react").JSX.Element;
26
+ export interface SheetHeaderProps extends Omit<ComponentPropsWithRef<'div'>, 'title'> {
27
+ /** The glyph in the 34 px accent tile. */
28
+ icon: ReactNode;
29
+ title: ReactNode;
30
+ subtitle?: ReactNode;
31
+ /** Controls between the title and the close button (the layout tray). */
32
+ actions?: ReactNode;
33
+ /** Accessible name of the close button (i18n). */
34
+ closeLabel: string;
35
+ }
36
+ /**
37
+ * Header: gap 14, padding 16/20, `--surface`, a hairline below;
38
+ * the 34 px `accent-soft` tile (r10, glyph 17), title 16 / 800 / −.02em,
39
+ * subtitle 12 `fg-muted` 1 px below; actions and close at the end, gap 10.
40
+ */
41
+ export declare function SheetHeader({ icon, title, subtitle, actions, closeLabel, className, ...props }: SheetHeaderProps): import("react").JSX.Element;
42
+ export interface SheetBarProps extends ComponentPropsWithRef<'div'> {
43
+ /**
44
+ * `fields`: bottom-aligned, gap 14, padding 16/20, `--surface`.
45
+ * `tools`: centred, gap 9, padding 12/20, `--surface-2`, wraps.
46
+ */
47
+ variant?: 'fields' | 'tools';
48
+ }
49
+ /** A full-width band under the header, with a hairline below. */
50
+ export declare function SheetBar({ variant, className, ...props }: SheetBarProps): import("react").JSX.Element;
51
+ /** The sheet's working area: fills what is left, and scrolls in its own panes. */
52
+ export declare function SheetBody({ className, ...props }: ComponentPropsWithRef<'div'>): import("react").JSX.Element;
53
+ /** Footer: gap 12, padding 14/20, `--surface`, a hairline above. */
54
+ export declare function SheetFooter({ className, ...props }: ComponentPropsWithRef<'div'>): import("react").JSX.Element;
55
+ //# sourceMappingURL=Sheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sheet.d.ts","sourceRoot":"","sources":["../../../src/components/sheet/Sheet.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAkD,KAAK,qBAAqB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AA0CnH,eAAO,MAAM,YAAY,kIAA0B,CAAC;AACpD,eAAO,MAAM,UAAU,gIAAwB,CAAC;AAEhD,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,qBAAqB,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAClG,IAAI,EAAE,OAAO,CAAC;IACd,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,oFAAoF;IACpF,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,EAAE,IAAI,EAAE,QAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,EAAE,UAAU,+BAuD9H;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACnF,0CAA0C;IAC1C,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,yEAAyE;IACzE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,+BAsChH;AAED,MAAM,WAAW,aAAc,SAAQ,qBAAqB,CAAC,KAAK,CAAC;IACjE;;;OAGG;IACH,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC9B;AAED,iEAAiE;AACjE,wBAAgB,QAAQ,CAAC,EAAE,OAAiB,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,+BAWjF;AAED,kFAAkF;AAClF,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,qBAAqB,CAAC,KAAK,CAAC,+BAE9E;AAED,oEAAoE;AACpE,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,qBAAqB,CAAC,KAAK,CAAC,+BAOhF"}
@@ -0,0 +1,104 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
4
+ import { X } from 'lucide-react';
5
+ import { useEffect, useId, useRef, useSyncExternalStore } from 'react';
6
+ import { cn } from '../../lib/cn.js';
7
+ /*
8
+ * ── THE STACK ─────────────────────────────────────────────────────────────
9
+ * Sheets stack: the endpoint builder opens OVER the create-key sheet (z-index
10
+ * 60 under 70). Radix keeps Escape and focus on the top layer, but the
11
+ * sheet underneath keeps its focusable controls, and axe's
12
+ * `aria-hidden-focus` fires on exactly that shape unless the lower layer is
13
+ * inerted. So every open sheet registers here, and every sheet that is not
14
+ * the top one renders `inert`: out of the tab order and the accessibility
15
+ * tree until the one above it closes. A module store rather than React
16
+ * context, because the two sheets need not be nested in the React tree.
17
+ */
18
+ const stack = [];
19
+ const listeners = new Set();
20
+ const emit = () => {
21
+ for (const listener of listeners)
22
+ listener();
23
+ };
24
+ const subscribe = (listener) => {
25
+ listeners.add(listener);
26
+ return () => listeners.delete(listener);
27
+ };
28
+ const topOf = () => stack.at(-1) ?? null;
29
+ function useSheetLayer(open) {
30
+ const id = useId();
31
+ useEffect(() => {
32
+ if (!open)
33
+ return undefined;
34
+ stack.push(id);
35
+ emit();
36
+ return () => {
37
+ const at = stack.lastIndexOf(id);
38
+ if (at !== -1)
39
+ stack.splice(at, 1);
40
+ emit();
41
+ };
42
+ }, [open, id]);
43
+ const top = useSyncExternalStore(subscribe, topOf, () => null);
44
+ return open && top !== null && top !== id;
45
+ }
46
+ export const SheetTrigger = DialogPrimitive.Trigger;
47
+ export const SheetClose = DialogPrimitive.Close;
48
+ /**
49
+ * Sheet — a full-height dialog panel, as the API Keys comp draws its create
50
+ * and builder sheets: a `--scrim` veil with a 3 px blur and 22 px
51
+ * of padding, holding a panel that grows to `maxWidth` and the full height,
52
+ * `--bg`, 1 px border, 18 px radius, the modal shadow, clipped.
53
+ *
54
+ * Compose `SheetHeader` / `SheetBar` / `SheetBody` / `SheetFooter`. Line-height
55
+ * is reset to `normal` on the panel: it is portalled out of the page, so the
56
+ * page root's reset does not reach it.
57
+ */
58
+ export function Sheet({ open, maxWidth = 1180, className, children, 'aria-describedby': describedBy, ...rootProps }) {
59
+ const covered = useSheetLayer(open);
60
+ /*
61
+ * FOCUS RETURNS TO THE OPENER. Radix returns it only to a `Dialog.Trigger`,
62
+ * and these sheets are opened by ordinary buttons (a toolbar's "New
63
+ * endpoint", a row's edit icon), so the element focused when the sheet
64
+ * opened is remembered and focused again when it closes.
65
+ */
66
+ const opener = useRef(null);
67
+ useEffect(() => {
68
+ if (open && typeof document !== 'undefined') {
69
+ const active = document.activeElement;
70
+ opener.current = active instanceof HTMLElement && active !== document.body ? active : null;
71
+ }
72
+ }, [open]);
73
+ return (_jsx(DialogPrimitive.Root, { open: open, ...rootProps, children: _jsxs(DialogPrimitive.Portal, { children: [_jsx(DialogPrimitive.Overlay, { className: cn('fixed inset-0 z-[60] bg-[var(--scrim)] backdrop-blur-[3px]', 'animate-[nb-veil_.18s_ease]') }), _jsx("div", { className: "pointer-events-none fixed inset-0 z-[60] flex items-stretch justify-center p-[22px]", children: _jsx(DialogPrimitive.Content, { ...(describedBy === undefined ? {} : { 'aria-describedby': describedBy }), ...(covered ? { inert: true } : {}), "data-covered": covered ? '' : undefined, onCloseAutoFocus: (event) => {
74
+ const target = opener.current;
75
+ if (target !== null && target.isConnected) {
76
+ event.preventDefault();
77
+ target.focus();
78
+ }
79
+ },
80
+ // A custom property is the one inline style the kit allows; the
81
+ // width is a prop, so it cannot be a class.
82
+ style: { '--adm-sheet-max': `${String(maxWidth)}px` }, className: cn('pointer-events-auto flex min-h-0 max-w-[var(--adm-sheet-max)] flex-1 flex-col overflow-hidden', 'rounded-[18px] border border-border bg-bg text-fg shadow-modal outline-none', 'leading-[normal]', 'animate-[nb-sheet_.26s_cubic-bezier(.2,.7,.3,1)]', className), children: children }) })] }) }));
83
+ }
84
+ /**
85
+ * Header: gap 14, padding 16/20, `--surface`, a hairline below;
86
+ * the 34 px `accent-soft` tile (r10, glyph 17), title 16 / 800 / −.02em,
87
+ * subtitle 12 `fg-muted` 1 px below; actions and close at the end, gap 10.
88
+ */
89
+ export function SheetHeader({ icon, title, subtitle, actions, closeLabel, className, ...props }) {
90
+ return (_jsxs("div", { className: cn('flex shrink-0 items-center gap-3.5 border-b border-border bg-surface px-5 py-4', className), ...props, children: [_jsx("div", { "aria-hidden": "true", className: "flex size-[34px] shrink-0 items-center justify-center rounded-[10px] bg-accent-soft text-accent [&_svg]:size-[17px]", children: icon }), _jsxs("div", { className: "min-w-0", children: [_jsx(DialogPrimitive.Title, { className: "text-[16px] font-extrabold leading-[normal] tracking-[-.02em] text-fg", children: title }), subtitle === undefined || subtitle === null ? (_jsx(DialogPrimitive.Description, { className: "sr-only", children: title })) : (_jsx(DialogPrimitive.Description, { asChild: true, children: _jsx("div", { className: "mt-px text-[12px] leading-[normal] text-fg-muted", children: subtitle }) }))] }), _jsxs("div", { className: "ms-auto flex items-center gap-2.5", children: [actions, _jsx(DialogPrimitive.Close, { "aria-label": closeLabel, className: cn('nb-ib flex size-[34px] items-center justify-center rounded-[9px] border border-border bg-surface text-fg-muted hover:text-fg', 'focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent'), children: _jsx(X, { "aria-hidden": "true", className: "size-4" }) })] })] }));
91
+ }
92
+ /** A full-width band under the header, with a hairline below. */
93
+ export function SheetBar({ variant = 'tools', className, ...props }) {
94
+ return (_jsx("div", { className: cn('flex shrink-0 border-b border-border px-5', variant === 'fields' ? 'items-end gap-3.5 bg-surface py-4' : 'flex-wrap items-center gap-[9px] bg-surface-2 py-3', className), ...props }));
95
+ }
96
+ /** The sheet's working area: fills what is left, and scrolls in its own panes. */
97
+ export function SheetBody({ className, ...props }) {
98
+ return _jsx("div", { className: cn('flex min-h-0 flex-1 overflow-hidden', className), ...props });
99
+ }
100
+ /** Footer: gap 12, padding 14/20, `--surface`, a hairline above. */
101
+ export function SheetFooter({ className, ...props }) {
102
+ return (_jsx("div", { className: cn('flex shrink-0 items-center gap-3 border-t border-border bg-surface px-5 py-3.5', className), ...props }));
103
+ }
104
+ //# sourceMappingURL=Sheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sheet.js","sourceRoot":"","sources":["../../../src/components/sheet/Sheet.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { Sheet, SheetBar, SheetBody, SheetClose, SheetFooter, SheetHeader, SheetTrigger } from './Sheet.js';
2
+ export type { SheetBarProps, SheetHeaderProps, SheetProps } from './Sheet.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/sheet/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5G,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
2
+ export { Sheet, SheetBar, SheetBody, SheetClose, SheetFooter, SheetHeader, SheetTrigger } from './Sheet.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/sheet/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.d.ts CHANGED
@@ -16,6 +16,7 @@ export * from './components/check-row/index.js';
16
16
  export * from './components/checkbox/index.js';
17
17
  export * from './components/chip-input/index.js';
18
18
  export * from './components/choice-chips/index.js';
19
+ export * from './components/code-pane/index.js';
19
20
  export * from './components/combobox/index.js';
20
21
  export * from './components/command-palette/index.js';
21
22
  export * from './components/confirm-modal/index.js';
@@ -38,6 +39,7 @@ export * from './components/kbd/index.js';
38
39
  export * from './components/key-value-list/index.js';
39
40
  export * from './components/label/index.js';
40
41
  export * from './components/meta-pill/index.js';
42
+ export * from './components/method-badge/index.js';
41
43
  export * from './components/modal/index.js';
42
44
  export * from './components/mono-text/index.js';
43
45
  export * from './components/month-calendar/index.js';
@@ -55,6 +57,7 @@ export * from './components/search-input/index.js';
55
57
  export * from './components/secret-input/index.js';
56
58
  export * from './components/segmented-control/index.js';
57
59
  export * from './components/select/index.js';
60
+ export * from './components/sheet/index.js';
58
61
  export * from './components/skeleton/index.js';
59
62
  export * from './components/slider/index.js';
60
63
  export * from './components/slot-grid/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC"}
package/dist/index.js CHANGED
@@ -20,6 +20,7 @@ export * from './components/check-row/index.js';
20
20
  export * from './components/checkbox/index.js';
21
21
  export * from './components/chip-input/index.js';
22
22
  export * from './components/choice-chips/index.js';
23
+ export * from './components/code-pane/index.js';
23
24
  export * from './components/combobox/index.js';
24
25
  export * from './components/command-palette/index.js';
25
26
  export * from './components/confirm-modal/index.js';
@@ -42,6 +43,7 @@ export * from './components/kbd/index.js';
42
43
  export * from './components/key-value-list/index.js';
43
44
  export * from './components/label/index.js';
44
45
  export * from './components/meta-pill/index.js';
46
+ export * from './components/method-badge/index.js';
45
47
  export * from './components/modal/index.js';
46
48
  export * from './components/mono-text/index.js';
47
49
  export * from './components/month-calendar/index.js';
@@ -59,6 +61,7 @@ export * from './components/search-input/index.js';
59
61
  export * from './components/secret-input/index.js';
60
62
  export * from './components/segmented-control/index.js';
61
63
  export * from './components/select/index.js';
64
+ export * from './components/sheet/index.js';
62
65
  export * from './components/skeleton/index.js';
63
66
  export * from './components/slider/index.js';
64
67
  export * from './components/slot-grid/index.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,8BAA8B;AAC9B,iFAAiF;AACjF,wEAAwE;AACxE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,8BAA8B;AAC9B,iFAAiF;AACjF,wEAAwE;AACxE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uCAAuC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adminiumjs/ui",
3
- "version": "0.3.0-rc.2",
3
+ "version": "0.3.0-rc.3",
4
4
  "license": "AGPL-3.0-only",
5
5
  "repository": {
6
6
  "type": "git",
@@ -23,7 +23,7 @@
23
23
  }
24
24
  },
25
25
  "dependencies": {
26
- "@adminium/tokens": "npm:@adminiumjs/tokens@0.3.0-rc.2",
26
+ "@adminium/tokens": "npm:@adminiumjs/tokens@0.3.0-rc.3",
27
27
  "@radix-ui/react-checkbox": "^1.3.3",
28
28
  "@radix-ui/react-dialog": "^1.1.15",
29
29
  "@radix-ui/react-direction": "^1.1.1",