@fiestaboard/ui 5.1.0 → 5.2.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/components/chrome/breadcrumb.d.ts +43 -0
- package/dist/components/chrome/breadcrumb.js +76 -0
- package/dist/components/chrome/breadcrumb.js.map +1 -0
- package/dist/components/data/bar-list.d.ts +81 -0
- package/dist/components/data/bar-list.js +54 -0
- package/dist/components/data/bar-list.js.map +1 -0
- package/dist/components/feedback/chip.d.ts +28 -0
- package/dist/components/feedback/chip.js +29 -0
- package/dist/components/feedback/chip.js.map +1 -0
- package/dist/components/forms/toggle.d.ts +56 -0
- package/dist/components/forms/toggle.js +97 -0
- package/dist/components/forms/toggle.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +95 -91
- package/package.json +1 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
declare function Breadcrumb({ className, ...props }: Omit<React.ComponentProps<"nav">, "aria-label"> & {
|
|
3
|
+
/**
|
|
4
|
+
* Localized accessible name for the landmark (e.g. "Breadcrumb"). Required:
|
|
5
|
+
* an unnamed nav is indistinguishable from the site nav in a landmark list,
|
|
6
|
+
* and the repo does not ship English defaults for consumers to forget.
|
|
7
|
+
*/
|
|
8
|
+
"aria-label": string;
|
|
9
|
+
}): React.JSX.Element;
|
|
10
|
+
declare function BreadcrumbList({ className, ...props }: React.ComponentProps<"ol">): React.JSX.Element;
|
|
11
|
+
declare function BreadcrumbItem({ className, ...props }: React.ComponentProps<"li">): React.JSX.Element;
|
|
12
|
+
/**
|
|
13
|
+
* A crumb that navigates. `asChild` (same useRender mechanics as Badge) lets
|
|
14
|
+
* the docs site pass Docusaurus's `<Link>` — router-aware prefetch and
|
|
15
|
+
* base-path handling — while this component keeps owning the look.
|
|
16
|
+
*/
|
|
17
|
+
declare function BreadcrumbLink({ className, asChild, children, ref, ...props }: React.ComponentProps<"a"> & {
|
|
18
|
+
asChild?: boolean;
|
|
19
|
+
}): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
|
|
20
|
+
/** The trail's final entry: where you are, so it announces but never navigates. */
|
|
21
|
+
declare function BreadcrumbPage({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
|
|
22
|
+
/**
|
|
23
|
+
* Visual divider between crumbs. Children override the glyph (the docs site
|
|
24
|
+
* may want `/`); the default chevron reads as "descends into" in LTR.
|
|
25
|
+
*/
|
|
26
|
+
declare function BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<"li">): React.JSX.Element;
|
|
27
|
+
/**
|
|
28
|
+
* Collapsed-middle marker for deep trails. Static by design: expand/collapse
|
|
29
|
+
* behaviour belongs to the consumer (wrap it in a DropdownMenu trigger via
|
|
30
|
+
* that component's own mechanics); baking a disclosure in here would force a
|
|
31
|
+
* hook — and "use client" — onto every static docs page for a control most
|
|
32
|
+
* trails never show.
|
|
33
|
+
*/
|
|
34
|
+
declare function BreadcrumbEllipsis({ label, className, ...props }: Omit<React.ComponentProps<"span">, "children"> & {
|
|
35
|
+
/**
|
|
36
|
+
* Localized sr-only announcement (e.g. "More pages"). Required, and NOT
|
|
37
|
+
* `aria-hidden` on the wrapper like shadcn's version — hiding the whole
|
|
38
|
+
* span silences the sr-only text inside it, leaving AT users with no hint
|
|
39
|
+
* that levels were elided. Only the glyph is hidden.
|
|
40
|
+
*/
|
|
41
|
+
label: string;
|
|
42
|
+
}): React.JSX.Element;
|
|
43
|
+
export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, };
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.js";
|
|
2
|
+
import { ChevronRight as t, MoreHorizontal as n } from "lucide-react";
|
|
3
|
+
import * as r from "react";
|
|
4
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
5
|
+
import { useRender as o } from "@base-ui/react/use-render";
|
|
6
|
+
//#region src/components/chrome/breadcrumb.tsx
|
|
7
|
+
function s({ className: e, ...t }) {
|
|
8
|
+
return /* @__PURE__ */ i("nav", {
|
|
9
|
+
"data-slot": "breadcrumb",
|
|
10
|
+
className: e,
|
|
11
|
+
...t
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function c({ className: t, ...n }) {
|
|
15
|
+
return /* @__PURE__ */ i("ol", {
|
|
16
|
+
"data-slot": "breadcrumb-list",
|
|
17
|
+
className: e("text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5", t),
|
|
18
|
+
...n
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function l({ className: t, ...n }) {
|
|
22
|
+
return /* @__PURE__ */ i("li", {
|
|
23
|
+
"data-slot": "breadcrumb-item",
|
|
24
|
+
className: e("inline-flex items-center gap-1.5", t),
|
|
25
|
+
...n
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function u({ className: t, asChild: n = !1, children: i, ref: a, ...s }) {
|
|
29
|
+
return o({
|
|
30
|
+
defaultTagName: "a",
|
|
31
|
+
ref: a,
|
|
32
|
+
render: n ? r.Children.only(i) : void 0,
|
|
33
|
+
props: {
|
|
34
|
+
"data-slot": "breadcrumb-link",
|
|
35
|
+
className: e("focus-ring rounded-sm transition-colors hover:text-foreground", t),
|
|
36
|
+
...n ? {} : { children: i },
|
|
37
|
+
...s
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function d({ className: t, ...n }) {
|
|
42
|
+
return /* @__PURE__ */ i("span", {
|
|
43
|
+
"data-slot": "breadcrumb-page",
|
|
44
|
+
"aria-current": "page",
|
|
45
|
+
className: e("text-foreground font-normal", t),
|
|
46
|
+
...n
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
function f({ children: n, className: r, ...a }) {
|
|
50
|
+
return /* @__PURE__ */ i("li", {
|
|
51
|
+
"data-slot": "breadcrumb-separator",
|
|
52
|
+
role: "presentation",
|
|
53
|
+
"aria-hidden": "true",
|
|
54
|
+
className: e("[&>svg]:size-3.5", r),
|
|
55
|
+
...a,
|
|
56
|
+
children: n ?? /* @__PURE__ */ i(t, {})
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
function p({ label: t, className: r, ...o }) {
|
|
60
|
+
return /* @__PURE__ */ a("span", {
|
|
61
|
+
"data-slot": "breadcrumb-ellipsis",
|
|
62
|
+
className: e("flex items-center justify-center", r),
|
|
63
|
+
...o,
|
|
64
|
+
children: [/* @__PURE__ */ i(n, {
|
|
65
|
+
className: "size-4",
|
|
66
|
+
"aria-hidden": "true"
|
|
67
|
+
}), /* @__PURE__ */ i("span", {
|
|
68
|
+
className: "sr-only",
|
|
69
|
+
children: t
|
|
70
|
+
})]
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
//#endregion
|
|
74
|
+
export { s as Breadcrumb, p as BreadcrumbEllipsis, l as BreadcrumbItem, u as BreadcrumbLink, c as BreadcrumbList, d as BreadcrumbPage, f as BreadcrumbSeparator };
|
|
75
|
+
|
|
76
|
+
//# sourceMappingURL=breadcrumb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumb.js","names":[],"sources":["../../../src/components/chrome/breadcrumb.tsx"],"mappings":";;;;;;AAoCA,SAAS,EAAW,EAClB,cACA,GAAG,KAQF;CACD,OAAO,kBAAC,OAAD;EAAK,aAAU;EAAwB;EAAW,GAAI;CAAQ,CAAA;AACvE;AAEA,SAAS,EAAe,EAAE,cAAW,GAAG,KAAqC;CAC3E,OACE,kBAAC,MAAD;EACE,aAAU;EACV,WAAW,EAGT,4FACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAe,EAAE,cAAW,GAAG,KAAqC;CAC3E,OAAO,kBAAC,MAAD;EAAI,aAAU;EAAkB,WAAW,EAAG,oCAAoC,CAAS;EAAG,GAAI;CAAQ,CAAA;AACnH;AAOA,SAAS,EAAe,EACtB,cACA,aAAU,IACV,aACA,QACA,GAAG,KACiD;CACpD,OAAO,EAAU;EACf,gBAAgB;EACX;EACL,QAAQ,IAAW,EAAM,SAAS,KAAK,CAAQ,IAA2B,KAAA;EAC1E,OAAO;GACL,aAAa;GAOb,WAAW,EAAG,iEAAiE,CAAS;GACxF,GAAI,IAAU,CAAC,IAAI,EAAE,YAAS;GAC9B,GAAG;EACL;CACF,CAAC;AACH;AAGA,SAAS,EAAe,EAAE,cAAW,GAAG,KAAuC;CAC7E,OACE,kBAAC,QAAD;EACE,aAAU;EACV,gBAAa;EACb,WAAW,EAAG,+BAA+B,CAAS;EACtD,GAAI;CACL,CAAA;AAEL;AAMA,SAAS,EAAoB,EAAE,aAAU,cAAW,GAAG,KAAqC;CAC1F,OAKE,kBAAC,MAAD;EACE,aAAU;EACV,MAAK;EACL,eAAY;EACZ,WAAW,EAAG,oBAAoB,CAAS;EAC3C,GAAI;EAEH,UAAA,KAAY,kBAAC,GAAD,CAAe,CAAA;CAC1B,CAAA;AAER;AASA,SAAS,EAAmB,EAC1B,UACA,cACA,GAAG,KASF;CACD,OACE,kBAAC,QAAD;EAAM,aAAU;EAAsB,WAAW,EAAG,oCAAoC,CAAS;EAAG,GAAI;EAAxG,UAAA,CACE,kBAAC,GAAD;GAAgB,WAAU;GAAS,eAAY;EAAQ,CAAA,GACvD,kBAAC,QAAD;GAAM,WAAU;GAAW,UAAA;EAAY,CAAA,CACnC;;AAEV"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type * as React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Ranked horizontal bar list — label / track / fill / value rows. A thin
|
|
4
|
+
* cousin of a meter, not a chart library: no axes, no legend, no scales,
|
|
5
|
+
* just rows sorted by whoever calls it. Promoted from the docs site's
|
|
6
|
+
* "Popularity ranking" (issue #229), which hand-mixed a brand fill on an
|
|
7
|
+
* emphasis track once per page.
|
|
8
|
+
*
|
|
9
|
+
* This starts the `data` family: quantitative READOUTS (BarList, StatStrip).
|
|
10
|
+
* They are not `feedback` (no system status), not `containment` (no
|
|
11
|
+
* surface/box), not `typography` (the number is the point, not the prose) —
|
|
12
|
+
* they exist to show measured values, which no existing family owns.
|
|
13
|
+
*
|
|
14
|
+
* FILL COLOR — measured, not inherited (SC 1.4.11 wants 3:1 for meaningful
|
|
15
|
+
* graphics). The docs site used its brand orange; in this palette that forks
|
|
16
|
+
* into two tokens and only one of them survives measurement:
|
|
17
|
+
*
|
|
18
|
+
* vs light bg vs light muted vs dark bg vs dark muted
|
|
19
|
+
* --brand (hue-orange) 5.09:1 4.65:1 9.63:1 8.11:1
|
|
20
|
+
* --primary (#f5a623 tile) 1.83:1 1.67:1 9.77:1 8.23:1
|
|
21
|
+
*
|
|
22
|
+
* --primary is the literal tile and theme.css already rules it "legal as a
|
|
23
|
+
* field, illegal as a link" at 1.83:1 on a light page — a fill whose painted
|
|
24
|
+
* edge IS the datum is closer to a link than to a button face, so the tile
|
|
25
|
+
* fails here. --brand is the same hue at the ink plateau and clears 3:1
|
|
26
|
+
* against both the track and every surface in both themes, so a bar stays
|
|
27
|
+
* meaningful even before the reader finds the number. Strictly the value
|
|
28
|
+
* text makes the graphic redundant (see below) and 1.4.11 would exempt it,
|
|
29
|
+
* but passing outright beats litigating the exemption.
|
|
30
|
+
*
|
|
31
|
+
* The TRACK is --muted (1.09:1 light / 1.19:1 dark vs the page) — that low
|
|
32
|
+
* ratio is deliberate and mirrors the --border rationale in theme.css: the
|
|
33
|
+
* track is decoration marking where 100% would land, the fill and the text
|
|
34
|
+
* carry the information, so 1.4.11 does not apply to it.
|
|
35
|
+
*
|
|
36
|
+
* SEMANTICS — a plain list, no role="meter". Each row already renders its
|
|
37
|
+
* value as literal text beside the bar, so assistive tech hears
|
|
38
|
+
* "label, 943" with zero extra wiring; a meter role would announce the same
|
|
39
|
+
* number a second time and demand aria-valuemin/max/now plumbing to say
|
|
40
|
+
* nothing new. The track and fill are aria-hidden because they are that
|
|
41
|
+
* redundant graphic. role="list" is set explicitly: `list-none` (needed
|
|
42
|
+
* because rows are grid cells, not bullets) makes Safari/VoiceOver drop the
|
|
43
|
+
* implicit list role.
|
|
44
|
+
*/
|
|
45
|
+
export interface BarListItem {
|
|
46
|
+
key: string;
|
|
47
|
+
/** Row label. Any ReactNode — pass an anchor/Link element directly, or use `renderLabel`. */
|
|
48
|
+
label: React.ReactNode;
|
|
49
|
+
value: number;
|
|
50
|
+
/**
|
|
51
|
+
* Renders the label cell — inject your router's Link here, same contract
|
|
52
|
+
* as PluginCard's `renderLink`/Sidebar's `renderLink` (the house pattern
|
|
53
|
+
* for router-agnostic links). `className` carries the truncation and type
|
|
54
|
+
* styles and MUST land on the returned element, so the ellipsis clips the
|
|
55
|
+
* link itself rather than a wrapper. There is deliberately no `href`
|
|
56
|
+
* shortcut: a bare string href renders a plain <a> that full-page-reloads
|
|
57
|
+
* inside SPA consumers, which is exactly the trap `renderLink` exists to
|
|
58
|
+
* avoid — same reasoning as PluginCard.
|
|
59
|
+
*/
|
|
60
|
+
renderLabel?: (props: {
|
|
61
|
+
className: string;
|
|
62
|
+
children: React.ReactNode;
|
|
63
|
+
}) => React.ReactNode;
|
|
64
|
+
}
|
|
65
|
+
export interface BarListProps extends React.ComponentProps<"ul"> {
|
|
66
|
+
items: BarListItem[];
|
|
67
|
+
/**
|
|
68
|
+
* The value that fills the track completely. Defaults to the largest item
|
|
69
|
+
* value — the natural scale for a ranking, where the leader spans full
|
|
70
|
+
* width. Pass explicitly when rows share an external scale (a total, a
|
|
71
|
+
* quota) so bars stay comparable across lists.
|
|
72
|
+
*/
|
|
73
|
+
max?: number;
|
|
74
|
+
/**
|
|
75
|
+
* Formats the visible value. Defaults to `toLocaleString()` — what the
|
|
76
|
+
* docs ranking shipped — so thousands read as "5,612" not "5612".
|
|
77
|
+
*/
|
|
78
|
+
formatValue?: (value: number) => string;
|
|
79
|
+
}
|
|
80
|
+
declare function BarList({ items, max, formatValue, className, ...props }: BarListProps): React.JSX.Element;
|
|
81
|
+
export { BarList };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.js";
|
|
2
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
3
|
+
//#region src/components/data/bar-list.tsx
|
|
4
|
+
var r = "min-w-0 truncate text-sm";
|
|
5
|
+
function i(e, t) {
|
|
6
|
+
return t <= 0 ? 0 : Math.min(100, Math.max(0, e / t * 100));
|
|
7
|
+
}
|
|
8
|
+
function a({ items: a, max: o, formatValue: s = (e) => e.toLocaleString(), className: c, ...l }) {
|
|
9
|
+
let u = o ?? Math.max(0, ...a.map((e) => e.value));
|
|
10
|
+
return /* @__PURE__ */ t("ul", {
|
|
11
|
+
role: "list",
|
|
12
|
+
"data-slot": "bar-list",
|
|
13
|
+
className: e("grid w-full list-none grid-cols-[fit-content(40%)_minmax(0,1fr)_max-content] items-center gap-x-3 gap-y-2 p-0", c),
|
|
14
|
+
...l,
|
|
15
|
+
children: a.map((e) => {
|
|
16
|
+
let a = i(e.value, u);
|
|
17
|
+
return /* @__PURE__ */ n("li", {
|
|
18
|
+
"data-slot": "bar-list-item",
|
|
19
|
+
className: "col-span-3 grid grid-cols-subgrid items-center",
|
|
20
|
+
children: [
|
|
21
|
+
e.renderLabel ? e.renderLabel({
|
|
22
|
+
className: r,
|
|
23
|
+
children: e.label
|
|
24
|
+
}) : /* @__PURE__ */ t("span", {
|
|
25
|
+
className: r,
|
|
26
|
+
children: e.label
|
|
27
|
+
}),
|
|
28
|
+
/* @__PURE__ */ t("div", {
|
|
29
|
+
"data-slot": "bar-list-track",
|
|
30
|
+
"aria-hidden": "true",
|
|
31
|
+
className: "h-4.5 overflow-hidden rounded-sm bg-muted",
|
|
32
|
+
children: /* @__PURE__ */ t("div", {
|
|
33
|
+
"data-slot": "bar-list-fill",
|
|
34
|
+
className: "h-full rounded-sm bg-brand",
|
|
35
|
+
style: a > 0 ? {
|
|
36
|
+
width: `${a}%`,
|
|
37
|
+
minWidth: "2px"
|
|
38
|
+
} : { width: 0 }
|
|
39
|
+
})
|
|
40
|
+
}),
|
|
41
|
+
/* @__PURE__ */ t("span", {
|
|
42
|
+
"data-slot": "bar-list-value",
|
|
43
|
+
className: "text-right text-sm tabular-nums text-muted-foreground",
|
|
44
|
+
children: s(e.value)
|
|
45
|
+
})
|
|
46
|
+
]
|
|
47
|
+
}, e.key);
|
|
48
|
+
})
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
//#endregion
|
|
52
|
+
export { a as BarList };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=bar-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bar-list.js","names":[],"sources":["../../../src/components/data/bar-list.tsx"],"mappings":";;;AAkFA,IAAM,IAAc;AASpB,SAAS,EAAY,GAAe,GAAqB;CAEvD,OADI,KAAO,IAAU,IACd,KAAK,IAAI,KAAK,KAAK,IAAI,GAAI,IAAQ,IAAO,GAAG,CAAC;AACvD;AAEA,SAAS,EAAQ,EAAE,UAAO,QAAK,kBAAe,MAAM,EAAE,eAAe,GAAG,cAAW,GAAG,KAAuB;CAG3G,IAAM,IAAQ,KAAO,KAAK,IAAI,GAAG,GAAG,EAAM,KAAK,MAAS,EAAK,KAAK,CAAC;CACnE,OAeE,kBAAC,MAAD;EACE,MAAK;EACL,aAAU;EACV,WAAW,EACT,iHACA,CACF;EACA,GAAI;EAEH,UAAA,EAAM,KAAK,MAAS;GACnB,IAAM,IAAM,EAAY,EAAK,OAAO,CAAK;GACzC,OACE,kBAAC,MAAD;IAAmB,aAAU;IAAgB,WAAU;IAAvD,UAAA;KACG,EAAK,cACJ,EAAK,YAAY;MAAE,WAAW;MAAa,UAAU,EAAK;KAAM,CAAC,IAEjE,kBAAC,QAAD;MAAM,WAAW;MAAc,UAAA,EAAK;KAAY,CAAA;KAElD,kBAAC,OAAD;MAAK,aAAU;MAAiB,eAAY;MAAO,WAAU;MAC3D,UAAA,kBAAC,OAAD;OACE,aAAU;OACV,WAAU;OAIV,OAAO,IAAM,IAAI;QAAE,OAAO,GAAG,EAAI;QAAI,UAAU;OAAM,IAAI,EAAE,OAAO,EAAE;MACrE,CAAA;KACE,CAAA;KACL,kBAAC,QAAD;MAAM,aAAU;MAAiB,WAAU;MACxC,UAAA,EAAY,EAAK,KAAK;KACnB,CAAA;IACJ;GAnBK,GAAA,EAAK,GAmBV;EAER,CAAC;CACC,CAAA;AAER"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type VariantProps } from "class-variance-authority";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
/**
|
|
4
|
+
* Chip — the OPERABLE counterpart to {@link Badge} (#229).
|
|
5
|
+
*
|
|
6
|
+
* Badge is deliberately non-interactive content, which is why its comments
|
|
7
|
+
* wave off SC 1.4.11. Chip is a link or button wearing the same outline
|
|
8
|
+
* vocabulary, so 1.4.11 (3:1 non-text contrast for component/state visuals)
|
|
9
|
+
* DOES reach it, and every state below is measured. Selection is explicitly
|
|
10
|
+
* out of scope — a Chip never carries `aria-pressed`; that job belongs to
|
|
11
|
+
* ToggleGroup (#218).
|
|
12
|
+
*/
|
|
13
|
+
declare const chipVariants: (props?: ({
|
|
14
|
+
mono?: boolean | null | undefined;
|
|
15
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
16
|
+
/**
|
|
17
|
+
* A link/button-shaped tag: archived-version links, blog tags.
|
|
18
|
+
*
|
|
19
|
+
* The primary usage is `asChild` around a real anchor —
|
|
20
|
+
* `<Chip asChild><a href=…>5.11</a></Chip>` — so navigation keeps native
|
|
21
|
+
* link semantics. Without `asChild` it renders a real `<button>`, never a
|
|
22
|
+
* styled span: a Chip is operable by definition, and a span default would
|
|
23
|
+
* hand every bare `<Chip onClick>` call site a focus/keyboard/AT bug.
|
|
24
|
+
*/
|
|
25
|
+
declare function Chip({ className, mono, asChild, children, ref, ...props }: React.ComponentProps<"button"> & VariantProps<typeof chipVariants> & {
|
|
26
|
+
asChild?: boolean;
|
|
27
|
+
}): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
|
|
28
|
+
export { Chip, chipVariants };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.js";
|
|
2
|
+
import * as t from "react";
|
|
3
|
+
import { cva as n } from "class-variance-authority";
|
|
4
|
+
import { useRender as r } from "@base-ui/react/use-render";
|
|
5
|
+
//#region src/components/feedback/chip.tsx
|
|
6
|
+
var i = n("inline-flex items-center justify-center rounded-full border px-2.5 py-1 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none text-foreground no-underline hover:bg-accent hover:text-accent-foreground hover:border-brand active:bg-secondary focus-ring transition-[color,background-color,border-color,box-shadow] duration-control disabled:pointer-events-none disabled:opacity-50", {
|
|
7
|
+
variants: { mono: {
|
|
8
|
+
true: "font-mono",
|
|
9
|
+
false: ""
|
|
10
|
+
} },
|
|
11
|
+
defaultVariants: { mono: !1 }
|
|
12
|
+
});
|
|
13
|
+
function a({ className: n, mono: a, asChild: o = !1, children: s, ref: c, ...l }) {
|
|
14
|
+
return r({
|
|
15
|
+
defaultTagName: "button",
|
|
16
|
+
ref: c,
|
|
17
|
+
render: o ? t.Children.only(s) : void 0,
|
|
18
|
+
props: {
|
|
19
|
+
"data-slot": "chip",
|
|
20
|
+
className: e(i({ mono: a }), n),
|
|
21
|
+
...o ? {} : { children: s },
|
|
22
|
+
...l
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { a as Chip, i as chipVariants };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=chip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chip.js","names":[],"sources":["../../../src/components/feedback/chip.tsx"],"mappings":";;;;;AAgBA,IAAM,IAAe,EA0CnB,2aACA;CACE,UAAU,EAMR,MAAM;EACJ,MAAM;EACN,OAAO;CACT,EACF;CACA,iBAAiB,EACf,MAAM,GACR;AACF,CACF;AAWA,SAAS,EAAK,EACZ,cACA,SACA,aAAU,IACV,aACA,QACA,GAAG,KAC0F;CAC7F,OAAO,EAAU;EACf,gBAAgB;EACX;EACL,QAAQ,IAAW,EAAM,SAAS,KAAK,CAAQ,IAA2B,KAAA;EAC1E,OAAO;GACL,aAAa;GACb,WAAW,EAAG,EAAa,EAAE,QAAK,CAAC,GAAG,CAAS;GAC/C,GAAI,IAAU,CAAC,IAAI,EAAE,YAAS;GAC9B,GAAG;EACL;CACF,CAAC;AACH"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Toggle as TogglePrimitive } from "@base-ui/react/toggle";
|
|
2
|
+
import { ToggleGroup as ToggleGroupPrimitive } from "@base-ui/react/toggle-group";
|
|
3
|
+
import { type VariantProps } from "class-variance-authority";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import type { SelectionGroupNameProps } from "./toggle-card";
|
|
6
|
+
declare const toggleVariants: (props?: ({
|
|
7
|
+
variant?: "default" | "outline" | null | undefined;
|
|
8
|
+
size?: "default" | "icon" | "sm" | "lg" | "icon-sm" | null | undefined;
|
|
9
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
10
|
+
export type ToggleProps = Omit<React.ComponentProps<typeof TogglePrimitive>, "onPressedChange"> & VariantProps<typeof toggleVariants> & {
|
|
11
|
+
/**
|
|
12
|
+
* Fired with the next pressed state. Base UI passes `(pressed,
|
|
13
|
+
* eventDetails)`; the extra argument is dropped here for the same
|
|
14
|
+
* reason toggle-card.tsx drops it — it leaks into
|
|
15
|
+
* `onPressedChange={setState}` call sites.
|
|
16
|
+
*/
|
|
17
|
+
onPressedChange?: (pressed: boolean) => void;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* A two-state button — `aria-pressed`, pressed fill and focus ring included,
|
|
21
|
+
* so none of them can be forgotten at a call site (#218).
|
|
22
|
+
*
|
|
23
|
+
* Standalone it owns its pressed state (`pressed`/`defaultPressed`); inside a
|
|
24
|
+
* {@link ToggleGroup} it is driven by the group's `value` and MUST carry a
|
|
25
|
+
* `value` prop of its own (Base UI warns in dev if it doesn't).
|
|
26
|
+
*/
|
|
27
|
+
declare function Toggle({ className, variant, size, onPressedChange, ...props }: ToggleProps): React.JSX.Element;
|
|
28
|
+
declare const toggleGroupVariants: (props?: ({
|
|
29
|
+
segmented?: boolean | null | undefined;
|
|
30
|
+
orientation?: "horizontal" | "vertical" | null | undefined;
|
|
31
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
32
|
+
export type ToggleGroupProps = Omit<React.ComponentProps<typeof ToggleGroupPrimitive>, "onValueChange"> & SelectionGroupNameProps & VariantProps<typeof toggleGroupVariants> & {
|
|
33
|
+
/** Fired with the values of all pressed items (eventDetails dropped). */
|
|
34
|
+
onValueChange?: (groupValue: string[]) => void;
|
|
35
|
+
/**
|
|
36
|
+
* Joined toolbar look: one shared border, hairline dividers, items
|
|
37
|
+
* stripped of their own chrome. Off, items sit loose with a small gap.
|
|
38
|
+
*/
|
|
39
|
+
segmented?: boolean;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Shared state for a set of {@link Toggle}s — one tab stop, roving focus.
|
|
43
|
+
*
|
|
44
|
+
* The value model is Base UI's: always an array of the pressed items'
|
|
45
|
+
* values, single-select by default (`multiple` opts into any-of-N). The
|
|
46
|
+
* issue sketched Radix's `type="single" | "multiple"` with a
|
|
47
|
+
* `string | string[]` value instead; that union forks every controlled call
|
|
48
|
+
* site into runtime narrowing, and the empty single-selection ("none of
|
|
49
|
+
* these") falls out of the array shape for free, so Base UI's model stands.
|
|
50
|
+
*
|
|
51
|
+
* Single-select here CAN be emptied by pressing the pressed item again. If
|
|
52
|
+
* your group must always have a selection, that is a radiogroup — use
|
|
53
|
+
* SegmentedControl (toggle-card.tsx).
|
|
54
|
+
*/
|
|
55
|
+
declare function ToggleGroup({ className, segmented, orientation, onValueChange, ...props }: ToggleGroupProps): React.JSX.Element;
|
|
56
|
+
export { Toggle, ToggleGroup, toggleGroupVariants, toggleVariants };
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn as e } from "../../lib/utils.js";
|
|
3
|
+
import * as t from "react";
|
|
4
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
5
|
+
import { cva as r } from "class-variance-authority";
|
|
6
|
+
import { Toggle as i } from "@base-ui/react/toggle";
|
|
7
|
+
import { ToggleGroup as a } from "@base-ui/react/toggle-group";
|
|
8
|
+
//#region src/components/forms/toggle.tsx
|
|
9
|
+
var o = r([
|
|
10
|
+
"inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium",
|
|
11
|
+
"transition-[color,background-color,border-color,box-shadow] duration-control focus-ring",
|
|
12
|
+
"disabled:pointer-events-none disabled:opacity-50",
|
|
13
|
+
"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
14
|
+
"data-[pressed]:bg-primary data-[pressed]:text-primary-foreground",
|
|
15
|
+
"data-[pressed]:hover:bg-primary-hover data-[pressed]:active:bg-primary-active"
|
|
16
|
+
], {
|
|
17
|
+
variants: {
|
|
18
|
+
variant: {
|
|
19
|
+
default: [
|
|
20
|
+
"bg-transparent",
|
|
21
|
+
"not-data-[pressed]:hover:bg-accent not-data-[pressed]:hover:text-accent-foreground",
|
|
22
|
+
"dark:not-data-[pressed]:hover:bg-accent/50"
|
|
23
|
+
],
|
|
24
|
+
outline: [
|
|
25
|
+
"border bg-background shadow-xs",
|
|
26
|
+
"not-data-[pressed]:hover:bg-accent not-data-[pressed]:hover:text-accent-foreground",
|
|
27
|
+
"dark:border-input dark:not-data-[pressed]:bg-card dark:not-data-[pressed]:hover:bg-muted",
|
|
28
|
+
"data-[pressed]:border-primary"
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
size: {
|
|
32
|
+
default: "h-9 min-w-9 px-2",
|
|
33
|
+
sm: "h-8 min-w-8 px-1.5",
|
|
34
|
+
lg: "h-10 min-w-10 px-2.5",
|
|
35
|
+
icon: "size-9",
|
|
36
|
+
"icon-sm": "size-8"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
defaultVariants: {
|
|
40
|
+
variant: "default",
|
|
41
|
+
size: "default"
|
|
42
|
+
}
|
|
43
|
+
}), s = t.createContext(null);
|
|
44
|
+
function c({ className: r, variant: a = "default", size: c = "default", onPressedChange: l, ...u }) {
|
|
45
|
+
let d = t.useContext(s);
|
|
46
|
+
return /* @__PURE__ */ n(i, {
|
|
47
|
+
"data-slot": "toggle",
|
|
48
|
+
"data-variant": a,
|
|
49
|
+
"data-size": c,
|
|
50
|
+
onPressedChange: (e) => l?.(e),
|
|
51
|
+
className: e(o({
|
|
52
|
+
variant: a,
|
|
53
|
+
size: c
|
|
54
|
+
}), d?.segmented && ["rounded-[0px] border-0 shadow-none focus-visible:z-10", d.orientation === "vertical" ? ["not-first:border-t not-first:border-input", "first:rounded-t-[calc(var(--radius-md)-1px)] last:rounded-b-[calc(var(--radius-md)-1px)]"] : ["not-first:border-l not-first:border-input", "first:rounded-l-[calc(var(--radius-md)-1px)] last:rounded-r-[calc(var(--radius-md)-1px)]"]], r),
|
|
55
|
+
...u
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
var l = r("flex w-fit items-center", {
|
|
59
|
+
variants: {
|
|
60
|
+
segmented: {
|
|
61
|
+
false: "gap-1",
|
|
62
|
+
true: "isolate rounded-md border border-input bg-background shadow-xs dark:bg-card"
|
|
63
|
+
},
|
|
64
|
+
orientation: {
|
|
65
|
+
horizontal: "flex-row",
|
|
66
|
+
vertical: "flex-col items-stretch"
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
defaultVariants: {
|
|
70
|
+
segmented: !1,
|
|
71
|
+
orientation: "horizontal"
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
function u({ className: r, segmented: i = !1, orientation: o = "horizontal", onValueChange: c, ...u }) {
|
|
75
|
+
let d = t.useMemo(() => ({
|
|
76
|
+
segmented: i,
|
|
77
|
+
orientation: o
|
|
78
|
+
}), [i, o]);
|
|
79
|
+
return /* @__PURE__ */ n(s.Provider, {
|
|
80
|
+
value: d,
|
|
81
|
+
children: /* @__PURE__ */ n(a, {
|
|
82
|
+
"data-slot": "toggle-group",
|
|
83
|
+
"data-segmented": i ? "" : void 0,
|
|
84
|
+
orientation: o,
|
|
85
|
+
onValueChange: (e) => c?.(e),
|
|
86
|
+
className: e(l({
|
|
87
|
+
segmented: i,
|
|
88
|
+
orientation: o
|
|
89
|
+
}), r),
|
|
90
|
+
...u
|
|
91
|
+
})
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
//#endregion
|
|
95
|
+
export { c as Toggle, u as ToggleGroup, l as toggleGroupVariants, o as toggleVariants };
|
|
96
|
+
|
|
97
|
+
//# sourceMappingURL=toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggle.js","names":[],"sources":["../../../src/components/forms/toggle.tsx"],"mappings":";;;;;;;;AA0CA,IAAM,IAAiB,EACrB;CACE;CACA;CACA;CACA;CAOA;CACA;AACF,GACA;CACE,UAAU;EAKR,SAAS;GAEP,SAAS;IACP;IACA;IACA;GACF;GAKA,SAAS;IACP;IACA;IACA;IACA;GACF;EACF;EAMA,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,MAAM;GACN,WAAW;EACb;CACF;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;CACR;AACF,CACF,GAmBM,IAA0B,EAAM,cAAmD,IAAI;AAU7F,SAAS,EAAO,EAAE,cAAW,aAAU,WAAW,UAAO,WAAW,oBAAiB,GAAG,KAAsB;CAC5G,IAAM,IAAQ,EAAM,WAAW,CAAuB;CAEtD,OACE,kBAAC,GAAD;EACE,aAAU;EACV,gBAAc;EACd,aAAW;EACX,kBAAkB,MAAY,IAAkB,CAAO;EACvD,WAAW,EACT,EAAe;GAAE;GAAS;EAAK,CAAC,GAgChC,GAAO,aAAa,CAClB,yDACA,EAAM,gBAAgB,aAClB,CACE,6CACA,0FACF,IACA,CACE,6CACA,0FACF,CACN,GACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,IAAM,IAAsB,EAAI,2BAA2B;CACzD,UAAU;EACR,WAAW;GAET,OAAO;GAQP,MAAM;EACR;EACA,aAAa;GACX,YAAY;GACZ,UAAU;EACZ;CACF;CACA,iBAAiB;EACf,WAAW;EACX,aAAa;CACf;AACF,CAAC;AA8BD,SAAS,EAAY,EACnB,cACA,eAAY,IACZ,iBAAc,cACd,kBACA,GAAG,KACgB;CACnB,IAAM,IAAU,EAAM,eACb;EAAE;EAAW;CAAY,IAChC,CAAC,GAAW,CAAW,CACzB;CAEA,OACE,kBAAC,EAAwB,UAAzB;EAAkC,OAAO;EACvC,UAAA,kBAAC,GAAD;GACE,aAAU;GACV,kBAAgB,IAAY,KAAK,KAAA;GACpB;GACb,gBAAgB,MAAe,IAAgB,CAAU;GACzD,WAAW,EAAG,EAAoB;IAAE;IAAW;GAAY,CAAC,GAAG,CAAS;GACxE,GAAI;EACL,CAAA;CAC+B,CAAA;AAEtC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export * from "./components/containment/collapsible";
|
|
|
12
12
|
export * from "./components/containment/json-tree";
|
|
13
13
|
export * from "./components/feedback/alert";
|
|
14
14
|
export * from "./components/feedback/badge";
|
|
15
|
+
export * from "./components/feedback/chip";
|
|
15
16
|
export * from "./components/feedback/empty-state";
|
|
16
17
|
export * from "./components/forms/button";
|
|
17
18
|
export * from "./components/forms/checkbox";
|
|
@@ -40,6 +41,7 @@ export * from "./components/forms/slider";
|
|
|
40
41
|
export * from "./components/forms/switch";
|
|
41
42
|
export * from "./components/forms/textarea";
|
|
42
43
|
export * from "./components/forms/time-picker";
|
|
44
|
+
export * from "./components/forms/toggle";
|
|
43
45
|
export * from "./components/forms/toggle-card";
|
|
44
46
|
export * from "./components/layout/stack";
|
|
45
47
|
export * from "./components/overlays/sheet";
|
|
@@ -48,6 +50,7 @@ export * from "./components/typography/text";
|
|
|
48
50
|
export * from "./components/typography/text-link";
|
|
49
51
|
export * from "./components/chrome/board-icon";
|
|
50
52
|
export * from "./components/chrome/board-selector";
|
|
53
|
+
export * from "./components/chrome/breadcrumb";
|
|
51
54
|
export * from "./components/chrome/fiesta-icon";
|
|
52
55
|
export * from "./components/chrome/fiesta-logo";
|
|
53
56
|
export * from "./components/chrome/language-selector";
|
|
@@ -70,6 +73,7 @@ export * from "./lib/board-characters";
|
|
|
70
73
|
export * from "./lib/board-colors";
|
|
71
74
|
export * from "./lib/board-dimensions";
|
|
72
75
|
export * from "./lib/board-previews";
|
|
76
|
+
export * from "./components/data/bar-list";
|
|
73
77
|
export * from "./components/data/stat-strip";
|
|
74
78
|
export * from "./components/plugin/board-showcase";
|
|
75
79
|
export * from "./components/plugin/plugin-card";
|
package/dist/index.js
CHANGED
|
@@ -5,94 +5,98 @@ import { Collapsible as f, CollapsibleContent as p, CollapsibleTrigger as m } fr
|
|
|
5
5
|
import { JsonTree as h } from "./components/containment/json-tree.js";
|
|
6
6
|
import { Alert as g, AlertDescription as _, AlertTitle as v, alertVariants as y } from "./components/feedback/alert.js";
|
|
7
7
|
import { Badge as b, badgeVariants as x } from "./components/feedback/badge.js";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import Ue from "./components/
|
|
29
|
-
import
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
36
|
-
import {
|
|
37
|
-
import {
|
|
38
|
-
import {
|
|
39
|
-
import {
|
|
40
|
-
import {
|
|
41
|
-
import {
|
|
42
|
-
import {
|
|
43
|
-
import {
|
|
44
|
-
import {
|
|
45
|
-
import {
|
|
46
|
-
import {
|
|
47
|
-
import {
|
|
48
|
-
import {
|
|
49
|
-
import {
|
|
50
|
-
import {
|
|
51
|
-
import {
|
|
52
|
-
import {
|
|
53
|
-
import {
|
|
54
|
-
import {
|
|
55
|
-
import {
|
|
56
|
-
import {
|
|
57
|
-
import {
|
|
58
|
-
import {
|
|
59
|
-
import {
|
|
60
|
-
import {
|
|
61
|
-
import {
|
|
62
|
-
import {
|
|
63
|
-
import {
|
|
64
|
-
import {
|
|
65
|
-
import {
|
|
66
|
-
import {
|
|
67
|
-
import {
|
|
68
|
-
import {
|
|
69
|
-
import {
|
|
70
|
-
import {
|
|
71
|
-
import {
|
|
72
|
-
import {
|
|
73
|
-
import {
|
|
74
|
-
import {
|
|
75
|
-
import {
|
|
76
|
-
import {
|
|
77
|
-
import {
|
|
78
|
-
import {
|
|
79
|
-
import {
|
|
80
|
-
import {
|
|
81
|
-
import {
|
|
82
|
-
import {
|
|
83
|
-
import {
|
|
84
|
-
import {
|
|
85
|
-
import {
|
|
86
|
-
import {
|
|
87
|
-
import {
|
|
88
|
-
import {
|
|
89
|
-
import {
|
|
90
|
-
import {
|
|
91
|
-
import {
|
|
92
|
-
import {
|
|
93
|
-
import {
|
|
94
|
-
import {
|
|
95
|
-
import {
|
|
96
|
-
import {
|
|
97
|
-
import {
|
|
98
|
-
|
|
8
|
+
import { Chip as S, chipVariants as C } from "./components/feedback/chip.js";
|
|
9
|
+
import { EmptyState as w } from "./components/feedback/empty-state.js";
|
|
10
|
+
import { Spinner as T, spinnerVariants as E } from "./components/feedback/spinner.js";
|
|
11
|
+
import { Button as D, buttonVariants as O } from "./components/forms/button.js";
|
|
12
|
+
import { Checkbox as k } from "./components/forms/checkbox.js";
|
|
13
|
+
import { Input as A } from "./components/forms/input.js";
|
|
14
|
+
import { Label as j } from "./components/forms/label.js";
|
|
15
|
+
import { SecretInput as M } from "./components/forms/secret-input.js";
|
|
16
|
+
import { Box as N } from "./components/layout/box.js";
|
|
17
|
+
import { Flex as P, flexVariants as F } from "./components/layout/flex.js";
|
|
18
|
+
import { Grid as I, gridVariants as L } from "./components/layout/grid.js";
|
|
19
|
+
import { AlertDialog as R, AlertDialogAction as z, AlertDialogCancel as B, AlertDialogContent as V, AlertDialogDescription as H, AlertDialogFooter as U, AlertDialogHeader as W, AlertDialogOverlay as G, AlertDialogPortal as K, AlertDialogTitle as q, AlertDialogTrigger as J } from "./components/overlays/alert-dialog.js";
|
|
20
|
+
import { Dialog as Y, DialogClose as X, DialogContent as Z, DialogDescription as Q, DialogFooter as $, DialogHeader as ee, DialogOverlay as te, DialogPortal as ne, DialogTitle as re, DialogTrigger as ie } from "./components/overlays/dialog.js";
|
|
21
|
+
import { DropdownMenu as ae, DropdownMenuCheckboxItem as oe, DropdownMenuContent as se, DropdownMenuGroup as ce, DropdownMenuItem as le, DropdownMenuLabel as ue, DropdownMenuPortal as de, DropdownMenuRadioGroup as fe, DropdownMenuRadioItem as pe, DropdownMenuSeparator as me, DropdownMenuShortcut as he, DropdownMenuSub as ge, DropdownMenuSubContent as _e, DropdownMenuSubTrigger as ve, DropdownMenuTrigger as ye } from "./components/overlays/dropdown-menu.js";
|
|
22
|
+
import { Popover as be, PopoverClose as xe, PopoverContent as Se, PopoverDescription as Ce, PopoverTitle as we, PopoverTrigger as Te, usePopoverClose as Ee } from "./components/overlays/popover.js";
|
|
23
|
+
import { Code as De } from "./components/typography/code.js";
|
|
24
|
+
import { Heading as Oe, headingVariants as ke } from "./components/typography/heading.js";
|
|
25
|
+
import { List as Ae, ListItem as je, listVariants as Me } from "./components/typography/list.js";
|
|
26
|
+
import { ScrollArea as Ne, ScrollBar as Pe } from "./components/containment/scroll-area.js";
|
|
27
|
+
import { Table as Fe, TableBody as Ie, TableCell as Le, TableHead as Re, TableHeader as ze, TableRow as Be } from "./components/containment/table.js";
|
|
28
|
+
import { Tabs as Ve, TabsContent as He, TabsList as Ue, TabsTrigger as We } from "./components/containment/tabs.js";
|
|
29
|
+
import Ge from "./components/effects/react-bits/fade-content.js";
|
|
30
|
+
import { Skeleton as Ke } from "./components/feedback/skeleton.js";
|
|
31
|
+
import { StatusDot as qe, statusDotVariants as Je } from "./components/feedback/status-dot.js";
|
|
32
|
+
import { Select as Ye, SelectContent as Xe, SelectGroup as Ze, SelectItem as Qe, SelectLabel as $e, SelectScrollDownButton as et, SelectScrollUpButton as tt, SelectSeparator as nt, SelectTrigger as rt, SelectValue as it } from "./components/forms/select.js";
|
|
33
|
+
import { Slider as at } from "./components/forms/slider.js";
|
|
34
|
+
import { Switch as ot } from "./components/forms/switch.js";
|
|
35
|
+
import { Textarea as st } from "./components/forms/textarea.js";
|
|
36
|
+
import { Text as ct, textVariants as lt } from "./components/typography/text.js";
|
|
37
|
+
import { TimePicker as ut } from "./components/forms/time-picker.js";
|
|
38
|
+
import { Toggle as dt, ToggleGroup as ft, toggleGroupVariants as pt, toggleVariants as mt } from "./components/forms/toggle.js";
|
|
39
|
+
import { SegmentedControl as ht, SegmentedControlItem as gt, ToggleCard as _t, ToggleCardGroup as vt, segmentedControlItemVariants as yt, segmentedControlVariants as bt, toggleCardGroupVariants as xt, toggleCardVariants as St } from "./components/forms/toggle-card.js";
|
|
40
|
+
import { Stack as Ct, stackVariants as wt } from "./components/layout/stack.js";
|
|
41
|
+
import { Sheet as Tt, SheetClose as Et, SheetContent as Dt, SheetDescription as Ot, SheetFooter as kt, SheetHeader as At, SheetOverlay as jt, SheetPortal as Mt, SheetTitle as Nt, SheetTrigger as Pt } from "./components/overlays/sheet.js";
|
|
42
|
+
import { Tooltip as Ft, TooltipContent as It, TooltipProvider as Lt, TooltipTrigger as Rt } from "./components/overlays/tooltip.js";
|
|
43
|
+
import { TextLink as zt } from "./components/typography/text-link.js";
|
|
44
|
+
import { BoardIcon as Bt } from "./components/chrome/board-icon.js";
|
|
45
|
+
import { BoardSelector as Vt } from "./components/chrome/board-selector.js";
|
|
46
|
+
import { Breadcrumb as Ht, BreadcrumbEllipsis as Ut, BreadcrumbItem as Wt, BreadcrumbLink as Gt, BreadcrumbList as Kt, BreadcrumbPage as qt, BreadcrumbSeparator as Jt } from "./components/chrome/breadcrumb.js";
|
|
47
|
+
import { FIESTA_ICON_DATA_URI as Yt, FIESTA_ICON_PALETTE as Xt, FIESTA_ICON_SVG as Zt, FiestaIcon as Qt } from "./components/chrome/fiesta-icon.js";
|
|
48
|
+
import { FiestaLogo as $t } from "./components/chrome/fiesta-logo.js";
|
|
49
|
+
import { LanguageSelector as en } from "./components/chrome/language-selector.js";
|
|
50
|
+
import { MainContent as tn } from "./components/chrome/main-content.js";
|
|
51
|
+
import { PAGE_HUES as nn, PageHeader as rn, PageIconGradientDefs as an, pageHue as on } from "./components/chrome/page-header.js";
|
|
52
|
+
import { PageLayout as sn } from "./components/chrome/page-layout.js";
|
|
53
|
+
import { PageToolbar as cn } from "./components/chrome/page-toolbar.js";
|
|
54
|
+
import { Sidebar as ln } from "./components/chrome/sidebar.js";
|
|
55
|
+
import { SkipToContent as un } from "./components/chrome/skip-to-content.js";
|
|
56
|
+
import { ThemeToggle as dn } from "./components/chrome/theme-toggle.js";
|
|
57
|
+
import { WizardProgress as fn } from "./components/wizard/wizard-progress.js";
|
|
58
|
+
import { ALL_COLOR_CODES as pn, AVAILABLE_COLORS as mn, BOARD_COLORS as hn, COLOR_CODE_MAP as gn, COLOR_DISPLAY as _n, FIESTABOARD_COLORS as vn, getBoardColor as yn, isValidBoardColor as bn, resolveColorCode as xn } from "./lib/board-colors.js";
|
|
59
|
+
import { BOARD_CHARS as Sn, EXTRA_CHARS as Cn, getCharFromToken as wn, getCharIndex as Tn, isColorTile as En, messageToGrid as Dn, messageToText as On, parseLine as kn, tokensEqual as An } from "./lib/board-characters.js";
|
|
60
|
+
import { BoardTeaser as jn } from "./components/board/board-teaser.js";
|
|
61
|
+
import { BoardBackdrop as Mn } from "./components/board/board-backdrop.js";
|
|
62
|
+
import { WizardShell as Nn } from "./components/wizard/wizard-shell.js";
|
|
63
|
+
import { DEVICE_DIMENSIONS as Pn, MAX_NOTES_PER_AXIS as Fn, NOTE_COLS as In, NOTE_ROWS as Ln, isNoteArray as Rn, noteArrayDimensions as zn, resolveDimensions as Bn } from "./lib/board-dimensions.js";
|
|
64
|
+
import { BoardDisplay as Vn, FLAP_SPEED_PRESETS as Hn, deriveFlapTiming as Un, resolveFlapSpeed as Wn } from "./components/board/board-display.js";
|
|
65
|
+
import { ScaledBoardDisplay as Gn } from "./components/board/scaled-board-display.js";
|
|
66
|
+
import { StaticBoardDisplay as Kn } from "./components/board/static-board-display.js";
|
|
67
|
+
import { DEFAULT_SHAPE_LABELS as qn, previewLabel as Jn, previewLabels as Yn, previewMessage as Xn } from "./lib/board-previews.js";
|
|
68
|
+
import { BarList as Zn } from "./components/data/bar-list.js";
|
|
69
|
+
import { StatStrip as Qn, StatStripItem as $n } from "./components/data/stat-strip.js";
|
|
70
|
+
import { BoardShowcase as er, DEFAULT_SHOWCASE_LABELS as tr } from "./components/plugin/board-showcase.js";
|
|
71
|
+
import { PLUGIN_CATEGORIES as nr, PluginCategoryBadge as rr } from "./components/plugin/plugin-category-badge.js";
|
|
72
|
+
import { ScaledBoardTeaser as ir } from "./components/plugin/scaled-board-teaser.js";
|
|
73
|
+
import { PluginCard as ar } from "./components/plugin/plugin-card.js";
|
|
74
|
+
import { BOARD_CODE_TO_COLOR as or, BOARD_COLOR_CODES as sr, CURSOR_ANCHOR as cr, DEFAULT_BOARD_LINES as lr, DEFAULT_BOARD_WIDTH as ur, FILL_SPACE_REPEAT_VAR as dr, FILL_SPACE_VAR as fr } from "./components/editor/constants.js";
|
|
75
|
+
import { NodeViewInjectionProvider as pr, useNodeViewInjection as mr } from "./components/editor/node-views/node-view-context.js";
|
|
76
|
+
import { ColorTileNodeView as hr, DEFAULT_COLOR_TILE_NODE_VIEW_LABELS as gr } from "./components/editor/node-views/color-tile-node-view.js";
|
|
77
|
+
import { ColorTileNode as _r } from "./components/editor/extensions/color-tile-node.js";
|
|
78
|
+
import { DEFAULT_FILL_SPACE_NODE_VIEW_LABELS as vr, FillSpaceNodeView as yr } from "./components/editor/node-views/fill-space-node-view.js";
|
|
79
|
+
import { FillSpaceNode as br } from "./components/editor/extensions/fill-space-node.js";
|
|
80
|
+
import { DEFAULT_FORMULA_NODE_VIEW_LABELS as xr, FormulaNodeView as Sr } from "./components/editor/node-views/formula-node-view.js";
|
|
81
|
+
import { FormulaNode as Cr } from "./components/editor/extensions/formula-node.js";
|
|
82
|
+
import { LineNavigation as wr } from "./components/editor/extensions/line-navigation.js";
|
|
83
|
+
import { SingleParagraphDoc as Tr } from "./components/editor/extensions/single-paragraph-doc.js";
|
|
84
|
+
import { TrailingNewline as Er } from "./components/editor/extensions/trailing-newline.js";
|
|
85
|
+
import { DEFAULT_VARIABLE_NODE_VIEW_LABELS as Dr, VariableNodeView as Or } from "./components/editor/node-views/variable-node-view.js";
|
|
86
|
+
import { VariableNode as kr } from "./components/editor/extensions/variable-node.js";
|
|
87
|
+
import { DEFAULT_WRAPPED_TEXT_VIEW_LABELS as Ar, WrappedTextView as jr } from "./components/editor/node-views/wrapped-text-view.js";
|
|
88
|
+
import { WrappedTextNode as Mr } from "./components/editor/extensions/wrapped-text-node.js";
|
|
89
|
+
import { ColorPickerContent as Nr, DEFAULT_COLOR_PICKER_LABELS as Pr } from "./components/editor/color-picker-content.js";
|
|
90
|
+
import { DRAW_CHARS as Fr, brushToCell as Ir, cellsToLine as Lr, isPositionalLine as Rr, lineToCells as zr, paintLine as Br, renderPositionalLine as Vr } from "./components/editor/utils/draw-mode.js";
|
|
91
|
+
import { DEFAULT_DRAW_CHAR_PICKER_LABELS as Hr, DrawCharPickerContent as Ur } from "./components/editor/draw-char-picker-content.js";
|
|
92
|
+
import { DEFAULT_FORMATTING_PICKER_LABELS as Wr, FormattingPickerContent as Gr } from "./components/editor/formatting-picker-content.js";
|
|
93
|
+
import { DEFAULT_TOOLBAR_DROPDOWN_LABELS as Kr, ToolbarDropdown as qr } from "./components/editor/toolbar-dropdown.js";
|
|
94
|
+
import { parseLineContent as Jr, parseTemplateSimple as Yr, serializeTemplateSimple as Xr } from "./components/editor/utils/serialization.js";
|
|
95
|
+
import { insertTemplateContent as Zr } from "./components/editor/utils/insertion.js";
|
|
96
|
+
import { DEFAULT_TEMPLATE_EDITOR_TOOLBAR_LABELS as Qr, TemplateEditorToolbar as $r } from "./components/editor/template-editor-toolbar.js";
|
|
97
|
+
import { buildStrokeTransaction as ei, lineRanges as ti } from "./components/editor/utils/stroke-transaction.js";
|
|
98
|
+
import { DEFAULT_TEMPLATE_EDITOR_LABELS as ni, TemplateEditor as ri } from "./components/editor/template-editor.js";
|
|
99
|
+
import { DEFAULT_FILTER_PICKER_LABELS as ii, FilterPickerContent as ai } from "./components/editor/filter-picker-content.js";
|
|
100
|
+
import { DEFAULT_VARIABLE_PICKER_LABELS as oi, VariablePickerContent as si, createLucideIconResolver as ci, getPluginsWithNestedArrays as li } from "./components/editor/variable-picker-content.js";
|
|
101
|
+
import { calculateLineLength as ui, getOverflowAmount as di, willOverflow as fi } from "./components/editor/utils/length-calculator.js";
|
|
102
|
+
export { pn as ALL_COLOR_CODES, mn as AVAILABLE_COLORS, t as Accordion, n as AccordionContent, r as AccordionItem, i as AccordionTrigger, g as Alert, _ as AlertDescription, R as AlertDialog, z as AlertDialogAction, B as AlertDialogCancel, V as AlertDialogContent, H as AlertDialogDescription, U as AlertDialogFooter, W as AlertDialogHeader, G as AlertDialogOverlay, K as AlertDialogPortal, q as AlertDialogTitle, J as AlertDialogTrigger, v as AlertTitle, Sn as BOARD_CHARS, or as BOARD_CODE_TO_COLOR, hn as BOARD_COLORS, sr as BOARD_COLOR_CODES, b as Badge, Zn as BarList, Mn as BoardBackdrop, Vn as BoardDisplay, Bt as BoardIcon, Vt as BoardSelector, er as BoardShowcase, jn as BoardTeaser, N as Box, Ht as Breadcrumb, Ut as BreadcrumbEllipsis, Wt as BreadcrumbItem, Gt as BreadcrumbLink, Kt as BreadcrumbList, qt as BreadcrumbPage, Jt as BreadcrumbSeparator, D as Button, gn as COLOR_CODE_MAP, _n as COLOR_DISPLAY, cr as CURSOR_ANCHOR, a as Card, o as CardAction, s as CardContent, c as CardDescription, l as CardFooter, u as CardHeader, d as CardTitle, k as Checkbox, S as Chip, De as Code, f as Collapsible, p as CollapsibleContent, m as CollapsibleTrigger, Nr as ColorPickerContent, _r as ColorTileNode, hr as ColorTileNodeView, lr as DEFAULT_BOARD_LINES, ur as DEFAULT_BOARD_WIDTH, Pr as DEFAULT_COLOR_PICKER_LABELS, gr as DEFAULT_COLOR_TILE_NODE_VIEW_LABELS, Hr as DEFAULT_DRAW_CHAR_PICKER_LABELS, vr as DEFAULT_FILL_SPACE_NODE_VIEW_LABELS, ii as DEFAULT_FILTER_PICKER_LABELS, Wr as DEFAULT_FORMATTING_PICKER_LABELS, xr as DEFAULT_FORMULA_NODE_VIEW_LABELS, qn as DEFAULT_SHAPE_LABELS, tr as DEFAULT_SHOWCASE_LABELS, ni as DEFAULT_TEMPLATE_EDITOR_LABELS, Qr as DEFAULT_TEMPLATE_EDITOR_TOOLBAR_LABELS, Kr as DEFAULT_TOOLBAR_DROPDOWN_LABELS, Dr as DEFAULT_VARIABLE_NODE_VIEW_LABELS, oi as DEFAULT_VARIABLE_PICKER_LABELS, Ar as DEFAULT_WRAPPED_TEXT_VIEW_LABELS, Pn as DEVICE_DIMENSIONS, Fr as DRAW_CHARS, Y as Dialog, X as DialogClose, Z as DialogContent, Q as DialogDescription, $ as DialogFooter, ee as DialogHeader, te as DialogOverlay, ne as DialogPortal, re as DialogTitle, ie as DialogTrigger, Ur as DrawCharPickerContent, ae as DropdownMenu, oe as DropdownMenuCheckboxItem, se as DropdownMenuContent, ce as DropdownMenuGroup, le as DropdownMenuItem, ue as DropdownMenuLabel, de as DropdownMenuPortal, fe as DropdownMenuRadioGroup, pe as DropdownMenuRadioItem, me as DropdownMenuSeparator, he as DropdownMenuShortcut, ge as DropdownMenuSub, _e as DropdownMenuSubContent, ve as DropdownMenuSubTrigger, ye as DropdownMenuTrigger, Cn as EXTRA_CHARS, w as EmptyState, vn as FIESTABOARD_COLORS, Yt as FIESTA_ICON_DATA_URI, Xt as FIESTA_ICON_PALETTE, Zt as FIESTA_ICON_SVG, dr as FILL_SPACE_REPEAT_VAR, fr as FILL_SPACE_VAR, Hn as FLAP_SPEED_PRESETS, Ge as FadeContent, Qt as FiestaIcon, $t as FiestaLogo, br as FillSpaceNode, yr as FillSpaceNodeView, ai as FilterPickerContent, P as Flex, Gr as FormattingPickerContent, Cr as FormulaNode, Sr as FormulaNodeView, I as Grid, Oe as Heading, A as Input, h as JsonTree, j as Label, en as LanguageSelector, wr as LineNavigation, Ae as List, je as ListItem, Fn as MAX_NOTES_PER_AXIS, tn as MainContent, In as NOTE_COLS, Ln as NOTE_ROWS, pr as NodeViewInjectionProvider, nn as PAGE_HUES, nr as PLUGIN_CATEGORIES, rn as PageHeader, an as PageIconGradientDefs, sn as PageLayout, cn as PageToolbar, ar as PluginCard, rr as PluginCategoryBadge, be as Popover, xe as PopoverClose, Se as PopoverContent, Ce as PopoverDescription, we as PopoverTitle, Te as PopoverTrigger, Gn as ScaledBoardDisplay, ir as ScaledBoardTeaser, Ne as ScrollArea, Pe as ScrollBar, M as SecretInput, ht as SegmentedControl, gt as SegmentedControlItem, Ye as Select, Xe as SelectContent, Ze as SelectGroup, Qe as SelectItem, $e as SelectLabel, et as SelectScrollDownButton, tt as SelectScrollUpButton, nt as SelectSeparator, rt as SelectTrigger, it as SelectValue, Tt as Sheet, Et as SheetClose, Dt as SheetContent, Ot as SheetDescription, kt as SheetFooter, At as SheetHeader, jt as SheetOverlay, Mt as SheetPortal, Nt as SheetTitle, Pt as SheetTrigger, ln as Sidebar, Tr as SingleParagraphDoc, Ke as Skeleton, un as SkipToContent, at as Slider, T as Spinner, Ct as Stack, Qn as StatStrip, $n as StatStripItem, Kn as StaticBoardDisplay, qe as StatusDot, ot as Switch, Fe as Table, Ie as TableBody, Le as TableCell, Re as TableHead, ze as TableHeader, Be as TableRow, Ve as Tabs, He as TabsContent, Ue as TabsList, We as TabsTrigger, ri as TemplateEditor, $r as TemplateEditorToolbar, ct as Text, zt as TextLink, st as Textarea, dn as ThemeToggle, ut as TimePicker, dt as Toggle, _t as ToggleCard, vt as ToggleCardGroup, ft as ToggleGroup, qr as ToolbarDropdown, Ft as Tooltip, It as TooltipContent, Lt as TooltipProvider, Rt as TooltipTrigger, Er as TrailingNewline, kr as VariableNode, Or as VariableNodeView, si as VariablePickerContent, fn as WizardProgress, Nn as WizardShell, Mr as WrappedTextNode, jr as WrappedTextView, y as alertVariants, x as badgeVariants, Ir as brushToCell, ei as buildStrokeTransaction, O as buttonVariants, ui as calculateLineLength, Lr as cellsToLine, C as chipVariants, e as cn, ci as createLucideIconResolver, Un as deriveFlapTiming, F as flexVariants, yn as getBoardColor, wn as getCharFromToken, Tn as getCharIndex, di as getOverflowAmount, li as getPluginsWithNestedArrays, L as gridVariants, ke as headingVariants, Zr as insertTemplateContent, En as isColorTile, Rn as isNoteArray, Rr as isPositionalLine, bn as isValidBoardColor, ti as lineRanges, zr as lineToCells, Me as listVariants, Dn as messageToGrid, On as messageToText, zn as noteArrayDimensions, on as pageHue, Br as paintLine, kn as parseLine, Jr as parseLineContent, Yr as parseTemplateSimple, Jn as previewLabel, Yn as previewLabels, Xn as previewMessage, Vr as renderPositionalLine, xn as resolveColorCode, Bn as resolveDimensions, Wn as resolveFlapSpeed, yt as segmentedControlItemVariants, bt as segmentedControlVariants, Xr as serializeTemplateSimple, E as spinnerVariants, wt as stackVariants, Je as statusDotVariants, lt as textVariants, xt as toggleCardGroupVariants, St as toggleCardVariants, pt as toggleGroupVariants, mt as toggleVariants, An as tokensEqual, mr as useNodeViewInjection, Ee as usePopoverClose, fi as willOverflow };
|