@fiestaboard/ui 5.6.0 → 5.8.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/editor/color-picker-content.d.ts +25 -1
- package/dist/components/editor/color-picker-content.js +51 -44
- package/dist/components/editor/color-picker-content.js.map +1 -1
- package/dist/components/editor/draw-char-picker-content.d.ts +13 -3
- package/dist/components/editor/draw-char-picker-content.js +37 -36
- package/dist/components/editor/draw-char-picker-content.js.map +1 -1
- package/dist/components/editor/formatting-picker-content.js +10 -10
- package/dist/components/editor/template-editor-toolbar.d.ts +17 -1
- package/dist/components/editor/template-editor-toolbar.js +167 -163
- package/dist/components/editor/template-editor-toolbar.js.map +1 -1
- package/dist/components/editor/template-editor.d.ts +13 -1
- package/dist/components/editor/template-editor.js +132 -131
- package/dist/components/editor/template-editor.js.map +1 -1
- package/dist/components/feedback/badge.d.ts +23 -3
- package/dist/components/feedback/badge.js +29 -12
- package/dist/components/feedback/badge.js.map +1 -1
- package/dist/components/forms/button.d.ts +1 -1
- package/dist/components/forms/combobox.d.ts +161 -0
- package/dist/components/forms/combobox.js +153 -0
- package/dist/components/forms/combobox.js.map +1 -0
- package/dist/components/forms/copy-button.d.ts +74 -0
- package/dist/components/forms/copy-button.js +49 -0
- package/dist/components/forms/copy-button.js.map +1 -0
- package/dist/components/forms/swatch.d.ts +40 -11
- package/dist/components/forms/swatch.js +40 -29
- package/dist/components/forms/swatch.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +102 -100
- package/dist/theme.css +21 -8
- package/package.json +1 -1
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.js";
|
|
2
|
+
import { Button as t } from "./button.js";
|
|
3
|
+
import { Check as n, Copy as r } from "lucide-react";
|
|
4
|
+
import * as i from "react";
|
|
5
|
+
import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/forms/copy-button.tsx
|
|
7
|
+
var c = 1500;
|
|
8
|
+
function l({ value: l, children: u, confirmMs: d = c, onCopied: f, onCopyError: p, labels: m, className: h, variant: g = "ghost", size: _, disabled: v, ...y }) {
|
|
9
|
+
let { copy: b = "Copy", copied: x = "Copied", announcement: S } = m ?? {}, [C, w] = i.useState(!1), T = i.useRef(null);
|
|
10
|
+
i.useEffect(() => () => {
|
|
11
|
+
T.current !== null && clearTimeout(T.current);
|
|
12
|
+
}, []);
|
|
13
|
+
async function E() {
|
|
14
|
+
try {
|
|
15
|
+
if (!navigator.clipboard?.writeText) throw Error("Clipboard API unavailable (requires a secure context)");
|
|
16
|
+
await navigator.clipboard.writeText(l);
|
|
17
|
+
} catch (e) {
|
|
18
|
+
p?.(e);
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
w(!0), f?.(l), T.current !== null && clearTimeout(T.current), T.current = setTimeout(() => w(!1), d);
|
|
22
|
+
}
|
|
23
|
+
let D = C ? x : b, O = u != null && u !== !1;
|
|
24
|
+
return /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ s(t, {
|
|
25
|
+
type: "button",
|
|
26
|
+
"data-slot": "copy-button",
|
|
27
|
+
"data-copied": C ? "true" : void 0,
|
|
28
|
+
variant: g,
|
|
29
|
+
size: _ ?? (O ? void 0 : "icon-xs"),
|
|
30
|
+
disabled: v,
|
|
31
|
+
"aria-label": D,
|
|
32
|
+
className: e(h),
|
|
33
|
+
onClick: E,
|
|
34
|
+
...y,
|
|
35
|
+
children: [C ? /* @__PURE__ */ o(n, {
|
|
36
|
+
"aria-hidden": "true",
|
|
37
|
+
className: "text-success"
|
|
38
|
+
}) : /* @__PURE__ */ o(r, { "aria-hidden": "true" }), O ? C ? x : u : null]
|
|
39
|
+
}), /* @__PURE__ */ o("span", {
|
|
40
|
+
role: "status",
|
|
41
|
+
"aria-live": "polite",
|
|
42
|
+
className: "sr-only",
|
|
43
|
+
children: C ? S ?? x : ""
|
|
44
|
+
})] });
|
|
45
|
+
}
|
|
46
|
+
//#endregion
|
|
47
|
+
export { l as CopyButton };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=copy-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copy-button.js","names":[],"sources":["../../../src/components/forms/copy-button.tsx"],"mappings":";;;;;;AAWA,IAAM,IAAa;AA0EnB,SAAS,EAAW,EAClB,UACA,aACA,eAAY,GACZ,aACA,gBACA,WACA,cACA,aAAU,SACV,SACA,aACA,GAAG,KACe;CAClB,IAAM,EAAE,UAAO,QAAQ,QAAQ,IAAc,UAAU,oBAAiB,KAAU,CAAC,GAE7E,CAAC,GAAQ,KAAa,EAAM,SAAS,EAAK,GAC1C,IAAa,EAAM,OAA6C,IAAI;CAE1E,EAAM,sBACS;EACX,AAAI,EAAW,YAAY,QAAM,aAAa,EAAW,OAAO;CAClE,GACC,CAAC,CAAC;CAEL,eAAe,IAAa;EAC1B,IAAI;GAOF,IAAI,CAAC,UAAU,WAAW,WACxB,MAAU,MAAM,uDAAuD;GAEzE,MAAM,UAAU,UAAU,UAAU,CAAK;EAC3C,SAAS,GAAO;GACd,IAAc,CAAK;GACnB;EACF;EAQA,AAJA,EAAU,EAAI,GACd,IAAW,CAAK,GAEZ,EAAW,YAAY,QAAM,aAAa,EAAW,OAAO,GAChE,EAAW,UAAU,iBAAiB,EAAU,EAAK,GAAG,CAAS;CACnE;CAEA,IAAM,IAAO,IAAS,IAAc,GAC9B,IAAkB,KAAuC,QAAQ,MAAa;CAEpF,OACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EACE,MAAK;EACL,aAAU;EAGV,eAAa,IAAS,SAAS,KAAA;EACtB;EACT,MAAM,MAAS,IAAkB,KAAA,IAAY;EACnC;EAKV,cAAY;EACZ,WAAW,EAAG,CAAS;EACvB,SAAS;EACT,GAAI;EAhBN,UAAA,CAkBG,IAAS,kBAAC,GAAD;GAAO,eAAY;GAAO,WAAU;EAAgB,CAAA,IAAI,kBAAC,GAAD,EAAM,eAAY,OAAQ,CAAA,GAC3F,IAAmB,IAAS,IAAc,IAAY,IACjD;CAMR,CAAA,GAAA,kBAAC,QAAD;EAAM,MAAK;EAAS,aAAU;EAAS,WAAU;EAC9C,UAAA,IAAU,KAAgB,IAAe;CACtC,CAAA,CACN,EAAA,CAAA;AAEN"}
|
|
@@ -10,6 +10,16 @@ declare const swatchVariants: (props?: ({
|
|
|
10
10
|
declare const swatchFillVariants: (props?: ({
|
|
11
11
|
size?: "lg" | "sm" | "md" | null | undefined;
|
|
12
12
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
13
|
+
/**
|
|
14
|
+
* The glyph a content swatch carries, sized to its fill (#261).
|
|
15
|
+
*
|
|
16
|
+
* `leading-none` and the flex centring above are what keep a character with
|
|
17
|
+
* a descender or an unusual metric box — `°` sits high, `♥` sits low —
|
|
18
|
+
* optically centred in the circle rather than sitting on a text baseline.
|
|
19
|
+
*/
|
|
20
|
+
declare const swatchGlyphVariants: (props?: ({
|
|
21
|
+
size?: "lg" | "sm" | "md" | null | undefined;
|
|
22
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
13
23
|
declare const swatchIndicatorVariants: (props?: ({
|
|
14
24
|
size?: "lg" | "sm" | "md" | null | undefined;
|
|
15
25
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
@@ -41,15 +51,7 @@ export type SwatchGroupProps = SelectionGroupBaseProps & SelectionGroupNameProps
|
|
|
41
51
|
* only if you are prepared to own that arithmetic.
|
|
42
52
|
*/
|
|
43
53
|
declare function SwatchGroup({ className, size, wrap, children, ...props }: SwatchGroupProps): React.JSX.Element;
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* The colour being picked, as ANY CSS colour — a board-surface token
|
|
47
|
-
* (`var(--color-board-surface-dark)`), a plugin colour-rule hue, or a
|
|
48
|
-
* raw hex. It is applied as an inline `background-color`, which is the
|
|
49
|
-
* only way an arbitrary runtime value can reach the DOM; Tailwind cannot
|
|
50
|
-
* compile a class for a value it never sees.
|
|
51
|
-
*/
|
|
52
|
-
color: string;
|
|
54
|
+
type SwatchBaseProps = Omit<React.ComponentProps<"button">, "aria-label" | "children" | "color" | "value"> & VariantProps<typeof swatchVariants> & {
|
|
53
55
|
/**
|
|
54
56
|
* Localized accessible name — e.g. "Black", "Board white". REQUIRED: the
|
|
55
57
|
* swatch renders no text, so this is its only name. Name the colour, not
|
|
@@ -66,6 +68,33 @@ export type SwatchProps = Omit<React.ComponentProps<"button">, "aria-label" | "c
|
|
|
66
68
|
pressed?: boolean;
|
|
67
69
|
onPressedChange?: (pressed: boolean) => void;
|
|
68
70
|
};
|
|
71
|
+
/**
|
|
72
|
+
* A swatch carries EITHER a colour or a glyph, and must carry one of them —
|
|
73
|
+
* an empty circle is not an option a user can pick. The union is what makes
|
|
74
|
+
* that a type error rather than a blank render.
|
|
75
|
+
*/
|
|
76
|
+
export type SwatchProps = SwatchBaseProps & ({
|
|
77
|
+
/**
|
|
78
|
+
* The colour being picked, as ANY CSS colour — a board-surface token
|
|
79
|
+
* (`var(--color-board-surface-dark)`), a plugin colour-rule hue, or a
|
|
80
|
+
* raw hex. It is applied as an inline `background-color`, which is the
|
|
81
|
+
* only way an arbitrary runtime value can reach the DOM; Tailwind cannot
|
|
82
|
+
* compile a class for a value it never sees.
|
|
83
|
+
*/
|
|
84
|
+
color: string;
|
|
85
|
+
/** Optional glyph drawn over the fill. */
|
|
86
|
+
children?: React.ReactNode;
|
|
87
|
+
} | {
|
|
88
|
+
/** Omitted for a glyph swatch: the character is the payload. */
|
|
89
|
+
color?: string;
|
|
90
|
+
/**
|
|
91
|
+
* The character this swatch offers, e.g. `"°"` or `"♥"` (#261).
|
|
92
|
+
* Decorative — the fill is `aria-hidden` and `label` remains the
|
|
93
|
+
* swatch's only accessible name, because a glyph is no more
|
|
94
|
+
* self-naming than a hex value is.
|
|
95
|
+
*/
|
|
96
|
+
children: React.ReactNode;
|
|
97
|
+
});
|
|
69
98
|
/**
|
|
70
99
|
* One colour circle. Inside a {@link SwatchGroup} it is a `radio`
|
|
71
100
|
* (`aria-checked`, roving tabindex, arrow keys). On its own with `pressed`
|
|
@@ -77,5 +106,5 @@ export type SwatchProps = Omit<React.ComponentProps<"button">, "aria-label" | "c
|
|
|
77
106
|
* `--primary` check disc over it — never as a change to the fill, which is
|
|
78
107
|
* the thing being picked.
|
|
79
108
|
*/
|
|
80
|
-
declare function Swatch({ className, size, value, color, label, pressed, onPressedChange, ...props }: SwatchProps): React.JSX.Element;
|
|
81
|
-
export { Swatch, swatchFillVariants, SwatchGroup, swatchGroupVariants, swatchIndicatorVariants, swatchVariants };
|
|
109
|
+
declare function Swatch({ className, size, value, color, label, pressed, onPressedChange, children, ...props }: SwatchProps): React.JSX.Element;
|
|
110
|
+
export { Swatch, swatchFillVariants, swatchGlyphVariants, SwatchGroup, swatchGroupVariants, swatchIndicatorVariants, swatchVariants, };
|
|
@@ -3,16 +3,16 @@ import { cn as e } from "../../lib/utils.js";
|
|
|
3
3
|
import { SelectableItemRoot as t, SelectionGroupRoot as n } from "./selection-group.js";
|
|
4
4
|
import { Check as r } from "lucide-react";
|
|
5
5
|
import * as i from "react";
|
|
6
|
-
import { jsx as a } from "react/jsx-runtime";
|
|
7
|
-
import { cva as
|
|
6
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
7
|
+
import { cva as s } from "class-variance-authority";
|
|
8
8
|
//#region src/components/forms/swatch.tsx
|
|
9
|
-
var
|
|
9
|
+
var c = s(["flex items-center gap-2"], {
|
|
10
10
|
variants: { wrap: {
|
|
11
11
|
true: "flex-wrap",
|
|
12
12
|
false: "flex-nowrap"
|
|
13
13
|
} },
|
|
14
14
|
defaultVariants: { wrap: !0 }
|
|
15
|
-
}),
|
|
15
|
+
}), l = s([
|
|
16
16
|
"group/swatch inline-flex shrink-0 cursor-pointer items-center justify-center rounded-full",
|
|
17
17
|
"bg-transparent p-1",
|
|
18
18
|
"focus-ring transition-[box-shadow,opacity] duration-control",
|
|
@@ -24,8 +24,8 @@ var s = o(["flex items-center gap-2"], {
|
|
|
24
24
|
lg: "size-10"
|
|
25
25
|
} },
|
|
26
26
|
defaultVariants: { size: "md" }
|
|
27
|
-
}),
|
|
28
|
-
"pointer-events-none flex items-center justify-center rounded-full",
|
|
27
|
+
}), u = s([
|
|
28
|
+
"pointer-events-none relative flex items-center justify-center rounded-full",
|
|
29
29
|
"border border-input",
|
|
30
30
|
"ring-offset-2 ring-offset-background transition-[box-shadow] duration-control",
|
|
31
31
|
"group-data-[checked]/swatch:ring-2 group-data-[checked]/swatch:ring-foreground"
|
|
@@ -36,7 +36,14 @@ var s = o(["flex items-center gap-2"], {
|
|
|
36
36
|
lg: "size-8"
|
|
37
37
|
} },
|
|
38
38
|
defaultVariants: { size: "md" }
|
|
39
|
-
}),
|
|
39
|
+
}), d = s("select-none leading-none", {
|
|
40
|
+
variants: { size: {
|
|
41
|
+
sm: "text-xs",
|
|
42
|
+
md: "text-sm",
|
|
43
|
+
lg: "text-base"
|
|
44
|
+
} },
|
|
45
|
+
defaultVariants: { size: "md" }
|
|
46
|
+
}), f = s([
|
|
40
47
|
"pointer-events-none flex items-center justify-center rounded-full bg-primary text-primary-foreground",
|
|
41
48
|
"ring-1 ring-background opacity-0 transition-opacity duration-control",
|
|
42
49
|
"group-data-[checked]/swatch:opacity-100"
|
|
@@ -47,45 +54,49 @@ var s = o(["flex items-center gap-2"], {
|
|
|
47
54
|
lg: "size-4 [&_svg]:size-3"
|
|
48
55
|
} },
|
|
49
56
|
defaultVariants: { size: "md" }
|
|
50
|
-
}),
|
|
51
|
-
function
|
|
57
|
+
}), p = i.createContext(null);
|
|
58
|
+
function m({ className: t, size: r, wrap: o, children: s, ...l }) {
|
|
52
59
|
let u = i.useMemo(() => ({ size: r }), [r]);
|
|
53
|
-
return /* @__PURE__ */ a(
|
|
60
|
+
return /* @__PURE__ */ a(p.Provider, {
|
|
54
61
|
value: u,
|
|
55
62
|
children: /* @__PURE__ */ a(n, {
|
|
56
63
|
slot: "swatch-group",
|
|
57
|
-
className: e(
|
|
64
|
+
className: e(c({ wrap: o }), t),
|
|
58
65
|
...l,
|
|
59
|
-
children:
|
|
66
|
+
children: s
|
|
60
67
|
})
|
|
61
68
|
});
|
|
62
69
|
}
|
|
63
|
-
function
|
|
64
|
-
let
|
|
70
|
+
function h({ className: n, size: s, value: c, color: m, label: h, pressed: g, onPressedChange: _, children: v, ...y }) {
|
|
71
|
+
let b = i.useContext(p), x = s ?? b?.size ?? "md", S = v != null && v !== !1;
|
|
65
72
|
return /* @__PURE__ */ a(t, {
|
|
66
|
-
grouped:
|
|
67
|
-
value:
|
|
68
|
-
pressed:
|
|
69
|
-
onPressedChange:
|
|
70
|
-
"aria-label":
|
|
73
|
+
grouped: b !== null,
|
|
74
|
+
value: c,
|
|
75
|
+
pressed: g,
|
|
76
|
+
onPressedChange: _,
|
|
77
|
+
"aria-label": h,
|
|
71
78
|
"data-slot": "swatch",
|
|
72
|
-
"data-size":
|
|
73
|
-
className: e(
|
|
74
|
-
...
|
|
75
|
-
children: /* @__PURE__ */
|
|
79
|
+
"data-size": x,
|
|
80
|
+
className: e(l({ size: x }), n),
|
|
81
|
+
...y,
|
|
82
|
+
children: /* @__PURE__ */ o("span", {
|
|
76
83
|
"data-slot": "swatch-fill",
|
|
77
84
|
"aria-hidden": "true",
|
|
78
|
-
style: { backgroundColor:
|
|
79
|
-
className:
|
|
80
|
-
children: /* @__PURE__ */ a("span", {
|
|
85
|
+
style: m ? { backgroundColor: m } : void 0,
|
|
86
|
+
className: e(u({ size: x }), S && !m && "bg-card text-foreground"),
|
|
87
|
+
children: [S ? /* @__PURE__ */ a("span", {
|
|
88
|
+
"data-slot": "swatch-glyph",
|
|
89
|
+
className: d({ size: x }),
|
|
90
|
+
children: v
|
|
91
|
+
}) : null, /* @__PURE__ */ a("span", {
|
|
81
92
|
"data-slot": "swatch-indicator",
|
|
82
|
-
className:
|
|
93
|
+
className: e(f({ size: x }), S && "absolute -end-0.5 -bottom-0.5"),
|
|
83
94
|
children: /* @__PURE__ */ a(r, {})
|
|
84
|
-
})
|
|
95
|
+
})]
|
|
85
96
|
})
|
|
86
97
|
});
|
|
87
98
|
}
|
|
88
99
|
//#endregion
|
|
89
|
-
export {
|
|
100
|
+
export { h as Swatch, m as SwatchGroup, u as swatchFillVariants, d as swatchGlyphVariants, c as swatchGroupVariants, f as swatchIndicatorVariants, l as swatchVariants };
|
|
90
101
|
|
|
91
102
|
//# sourceMappingURL=swatch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swatch.js","names":[],"sources":["../../../src/components/forms/swatch.tsx"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"swatch.js","names":[],"sources":["../../../src/components/forms/swatch.tsx"],"mappings":";;;;;;;;AAuHA,IAAM,IAAsB,EAC1B,CAIE,yBACF,GACA;CACE,UAAU,EACR,MAAM;EACJ,MAAM;EACN,OAAO;CACT,EACF;CACA,iBAAiB,EACf,MAAM,GACR;AACF,CACF,GAEM,IAAiB,EACrB;CAIE;CAIA;CAGA;CACA;AACF,GACA;CACE,UAAU,EACR,MAAM;EAEJ,IAAI;EACJ,IAAI;EACJ,IAAI;CACN,EACF;CACA,iBAAiB,EACf,MAAM,KACR;AACF,CACF,GAEM,IAAqB,EACzB;CAGE;CAGA;CAGA;CACA;AACF,GACA;CACE,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;CACN,EACF;CACA,iBAAiB,EACf,MAAM,KACR;AACF,CACF,GASM,IAAsB,EAAI,4BAA4B;CAC1D,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;CACN,EACF;CACA,iBAAiB,EACf,MAAM,KACR;AACF,CAAC,GAEK,IAA0B,EAC9B;CAIE;CACA;CACA;AACF,GACA;CACE,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;CACN,EACF;CACA,iBAAiB,EACf,MAAM,KACR;AACF,CACF,GAQM,IAAqB,EAAM,cAA8C,IAAI;AA+BnF,SAAS,EAAY,EAAE,cAAW,SAAM,SAAM,aAAU,GAAG,KAA2B;CACpF,IAAM,IAAU,EAAM,eAAwC,EAAE,QAAK,IAAI,CAAC,CAAI,CAAC;CAE/E,OACE,kBAAC,EAAmB,UAApB;EAA6B,OAAO;EAClC,UAAA,kBAAC,GAAD;GAAoB,MAAK;GAAe,WAAW,EAAG,EAAoB,EAAE,QAAK,CAAC,GAAG,CAAS;GAAG,GAAI;GAClG;EACiB,CAAA;CACO,CAAA;AAEjC;AAgEA,SAAS,EAAO,EAAE,cAAW,SAAM,UAAO,UAAO,UAAO,YAAS,oBAAiB,aAAU,GAAG,KAAsB;CACnH,IAAM,IAAQ,EAAM,WAAW,CAAkB,GAC3C,IAAe,KAAQ,GAAO,QAAQ,MACtC,IAAW,KAAuC,QAAQ,MAAa;CAE7E,OACE,kBAAC,GAAD;EACE,SAAS,MAAU;EACZ;EACE;EACQ;EACjB,cAAY;EACZ,aAAU;EACV,aAAW;EACX,WAAW,EAAG,EAAe,EAAE,MAAM,EAAa,CAAC,GAAG,CAAS;EAC/D,GAAI;EAEJ,UAAA,kBAAC,QAAD;GACE,aAAU;GAKV,eAAY;GACZ,OAAO,IAAQ,EAAE,iBAAiB,EAAM,IAAI,KAAA;GAC5C,WAAW,EACT,EAAmB,EAAE,MAAM,EAAa,CAAC,GAKzC,KAAY,CAAC,KAAS,yBACxB;GAfF,UAAA,CAiBG,IACC,kBAAC,QAAD;IAAM,aAAU;IAAe,WAAW,EAAoB,EAAE,MAAM,EAAa,CAAC;IACjF;GACG,CAAA,IACJ,MACJ,kBAAC,QAAD;IACE,aAAU;IACV,WAAW,EACT,EAAwB,EAAE,MAAM,EAAa,CAAC,GAU9C,KAAY,+BACd;IAEA,UAAA,kBAAC,GAAD,CAAQ,CAAA;GACJ,CAAA,CACF;;CACY,CAAA;AAExB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -18,6 +18,8 @@ export * from "./components/feedback/chip";
|
|
|
18
18
|
export * from "./components/feedback/empty-state";
|
|
19
19
|
export * from "./components/forms/button";
|
|
20
20
|
export * from "./components/forms/checkbox";
|
|
21
|
+
export * from "./components/forms/combobox";
|
|
22
|
+
export * from "./components/forms/copy-button";
|
|
21
23
|
export * from "./components/forms/input";
|
|
22
24
|
export * from "./components/forms/label";
|
|
23
25
|
export * from "./components/forms/secret-input";
|
package/dist/index.js
CHANGED
|
@@ -6,104 +6,106 @@ import { IconTile as h, iconTileVariants as g } from "./components/containment/i
|
|
|
6
6
|
import { JsonTree as _ } from "./components/containment/json-tree.js";
|
|
7
7
|
import { MediaFrame as v, MediaFrameBar as y, MediaFrameMedia as b } from "./components/containment/media-frame.js";
|
|
8
8
|
import { Alert as x, AlertDescription as S, AlertTitle as C, alertVariants as w } from "./components/feedback/alert.js";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
9
|
+
import { Spinner as T, spinnerVariants as E } from "./components/feedback/spinner.js";
|
|
10
|
+
import { Button as D, buttonVariants as O } from "./components/forms/button.js";
|
|
11
|
+
import { Badge as k, badgeVariants as A } from "./components/feedback/badge.js";
|
|
12
|
+
import { Chip as j, chipVariants as M } from "./components/feedback/chip.js";
|
|
13
|
+
import { EmptyState as N } from "./components/feedback/empty-state.js";
|
|
14
14
|
import { Checkbox as P } from "./components/forms/checkbox.js";
|
|
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 {
|
|
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
|
-
import {
|
|
99
|
-
import {
|
|
100
|
-
import {
|
|
101
|
-
import {
|
|
102
|
-
import {
|
|
103
|
-
import {
|
|
104
|
-
import {
|
|
105
|
-
import {
|
|
106
|
-
import {
|
|
107
|
-
import {
|
|
108
|
-
import {
|
|
109
|
-
|
|
15
|
+
import { Combobox as F, DEFAULT_COMBOBOX_LABELS as I, defaultComboboxFilter as L } from "./components/forms/combobox.js";
|
|
16
|
+
import { CopyButton as R } from "./components/forms/copy-button.js";
|
|
17
|
+
import { Input as z } from "./components/forms/input.js";
|
|
18
|
+
import { Label as B } from "./components/forms/label.js";
|
|
19
|
+
import { SecretInput as V } from "./components/forms/secret-input.js";
|
|
20
|
+
import { Box as H } from "./components/layout/box.js";
|
|
21
|
+
import { Flex as U, flexVariants as W } from "./components/layout/flex.js";
|
|
22
|
+
import { Grid as G, gridVariants as K } from "./components/layout/grid.js";
|
|
23
|
+
import { AlertDialog as q, AlertDialogAction as J, AlertDialogCancel as Y, AlertDialogContent as X, AlertDialogDescription as Z, AlertDialogFooter as Q, AlertDialogHeader as $, AlertDialogOverlay as ee, AlertDialogPortal as te, AlertDialogTitle as ne, AlertDialogTrigger as re } from "./components/overlays/alert-dialog.js";
|
|
24
|
+
import { Dialog as ie, DialogClose as ae, DialogContent as oe, DialogDescription as se, DialogFooter as ce, DialogHeader as le, DialogOverlay as ue, DialogPortal as de, DialogTitle as fe, DialogTrigger as pe } from "./components/overlays/dialog.js";
|
|
25
|
+
import { DropdownMenu as me, DropdownMenuCheckboxItem as he, DropdownMenuContent as ge, DropdownMenuGroup as _e, DropdownMenuItem as ve, DropdownMenuLabel as ye, DropdownMenuPortal as be, DropdownMenuRadioGroup as xe, DropdownMenuRadioItem as Se, DropdownMenuSeparator as Ce, DropdownMenuShortcut as we, DropdownMenuSub as Te, DropdownMenuSubContent as Ee, DropdownMenuSubTrigger as De, DropdownMenuTrigger as Oe } from "./components/overlays/dropdown-menu.js";
|
|
26
|
+
import { Lightbox as ke, LightboxClose as Ae, LightboxContent as je, LightboxFooter as Me, LightboxOverlay as Ne, LightboxPortal as Pe, LightboxTrigger as Fe } from "./components/overlays/lightbox.js";
|
|
27
|
+
import { Popover as Ie, PopoverClose as Le, PopoverContent as Re, PopoverDescription as ze, PopoverTitle as Be, PopoverTrigger as Ve, usePopoverClose as He } from "./components/overlays/popover.js";
|
|
28
|
+
import { Code as Ue } from "./components/typography/code.js";
|
|
29
|
+
import { Heading as We, headingVariants as Ge } from "./components/typography/heading.js";
|
|
30
|
+
import { List as Ke, ListItem as qe, listVariants as Je } from "./components/typography/list.js";
|
|
31
|
+
import { ScrollArea as Ye, ScrollBar as Xe } from "./components/containment/scroll-area.js";
|
|
32
|
+
import { Table as Ze, TableBody as Qe, TableCell as $e, TableHead as et, TableHeader as tt, TableRow as nt } from "./components/containment/table.js";
|
|
33
|
+
import { Tabs as rt, TabsContent as it, TabsList as at, TabsTrigger as ot } from "./components/containment/tabs.js";
|
|
34
|
+
import st from "./components/effects/react-bits/fade-content.js";
|
|
35
|
+
import { Skeleton as ct } from "./components/feedback/skeleton.js";
|
|
36
|
+
import { StatusDot as lt, statusDotVariants as ut } from "./components/feedback/status-dot.js";
|
|
37
|
+
import { Select as dt, SelectContent as ft, SelectGroup as pt, SelectItem as mt, SelectLabel as ht, SelectScrollDownButton as gt, SelectScrollUpButton as _t, SelectSeparator as vt, SelectTrigger as yt, SelectValue as bt } from "./components/forms/select.js";
|
|
38
|
+
import { Slider as xt } from "./components/forms/slider.js";
|
|
39
|
+
import { Swatch as St, SwatchGroup as Ct, swatchFillVariants as wt, swatchGlyphVariants as Tt, swatchGroupVariants as Et, swatchIndicatorVariants as Dt, swatchVariants as Ot } from "./components/forms/swatch.js";
|
|
40
|
+
import { Switch as kt } from "./components/forms/switch.js";
|
|
41
|
+
import { Textarea as At } from "./components/forms/textarea.js";
|
|
42
|
+
import { Text as jt, textVariants as Mt } from "./components/typography/text.js";
|
|
43
|
+
import { TimePicker as Nt } from "./components/forms/time-picker.js";
|
|
44
|
+
import { TimezonePicker as Pt, listTimezones as Ft } from "./components/forms/timezone-picker.js";
|
|
45
|
+
import { Toggle as It, ToggleGroup as Lt, toggleGroupVariants as Rt, toggleVariants as zt } from "./components/forms/toggle.js";
|
|
46
|
+
import { SegmentedControl as Bt, SegmentedControlItem as Vt, ToggleCard as Ht, ToggleCardGroup as Ut, segmentedControlItemVariants as Wt, segmentedControlVariants as Gt, toggleCardGroupVariants as Kt, toggleCardVariants as qt } from "./components/forms/toggle-card.js";
|
|
47
|
+
import { Stack as Jt, stackVariants as Yt } from "./components/layout/stack.js";
|
|
48
|
+
import { Sheet as Xt, SheetClose as Zt, SheetContent as Qt, SheetDescription as $t, SheetFooter as en, SheetHeader as tn, SheetOverlay as nn, SheetPortal as rn, SheetTitle as an, SheetTrigger as on } from "./components/overlays/sheet.js";
|
|
49
|
+
import { Tooltip as sn, TooltipContent as cn, TooltipProvider as ln, TooltipTrigger as un } from "./components/overlays/tooltip.js";
|
|
50
|
+
import { TextLink as dn } from "./components/typography/text-link.js";
|
|
51
|
+
import { BoardIcon as fn } from "./components/chrome/board-icon.js";
|
|
52
|
+
import { BoardSelector as pn } from "./components/chrome/board-selector.js";
|
|
53
|
+
import { Breadcrumb as mn, BreadcrumbEllipsis as hn, BreadcrumbItem as gn, BreadcrumbLink as _n, BreadcrumbList as vn, BreadcrumbPage as yn, BreadcrumbSeparator as bn } from "./components/chrome/breadcrumb.js";
|
|
54
|
+
import { FIESTA_ICON_DATA_URI as xn, FIESTA_ICON_PALETTE as Sn, FIESTA_ICON_SVG as Cn, FiestaIcon as wn } from "./components/chrome/fiesta-icon.js";
|
|
55
|
+
import { FiestaLogo as Tn } from "./components/chrome/fiesta-logo.js";
|
|
56
|
+
import { LanguageSelector as En } from "./components/chrome/language-selector.js";
|
|
57
|
+
import { MainContent as Dn } from "./components/chrome/main-content.js";
|
|
58
|
+
import { NavList as On, NavListItem as kn, NavListLink as An, NavListSection as jn, NavListSectionContent as Mn, NavListSectionTrigger as Nn } from "./components/chrome/nav-list.js";
|
|
59
|
+
import { PAGE_HUES as Pn, PageHeader as Fn, PageIconGradientDefs as In, pageHue as Ln } from "./components/chrome/page-header.js";
|
|
60
|
+
import { PageInset as Rn } from "./components/chrome/page-inset.js";
|
|
61
|
+
import { PageLayout as zn } from "./components/chrome/page-layout.js";
|
|
62
|
+
import { PageToolbar as Bn } from "./components/chrome/page-toolbar.js";
|
|
63
|
+
import { Sidebar as Vn } from "./components/chrome/sidebar.js";
|
|
64
|
+
import { SkipToContent as Hn } from "./components/chrome/skip-to-content.js";
|
|
65
|
+
import { ThemeToggle as Un } from "./components/chrome/theme-toggle.js";
|
|
66
|
+
import { WizardProgress as Wn } from "./components/wizard/wizard-progress.js";
|
|
67
|
+
import { ALL_COLOR_CODES as Gn, AVAILABLE_COLORS as Kn, BOARD_COLORS as qn, COLOR_CODE_MAP as Jn, COLOR_DISPLAY as Yn, FIESTABOARD_COLORS as Xn, getBoardColor as Zn, isValidBoardColor as Qn, resolveColorCode as $n } from "./lib/board-colors.js";
|
|
68
|
+
import { BOARD_CHARS as er, EXTRA_CHARS as tr, applyCode62Glyph as nr, getCharFromToken as rr, getCharIndex as ir, isColorTile as ar, messageToGrid as or, messageToText as sr, parseLine as cr, resolveCode62Glyph as lr, tokensEqual as ur } from "./lib/board-characters.js";
|
|
69
|
+
import { BoardTeaser as dr } from "./components/board/board-teaser.js";
|
|
70
|
+
import { BoardBackdrop as fr } from "./components/board/board-backdrop.js";
|
|
71
|
+
import { WizardShell as pr } from "./components/wizard/wizard-shell.js";
|
|
72
|
+
import { DEVICE_DIMENSIONS as mr, MAX_NOTES_PER_AXIS as hr, NOTE_COLS as gr, NOTE_ROWS as _r, isNoteArray as vr, noteArrayDimensions as yr, resolveDimensions as br } from "./lib/board-dimensions.js";
|
|
73
|
+
import { BoardDisplay as xr, FLAP_SPEED_PRESETS as Sr, deriveFlapTiming as Cr, resolveFlapSpeed as wr } from "./components/board/board-display.js";
|
|
74
|
+
import { ScaledBoardDisplay as Tr } from "./components/board/scaled-board-display.js";
|
|
75
|
+
import { StaticBoardDisplay as Er } from "./components/board/static-board-display.js";
|
|
76
|
+
import { DEFAULT_SHAPE_LABELS as Dr, previewLabel as Or, previewLabels as kr, previewMessage as Ar } from "./lib/board-previews.js";
|
|
77
|
+
import { BarList as jr } from "./components/data/bar-list.js";
|
|
78
|
+
import { StatStrip as Mr, StatStripItem as Nr } from "./components/data/stat-strip.js";
|
|
79
|
+
import { BoardShowcase as Pr, DEFAULT_SHOWCASE_LABELS as Fr } from "./components/plugin/board-showcase.js";
|
|
80
|
+
import { PLUGIN_CATEGORIES as Ir, PluginCategoryBadge as Lr } from "./components/plugin/plugin-category-badge.js";
|
|
81
|
+
import { ScaledBoardTeaser as Rr } from "./components/plugin/scaled-board-teaser.js";
|
|
82
|
+
import { PluginCard as zr } from "./components/plugin/plugin-card.js";
|
|
83
|
+
import { BOARD_CODE_TO_COLOR as Br, BOARD_COLOR_CODES as Vr, CURSOR_ANCHOR as Hr, DEFAULT_BOARD_LINES as Ur, DEFAULT_BOARD_WIDTH as Wr, FILL_SPACE_REPEAT_VAR as Gr, FILL_SPACE_VAR as Kr } from "./components/editor/constants.js";
|
|
84
|
+
import { NodeViewInjectionProvider as qr, useNodeViewInjection as Jr } from "./components/editor/node-views/node-view-context.js";
|
|
85
|
+
import { ColorTileNodeView as Yr, DEFAULT_COLOR_TILE_NODE_VIEW_LABELS as Xr } from "./components/editor/node-views/color-tile-node-view.js";
|
|
86
|
+
import { ColorTileNode as Zr } from "./components/editor/extensions/color-tile-node.js";
|
|
87
|
+
import { DEFAULT_FILL_SPACE_NODE_VIEW_LABELS as Qr, FillSpaceNodeView as $r } from "./components/editor/node-views/fill-space-node-view.js";
|
|
88
|
+
import { FillSpaceNode as ei } from "./components/editor/extensions/fill-space-node.js";
|
|
89
|
+
import { DEFAULT_FORMULA_NODE_VIEW_LABELS as ti, FormulaNodeView as ni } from "./components/editor/node-views/formula-node-view.js";
|
|
90
|
+
import { FormulaNode as ri } from "./components/editor/extensions/formula-node.js";
|
|
91
|
+
import { LineNavigation as ii } from "./components/editor/extensions/line-navigation.js";
|
|
92
|
+
import { SingleParagraphDoc as ai } from "./components/editor/extensions/single-paragraph-doc.js";
|
|
93
|
+
import { TrailingNewline as oi } from "./components/editor/extensions/trailing-newline.js";
|
|
94
|
+
import { DEFAULT_VARIABLE_NODE_VIEW_LABELS as si, VariableNodeView as ci } from "./components/editor/node-views/variable-node-view.js";
|
|
95
|
+
import { VariableNode as li } from "./components/editor/extensions/variable-node.js";
|
|
96
|
+
import { DEFAULT_WRAPPED_TEXT_VIEW_LABELS as ui, WrappedTextView as di } from "./components/editor/node-views/wrapped-text-view.js";
|
|
97
|
+
import { WrappedTextNode as fi } from "./components/editor/extensions/wrapped-text-node.js";
|
|
98
|
+
import { ColorPickerContent as pi, DEFAULT_COLOR_PICKER_LABELS as mi } from "./components/editor/color-picker-content.js";
|
|
99
|
+
import { DRAW_CHARS as hi, brushToCell as gi, cellsToLine as _i, isPositionalLine as vi, lineToCells as yi, paintLine as bi, renderPositionalLine as xi } from "./components/editor/utils/draw-mode.js";
|
|
100
|
+
import { DEFAULT_DRAW_CHAR_PICKER_LABELS as Si, DrawCharPickerContent as Ci } from "./components/editor/draw-char-picker-content.js";
|
|
101
|
+
import { DEFAULT_FORMATTING_PICKER_LABELS as wi, FormattingPickerContent as Ti } from "./components/editor/formatting-picker-content.js";
|
|
102
|
+
import { DEFAULT_TOOLBAR_DROPDOWN_LABELS as Ei, ToolbarDropdown as Di } from "./components/editor/toolbar-dropdown.js";
|
|
103
|
+
import { parseLineContent as Oi, parseTemplateSimple as ki, serializeTemplateSimple as Ai } from "./components/editor/utils/serialization.js";
|
|
104
|
+
import { insertTemplateContent as ji } from "./components/editor/utils/insertion.js";
|
|
105
|
+
import { DEFAULT_TEMPLATE_EDITOR_TOOLBAR_LABELS as Mi, TemplateEditorToolbar as Ni } from "./components/editor/template-editor-toolbar.js";
|
|
106
|
+
import { buildStrokeTransaction as Pi, lineRanges as Fi } from "./components/editor/utils/stroke-transaction.js";
|
|
107
|
+
import { DEFAULT_TEMPLATE_EDITOR_LABELS as Ii, TemplateEditor as Li } from "./components/editor/template-editor.js";
|
|
108
|
+
import { DEFAULT_FILTER_PICKER_LABELS as Ri, FilterPickerContent as zi } from "./components/editor/filter-picker-content.js";
|
|
109
|
+
import { DEFAULT_VARIABLE_PICKER_LABELS as Bi, VariablePickerContent as Vi, createLucideIconResolver as Hi, getPluginsWithNestedArrays as Ui } from "./components/editor/variable-picker-content.js";
|
|
110
|
+
import { calculateLineLength as Wi, getOverflowAmount as Gi, willOverflow as Ki } from "./components/editor/utils/length-calculator.js";
|
|
111
|
+
export { Gn as ALL_COLOR_CODES, Kn as AVAILABLE_COLORS, t as Accordion, n as AccordionContent, r as AccordionItem, i as AccordionTrigger, x as Alert, S as AlertDescription, q as AlertDialog, J as AlertDialogAction, Y as AlertDialogCancel, X as AlertDialogContent, Z as AlertDialogDescription, Q as AlertDialogFooter, $ as AlertDialogHeader, ee as AlertDialogOverlay, te as AlertDialogPortal, ne as AlertDialogTitle, re as AlertDialogTrigger, C as AlertTitle, er as BOARD_CHARS, Br as BOARD_CODE_TO_COLOR, qn as BOARD_COLORS, Vr as BOARD_COLOR_CODES, k as Badge, jr as BarList, fr as BoardBackdrop, xr as BoardDisplay, fn as BoardIcon, pn as BoardSelector, Pr as BoardShowcase, dr as BoardTeaser, H as Box, mn as Breadcrumb, hn as BreadcrumbEllipsis, gn as BreadcrumbItem, _n as BreadcrumbLink, vn as BreadcrumbList, yn as BreadcrumbPage, bn as BreadcrumbSeparator, D as Button, Jn as COLOR_CODE_MAP, Yn as COLOR_DISPLAY, Hr as CURSOR_ANCHOR, a as Card, o as CardAction, s as CardContent, c as CardDescription, l as CardFooter, u as CardHeader, d as CardTitle, P as Checkbox, j as Chip, Ue as Code, f as Collapsible, p as CollapsibleContent, m as CollapsibleTrigger, pi as ColorPickerContent, Zr as ColorTileNode, Yr as ColorTileNodeView, F as Combobox, R as CopyButton, Ur as DEFAULT_BOARD_LINES, Wr as DEFAULT_BOARD_WIDTH, mi as DEFAULT_COLOR_PICKER_LABELS, Xr as DEFAULT_COLOR_TILE_NODE_VIEW_LABELS, I as DEFAULT_COMBOBOX_LABELS, Si as DEFAULT_DRAW_CHAR_PICKER_LABELS, Qr as DEFAULT_FILL_SPACE_NODE_VIEW_LABELS, Ri as DEFAULT_FILTER_PICKER_LABELS, wi as DEFAULT_FORMATTING_PICKER_LABELS, ti as DEFAULT_FORMULA_NODE_VIEW_LABELS, Dr as DEFAULT_SHAPE_LABELS, Fr as DEFAULT_SHOWCASE_LABELS, Ii as DEFAULT_TEMPLATE_EDITOR_LABELS, Mi as DEFAULT_TEMPLATE_EDITOR_TOOLBAR_LABELS, Ei as DEFAULT_TOOLBAR_DROPDOWN_LABELS, si as DEFAULT_VARIABLE_NODE_VIEW_LABELS, Bi as DEFAULT_VARIABLE_PICKER_LABELS, ui as DEFAULT_WRAPPED_TEXT_VIEW_LABELS, mr as DEVICE_DIMENSIONS, hi as DRAW_CHARS, ie as Dialog, ae as DialogClose, oe as DialogContent, se as DialogDescription, ce as DialogFooter, le as DialogHeader, ue as DialogOverlay, de as DialogPortal, fe as DialogTitle, pe as DialogTrigger, Ci as DrawCharPickerContent, me as DropdownMenu, he as DropdownMenuCheckboxItem, ge as DropdownMenuContent, _e as DropdownMenuGroup, ve as DropdownMenuItem, ye as DropdownMenuLabel, be as DropdownMenuPortal, xe as DropdownMenuRadioGroup, Se as DropdownMenuRadioItem, Ce as DropdownMenuSeparator, we as DropdownMenuShortcut, Te as DropdownMenuSub, Ee as DropdownMenuSubContent, De as DropdownMenuSubTrigger, Oe as DropdownMenuTrigger, tr as EXTRA_CHARS, N as EmptyState, Xn as FIESTABOARD_COLORS, xn as FIESTA_ICON_DATA_URI, Sn as FIESTA_ICON_PALETTE, Cn as FIESTA_ICON_SVG, Gr as FILL_SPACE_REPEAT_VAR, Kr as FILL_SPACE_VAR, Sr as FLAP_SPEED_PRESETS, st as FadeContent, wn as FiestaIcon, Tn as FiestaLogo, ei as FillSpaceNode, $r as FillSpaceNodeView, zi as FilterPickerContent, U as Flex, Ti as FormattingPickerContent, ri as FormulaNode, ni as FormulaNodeView, G as Grid, We as Heading, h as IconTile, z as Input, _ as JsonTree, B as Label, En as LanguageSelector, ke as Lightbox, Ae as LightboxClose, je as LightboxContent, Me as LightboxFooter, Ne as LightboxOverlay, Pe as LightboxPortal, Fe as LightboxTrigger, ii as LineNavigation, Ke as List, qe as ListItem, hr as MAX_NOTES_PER_AXIS, Dn as MainContent, v as MediaFrame, y as MediaFrameBar, b as MediaFrameMedia, gr as NOTE_COLS, _r as NOTE_ROWS, On as NavList, kn as NavListItem, An as NavListLink, jn as NavListSection, Mn as NavListSectionContent, Nn as NavListSectionTrigger, qr as NodeViewInjectionProvider, Pn as PAGE_HUES, Ir as PLUGIN_CATEGORIES, Fn as PageHeader, In as PageIconGradientDefs, Rn as PageInset, zn as PageLayout, Bn as PageToolbar, zr as PluginCard, Lr as PluginCategoryBadge, Ie as Popover, Le as PopoverClose, Re as PopoverContent, ze as PopoverDescription, Be as PopoverTitle, Ve as PopoverTrigger, Tr as ScaledBoardDisplay, Rr as ScaledBoardTeaser, Ye as ScrollArea, Xe as ScrollBar, V as SecretInput, Bt as SegmentedControl, Vt as SegmentedControlItem, dt as Select, ft as SelectContent, pt as SelectGroup, mt as SelectItem, ht as SelectLabel, gt as SelectScrollDownButton, _t as SelectScrollUpButton, vt as SelectSeparator, yt as SelectTrigger, bt as SelectValue, Xt as Sheet, Zt as SheetClose, Qt as SheetContent, $t as SheetDescription, en as SheetFooter, tn as SheetHeader, nn as SheetOverlay, rn as SheetPortal, an as SheetTitle, on as SheetTrigger, Vn as Sidebar, ai as SingleParagraphDoc, ct as Skeleton, Hn as SkipToContent, xt as Slider, T as Spinner, Jt as Stack, Mr as StatStrip, Nr as StatStripItem, Er as StaticBoardDisplay, lt as StatusDot, St as Swatch, Ct as SwatchGroup, kt as Switch, Ze as Table, Qe as TableBody, $e as TableCell, et as TableHead, tt as TableHeader, nt as TableRow, rt as Tabs, it as TabsContent, at as TabsList, ot as TabsTrigger, Li as TemplateEditor, Ni as TemplateEditorToolbar, jt as Text, dn as TextLink, At as Textarea, Un as ThemeToggle, Nt as TimePicker, Pt as TimezonePicker, It as Toggle, Ht as ToggleCard, Ut as ToggleCardGroup, Lt as ToggleGroup, Di as ToolbarDropdown, sn as Tooltip, cn as TooltipContent, ln as TooltipProvider, un as TooltipTrigger, oi as TrailingNewline, li as VariableNode, ci as VariableNodeView, Vi as VariablePickerContent, Wn as WizardProgress, pr as WizardShell, fi as WrappedTextNode, di as WrappedTextView, w as alertVariants, nr as applyCode62Glyph, A as badgeVariants, gi as brushToCell, Pi as buildStrokeTransaction, O as buttonVariants, Wi as calculateLineLength, _i as cellsToLine, M as chipVariants, e as cn, Hi as createLucideIconResolver, L as defaultComboboxFilter, Cr as deriveFlapTiming, W as flexVariants, Zn as getBoardColor, rr as getCharFromToken, ir as getCharIndex, Gi as getOverflowAmount, Ui as getPluginsWithNestedArrays, K as gridVariants, Ge as headingVariants, g as iconTileVariants, ji as insertTemplateContent, ar as isColorTile, vr as isNoteArray, vi as isPositionalLine, Qn as isValidBoardColor, Fi as lineRanges, yi as lineToCells, Ft as listTimezones, Je as listVariants, or as messageToGrid, sr as messageToText, yr as noteArrayDimensions, Ln as pageHue, bi as paintLine, cr as parseLine, Oi as parseLineContent, ki as parseTemplateSimple, Or as previewLabel, kr as previewLabels, Ar as previewMessage, xi as renderPositionalLine, lr as resolveCode62Glyph, $n as resolveColorCode, br as resolveDimensions, wr as resolveFlapSpeed, Wt as segmentedControlItemVariants, Gt as segmentedControlVariants, Ai as serializeTemplateSimple, E as spinnerVariants, Yt as stackVariants, ut as statusDotVariants, wt as swatchFillVariants, Tt as swatchGlyphVariants, Et as swatchGroupVariants, Dt as swatchIndicatorVariants, Ot as swatchVariants, Mt as textVariants, Kt as toggleCardGroupVariants, qt as toggleCardVariants, Rt as toggleGroupVariants, zt as toggleVariants, ur as tokensEqual, Jr as useNodeViewInjection, He as usePopoverClose, Ki as willOverflow };
|
package/dist/theme.css
CHANGED
|
@@ -638,18 +638,28 @@
|
|
|
638
638
|
--nav-active: var(--foreground);
|
|
639
639
|
--nav-active-foreground: var(--background);
|
|
640
640
|
/* Surface-relative, not a white literal (#228). The old `oklch(1 0 0 / 14%)`
|
|
641
|
-
was tuned by eye on the DARK rail (
|
|
641
|
+
was tuned by eye on the DARK rail (1.55:1 there) and was invisible
|
|
642
642
|
everywhere else: 1.03:1 on the light rail, and 1.015:1 when the class
|
|
643
643
|
reached the docs site's page surface in 4.0.0 — that site now hand-mixes
|
|
644
644
|
its own hover to survive us. Mixing the LOCAL foreground instead makes the
|
|
645
645
|
tint an emphasis of whatever ink the row already carries, so it
|
|
646
|
-
self-adapts to any surface:
|
|
646
|
+
self-adapts to any surface: 1.39:1 on a dark page, 1.35:1 on a light one.
|
|
647
|
+
Those two figures were previously stated as 3.36 and 1.15, computed with
|
|
648
|
+
a LINEAR-space alpha composite. Browsers composite in gamma space, and so
|
|
649
|
+
does this package's own gate (theme-contrast.test.mjs `composite`), which
|
|
650
|
+
is why the numbers disagreed with the thing they described. See
|
|
651
|
+
the nav block in theme-contrast.test.mjs, which now pins all four.
|
|
647
652
|
Custom properties substitute var() on the element they are DECLARED on,
|
|
648
653
|
so this :root value is resolved against the PAGE ink before it ever
|
|
649
654
|
inherits onto the rail — which is why .sidebar-gradient re-declares the
|
|
650
|
-
token from --sidebar-foreground (
|
|
651
|
-
|
|
652
|
-
|
|
655
|
+
token from --sidebar-foreground (1.53:1 dark rail, 1.35:1 light rail,
|
|
656
|
+
where hover previously did not paint at all).
|
|
657
|
+
|
|
658
|
+
Note which numbers moved when the method was corrected: only the ones on
|
|
659
|
+
DARK surfaces. Gamma and linear compositing converge when ink and ground
|
|
660
|
+
are close in luminance (the light rail reads 1.030 vs 1.032) and diverge
|
|
661
|
+
when they are far apart — so the linear method overstated exactly the
|
|
662
|
+
figures that were being used to argue the tint was strong enough. */
|
|
653
663
|
--nav-active-hover: color-mix(in oklch, var(--foreground) 14%, transparent);
|
|
654
664
|
/* Fiesta gradient palette — three board hues at ONE lightness (0.46),
|
|
655
665
|
identical in both themes. Because that surface never changes luminance
|
|
@@ -1299,9 +1309,12 @@ html[data-board-switch="backward"]::view-transition-new(board-page) {
|
|
|
1299
1309
|
/* Re-declared, not inherited (#228): the :root value already resolved its
|
|
1300
1310
|
var(--foreground) against the PAGE ink before inheriting here — rebinding
|
|
1301
1311
|
--foreground above cannot reach inside an inherited color-mix. From the
|
|
1302
|
-
rail ink:
|
|
1303
|
-
|
|
1304
|
-
|
|
1312
|
+
rail ink: 1.53:1 on the dark rail and 1.35:1 on the light rail, where the
|
|
1313
|
+
white-on-near-white literal did not paint at all. (Both were previously
|
|
1314
|
+
stated from a linear composite, as 3.07 and 1.15; the "within 0.1 of the
|
|
1315
|
+
literal it replaces" argument that used to sit here was comparing two
|
|
1316
|
+
numbers that were each measured the wrong way, so it has been dropped
|
|
1317
|
+
rather than restated.) */
|
|
1305
1318
|
--nav-active-hover: color-mix(in oklch, var(--sidebar-foreground) 14%, transparent);
|
|
1306
1319
|
}
|
|
1307
1320
|
|