@fiestaboard/ui 5.1.0 → 5.3.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/board/board-display.d.ts +13 -1
- package/dist/components/board/board-display.js +103 -101
- package/dist/components/board/board-display.js.map +1 -1
- package/dist/components/board/static-board-display.d.ts +6 -1
- package/dist/components/board/static-board-display.js +36 -34
- package/dist/components/board/static-board-display.js.map +1 -1
- 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/containment/media-frame.d.ts +28 -0
- package/dist/components/containment/media-frame.js +40 -0
- package/dist/components/containment/media-frame.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/components/overlays/lightbox.d.ts +37 -0
- package/dist/components/overlays/lightbox.js +54 -0
- package/dist/components/overlays/lightbox.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +99 -93
- package/dist/lib/board-characters.d.ts +33 -7
- package/dist/lib/board-characters.js +14 -11
- package/dist/lib/board-characters.js.map +1 -1
- package/package.json +1 -1
|
@@ -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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Dialog as LightboxPrimitive } from "@base-ui/react/dialog";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
/**
|
|
4
|
+
* Lightbox — click-to-zoom media viewer (issue #229 item 4).
|
|
5
|
+
*
|
|
6
|
+
* A styled composition of the same Base UI Dialog that dialog.tsx and
|
|
7
|
+
* sheet.tsx wrap, so Esc-to-close, backdrop-click dismissal, focus
|
|
8
|
+
* containment, body scroll lock and portalling are the primitive's, not
|
|
9
|
+
* re-implemented. The docs-site original hand-rolled all of that (keydown
|
|
10
|
+
* listener + overflow toggle + onClick-stopPropagation) and still had no
|
|
11
|
+
* focus trap; building on the dialog foundation is the point of promoting it.
|
|
12
|
+
*
|
|
13
|
+
* Differences from Dialog are presentational only: a near-opaque
|
|
14
|
+
* theme-invariant scrim, media floating on it with no card surface, and a
|
|
15
|
+
* viewport-pinned close chip.
|
|
16
|
+
*/
|
|
17
|
+
declare const Lightbox: typeof LightboxPrimitive.Root;
|
|
18
|
+
declare function LightboxTrigger({ asChild, children, ...props }: React.ComponentProps<typeof LightboxPrimitive.Trigger> & {
|
|
19
|
+
asChild?: boolean;
|
|
20
|
+
}): React.JSX.Element;
|
|
21
|
+
declare const LightboxPortal: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").AlertDialogPortalProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
22
|
+
declare function LightboxClose({ asChild, children, ...props }: React.ComponentProps<typeof LightboxPrimitive.Close> & {
|
|
23
|
+
asChild?: boolean;
|
|
24
|
+
}): React.JSX.Element;
|
|
25
|
+
declare function LightboxOverlay({ className, ...props }: React.ComponentProps<typeof LightboxPrimitive.Backdrop>): React.JSX.Element;
|
|
26
|
+
interface LightboxContentProps extends React.ComponentProps<typeof LightboxPrimitive.Popup> {
|
|
27
|
+
/**
|
|
28
|
+
* Accessible name for the dialog. Media dialogs have no visible title to
|
|
29
|
+
* point aria-labelledby at, so a label is defaulted rather than optional —
|
|
30
|
+
* override it with something content-specific ("Dashboard screenshot")
|
|
31
|
+
* when you can.
|
|
32
|
+
*/
|
|
33
|
+
"aria-label"?: string;
|
|
34
|
+
}
|
|
35
|
+
declare function LightboxContent({ className, children, "aria-label": ariaLabel, ...props }: LightboxContentProps): React.JSX.Element;
|
|
36
|
+
declare function LightboxFooter({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
37
|
+
export { Lightbox, LightboxClose, LightboxContent, LightboxFooter, LightboxOverlay, LightboxPortal, LightboxTrigger };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn as e } from "../../lib/utils.js";
|
|
3
|
+
import { OverlayClose as t } from "./overlay-close.js";
|
|
4
|
+
import * as n from "react";
|
|
5
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
6
|
+
import { Dialog as a } from "@base-ui/react/dialog";
|
|
7
|
+
//#region src/components/overlays/lightbox.tsx
|
|
8
|
+
var o = a.Root;
|
|
9
|
+
function s({ asChild: e = !1, children: t, ...i }) {
|
|
10
|
+
return /* @__PURE__ */ r(a.Trigger, {
|
|
11
|
+
"data-slot": "lightbox-trigger",
|
|
12
|
+
...e ? { render: n.Children.only(t) } : { children: t },
|
|
13
|
+
...i
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
var c = a.Portal;
|
|
17
|
+
function l({ asChild: e = !1, children: t, ...i }) {
|
|
18
|
+
return /* @__PURE__ */ r(a.Close, {
|
|
19
|
+
"data-slot": "lightbox-close",
|
|
20
|
+
...e ? { render: n.Children.only(t) } : { children: t },
|
|
21
|
+
...i
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
function u({ className: t, ...n }) {
|
|
25
|
+
return /* @__PURE__ */ r(a.Backdrop, {
|
|
26
|
+
"data-slot": "lightbox-overlay",
|
|
27
|
+
className: e("fixed inset-0 z-[var(--z-modal)] bg-black/85 data-[open]:animate-in data-[ending-style]:animate-out data-[ending-style]:fade-out-0 data-[open]:fade-in-0", t),
|
|
28
|
+
...n
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
function d({ className: n, children: o, "aria-label": s = "Media viewer", ...l }) {
|
|
32
|
+
return /* @__PURE__ */ i(c, { children: [/* @__PURE__ */ r(u, {}), /* @__PURE__ */ i(a.Popup, {
|
|
33
|
+
"data-slot": "lightbox-content",
|
|
34
|
+
"aria-label": s,
|
|
35
|
+
className: e("fixed left-[50%] top-[50%] z-[var(--z-modal)] flex max-h-[92svh] max-w-[92vw] translate-x-[-50%] translate-y-[-50%] flex-col items-center gap-3 pt-12 outline-none duration-base data-[open]:animate-in data-[ending-style]:animate-out data-[ending-style]:fade-out-0 data-[open]:fade-in-0 data-[ending-style]:zoom-out-95 data-[open]:zoom-in-95", "[&_img]:max-h-[78svh] [&_img]:max-w-[92vw] [&_img]:rounded-lg [&_img]:object-contain [&_img]:shadow-modal [&_video]:max-h-[78svh] [&_video]:max-w-[92vw] [&_video]:rounded-lg [&_video]:object-contain [&_video]:shadow-modal", n),
|
|
36
|
+
...l,
|
|
37
|
+
children: [o, /* @__PURE__ */ r(t, {
|
|
38
|
+
"data-slot": "lightbox-close",
|
|
39
|
+
size: "md",
|
|
40
|
+
className: "right-0 top-0 bg-white/15 text-white hover:bg-white/25 focus-visible:ring-white/60"
|
|
41
|
+
})]
|
|
42
|
+
})] });
|
|
43
|
+
}
|
|
44
|
+
function f({ className: t, ...n }) {
|
|
45
|
+
return /* @__PURE__ */ r("div", {
|
|
46
|
+
"data-slot": "lightbox-footer",
|
|
47
|
+
className: e("flex flex-wrap items-center justify-center gap-2 text-white", t),
|
|
48
|
+
...n
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
//#endregion
|
|
52
|
+
export { o as Lightbox, l as LightboxClose, d as LightboxContent, f as LightboxFooter, u as LightboxOverlay, c as LightboxPortal, s as LightboxTrigger };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=lightbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lightbox.js","names":[],"sources":["../../../src/components/overlays/lightbox.tsx"],"mappings":";;;;;;;AAuBA,IAAM,IAAW,EAAkB;AAEnC,SAAS,EAAgB,EACvB,aAAU,IACV,aACA,GAAG,KAC8E;CACjF,OACE,kBAAC,EAAkB,SAAnB;EACE,aAAU;EACV,GAAK,IAAU,EAAE,QAAQ,EAAM,SAAS,KAAK,CAAQ,EAAwB,IAAI,EAAE,YAAS;EAC5F,GAAI;CACL,CAAA;AAEL;AAEA,IAAM,IAAiB,EAAkB;AAEzC,SAAS,EAAc,EACrB,aAAU,IACV,aACA,GAAG,KAC4E;CAC/E,OACE,kBAAC,EAAkB,OAAnB;EACE,aAAU;EACV,GAAK,IAAU,EAAE,QAAQ,EAAM,SAAS,KAAK,CAAQ,EAAwB,IAAI,EAAE,YAAS;EAC5F,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,EAAgB,EAAE,cAAW,GAAG,KAAkE;CACzG,OACE,kBAAC,EAAkB,UAAnB;EACE,aAAU;EAWV,WAAW,EACT,4JACA,CACF;EACA,GAAI;CACL,CAAA;AAEL;AAYA,SAAS,EAAgB,EACvB,cACA,aACA,cAAc,IAAY,gBAC1B,GAAG,KACoB;CACvB,OACE,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,CAAkB,CAAA,GAUlB,kBAAC,EAAkB,OAAnB;EACE,aAAU;EACV,cAAY;EACZ,WAAW,EAIT,uVAUA,iOACA,CACF;EACA,GAAI;EApBN,UAAA,CAsBG,GAgBD,kBAAC,GAAD;GACE,aAAU;GACV,MAAK;GACL,WAAU;EACX,CAAA,CACsB;CACX,CAAA,CAAA,EAAA,CAAA;AAEpB;AAEA,SAAS,EAAe,EAAE,cAAW,GAAG,KAAsC;CAC5E,OACE,kBAAC,OAAD;EACE,aAAU;EAKV,WAAW,EAAG,+DAA+D,CAAS;EACtF,GAAI;CACL,CAAA;AAEL"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,8 +10,10 @@ export * from "./components/containment/accordion";
|
|
|
10
10
|
export * from "./components/containment/card";
|
|
11
11
|
export * from "./components/containment/collapsible";
|
|
12
12
|
export * from "./components/containment/json-tree";
|
|
13
|
+
export * from "./components/containment/media-frame";
|
|
13
14
|
export * from "./components/feedback/alert";
|
|
14
15
|
export * from "./components/feedback/badge";
|
|
16
|
+
export * from "./components/feedback/chip";
|
|
15
17
|
export * from "./components/feedback/empty-state";
|
|
16
18
|
export * from "./components/forms/button";
|
|
17
19
|
export * from "./components/forms/checkbox";
|
|
@@ -24,6 +26,7 @@ export * from "./components/layout/grid";
|
|
|
24
26
|
export * from "./components/overlays/alert-dialog";
|
|
25
27
|
export * from "./components/overlays/dialog";
|
|
26
28
|
export * from "./components/overlays/dropdown-menu";
|
|
29
|
+
export * from "./components/overlays/lightbox";
|
|
27
30
|
export * from "./components/overlays/popover";
|
|
28
31
|
export * from "./components/typography/code";
|
|
29
32
|
export * from "./components/typography/heading";
|
|
@@ -40,6 +43,7 @@ export * from "./components/forms/slider";
|
|
|
40
43
|
export * from "./components/forms/switch";
|
|
41
44
|
export * from "./components/forms/textarea";
|
|
42
45
|
export * from "./components/forms/time-picker";
|
|
46
|
+
export * from "./components/forms/toggle";
|
|
43
47
|
export * from "./components/forms/toggle-card";
|
|
44
48
|
export * from "./components/layout/stack";
|
|
45
49
|
export * from "./components/overlays/sheet";
|
|
@@ -48,6 +52,7 @@ export * from "./components/typography/text";
|
|
|
48
52
|
export * from "./components/typography/text-link";
|
|
49
53
|
export * from "./components/chrome/board-icon";
|
|
50
54
|
export * from "./components/chrome/board-selector";
|
|
55
|
+
export * from "./components/chrome/breadcrumb";
|
|
51
56
|
export * from "./components/chrome/fiesta-icon";
|
|
52
57
|
export * from "./components/chrome/fiesta-logo";
|
|
53
58
|
export * from "./components/chrome/language-selector";
|
|
@@ -70,6 +75,7 @@ export * from "./lib/board-characters";
|
|
|
70
75
|
export * from "./lib/board-colors";
|
|
71
76
|
export * from "./lib/board-dimensions";
|
|
72
77
|
export * from "./lib/board-previews";
|
|
78
|
+
export * from "./components/data/bar-list";
|
|
73
79
|
export * from "./components/data/stat-strip";
|
|
74
80
|
export * from "./components/plugin/board-showcase";
|
|
75
81
|
export * from "./components/plugin/plugin-card";
|
package/dist/index.js
CHANGED
|
@@ -3,96 +3,102 @@ import { Accordion as t, AccordionContent as n, AccordionItem as r, AccordionTri
|
|
|
3
3
|
import { Card as a, CardAction as o, CardContent as s, CardDescription as c, CardFooter as l, CardHeader as u, CardTitle as d } from "./components/containment/card.js";
|
|
4
4
|
import { Collapsible as f, CollapsibleContent as p, CollapsibleTrigger as m } from "./components/containment/collapsible.js";
|
|
5
5
|
import { JsonTree as h } from "./components/containment/json-tree.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
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
|
-
|
|
6
|
+
import { MediaFrame as g, MediaFrameBar as _, MediaFrameMedia as v } from "./components/containment/media-frame.js";
|
|
7
|
+
import { Alert as y, AlertDescription as b, AlertTitle as x, alertVariants as S } from "./components/feedback/alert.js";
|
|
8
|
+
import { Badge as C, badgeVariants as w } from "./components/feedback/badge.js";
|
|
9
|
+
import { Chip as T, chipVariants as E } from "./components/feedback/chip.js";
|
|
10
|
+
import { EmptyState as D } from "./components/feedback/empty-state.js";
|
|
11
|
+
import { Spinner as O, spinnerVariants as k } from "./components/feedback/spinner.js";
|
|
12
|
+
import { Button as A, buttonVariants as j } from "./components/forms/button.js";
|
|
13
|
+
import { Checkbox as M } from "./components/forms/checkbox.js";
|
|
14
|
+
import { Input as N } from "./components/forms/input.js";
|
|
15
|
+
import { Label as P } from "./components/forms/label.js";
|
|
16
|
+
import { SecretInput as F } from "./components/forms/secret-input.js";
|
|
17
|
+
import { Box as I } from "./components/layout/box.js";
|
|
18
|
+
import { Flex as L, flexVariants as R } from "./components/layout/flex.js";
|
|
19
|
+
import { Grid as z, gridVariants as B } from "./components/layout/grid.js";
|
|
20
|
+
import { AlertDialog as V, AlertDialogAction as H, AlertDialogCancel as U, AlertDialogContent as W, AlertDialogDescription as G, AlertDialogFooter as K, AlertDialogHeader as q, AlertDialogOverlay as J, AlertDialogPortal as Y, AlertDialogTitle as X, AlertDialogTrigger as Z } from "./components/overlays/alert-dialog.js";
|
|
21
|
+
import { Dialog as Q, DialogClose as $, DialogContent as ee, DialogDescription as te, DialogFooter as ne, DialogHeader as re, DialogOverlay as ie, DialogPortal as ae, DialogTitle as oe, DialogTrigger as se } from "./components/overlays/dialog.js";
|
|
22
|
+
import { DropdownMenu as ce, DropdownMenuCheckboxItem as le, DropdownMenuContent as ue, DropdownMenuGroup as de, DropdownMenuItem as fe, DropdownMenuLabel as pe, DropdownMenuPortal as me, DropdownMenuRadioGroup as he, DropdownMenuRadioItem as ge, DropdownMenuSeparator as _e, DropdownMenuShortcut as ve, DropdownMenuSub as ye, DropdownMenuSubContent as be, DropdownMenuSubTrigger as xe, DropdownMenuTrigger as Se } from "./components/overlays/dropdown-menu.js";
|
|
23
|
+
import { Lightbox as Ce, LightboxClose as we, LightboxContent as Te, LightboxFooter as Ee, LightboxOverlay as De, LightboxPortal as Oe, LightboxTrigger as ke } from "./components/overlays/lightbox.js";
|
|
24
|
+
import { Popover as Ae, PopoverClose as je, PopoverContent as Me, PopoverDescription as Ne, PopoverTitle as Pe, PopoverTrigger as Fe, usePopoverClose as Ie } from "./components/overlays/popover.js";
|
|
25
|
+
import { Code as Le } from "./components/typography/code.js";
|
|
26
|
+
import { Heading as Re, headingVariants as ze } from "./components/typography/heading.js";
|
|
27
|
+
import { List as Be, ListItem as Ve, listVariants as He } from "./components/typography/list.js";
|
|
28
|
+
import { ScrollArea as Ue, ScrollBar as We } from "./components/containment/scroll-area.js";
|
|
29
|
+
import { Table as Ge, TableBody as Ke, TableCell as qe, TableHead as Je, TableHeader as Ye, TableRow as Xe } from "./components/containment/table.js";
|
|
30
|
+
import { Tabs as Ze, TabsContent as Qe, TabsList as $e, TabsTrigger as et } from "./components/containment/tabs.js";
|
|
31
|
+
import tt from "./components/effects/react-bits/fade-content.js";
|
|
32
|
+
import { Skeleton as nt } from "./components/feedback/skeleton.js";
|
|
33
|
+
import { StatusDot as rt, statusDotVariants as it } from "./components/feedback/status-dot.js";
|
|
34
|
+
import { Select as at, SelectContent as ot, SelectGroup as st, SelectItem as ct, SelectLabel as lt, SelectScrollDownButton as ut, SelectScrollUpButton as dt, SelectSeparator as ft, SelectTrigger as pt, SelectValue as mt } from "./components/forms/select.js";
|
|
35
|
+
import { Slider as ht } from "./components/forms/slider.js";
|
|
36
|
+
import { Switch as gt } from "./components/forms/switch.js";
|
|
37
|
+
import { Textarea as _t } from "./components/forms/textarea.js";
|
|
38
|
+
import { Text as vt, textVariants as yt } from "./components/typography/text.js";
|
|
39
|
+
import { TimePicker as bt } from "./components/forms/time-picker.js";
|
|
40
|
+
import { Toggle as xt, ToggleGroup as St, toggleGroupVariants as Ct, toggleVariants as wt } from "./components/forms/toggle.js";
|
|
41
|
+
import { SegmentedControl as Tt, SegmentedControlItem as Et, ToggleCard as Dt, ToggleCardGroup as Ot, segmentedControlItemVariants as kt, segmentedControlVariants as At, toggleCardGroupVariants as jt, toggleCardVariants as Mt } from "./components/forms/toggle-card.js";
|
|
42
|
+
import { Stack as Nt, stackVariants as Pt } from "./components/layout/stack.js";
|
|
43
|
+
import { Sheet as Ft, SheetClose as It, SheetContent as Lt, SheetDescription as Rt, SheetFooter as zt, SheetHeader as Bt, SheetOverlay as Vt, SheetPortal as Ht, SheetTitle as Ut, SheetTrigger as Wt } from "./components/overlays/sheet.js";
|
|
44
|
+
import { Tooltip as Gt, TooltipContent as Kt, TooltipProvider as qt, TooltipTrigger as Jt } from "./components/overlays/tooltip.js";
|
|
45
|
+
import { TextLink as Yt } from "./components/typography/text-link.js";
|
|
46
|
+
import { BoardIcon as Xt } from "./components/chrome/board-icon.js";
|
|
47
|
+
import { BoardSelector as Zt } from "./components/chrome/board-selector.js";
|
|
48
|
+
import { Breadcrumb as Qt, BreadcrumbEllipsis as $t, BreadcrumbItem as en, BreadcrumbLink as tn, BreadcrumbList as nn, BreadcrumbPage as rn, BreadcrumbSeparator as an } from "./components/chrome/breadcrumb.js";
|
|
49
|
+
import { FIESTA_ICON_DATA_URI as on, FIESTA_ICON_PALETTE as sn, FIESTA_ICON_SVG as cn, FiestaIcon as ln } from "./components/chrome/fiesta-icon.js";
|
|
50
|
+
import { FiestaLogo as un } from "./components/chrome/fiesta-logo.js";
|
|
51
|
+
import { LanguageSelector as dn } from "./components/chrome/language-selector.js";
|
|
52
|
+
import { MainContent as fn } from "./components/chrome/main-content.js";
|
|
53
|
+
import { PAGE_HUES as pn, PageHeader as mn, PageIconGradientDefs as hn, pageHue as gn } from "./components/chrome/page-header.js";
|
|
54
|
+
import { PageLayout as _n } from "./components/chrome/page-layout.js";
|
|
55
|
+
import { PageToolbar as vn } from "./components/chrome/page-toolbar.js";
|
|
56
|
+
import { Sidebar as yn } from "./components/chrome/sidebar.js";
|
|
57
|
+
import { SkipToContent as bn } from "./components/chrome/skip-to-content.js";
|
|
58
|
+
import { ThemeToggle as xn } from "./components/chrome/theme-toggle.js";
|
|
59
|
+
import { WizardProgress as Sn } from "./components/wizard/wizard-progress.js";
|
|
60
|
+
import { ALL_COLOR_CODES as Cn, AVAILABLE_COLORS as wn, BOARD_COLORS as Tn, COLOR_CODE_MAP as En, COLOR_DISPLAY as Dn, FIESTABOARD_COLORS as On, getBoardColor as kn, isValidBoardColor as An, resolveColorCode as jn } from "./lib/board-colors.js";
|
|
61
|
+
import { BOARD_CHARS as Mn, EXTRA_CHARS as Nn, getCharFromToken as Pn, getCharIndex as Fn, isColorTile as In, messageToGrid as Ln, messageToText as Rn, parseLine as zn, resolveCode62Glyph as Bn, tokensEqual as Vn } from "./lib/board-characters.js";
|
|
62
|
+
import { BoardTeaser as Hn } from "./components/board/board-teaser.js";
|
|
63
|
+
import { BoardBackdrop as Un } from "./components/board/board-backdrop.js";
|
|
64
|
+
import { WizardShell as Wn } from "./components/wizard/wizard-shell.js";
|
|
65
|
+
import { DEVICE_DIMENSIONS as Gn, MAX_NOTES_PER_AXIS as Kn, NOTE_COLS as qn, NOTE_ROWS as Jn, isNoteArray as Yn, noteArrayDimensions as Xn, resolveDimensions as Zn } from "./lib/board-dimensions.js";
|
|
66
|
+
import { BoardDisplay as Qn, FLAP_SPEED_PRESETS as $n, deriveFlapTiming as er, resolveFlapSpeed as tr } from "./components/board/board-display.js";
|
|
67
|
+
import { ScaledBoardDisplay as nr } from "./components/board/scaled-board-display.js";
|
|
68
|
+
import { StaticBoardDisplay as rr } from "./components/board/static-board-display.js";
|
|
69
|
+
import { DEFAULT_SHAPE_LABELS as ir, previewLabel as ar, previewLabels as or, previewMessage as sr } from "./lib/board-previews.js";
|
|
70
|
+
import { BarList as cr } from "./components/data/bar-list.js";
|
|
71
|
+
import { StatStrip as lr, StatStripItem as ur } from "./components/data/stat-strip.js";
|
|
72
|
+
import { BoardShowcase as dr, DEFAULT_SHOWCASE_LABELS as fr } from "./components/plugin/board-showcase.js";
|
|
73
|
+
import { PLUGIN_CATEGORIES as pr, PluginCategoryBadge as mr } from "./components/plugin/plugin-category-badge.js";
|
|
74
|
+
import { ScaledBoardTeaser as hr } from "./components/plugin/scaled-board-teaser.js";
|
|
75
|
+
import { PluginCard as gr } from "./components/plugin/plugin-card.js";
|
|
76
|
+
import { BOARD_CODE_TO_COLOR as _r, BOARD_COLOR_CODES as vr, CURSOR_ANCHOR as yr, DEFAULT_BOARD_LINES as br, DEFAULT_BOARD_WIDTH as xr, FILL_SPACE_REPEAT_VAR as Sr, FILL_SPACE_VAR as Cr } from "./components/editor/constants.js";
|
|
77
|
+
import { NodeViewInjectionProvider as wr, useNodeViewInjection as Tr } from "./components/editor/node-views/node-view-context.js";
|
|
78
|
+
import { ColorTileNodeView as Er, DEFAULT_COLOR_TILE_NODE_VIEW_LABELS as Dr } from "./components/editor/node-views/color-tile-node-view.js";
|
|
79
|
+
import { ColorTileNode as Or } from "./components/editor/extensions/color-tile-node.js";
|
|
80
|
+
import { DEFAULT_FILL_SPACE_NODE_VIEW_LABELS as kr, FillSpaceNodeView as Ar } from "./components/editor/node-views/fill-space-node-view.js";
|
|
81
|
+
import { FillSpaceNode as jr } from "./components/editor/extensions/fill-space-node.js";
|
|
82
|
+
import { DEFAULT_FORMULA_NODE_VIEW_LABELS as Mr, FormulaNodeView as Nr } from "./components/editor/node-views/formula-node-view.js";
|
|
83
|
+
import { FormulaNode as Pr } from "./components/editor/extensions/formula-node.js";
|
|
84
|
+
import { LineNavigation as Fr } from "./components/editor/extensions/line-navigation.js";
|
|
85
|
+
import { SingleParagraphDoc as Ir } from "./components/editor/extensions/single-paragraph-doc.js";
|
|
86
|
+
import { TrailingNewline as Lr } from "./components/editor/extensions/trailing-newline.js";
|
|
87
|
+
import { DEFAULT_VARIABLE_NODE_VIEW_LABELS as Rr, VariableNodeView as zr } from "./components/editor/node-views/variable-node-view.js";
|
|
88
|
+
import { VariableNode as Br } from "./components/editor/extensions/variable-node.js";
|
|
89
|
+
import { DEFAULT_WRAPPED_TEXT_VIEW_LABELS as Vr, WrappedTextView as Hr } from "./components/editor/node-views/wrapped-text-view.js";
|
|
90
|
+
import { WrappedTextNode as Ur } from "./components/editor/extensions/wrapped-text-node.js";
|
|
91
|
+
import { ColorPickerContent as Wr, DEFAULT_COLOR_PICKER_LABELS as Gr } from "./components/editor/color-picker-content.js";
|
|
92
|
+
import { DRAW_CHARS as Kr, brushToCell as qr, cellsToLine as Jr, isPositionalLine as Yr, lineToCells as Xr, paintLine as Zr, renderPositionalLine as Qr } from "./components/editor/utils/draw-mode.js";
|
|
93
|
+
import { DEFAULT_DRAW_CHAR_PICKER_LABELS as $r, DrawCharPickerContent as ei } from "./components/editor/draw-char-picker-content.js";
|
|
94
|
+
import { DEFAULT_FORMATTING_PICKER_LABELS as ti, FormattingPickerContent as ni } from "./components/editor/formatting-picker-content.js";
|
|
95
|
+
import { DEFAULT_TOOLBAR_DROPDOWN_LABELS as ri, ToolbarDropdown as ii } from "./components/editor/toolbar-dropdown.js";
|
|
96
|
+
import { parseLineContent as ai, parseTemplateSimple as oi, serializeTemplateSimple as si } from "./components/editor/utils/serialization.js";
|
|
97
|
+
import { insertTemplateContent as ci } from "./components/editor/utils/insertion.js";
|
|
98
|
+
import { DEFAULT_TEMPLATE_EDITOR_TOOLBAR_LABELS as li, TemplateEditorToolbar as ui } from "./components/editor/template-editor-toolbar.js";
|
|
99
|
+
import { buildStrokeTransaction as di, lineRanges as fi } from "./components/editor/utils/stroke-transaction.js";
|
|
100
|
+
import { DEFAULT_TEMPLATE_EDITOR_LABELS as pi, TemplateEditor as mi } from "./components/editor/template-editor.js";
|
|
101
|
+
import { DEFAULT_FILTER_PICKER_LABELS as hi, FilterPickerContent as gi } from "./components/editor/filter-picker-content.js";
|
|
102
|
+
import { DEFAULT_VARIABLE_PICKER_LABELS as _i, VariablePickerContent as vi, createLucideIconResolver as yi, getPluginsWithNestedArrays as bi } from "./components/editor/variable-picker-content.js";
|
|
103
|
+
import { calculateLineLength as xi, getOverflowAmount as Si, willOverflow as Ci } from "./components/editor/utils/length-calculator.js";
|
|
104
|
+
export { Cn as ALL_COLOR_CODES, wn as AVAILABLE_COLORS, t as Accordion, n as AccordionContent, r as AccordionItem, i as AccordionTrigger, y as Alert, b as AlertDescription, V as AlertDialog, H as AlertDialogAction, U as AlertDialogCancel, W as AlertDialogContent, G as AlertDialogDescription, K as AlertDialogFooter, q as AlertDialogHeader, J as AlertDialogOverlay, Y as AlertDialogPortal, X as AlertDialogTitle, Z as AlertDialogTrigger, x as AlertTitle, Mn as BOARD_CHARS, _r as BOARD_CODE_TO_COLOR, Tn as BOARD_COLORS, vr as BOARD_COLOR_CODES, C as Badge, cr as BarList, Un as BoardBackdrop, Qn as BoardDisplay, Xt as BoardIcon, Zt as BoardSelector, dr as BoardShowcase, Hn as BoardTeaser, I as Box, Qt as Breadcrumb, $t as BreadcrumbEllipsis, en as BreadcrumbItem, tn as BreadcrumbLink, nn as BreadcrumbList, rn as BreadcrumbPage, an as BreadcrumbSeparator, A as Button, En as COLOR_CODE_MAP, Dn as COLOR_DISPLAY, yr as CURSOR_ANCHOR, a as Card, o as CardAction, s as CardContent, c as CardDescription, l as CardFooter, u as CardHeader, d as CardTitle, M as Checkbox, T as Chip, Le as Code, f as Collapsible, p as CollapsibleContent, m as CollapsibleTrigger, Wr as ColorPickerContent, Or as ColorTileNode, Er as ColorTileNodeView, br as DEFAULT_BOARD_LINES, xr as DEFAULT_BOARD_WIDTH, Gr as DEFAULT_COLOR_PICKER_LABELS, Dr as DEFAULT_COLOR_TILE_NODE_VIEW_LABELS, $r as DEFAULT_DRAW_CHAR_PICKER_LABELS, kr as DEFAULT_FILL_SPACE_NODE_VIEW_LABELS, hi as DEFAULT_FILTER_PICKER_LABELS, ti as DEFAULT_FORMATTING_PICKER_LABELS, Mr as DEFAULT_FORMULA_NODE_VIEW_LABELS, ir as DEFAULT_SHAPE_LABELS, fr as DEFAULT_SHOWCASE_LABELS, pi as DEFAULT_TEMPLATE_EDITOR_LABELS, li as DEFAULT_TEMPLATE_EDITOR_TOOLBAR_LABELS, ri as DEFAULT_TOOLBAR_DROPDOWN_LABELS, Rr as DEFAULT_VARIABLE_NODE_VIEW_LABELS, _i as DEFAULT_VARIABLE_PICKER_LABELS, Vr as DEFAULT_WRAPPED_TEXT_VIEW_LABELS, Gn as DEVICE_DIMENSIONS, Kr as DRAW_CHARS, Q as Dialog, $ as DialogClose, ee as DialogContent, te as DialogDescription, ne as DialogFooter, re as DialogHeader, ie as DialogOverlay, ae as DialogPortal, oe as DialogTitle, se as DialogTrigger, ei as DrawCharPickerContent, ce as DropdownMenu, le as DropdownMenuCheckboxItem, ue as DropdownMenuContent, de as DropdownMenuGroup, fe as DropdownMenuItem, pe as DropdownMenuLabel, me as DropdownMenuPortal, he as DropdownMenuRadioGroup, ge as DropdownMenuRadioItem, _e as DropdownMenuSeparator, ve as DropdownMenuShortcut, ye as DropdownMenuSub, be as DropdownMenuSubContent, xe as DropdownMenuSubTrigger, Se as DropdownMenuTrigger, Nn as EXTRA_CHARS, D as EmptyState, On as FIESTABOARD_COLORS, on as FIESTA_ICON_DATA_URI, sn as FIESTA_ICON_PALETTE, cn as FIESTA_ICON_SVG, Sr as FILL_SPACE_REPEAT_VAR, Cr as FILL_SPACE_VAR, $n as FLAP_SPEED_PRESETS, tt as FadeContent, ln as FiestaIcon, un as FiestaLogo, jr as FillSpaceNode, Ar as FillSpaceNodeView, gi as FilterPickerContent, L as Flex, ni as FormattingPickerContent, Pr as FormulaNode, Nr as FormulaNodeView, z as Grid, Re as Heading, N as Input, h as JsonTree, P as Label, dn as LanguageSelector, Ce as Lightbox, we as LightboxClose, Te as LightboxContent, Ee as LightboxFooter, De as LightboxOverlay, Oe as LightboxPortal, ke as LightboxTrigger, Fr as LineNavigation, Be as List, Ve as ListItem, Kn as MAX_NOTES_PER_AXIS, fn as MainContent, g as MediaFrame, _ as MediaFrameBar, v as MediaFrameMedia, qn as NOTE_COLS, Jn as NOTE_ROWS, wr as NodeViewInjectionProvider, pn as PAGE_HUES, pr as PLUGIN_CATEGORIES, mn as PageHeader, hn as PageIconGradientDefs, _n as PageLayout, vn as PageToolbar, gr as PluginCard, mr as PluginCategoryBadge, Ae as Popover, je as PopoverClose, Me as PopoverContent, Ne as PopoverDescription, Pe as PopoverTitle, Fe as PopoverTrigger, nr as ScaledBoardDisplay, hr as ScaledBoardTeaser, Ue as ScrollArea, We as ScrollBar, F as SecretInput, Tt as SegmentedControl, Et as SegmentedControlItem, at as Select, ot as SelectContent, st as SelectGroup, ct as SelectItem, lt as SelectLabel, ut as SelectScrollDownButton, dt as SelectScrollUpButton, ft as SelectSeparator, pt as SelectTrigger, mt as SelectValue, Ft as Sheet, It as SheetClose, Lt as SheetContent, Rt as SheetDescription, zt as SheetFooter, Bt as SheetHeader, Vt as SheetOverlay, Ht as SheetPortal, Ut as SheetTitle, Wt as SheetTrigger, yn as Sidebar, Ir as SingleParagraphDoc, nt as Skeleton, bn as SkipToContent, ht as Slider, O as Spinner, Nt as Stack, lr as StatStrip, ur as StatStripItem, rr as StaticBoardDisplay, rt as StatusDot, gt as Switch, Ge as Table, Ke as TableBody, qe as TableCell, Je as TableHead, Ye as TableHeader, Xe as TableRow, Ze as Tabs, Qe as TabsContent, $e as TabsList, et as TabsTrigger, mi as TemplateEditor, ui as TemplateEditorToolbar, vt as Text, Yt as TextLink, _t as Textarea, xn as ThemeToggle, bt as TimePicker, xt as Toggle, Dt as ToggleCard, Ot as ToggleCardGroup, St as ToggleGroup, ii as ToolbarDropdown, Gt as Tooltip, Kt as TooltipContent, qt as TooltipProvider, Jt as TooltipTrigger, Lr as TrailingNewline, Br as VariableNode, zr as VariableNodeView, vi as VariablePickerContent, Sn as WizardProgress, Wn as WizardShell, Ur as WrappedTextNode, Hr as WrappedTextView, S as alertVariants, w as badgeVariants, qr as brushToCell, di as buildStrokeTransaction, j as buttonVariants, xi as calculateLineLength, Jr as cellsToLine, E as chipVariants, e as cn, yi as createLucideIconResolver, er as deriveFlapTiming, R as flexVariants, kn as getBoardColor, Pn as getCharFromToken, Fn as getCharIndex, Si as getOverflowAmount, bi as getPluginsWithNestedArrays, B as gridVariants, ze as headingVariants, ci as insertTemplateContent, In as isColorTile, Yn as isNoteArray, Yr as isPositionalLine, An as isValidBoardColor, fi as lineRanges, Xr as lineToCells, He as listVariants, Ln as messageToGrid, Rn as messageToText, Xn as noteArrayDimensions, gn as pageHue, Zr as paintLine, zn as parseLine, ai as parseLineContent, oi as parseTemplateSimple, ar as previewLabel, or as previewLabels, sr as previewMessage, Qr as renderPositionalLine, Bn as resolveCode62Glyph, jn as resolveColorCode, Zn as resolveDimensions, tr as resolveFlapSpeed, kt as segmentedControlItemVariants, At as segmentedControlVariants, si as serializeTemplateSimple, k as spinnerVariants, Pt as stackVariants, it as statusDotVariants, yt as textVariants, jt as toggleCardGroupVariants, Mt as toggleCardVariants, Ct as toggleGroupVariants, wt as toggleVariants, Vn as tokensEqual, Tr as useNodeViewInjection, Ie as usePopoverClose, Ci as willOverflow };
|
|
@@ -47,12 +47,37 @@ export declare function getCharFromToken(token: BoardToken): string;
|
|
|
47
47
|
* single brackets. End tags (`{/red}`, `{/}`) render nothing.
|
|
48
48
|
*/
|
|
49
49
|
export declare function parseLine(line: string, maxTokens?: number): BoardToken[];
|
|
50
|
+
/**
|
|
51
|
+
* Which glyph a board's code-62 flap physically carries.
|
|
52
|
+
*
|
|
53
|
+
* Code 62 is one character code with two possible flaps. Vestaboard shipped
|
|
54
|
+
* every Flagship with a degree flap until 2026, when they replaced it with a
|
|
55
|
+
* heart on newly-manufactured units ("Every new Vestaboard purchased will ship
|
|
56
|
+
* with the heart in place of the degree symbol"). Note has always carried the
|
|
57
|
+
* heart. So `deviceType` alone no longer says what a board draws, and nothing
|
|
58
|
+
* queryable distinguishes a degree-era Flagship from a heart-era one — only the
|
|
59
|
+
* owner knows. See FiestaBoard#1657.
|
|
60
|
+
*
|
|
61
|
+
* This is display-only. Both glyphs encode to code 62 on the wire; nothing here
|
|
62
|
+
* changes what is sent to a board.
|
|
63
|
+
*/
|
|
64
|
+
export type Code62Glyph = "degree" | "heart";
|
|
65
|
+
/**
|
|
66
|
+
* Decide which glyph a board draws for code 62.
|
|
67
|
+
*
|
|
68
|
+
* Note and note-array hardware only ever shipped the heart flap, so their glyph
|
|
69
|
+
* is a property of the device and `code62Glyph` is ignored for them. Flagship is
|
|
70
|
+
* the ambiguous one, and the caller has to say: unset means `"degree"`, the
|
|
71
|
+
* glyph every Flagship carried before the hardware change, so a caller that has
|
|
72
|
+
* not been taught about the new flap keeps rendering exactly as it did.
|
|
73
|
+
*/
|
|
74
|
+
export declare function resolveCode62Glyph(deviceType: string, code62Glyph?: Code62Glyph): Code62Glyph;
|
|
50
75
|
/**
|
|
51
76
|
* Convert a message string to a rows×cols grid of tokens.
|
|
52
|
-
* Lines are split on `\n`, truncated/padded to the grid, and
|
|
53
|
-
*
|
|
77
|
+
* Lines are split on `\n`, truncated/padded to the grid, and code 62 draws as
|
|
78
|
+
* the glyph {@link resolveCode62Glyph} picks for this board.
|
|
54
79
|
*/
|
|
55
|
-
export declare function messageToGrid(message: string, rows: number, cols: number, deviceType?: string): BoardToken[][];
|
|
80
|
+
export declare function messageToGrid(message: string, rows: number, cols: number, deviceType?: string, code62Glyph?: Code62Glyph): BoardToken[][];
|
|
56
81
|
/**
|
|
57
82
|
* The plain text a board draws, for accessible names (issue #205).
|
|
58
83
|
*
|
|
@@ -69,11 +94,12 @@ export declare function messageToGrid(message: string, rows: number, cols: numbe
|
|
|
69
94
|
* (they occupy a cell but say nothing), lines join with a space, and runs of
|
|
70
95
|
* whitespace collapse so a half-empty board does not announce a long silence.
|
|
71
96
|
*
|
|
72
|
-
* `deviceType`
|
|
73
|
-
*
|
|
74
|
-
* something the board is not
|
|
97
|
+
* `deviceType` and `code62Glyph` are taken for the same reason
|
|
98
|
+
* {@link messageToGrid} takes them: they decide whether `°` draws as a heart,
|
|
99
|
+
* and a name that said "degree" would describe something the board is not
|
|
100
|
+
* showing.
|
|
75
101
|
*
|
|
76
102
|
* Returns `""` for a message that draws no text at all — a color-only board —
|
|
77
103
|
* so callers can fall back to a generic name instead of a dangling prefix.
|
|
78
104
|
*/
|
|
79
|
-
export declare function messageToText(message: string, deviceType?: string): string;
|
|
105
|
+
export declare function messageToText(message: string, deviceType?: string, code62Glyph?: Code62Glyph): string;
|
|
@@ -131,28 +131,31 @@ function u(t, n = Infinity) {
|
|
|
131
131
|
return r;
|
|
132
132
|
}
|
|
133
133
|
function d(e, t) {
|
|
134
|
-
return
|
|
134
|
+
return e === "note" || e === "note_array" ? "heart" : t ?? "degree";
|
|
135
|
+
}
|
|
136
|
+
function f(e, t) {
|
|
137
|
+
return t === "heart" && e.type === "char" && e.value === "°" ? {
|
|
135
138
|
type: "char",
|
|
136
139
|
value: "♥"
|
|
137
140
|
} : e;
|
|
138
141
|
}
|
|
139
|
-
function
|
|
140
|
-
let
|
|
142
|
+
function p(e, t, n, i = "flagship", a) {
|
|
143
|
+
let o = e.split("\n"), s = [], c = d(i, a);
|
|
141
144
|
for (let e = 0; e < t; e++) {
|
|
142
|
-
let t = u(
|
|
143
|
-
for (let e = 0; e < n; e++) e < t.length ? i.push(
|
|
144
|
-
|
|
145
|
+
let t = u(o[e] || "", n), i = [];
|
|
146
|
+
for (let e = 0; e < n; e++) e < t.length ? i.push(f(t[e], c)) : i.push(r);
|
|
147
|
+
s.push(i);
|
|
145
148
|
}
|
|
146
|
-
return
|
|
149
|
+
return s;
|
|
147
150
|
}
|
|
148
|
-
function
|
|
149
|
-
let
|
|
151
|
+
function m(e, t = "flagship", n) {
|
|
152
|
+
let r = d(t, n);
|
|
150
153
|
return e.split("\n").map((e) => u(e).map((e) => {
|
|
151
|
-
let t =
|
|
154
|
+
let t = f(e, r);
|
|
152
155
|
return t.type === "char" ? t.value : " ";
|
|
153
156
|
}).join("")).join(" ").replace(/\s+/g, " ").trim();
|
|
154
157
|
}
|
|
155
158
|
//#endregion
|
|
156
|
-
export { t as BOARD_CHARS, n as EXTRA_CHARS, l as getCharFromToken, c as getCharIndex, o as isColorTile,
|
|
159
|
+
export { t as BOARD_CHARS, n as EXTRA_CHARS, l as getCharFromToken, c as getCharIndex, o as isColorTile, p as messageToGrid, m as messageToText, u as parseLine, d as resolveCode62Glyph, i as tokensEqual };
|
|
157
160
|
|
|
158
161
|
//# sourceMappingURL=board-characters.js.map
|