@fiestaboard/ui 5.3.0 → 5.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -0
- package/dist/components/board/board-teaser.d.ts +9 -1
- package/dist/components/board/board-teaser.js +56 -52
- package/dist/components/board/board-teaser.js.map +1 -1
- package/dist/components/chrome/nav-list.d.ts +53 -0
- package/dist/components/chrome/nav-list.js +84 -0
- package/dist/components/chrome/nav-list.js.map +1 -0
- package/dist/components/containment/icon-tile.d.ts +67 -0
- package/dist/components/containment/icon-tile.js +44 -0
- package/dist/components/containment/icon-tile.js.map +1 -0
- package/dist/components/containment/json-tree.js +1 -1
- package/dist/components/containment/json-tree.js.map +1 -1
- package/dist/components/containment/scroll-area.d.ts +17 -0
- package/dist/components/containment/scroll-area.js +2 -2
- package/dist/components/containment/scroll-area.js.map +1 -1
- package/dist/components/containment/tabs.js +2 -2
- package/dist/components/containment/tabs.js.map +1 -1
- package/dist/components/editor/formula/formula-editor-panel.js +2 -2
- package/dist/components/editor/formula/formula-editor-panel.js.map +1 -1
- package/dist/components/editor/template-editor-toolbar.d.ts +27 -3
- package/dist/components/editor/template-editor-toolbar.js +99 -96
- package/dist/components/editor/template-editor-toolbar.js.map +1 -1
- package/dist/components/forms/button.d.ts +1 -1
- package/dist/components/forms/button.js +2 -0
- package/dist/components/forms/button.js.map +1 -1
- package/dist/components/forms/selection-group.d.ts +82 -0
- package/dist/components/forms/selection-group.js +51 -0
- package/dist/components/forms/selection-group.js.map +1 -0
- package/dist/components/forms/swatch.d.ts +81 -0
- package/dist/components/forms/swatch.js +91 -0
- package/dist/components/forms/swatch.js.map +1 -0
- package/dist/components/forms/timezone-picker.d.ts +163 -0
- package/dist/components/forms/timezone-picker.js +158 -0
- package/dist/components/forms/timezone-picker.js.map +1 -0
- package/dist/components/forms/toggle-card.d.ts +45 -35
- package/dist/components/forms/toggle-card.js +187 -122
- package/dist/components/forms/toggle-card.js.map +1 -1
- package/dist/components/forms/toggle.d.ts +1 -1
- package/dist/components/layout/flex.d.ts +1 -1
- package/dist/components/layout/grid.d.ts +1 -1
- package/dist/components/layout/stack.d.ts +1 -1
- package/dist/components/overlays/lightbox.js +1 -1
- package/dist/components/overlays/lightbox.js.map +1 -1
- package/dist/components/overlays/overlay-close.js +1 -1
- package/dist/components/overlays/overlay-close.js.map +1 -1
- package/dist/components/plugin/board-showcase.d.ts +8 -1
- package/dist/components/plugin/board-showcase.js +18 -17
- package/dist/components/plugin/board-showcase.js.map +1 -1
- package/dist/components/plugin/plugin-card.d.ts +8 -1
- package/dist/components/plugin/plugin-card.js +8 -7
- package/dist/components/plugin/plugin-card.js.map +1 -1
- package/dist/components/plugin/scaled-board-teaser.d.ts +4 -1
- package/dist/components/plugin/scaled-board-teaser.js +12 -11
- package/dist/components/plugin/scaled-board-teaser.js.map +1 -1
- package/dist/components/typography/heading.d.ts +1 -1
- package/dist/components/typography/text-link.d.ts +27 -3
- package/dist/components/typography/text-link.js +1 -1
- package/dist/components/typography/text-link.js.map +1 -1
- package/dist/components/typography/text.d.ts +1 -1
- package/dist/components/wizard/wizard-shell.d.ts +6 -1
- package/dist/components/wizard/wizard-shell.js +38 -35
- package/dist/components/wizard/wizard-shell.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +104 -100
- package/dist/lib/board-characters.d.ts +13 -0
- package/dist/lib/board-characters.js +1 -1
- package/dist/lib/board-characters.js.map +1 -1
- package/dist/theme.css +85 -4
- package/package.json +9 -2
|
@@ -13,26 +13,26 @@ var f = {
|
|
|
13
13
|
blackBoard: "Black Board",
|
|
14
14
|
whiteBoard: "White Board"
|
|
15
15
|
}, p = "rounded-full border px-4 py-1.5 text-xs font-medium transition-colors data-[active]:border-primary data-[active]:bg-primary data-[active]:text-primary-foreground data-[active]:font-semibold hover:border-brand hover:text-brand data-[active]:hover:text-primary-foreground";
|
|
16
|
-
function m({ previews: o, previewLabel: m, size: h = "md", boardType: g,
|
|
17
|
-
let
|
|
16
|
+
function m({ previews: o, previewLabel: m, size: h = "md", boardType: g, code62Glyph: _, defaultBoardType: v = "black", onBoardTypeChange: y, labels: b, className: x }) {
|
|
17
|
+
let S = {
|
|
18
18
|
...f,
|
|
19
|
-
...
|
|
20
|
-
}, [
|
|
21
|
-
function
|
|
22
|
-
g === void 0 &&
|
|
19
|
+
...b
|
|
20
|
+
}, [C, w] = l(v), T = g ?? C;
|
|
21
|
+
function E(e) {
|
|
22
|
+
g === void 0 && w(e), y?.(e);
|
|
23
23
|
}
|
|
24
24
|
if (o.length === 0) return null;
|
|
25
|
-
let
|
|
25
|
+
let D = s(o, S);
|
|
26
26
|
return /* @__PURE__ */ d("div", {
|
|
27
27
|
"data-slot": "board-showcase",
|
|
28
|
-
className: e("flex flex-col items-center gap-4",
|
|
28
|
+
className: e("flex flex-col items-center gap-4", x),
|
|
29
29
|
children: [/* @__PURE__ */ d(t, {
|
|
30
30
|
defaultValue: 0,
|
|
31
31
|
className: "flex w-full flex-col items-center gap-4",
|
|
32
32
|
children: [o.length > 1 && /* @__PURE__ */ u(r, {
|
|
33
|
-
"aria-label":
|
|
33
|
+
"aria-label": S.boardShape,
|
|
34
34
|
className: "h-auto gap-2 rounded-full bg-transparent p-0",
|
|
35
|
-
children:
|
|
35
|
+
children: D.map((e, t) => /* @__PURE__ */ u(i, {
|
|
36
36
|
value: t,
|
|
37
37
|
className: p,
|
|
38
38
|
children: e
|
|
@@ -43,25 +43,26 @@ function m({ previews: o, previewLabel: m, size: h = "md", boardType: g, default
|
|
|
43
43
|
children: /* @__PURE__ */ u(a, {
|
|
44
44
|
message: c(e),
|
|
45
45
|
size: h,
|
|
46
|
-
boardType:
|
|
46
|
+
boardType: T,
|
|
47
47
|
deviceType: e.device_type ?? "flagship",
|
|
48
|
+
code62Glyph: _,
|
|
48
49
|
notesWide: e.notes_wide ?? 1,
|
|
49
50
|
notesTall: e.notes_tall ?? 1,
|
|
50
51
|
previewLabel: m
|
|
51
52
|
})
|
|
52
|
-
},
|
|
53
|
+
}, D[t]))]
|
|
53
54
|
}), /* @__PURE__ */ u("div", {
|
|
54
55
|
role: "group",
|
|
55
|
-
"aria-label":
|
|
56
|
+
"aria-label": S.boardColor,
|
|
56
57
|
className: "flex",
|
|
57
58
|
children: ["black", "white"].map((t) => {
|
|
58
|
-
let n =
|
|
59
|
+
let n = T === t;
|
|
59
60
|
return /* @__PURE__ */ u("button", {
|
|
60
61
|
type: "button",
|
|
61
62
|
"aria-pressed": n,
|
|
62
|
-
onClick: () =>
|
|
63
|
-
className: e("border px-4 py-1.5 text-xs font-medium transition-colors", "first:rounded-l-full last:rounded-r-full [&:not(:last-child)]:border-r-0", "
|
|
64
|
-
children: t === "black" ?
|
|
63
|
+
onClick: () => E(t),
|
|
64
|
+
className: e("border px-4 py-1.5 text-xs font-medium transition-colors", "first:rounded-l-full last:rounded-r-full [&:not(:last-child)]:border-r-0", "focus-ring", n ? "border-primary bg-primary font-semibold text-primary-foreground" : "text-muted-foreground hover:border-brand hover:text-brand"),
|
|
65
|
+
children: t === "black" ? S.blackBoard : S.whiteBoard
|
|
65
66
|
}, t);
|
|
66
67
|
})
|
|
67
68
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board-showcase.js","names":[],"sources":["../../../src/components/plugin/board-showcase.tsx"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"board-showcase.js","names":[],"sources":["../../../src/components/plugin/board-showcase.tsx"],"mappings":";;;;;;;;AAkCA,IAAa,IAA+C;CAC1D,GAAG;CACH,YAAY;CACZ,YAAY;CACZ,YAAY;CACZ,YAAY;AACd,GA4BM,IACJ;AAIF,SAAgB,EAAc,EAC5B,aACA,iBACA,UAAO,MACP,cACA,gBACA,sBAAmB,SACnB,sBACA,WACA,gBACqB;CACrB,IAAM,IAAI;EAAE,GAAG;EAAyB,GAAG;CAAO,GAC5C,CAAC,GAAuB,KAA4B,EAA4B,CAAgB,GAChG,IAAkB,KAAa;CAErC,SAAS,EAAgB,GAAyB;EAEhD,AADI,MAAc,KAAA,KAAW,EAAyB,CAAI,GAC1D,IAAoB,CAAI;CAC1B;CAEA,IAAI,EAAS,WAAW,GAAG,OAAO;CAElC,IAAM,IAAY,EAAc,GAAU,CAAC;CAE3C,OACE,kBAAC,OAAD;EAAK,aAAU;EAAiB,WAAW,EAAG,oCAAoC,CAAS;EAA3F,UAAA,CACE,kBAAC,GAAD;GAAM,cAAc;GAAG,WAAU;GAAjC,UAAA,CACG,EAAS,SAAS,KACjB,kBAAC,GAAD;IAAU,cAAY,EAAE;IAAY,WAAU;IAC3C,UAAA,EAAU,KAAK,GAAO,MACrB,kBAAC,GAAD;KAAyB,OAAO;KAAO,WAAW;KAC/C,UAAA;IACU,GAFK,CAEL,CACd;GACO,CAAA,GAGX,EAAS,KAAK,GAAS,MACtB,kBAAC,GAAD;IAEE,OAAO;IACP,WAAU;IAEV,UAAA,kBAAC,GAAD;KACE,SAAS,EAAe,CAAO;KACzB;KACN,WAAW;KACX,YAAY,EAAQ,eAAe;KACtB;KACb,WAAW,EAAQ,cAAc;KACjC,WAAW,EAAQ,cAAc;KACnB;IACf,CAAA;GACU,GAdN,EAAU,EAcJ,CACd,CACG;EAEN,CAAA,GAAA,kBAAC,OAAD;GAAK,MAAK;GAAQ,cAAY,EAAE;GAAY,WAAU;GAClD,UAAA,CAAC,SAAS,OAAO,CAAC,CAAW,KAAK,MAAU;IAC5C,IAAM,IAAS,MAAoB;IACnC,OACE,kBAAC,UAAD;KAEE,MAAK;KACL,gBAAc;KACd,eAAe,EAAgB,CAAK;KACpC,WAAW,EACT,4DACA,4EACA,cACA,IACI,oEACA,2DACN;KAEC,UAAA,MAAU,UAAU,EAAE,aAAa,EAAE;IAChC,GAdD,CAcC;GAEZ,CAAC;EACE,CAAA,CACF;;AAET"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* without nesting one interactive element inside another.
|
|
10
10
|
*/
|
|
11
11
|
import type { CSSProperties, ReactNode } from "react";
|
|
12
|
+
import type { Code62Glyph } from "../../lib/board-characters";
|
|
12
13
|
export interface PluginCardProps {
|
|
13
14
|
name: string;
|
|
14
15
|
description?: ReactNode;
|
|
@@ -24,6 +25,12 @@ export interface PluginCardProps {
|
|
|
24
25
|
/** Literal board line, at most 15 tiles. Omit to hide the teaser footer. */
|
|
25
26
|
teaser?: string;
|
|
26
27
|
boardType?: "black" | "white";
|
|
28
|
+
/**
|
|
29
|
+
* Which glyph the viewer's board draws for code 62 — a teaser carrying a
|
|
30
|
+
* temperature is `°` on an older Flagship and `♥` on one built from 2026
|
|
31
|
+
* (FiestaBoard#1666). Defaults to `"degree"`.
|
|
32
|
+
*/
|
|
33
|
+
code62Glyph?: Code62Glyph;
|
|
27
34
|
/**
|
|
28
35
|
* Renders the card's primary link. Receives the class that stretches it over
|
|
29
36
|
* the card, and the card title as children.
|
|
@@ -37,4 +44,4 @@ export interface PluginCardProps {
|
|
|
37
44
|
className?: string;
|
|
38
45
|
style?: CSSProperties;
|
|
39
46
|
}
|
|
40
|
-
export declare function PluginCard({ name, description, authorLabel, category, categoryLabel, teaser, boardType, renderLink, action, className, style, }: PluginCardProps): import("react").JSX.Element;
|
|
47
|
+
export declare function PluginCard({ name, description, authorLabel, category, categoryLabel, teaser, boardType, code62Glyph, renderLink, action, className, style, }: PluginCardProps): import("react").JSX.Element;
|
|
@@ -7,11 +7,11 @@ import { ScaledBoardTeaser as i } from "./scaled-board-teaser.js";
|
|
|
7
7
|
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
8
8
|
//#region src/components/plugin/plugin-card.tsx
|
|
9
9
|
var s = "after:absolute after:inset-0 after:rounded-xl after:content-[''] outline-none focus-visible:after:ring-[3px] focus-visible:after:ring-ring/50 text-foreground no-underline hover:no-underline hover:text-foreground";
|
|
10
|
-
function c({ name: c, description: l, authorLabel: u, category: d, categoryLabel: f, teaser: p, boardType: m = "black",
|
|
10
|
+
function c({ name: c, description: l, authorLabel: u, category: d, categoryLabel: f, teaser: p, boardType: m = "black", code62Glyph: h, renderLink: g, action: _, className: v, style: y }) {
|
|
11
11
|
return /* @__PURE__ */ o("div", {
|
|
12
12
|
"data-slot": "plugin-card",
|
|
13
|
-
style:
|
|
14
|
-
className: e("group relative flex h-full flex-col overflow-hidden rounded-xl border bg-card text-card-foreground", "shadow-card transition-[transform,box-shadow] duration-base hover:-translate-y-1 hover:shadow-lg", "motion-reduce:transition-none motion-reduce:hover:translate-y-0",
|
|
13
|
+
style: y,
|
|
14
|
+
className: e("group relative flex h-full flex-col overflow-hidden rounded-xl border bg-card text-card-foreground", "shadow-card transition-[transform,box-shadow] duration-base hover:-translate-y-1 hover:shadow-lg", "motion-reduce:transition-none motion-reduce:hover:translate-y-0", v),
|
|
15
15
|
children: [/* @__PURE__ */ o("div", {
|
|
16
16
|
className: "flex flex-1 flex-col gap-2 p-4",
|
|
17
17
|
children: [
|
|
@@ -20,7 +20,7 @@ function c({ name: c, description: l, authorLabel: u, category: d, categoryLabel
|
|
|
20
20
|
children: [/* @__PURE__ */ a(t, {
|
|
21
21
|
level: 3,
|
|
22
22
|
className: "min-w-0 text-base",
|
|
23
|
-
children:
|
|
23
|
+
children: g({
|
|
24
24
|
className: s,
|
|
25
25
|
children: c
|
|
26
26
|
})
|
|
@@ -44,9 +44,9 @@ function c({ name: c, description: l, authorLabel: u, category: d, categoryLabel
|
|
|
44
44
|
size: "xs",
|
|
45
45
|
className: "truncate",
|
|
46
46
|
children: u
|
|
47
|
-
}) : /* @__PURE__ */ a("span", {}),
|
|
47
|
+
}) : /* @__PURE__ */ a("span", {}), _ && /* @__PURE__ */ a("div", {
|
|
48
48
|
className: "relative z-10 shrink-0",
|
|
49
|
-
children:
|
|
49
|
+
children: _
|
|
50
50
|
})]
|
|
51
51
|
})
|
|
52
52
|
]
|
|
@@ -54,7 +54,8 @@ function c({ name: c, description: l, authorLabel: u, category: d, categoryLabel
|
|
|
54
54
|
className: "border-t bg-muted/30 px-3 py-4",
|
|
55
55
|
children: /* @__PURE__ */ a(i, {
|
|
56
56
|
teaser: p,
|
|
57
|
-
boardType: m
|
|
57
|
+
boardType: m,
|
|
58
|
+
code62Glyph: h
|
|
58
59
|
})
|
|
59
60
|
})]
|
|
60
61
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-card.js","names":[],"sources":["../../../src/components/plugin/plugin-card.tsx"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"plugin-card.js","names":[],"sources":["../../../src/components/plugin/plugin-card.tsx"],"mappings":";;;;;;;;AAuBA,IAAM,IACJ;AAoCF,SAAgB,EAAW,EACzB,SACA,gBACA,gBACA,aACA,kBACA,WACA,eAAY,SACZ,gBACA,eACA,WACA,cACA,YACkB;CAClB,OACE,kBAAC,OAAD;EACE,aAAU;EACH;EACP,WAAW,EACT,sGACA,oGACA,mEACA,CACF;EARF,UAAA,CAUE,kBAAC,OAAD;GAAK,WAAU;GAAf,UAAA;IACE,kBAAC,OAAD;KAAK,WAAU;KAAf,UAAA,CACE,kBAAC,GAAD;MAAS,OAAO;MAAG,WAAU;MAC1B,UAAA,EAAW;OAAE,WAAW;OAAsB,UAAU;MAAK,CAAC;KACxD,CAAA,GACR,KAAY,kBAAC,GAAD;MAA+B;MAAU,OAAO;MAAe,WAAU;KAAW,CAAA,CAC9F;;IAEJ,KACC,kBAAC,GAAD;KAAM,MAAK;KAAQ,MAAK;KAAK,WAAU;KACpC,UAAA;IACG,CAAA;IAGR,kBAAC,OAAD;KAAK,WAAU;KAAf,UAAA,CACG,IACC,kBAAC,GAAD;MAAM,IAAG;MAAO,MAAK;MAAQ,MAAK;MAAK,WAAU;MAC9C,UAAA;KACG,CAAA,IAEN,kBAAC,QAAD,CAAO,CAAA,GAER,KAAU,kBAAC,OAAD;MAAK,WAAU;MAA0B,UAAA;KAAY,CAAA,CAC7D;;GACF;EAEJ,CAAA,GAAA,KACC,kBAAC,OAAD;GAAK,WAAU;GACb,UAAA,kBAAC,GAAD;IAA2B;IAAmB;IAAwB;GAAc,CAAA;EACjF,CAAA,CAEJ;;AAET"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
import type { Code62Glyph } from "../../lib/board-characters";
|
|
1
2
|
export interface ScaledBoardTeaserProps {
|
|
2
3
|
/** Literal board line, e.g. `"{66}AQI 45 CLEAR"`. */
|
|
3
4
|
teaser: string;
|
|
4
5
|
boardType?: "black" | "white";
|
|
6
|
+
/** Which glyph the board draws for code 62; see `BoardTeaser`. */
|
|
7
|
+
code62Glyph?: Code62Glyph;
|
|
5
8
|
/** Strip width in tiles. */
|
|
6
9
|
tiles?: number;
|
|
7
10
|
minScale?: number;
|
|
8
11
|
maxScale?: number;
|
|
9
12
|
className?: string;
|
|
10
13
|
}
|
|
11
|
-
export declare function ScaledBoardTeaser({ teaser, boardType, tiles, minScale, maxScale, className, }: ScaledBoardTeaserProps): import("react").JSX.Element;
|
|
14
|
+
export declare function ScaledBoardTeaser({ teaser, boardType, code62Glyph, tiles, minScale, maxScale, className, }: ScaledBoardTeaserProps): import("react").JSX.Element;
|
|
@@ -5,31 +5,32 @@ import { useEffect as n, useRef as r, useState as i } from "react";
|
|
|
5
5
|
import { jsx as a } from "react/jsx-runtime";
|
|
6
6
|
//#region src/components/plugin/scaled-board-teaser.tsx
|
|
7
7
|
var o = 18;
|
|
8
|
-
function s({ teaser: s, boardType: c = "black",
|
|
9
|
-
let
|
|
8
|
+
function s({ teaser: s, boardType: c = "black", code62Glyph: l, tiles: u = 15, minScale: d = .85, maxScale: f = 1.5, className: p }) {
|
|
9
|
+
let m = r(null), [h, g] = i(1);
|
|
10
10
|
return n(() => {
|
|
11
|
-
let e =
|
|
11
|
+
let e = m.current, t = e?.firstElementChild;
|
|
12
12
|
if (!e || !t) return;
|
|
13
13
|
let n = () => {
|
|
14
|
-
t.offsetWidth > 0 &&
|
|
14
|
+
t.offsetWidth > 0 && g(Math.min(f, Math.max(d, e.clientWidth / t.offsetWidth)));
|
|
15
15
|
};
|
|
16
16
|
n();
|
|
17
17
|
let r = new ResizeObserver(n);
|
|
18
18
|
return r.observe(e), () => r.disconnect();
|
|
19
|
-
}, [
|
|
20
|
-
ref:
|
|
19
|
+
}, [d, f]), /* @__PURE__ */ a("div", {
|
|
20
|
+
ref: m,
|
|
21
21
|
"data-slot": "scaled-board-teaser",
|
|
22
|
-
className: e("flex justify-center overflow-hidden",
|
|
23
|
-
style: { height: `${o *
|
|
22
|
+
className: e("flex justify-center overflow-hidden", p),
|
|
23
|
+
style: { height: `${o * h}px` },
|
|
24
24
|
children: /* @__PURE__ */ a("div", {
|
|
25
25
|
style: {
|
|
26
|
-
transform: `scale(${
|
|
26
|
+
transform: `scale(${h})`,
|
|
27
27
|
transformOrigin: "top center"
|
|
28
28
|
},
|
|
29
29
|
children: /* @__PURE__ */ a(t, {
|
|
30
30
|
teaser: s,
|
|
31
|
-
tiles:
|
|
32
|
-
boardType: c
|
|
31
|
+
tiles: u,
|
|
32
|
+
boardType: c,
|
|
33
|
+
code62Glyph: l
|
|
33
34
|
})
|
|
34
35
|
})
|
|
35
36
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaled-board-teaser.js","names":[],"sources":["../../../src/components/plugin/scaled-board-teaser.tsx"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"scaled-board-teaser.js","names":[],"sources":["../../../src/components/plugin/scaled-board-teaser.tsx"],"mappings":";;;;;;AAiBA,IAAM,IAAe;AAerB,SAAgB,EAAkB,EAChC,WACA,eAAY,SACZ,gBACA,WAAQ,IACR,cAAW,KACX,cAAW,KACX,gBACyB;CACzB,IAAM,IAAe,EAAuB,IAAI,GAC1C,CAAC,GAAO,KAAY,EAAS,CAAC;CAkBpC,OAhBA,QAAgB;EACd,IAAM,IAAY,EAAa,SACzB,IAAQ,GAAW;EACzB,IAAI,CAAC,KAAa,CAAC,GAAO;EAC1B,IAAM,UAAgB;GAEpB,AAAI,EAAM,cAAc,KACtB,EAAS,KAAK,IAAI,GAAU,KAAK,IAAI,GAAU,EAAU,cAAc,EAAM,WAAW,CAAC,CAAC;EAE9F;EACA,EAAQ;EACR,IAAM,IAAW,IAAI,eAAe,CAAO;EAE3C,OADA,EAAS,QAAQ,CAAS,SACb,EAAS,WAAW;CACnC,GAAG,CAAC,GAAU,CAAQ,CAAC,GAGrB,kBAAC,OAAD;EACE,KAAK;EACL,aAAU;EACV,WAAW,EAAG,uCAAuC,CAAS;EAC9D,OAAO,EAAE,QAAQ,GAAG,IAAe,EAAM,IAAI;EAE7C,UAAA,kBAAC,OAAD;GAAK,OAAO;IAAE,WAAW,SAAS,EAAM;IAAI,iBAAiB;GAAa;GACxE,UAAA,kBAAC,GAAD;IAAqB;IAAe;IAAkB;IAAwB;GAAc,CAAA;EACzF,CAAA;CACF,CAAA;AAET"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type VariantProps } from "class-variance-authority";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
declare const headingVariants: (props?: ({
|
|
4
|
-
tone?: "
|
|
4
|
+
tone?: "muted" | "default" | "destructive" | null | undefined;
|
|
5
5
|
size?: "base" | "sm" | "lg" | "xl" | null | undefined;
|
|
6
6
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
7
|
interface HeadingProps extends React.HTMLAttributes<HTMLHeadingElement>, VariantProps<typeof headingVariants> {
|
|
@@ -1,9 +1,33 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
/**
|
|
3
|
-
* Inline text anchor with the canonical link treatment
|
|
4
|
-
* rest (
|
|
5
|
-
*
|
|
3
|
+
* Inline text anchor with the canonical link treatment: always underlined at
|
|
4
|
+
* rest (WCAG 1.4.1 / axe `link-in-text-block`), brand pigment, and the shared
|
|
5
|
+
* two-tone focus ring. For router navigation, keep using the router's `Link`
|
|
6
6
|
* component; this primitive is for plain anchors.
|
|
7
|
+
*
|
|
8
|
+
* ## Pigment: `text-brand`, never `text-primary` (#238)
|
|
9
|
+
*
|
|
10
|
+
* `--primary` is the literal #f5a623 tile. It measures **1.83:1** on a light
|
|
11
|
+
* page — legal as a button field with board ink on it, illegal as a sentence.
|
|
12
|
+
* `--brand` is the same hue at the ink plateau: **5.09:1** light, **9.63:1**
|
|
13
|
+
* dark on `--background`. This is the pigment `Button`'s `link` variant
|
|
14
|
+
* already uses, and the two are deliberately the same so a link does not
|
|
15
|
+
* change colour depending on which component drew it.
|
|
16
|
+
*
|
|
17
|
+
* The underline is permanent rather than on hover because colour alone cannot
|
|
18
|
+
* distinguish a link from body copy: `--brand` against `--foreground` is
|
|
19
|
+
* 1.86:1 in dark, under G183's 3:1.
|
|
20
|
+
*
|
|
21
|
+
* ## Focus: the shared `focus-ring` class (#238)
|
|
22
|
+
*
|
|
23
|
+
* The previous recipe was `outline-none focus-visible:ring-[3px]
|
|
24
|
+
* focus-visible:ring-ring/50`, which is now a two-part failure. `--ring`
|
|
25
|
+
* follows `--primary`, so since 4.0.0 the band is the tile; composited in
|
|
26
|
+
* gamma space a 50% band of it measures **1.36:1** against a light page,
|
|
27
|
+
* against SC 2.4.11's 3:1. And `outline-none` suppressed the UA outline that
|
|
28
|
+
* would otherwise have covered for it, so the link had no visible focus
|
|
29
|
+
* indicator at all. `focus-ring` bounds the orange band with board-ink
|
|
30
|
+
* hairlines (16:1 on light surfaces) — see the recipe in theme.css.
|
|
7
31
|
*/
|
|
8
32
|
declare function TextLink({ className, ...props }: React.ComponentProps<"a">): React.JSX.Element;
|
|
9
33
|
export { TextLink };
|
|
@@ -5,7 +5,7 @@ import { jsx as t } from "react/jsx-runtime";
|
|
|
5
5
|
function n({ className: n, ...r }) {
|
|
6
6
|
return /* @__PURE__ */ t("a", {
|
|
7
7
|
"data-slot": "text-link",
|
|
8
|
-
className: e("rounded-sm text-
|
|
8
|
+
className: e("focus-ring rounded-sm text-brand underline underline-offset-4", n),
|
|
9
9
|
...r
|
|
10
10
|
});
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-link.js","names":[],"sources":["../../../src/components/typography/text-link.tsx"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"text-link.js","names":[],"sources":["../../../src/components/typography/text-link.tsx"],"mappings":";;;;AAkCA,SAAS,EAAS,EAAE,cAAW,GAAG,KAAoC;CACpE,OACE,kBAAC,KAAD;EACE,aAAU;EACV,WAAW,EAAG,iEAAiE,CAAS;EACxF,GAAI;CACL,CAAA;AAEL"}
|
|
@@ -2,7 +2,7 @@ import { type VariantProps } from "class-variance-authority";
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
declare const textVariants: (props?: ({
|
|
4
4
|
size?: "base" | "sm" | "lg" | "xs" | null | undefined;
|
|
5
|
-
tone?: "default" | "destructive" | "info" | "success" | "warning" |
|
|
5
|
+
tone?: "muted" | "default" | "destructive" | "info" | "success" | "warning" | null | undefined;
|
|
6
6
|
weight?: "normal" | "medium" | "semibold" | null | undefined;
|
|
7
7
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
8
|
interface TextProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof textVariants> {
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
export interface WizardShellProps {
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Brand mark for the header medallion — an <img>, an inline SVG, anything.
|
|
4
|
+
* Rendered inside a decorative {@link IconTile}, so it is hidden from
|
|
5
|
+
* assistive technology: the `wordmark` beside it is the lockup's name and
|
|
6
|
+
* announcing both would say the product twice.
|
|
7
|
+
*/
|
|
3
8
|
icon?: React.ReactNode;
|
|
4
9
|
/**
|
|
5
10
|
* Wordmark rendered beside the mark. Together they are the product lockup —
|
|
@@ -1,62 +1,65 @@
|
|
|
1
1
|
import { cn as e } from "../../lib/utils.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { IconTile as t } from "../containment/icon-tile.js";
|
|
3
|
+
import { WizardProgress as n } from "./wizard-progress.js";
|
|
4
|
+
import { BoardBackdrop as r } from "../board/board-backdrop.js";
|
|
5
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
5
6
|
//#region src/components/wizard/wizard-shell.tsx
|
|
6
|
-
function
|
|
7
|
-
return /* @__PURE__ */
|
|
8
|
-
className: e("bg-background fixed inset-0 z-50 overflow-y-auto",
|
|
9
|
-
children: [
|
|
10
|
-
phrases:
|
|
7
|
+
function o({ icon: o, wordmark: s, title: c, description: l, aside: u, steps: d, current: f, progressLabel: p, stepTitle: m, stepDescription: h, children: g, footer: _, backdropPhrases: v, className: y }) {
|
|
8
|
+
return /* @__PURE__ */ a("div", {
|
|
9
|
+
className: e("bg-background fixed inset-0 z-50 overflow-y-auto", y),
|
|
10
|
+
children: [v?.length ? /* @__PURE__ */ i(r, {
|
|
11
|
+
phrases: v,
|
|
11
12
|
fixed: !0
|
|
12
|
-
}) : null, /* @__PURE__ */
|
|
13
|
+
}) : null, /* @__PURE__ */ i("div", {
|
|
13
14
|
className: "relative flex min-h-full items-start justify-center px-4 py-6 sm:px-6 sm:py-10",
|
|
14
|
-
children: /* @__PURE__ */
|
|
15
|
+
children: /* @__PURE__ */ a("div", {
|
|
15
16
|
className: e("bg-card border-border w-full max-w-lg rounded-2xl border p-6 sm:p-8", "shadow-[var(--elevation-modal)]"),
|
|
16
17
|
children: [
|
|
17
|
-
/* @__PURE__ */
|
|
18
|
+
/* @__PURE__ */ a("header", {
|
|
18
19
|
className: "pb-6",
|
|
19
20
|
children: [
|
|
20
|
-
/* @__PURE__ */
|
|
21
|
+
/* @__PURE__ */ a("div", {
|
|
21
22
|
className: "flex items-center justify-between gap-4",
|
|
22
|
-
children: [/* @__PURE__ */
|
|
23
|
+
children: [/* @__PURE__ */ a("span", {
|
|
23
24
|
className: "flex min-w-0 items-center gap-3",
|
|
24
|
-
children: [
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
children: [o ? /* @__PURE__ */ i(t, {
|
|
26
|
+
size: "lg",
|
|
27
|
+
tone: "board",
|
|
28
|
+
className: "sm:size-14",
|
|
29
|
+
children: o
|
|
30
|
+
}) : null, s]
|
|
31
|
+
}), u]
|
|
29
32
|
}),
|
|
30
|
-
/* @__PURE__ */
|
|
33
|
+
/* @__PURE__ */ i("h1", {
|
|
31
34
|
className: "mt-5 text-2xl font-semibold tracking-tight text-balance sm:text-3xl",
|
|
32
|
-
children:
|
|
35
|
+
children: c
|
|
33
36
|
}),
|
|
34
|
-
|
|
37
|
+
l ? /* @__PURE__ */ i("p", {
|
|
35
38
|
className: "text-muted-foreground mt-2 text-sm sm:text-base",
|
|
36
|
-
children:
|
|
39
|
+
children: l
|
|
37
40
|
}) : null
|
|
38
41
|
]
|
|
39
42
|
}),
|
|
40
|
-
/* @__PURE__ */
|
|
41
|
-
steps:
|
|
42
|
-
current:
|
|
43
|
-
label:
|
|
43
|
+
/* @__PURE__ */ i(n, {
|
|
44
|
+
steps: d,
|
|
45
|
+
current: f,
|
|
46
|
+
label: p,
|
|
44
47
|
className: "pb-7"
|
|
45
48
|
}),
|
|
46
|
-
/* @__PURE__ */
|
|
49
|
+
/* @__PURE__ */ a("div", {
|
|
47
50
|
className: "mb-6",
|
|
48
|
-
children: [/* @__PURE__ */
|
|
51
|
+
children: [/* @__PURE__ */ i("h2", {
|
|
49
52
|
className: "text-xl font-semibold tracking-tight sm:text-2xl",
|
|
50
|
-
children: p
|
|
51
|
-
}), m ? /* @__PURE__ */ r("p", {
|
|
52
|
-
className: "text-muted-foreground mt-1",
|
|
53
53
|
children: m
|
|
54
|
+
}), h ? /* @__PURE__ */ i("p", {
|
|
55
|
+
className: "text-muted-foreground mt-1",
|
|
56
|
+
children: h
|
|
54
57
|
}) : null]
|
|
55
58
|
}),
|
|
56
|
-
|
|
57
|
-
|
|
59
|
+
g,
|
|
60
|
+
_ ? /* @__PURE__ */ i("div", {
|
|
58
61
|
className: "border-border mt-8 flex items-center justify-between border-t pt-6",
|
|
59
|
-
children:
|
|
62
|
+
children: _
|
|
60
63
|
}) : null
|
|
61
64
|
]
|
|
62
65
|
})
|
|
@@ -64,6 +67,6 @@ function a({ icon: a, wordmark: o, title: s, description: c, aside: l, steps: u,
|
|
|
64
67
|
});
|
|
65
68
|
}
|
|
66
69
|
//#endregion
|
|
67
|
-
export {
|
|
70
|
+
export { o as WizardShell };
|
|
68
71
|
|
|
69
72
|
//# sourceMappingURL=wizard-shell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard-shell.js","names":[],"sources":["../../../src/components/wizard/wizard-shell.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"wizard-shell.js","names":[],"sources":["../../../src/components/wizard/wizard-shell.tsx"],"mappings":";;;;;;AA4EA,SAAgB,EAAY,EAC1B,SACA,aACA,UACA,gBACA,UACA,UACA,YACA,kBACA,cACA,oBACA,aACA,WACA,oBACA,gBACmB;CACnB,OACE,kBAAC,OAAD;EAAK,WAAW,EAAG,oDAAoD,CAAS;EAAhF,UAAA,CAGG,GAAiB,SAAS,kBAAC,GAAD;GAAe,SAAS;GAAiB,OAAA;EAAO,CAAA,IAAI,MAC/E,kBAAC,OAAD;GAAK,WAAU;GACb,UAAA,kBAAC,OAAD;IACE,WAAW,EACT,uEACA,iCACF;IAJF,UAAA;KAME,kBAAC,UAAD;MAAQ,WAAU;MAAlB,UAAA;OAcE,kBAAC,OAAD;QAAK,WAAU;QAAf,UAAA,CACE,kBAAC,QAAD;SAAM,WAAU;SAAhB,UAAA,CACG,IAIC,kBAAC,GAAD;UAAU,MAAK;UAAK,MAAK;UAAQ,WAAU;UACxC,UAAA;SACO,CAAA,IACR,MACH,CACG;QACL,CAAA,GAAA,CACE;;OACL,kBAAC,MAAD;QAAI,WAAU;QAAuE,UAAA;OAAU,CAAA;OAC9F,IAAc,kBAAC,KAAD;QAAG,WAAU;QAAmD,UAAA;OAAe,CAAA,IAAI;MAC5F;;KAER,kBAAC,GAAD;MAAuB;MAAgB;MAAS,OAAO;MAAe,WAAU;KAAQ,CAAA;KAExF,kBAAC,OAAD;MAAK,WAAU;MAAf,UAAA,CACE,kBAAC,MAAD;OAAI,WAAU;OAAoD,UAAA;MAAc,CAAA,GAC/E,IAAkB,kBAAC,KAAD;OAAG,WAAU;OAA8B,UAAA;MAAmB,CAAA,IAAI,IAClF;;KAEJ;KAEA,IACC,kBAAC,OAAD;MAAK,WAAU;MAAsE,UAAA;KAAY,CAAA,IAC/F;IACD;;EACF,CAAA,CACF;;AAET"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
export * from "./components/containment/accordion";
|
|
10
10
|
export * from "./components/containment/card";
|
|
11
11
|
export * from "./components/containment/collapsible";
|
|
12
|
+
export * from "./components/containment/icon-tile";
|
|
12
13
|
export * from "./components/containment/json-tree";
|
|
13
14
|
export * from "./components/containment/media-frame";
|
|
14
15
|
export * from "./components/feedback/alert";
|
|
@@ -40,9 +41,11 @@ export * from "./components/feedback/spinner";
|
|
|
40
41
|
export * from "./components/feedback/status-dot";
|
|
41
42
|
export * from "./components/forms/select";
|
|
42
43
|
export * from "./components/forms/slider";
|
|
44
|
+
export * from "./components/forms/swatch";
|
|
43
45
|
export * from "./components/forms/switch";
|
|
44
46
|
export * from "./components/forms/textarea";
|
|
45
47
|
export * from "./components/forms/time-picker";
|
|
48
|
+
export * from "./components/forms/timezone-picker";
|
|
46
49
|
export * from "./components/forms/toggle";
|
|
47
50
|
export * from "./components/forms/toggle-card";
|
|
48
51
|
export * from "./components/layout/stack";
|
|
@@ -57,6 +60,7 @@ export * from "./components/chrome/fiesta-icon";
|
|
|
57
60
|
export * from "./components/chrome/fiesta-logo";
|
|
58
61
|
export * from "./components/chrome/language-selector";
|
|
59
62
|
export * from "./components/chrome/main-content";
|
|
63
|
+
export * from "./components/chrome/nav-list";
|
|
60
64
|
export * from "./components/chrome/page-header";
|
|
61
65
|
export * from "./components/chrome/page-layout";
|
|
62
66
|
export * from "./components/chrome/page-toolbar";
|