@fiestaboard/ui 3.4.0 → 4.0.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-backdrop.d.ts +60 -0
- package/dist/components/board/board-backdrop.js +71 -0
- package/dist/components/board/board-backdrop.js.map +1 -0
- package/dist/components/board/board-display.js +123 -123
- package/dist/components/board/board-display.js.map +1 -1
- package/dist/components/board/static-board-display.js +32 -32
- package/dist/components/chrome/fiesta-logo.js +2 -2
- package/dist/components/chrome/fiesta-logo.js.map +1 -1
- package/dist/components/chrome/page-header.d.ts +66 -4
- package/dist/components/chrome/page-header.js +31 -11
- package/dist/components/chrome/page-header.js.map +1 -1
- package/dist/components/chrome/page-layout.js +1 -1
- package/dist/components/chrome/page-layout.js.map +1 -1
- package/dist/components/chrome/sidebar.d.ts +2 -5
- package/dist/components/chrome/sidebar.js +152 -173
- package/dist/components/chrome/sidebar.js.map +1 -1
- package/dist/components/containment/json-tree.js +2 -2
- package/dist/components/containment/json-tree.js.map +1 -1
- package/dist/components/editor/node-views/wrapped-text-view.js +1 -1
- package/dist/components/editor/node-views/wrapped-text-view.js.map +1 -1
- package/dist/components/editor/variable-picker-content.js +4 -4
- package/dist/components/feedback/alert.js +4 -4
- package/dist/components/feedback/alert.js.map +1 -1
- package/dist/components/feedback/badge.js +4 -4
- package/dist/components/feedback/badge.js.map +1 -1
- package/dist/components/forms/button.js +5 -5
- package/dist/components/forms/button.js.map +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/plugin/board-showcase.js +2 -2
- package/dist/components/plugin/board-showcase.js.map +1 -1
- package/dist/components/plugin/plugin-category-badge.d.ts +27 -1
- package/dist/components/plugin/plugin-category-badge.js +18 -14
- package/dist/components/plugin/plugin-category-badge.js.map +1 -1
- package/dist/components/typography/text.js +1 -1
- package/dist/components/typography/text.js.map +1 -1
- package/dist/components/wizard/wizard-progress.d.ts +29 -0
- package/dist/components/wizard/wizard-progress.js +27 -0
- package/dist/components/wizard/wizard-progress.js.map +1 -0
- package/dist/components/wizard/wizard-shell.d.ts +63 -0
- package/dist/components/wizard/wizard-shell.js +69 -0
- package/dist/components/wizard/wizard-shell.js.map +1 -0
- package/dist/index.d.ts +3 -5
- package/dist/index.js +90 -92
- package/dist/theme.css +621 -503
- package/package.json +2 -4
- package/dist/components/effects/aurora.d.ts +0 -9
- package/dist/components/effects/aurora.js +0 -121
- package/dist/components/effects/aurora.js.map +0 -1
- package/dist/components/effects/react-bits/decrypted-text.d.ts +0 -14
- package/dist/components/effects/react-bits/decrypted-text.js +0 -88
- package/dist/components/effects/react-bits/decrypted-text.js.map +0 -1
- package/dist/components/seasons/aurora-canvas.d.ts +0 -22
- package/dist/components/seasons/aurora-canvas.js +0 -91
- package/dist/components/seasons/aurora-canvas.js.map +0 -1
- package/dist/components/seasons/sidebar-aurora-horizontal.d.ts +0 -3
- package/dist/components/seasons/sidebar-aurora-horizontal.js +0 -47
- package/dist/components/seasons/sidebar-aurora-horizontal.js.map +0 -1
- package/dist/components/seasons/sidebar-aurora.d.ts +0 -3
- package/dist/components/seasons/sidebar-aurora.js +0 -57
- package/dist/components/seasons/sidebar-aurora.js.map +0 -1
- package/dist/lib/seasons-drafts.d.ts +0 -26
- package/dist/lib/seasons-drafts.js +0 -106
- package/dist/lib/seasons-drafts.js.map +0 -1
- package/dist/lib/seasons.d.ts +0 -52
- package/dist/lib/seasons.js +0 -59
- package/dist/lib/seasons.js.map +0 -1
- package/dist/seasons/christmas.css +0 -64
- package/dist/seasons/easter.css +0 -62
- package/dist/seasons/fathers-day.css +0 -62
- package/dist/seasons/halloween.css +0 -69
- package/dist/seasons/mothers-day.css +0 -63
- package/dist/seasons/new-year.css +0 -66
- package/dist/seasons/pride.css +0 -68
- package/dist/seasons/thanksgiving.css +0 -64
|
@@ -3,12 +3,12 @@ import * as t from "react";
|
|
|
3
3
|
import { cva as n } from "class-variance-authority";
|
|
4
4
|
import { useRender as r } from "@base-ui/react/use-render";
|
|
5
5
|
//#region src/components/feedback/badge.tsx
|
|
6
|
-
var i = n("inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-
|
|
6
|
+
var i = n("inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-ring aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden", {
|
|
7
7
|
variants: { variant: {
|
|
8
|
-
default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary
|
|
9
|
-
brand: "border-transparent bg-
|
|
8
|
+
default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary-hover",
|
|
9
|
+
brand: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary-hover",
|
|
10
10
|
secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
|
|
11
|
-
destructive: "border-transparent bg-destructive text-destructive-foreground [a&]:hover:bg-destructive/90
|
|
11
|
+
destructive: "border-transparent bg-destructive text-destructive-foreground [a&]:hover:bg-destructive/90",
|
|
12
12
|
outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
|
|
13
13
|
variable: "bg-tag-variable/15 border-tag-variable/30 text-tag-variable-foreground font-mono [a&]:hover:bg-tag-variable/25",
|
|
14
14
|
success: "bg-tag-success/15 border-tag-success/40 text-tag-success-foreground font-mono [a&]:hover:bg-tag-success/25",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.js","names":[],"sources":["../../../src/components/feedback/badge.tsx"],"mappings":";;;;;AAMA,IAAM,IAAgB,EACpB,
|
|
1
|
+
{"version":3,"file":"badge.js","names":[],"sources":["../../../src/components/feedback/badge.tsx"],"mappings":";;;;;AAMA,IAAM,IAAgB,EACpB,0QACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EAKT,OAAO;EACP,WAAW;EACX,aAAa;EACb,SAAS;EACT,UACE;EACF,SACE;EACF,SACE;CACJ,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CACF;AAEA,SAAS,EAAM,EACb,cACA,YACA,aAAU,IACV,aACA,QACA,GAAG,KACyF;CAC5F,OAAO,EAAU;EACf,gBAAgB;EACX;EACL,QAAQ,IAAW,EAAM,SAAS,KAAK,CAAQ,IAA2B,KAAA;EAC1E,OAAO;GACL,aAAa;GACb,WAAW,EAAG,EAAc,EAAE,WAAQ,CAAC,GAAG,CAAS;GACnD,GAAI,IAAU,CAAC,IAAI,EAAE,YAAS;GAC9B,GAAG;EACL;CACF,CAAC;AACH"}
|
|
@@ -5,16 +5,16 @@ import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
|
5
5
|
import { cva as a } from "class-variance-authority";
|
|
6
6
|
import { useRender as o } from "@base-ui/react/use-render";
|
|
7
7
|
//#region src/components/forms/button.tsx
|
|
8
|
-
var s = a("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,background-color,border-color,box-shadow] duration-control disabled:pointer-events-none disabled:opacity-50 data-[loading]:cursor-progress [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0
|
|
8
|
+
var s = a("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,background-color,border-color,box-shadow] duration-control disabled:pointer-events-none disabled:opacity-50 data-[loading]:cursor-progress [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 focus-ring aria-invalid:border-destructive", {
|
|
9
9
|
variants: {
|
|
10
10
|
variant: {
|
|
11
|
-
default: "bg-primary text-primary-foreground hover:bg-primary
|
|
12
|
-
brand: "bg-
|
|
13
|
-
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90
|
|
11
|
+
default: "bg-primary text-primary-foreground shadow-sm hover:bg-primary-hover active:bg-primary-active",
|
|
12
|
+
brand: "bg-primary text-primary-foreground shadow-sm hover:bg-primary-hover active:bg-primary-active",
|
|
13
|
+
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
|
|
14
14
|
outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-card dark:border-input dark:hover:bg-muted",
|
|
15
15
|
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
16
16
|
ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
17
|
-
link: "text-
|
|
17
|
+
link: "text-brand underline decoration-1 underline-offset-4 hover:decoration-2"
|
|
18
18
|
},
|
|
19
19
|
size: {
|
|
20
20
|
default: "h-9 px-4 py-2 has-[>svg]:px-3 has-[>[data-slot=button-loading]>[data-slot=button-label]>svg]:px-3",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","names":[],"sources":["../../../src/components/forms/button.tsx"],"mappings":";;;;;;;AAOA,IAAM,IAAiB,EACrB,
|
|
1
|
+
{"version":3,"file":"button.js","names":[],"sources":["../../../src/components/forms/button.tsx"],"mappings":";;;;;;;AAOA,IAAM,IAAiB,EACrB,qYACA;CACE,UAAU;EACR,SAAS;GAUP,SAAS;GAMT,OAAO;GACP,aAKE;GAUF,SACE;GACF,WAAW;GACX,OAAO;GAOP,MAAM;EACR;EAQA,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,MAAM;GACN,WAAW;GACX,WAAW;EACb;CACF;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;CACR;AACF,CACF,GAKM,IAA+D;CACnE,SAAS;CACT,MAAM;CACN,IAAI;CACJ,WAAW;CACX,IAAI;CACJ,WAAW;AACb;AAEA,SAAS,EAAO,EACd,cACA,aAAU,WACV,UAAO,WACP,aAAU,IACV,aAAU,IACV,aACA,YACA,QACA,GAAG,KAeA;CAOH,IAAM,KAAe,MAA+C;EAClE,IAAI,GAAS;GAEX,AADA,EAAM,eAAe,GACrB,EAAM,gBAAgB;GACtB;EACF;EACA,IAAU,CAAK;CACjB,GAOM,IACJ,KAAW,CAAC,IACV,kBAAC,QAAD;EACE,aAAU;EACV,WAAU;EAFZ,UAAA,CAIE,kBAAC,QAAD;GACE,aAAU;GACV,WAAU;GAET;EACG,CAAA,GACN,kBAAC,QAAD;GAAM,aAAU;GAAiB,WAAU;GACzC,UAAA,kBAAC,GAAD;IAAS,MAAM,EAA4B,KAAQ;IAAY,OAAO;GAAO,CAAA;EACzE,CAAA,CACF;CAEN,CAAA,IAAA;CAGJ,OAAO,EAAU;EACf,gBAAgB;EACX;EACL,QAAQ,IAAW,EAAM,SAAS,KAAK,CAAQ,IAA2B,KAAA;EAC1E,OAAO;GACL,aAAa;GACb,gBAAgB;GAChB,aAAa;GACb,WAAW,EAAG,EAAe;IAAE;IAAS;GAAK,CAAC,GAAG,CAAS;GAC1D,GAAI,IAAU,CAAC,IAAI,EAAE,UAAU,EAAQ;GACvC,GAAG;GACH,GAAI,IAAU;IAAE,aAAa;IAAM,iBAAiB;IAAM,gBAAgB;GAAG,IAAI,CAAC;GAClF,SAAS;EACX;CACF,CAAC;AACH"}
|
|
@@ -4,7 +4,7 @@ declare const flexVariants: (props?: ({
|
|
|
4
4
|
direction?: "col" | "row" | null | undefined;
|
|
5
5
|
align?: "end" | "start" | "center" | "baseline" | "stretch" | null | undefined;
|
|
6
6
|
justify?: "end" | "start" | "center" | "between" | null | undefined;
|
|
7
|
-
gap?: "0" | "1" | "
|
|
7
|
+
gap?: "0" | "1" | "0.5" | "1.5" | "2" | "2.5" | "3" | "4" | "5" | "6" | "8" | "12" | null | undefined;
|
|
8
8
|
wrap?: boolean | null | undefined;
|
|
9
9
|
inline?: boolean | null | undefined;
|
|
10
10
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
@@ -5,7 +5,7 @@ declare const gridVariants: (props?: ({
|
|
|
5
5
|
sm?: "1" | "2" | "3" | "4" | "5" | "6" | "8" | null | undefined;
|
|
6
6
|
md?: "1" | "2" | "3" | "4" | "5" | "6" | "8" | null | undefined;
|
|
7
7
|
lg?: "1" | "2" | "3" | "4" | "5" | "6" | "8" | null | undefined;
|
|
8
|
-
gap?: "0" | "1" | "
|
|
8
|
+
gap?: "0" | "1" | "0.5" | "1.5" | "2" | "2.5" | "3" | "4" | "5" | "6" | "8" | "12" | null | undefined;
|
|
9
9
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
10
10
|
/**
|
|
11
11
|
* CSS grid container with an enumerated column count and gap scale.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type VariantProps } from "class-variance-authority";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
declare const stackVariants: (props?: ({
|
|
4
|
-
gap?: "0" | "1" | "
|
|
4
|
+
gap?: "0" | "1" | "0.5" | "1.5" | "2" | "2.5" | "3" | "4" | "5" | "6" | "8" | "12" | null | undefined;
|
|
5
5
|
align?: "end" | "start" | "center" | "stretch" | null | undefined;
|
|
6
6
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
7
|
/**
|
|
@@ -12,7 +12,7 @@ var f = {
|
|
|
12
12
|
boardColor: "Board color",
|
|
13
13
|
blackBoard: "Black Board",
|
|
14
14
|
whiteBoard: "White Board"
|
|
15
|
-
}, p = "rounded-full border px-4 py-1.5 text-xs font-medium transition-colors data-[active]:border-
|
|
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
16
|
function m({ previews: o, previewLabel: m, size: h = "md", boardType: g, defaultBoardType: _ = "black", onBoardTypeChange: v, labels: y, className: b }) {
|
|
17
17
|
let x = {
|
|
18
18
|
...f,
|
|
@@ -60,7 +60,7 @@ function m({ previews: o, previewLabel: m, size: h = "md", boardType: g, default
|
|
|
60
60
|
type: "button",
|
|
61
61
|
"aria-pressed": n,
|
|
62
62
|
onClick: () => T(t),
|
|
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", "outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50", n ? "border-
|
|
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", "outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50", n ? "border-primary bg-primary font-semibold text-primary-foreground" : "text-muted-foreground hover:border-brand hover:text-brand"),
|
|
64
64
|
children: t === "black" ? x.blackBoard : x.whiteBoard
|
|
65
65
|
}, t);
|
|
66
66
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board-showcase.js","names":[],"sources":["../../../src/components/plugin/board-showcase.tsx"],"mappings":";;;;;;;;AAiCA,IAAa,IAA+C;CAC1D,GAAG;CACH,YAAY;CACZ,YAAY;CACZ,YAAY;CACZ,YAAY;AACd,
|
|
1
|
+
{"version":3,"file":"board-showcase.js","names":[],"sources":["../../../src/components/plugin/board-showcase.tsx"],"mappings":";;;;;;;;AAiCA,IAAa,IAA+C;CAC1D,GAAG;CACH,YAAY;CACZ,YAAY;CACZ,YAAY;CACZ,YAAY;AACd,GAsBM,IACJ;AAIF,SAAgB,EAAc,EAC5B,aACA,iBACA,UAAO,MACP,cACA,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;KACnC,WAAW,EAAQ,cAAc;KACjC,WAAW,EAAQ,cAAc;KACnB;IACf,CAAA;GACU,GAbN,EAAU,EAaJ,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,oEACA,IACI,oEACA,2DACN;KAEC,UAAA,MAAU,UAAU,EAAE,aAAa,EAAE;IAChC,GAdD,CAcC;GAEZ,CAAC;EACE,CAAA,CACF;;AAET"}
|
|
@@ -1,7 +1,33 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Category
|
|
2
|
+
* Category chip for a plugin. One hue per category, defined once here so a
|
|
3
3
|
* plugin reads the same colour in the FiestaBoard marketplace and in the docs
|
|
4
4
|
* plugin directory. Unknown categories fall back to the neutral badge.
|
|
5
|
+
*
|
|
6
|
+
* This is a TILE, not a tint (#231). It used to be a 15%-opacity pill whose
|
|
7
|
+
* fill was an invented hue that had nothing to do with the plugin's own board
|
|
8
|
+
* preview — on the docs directory you could see a blue WEATHER badge sitting
|
|
9
|
+
* directly above a strip whose coloured tile was green. The seven category
|
|
10
|
+
* tokens are now the seven literal hardware hexes, and this component renders
|
|
11
|
+
* one as what it is: a square of board colour, with the leaf seam the board
|
|
12
|
+
* renderer draws, seated on the board's own dark surface.
|
|
13
|
+
*
|
|
14
|
+
* Two things follow from that and are load-bearing:
|
|
15
|
+
*
|
|
16
|
+
* 1. The square is ALWAYS on the dark board surface, in both themes, because
|
|
17
|
+
* a tile's colour is a property of the hardware and not of the viewer's
|
|
18
|
+
* theme. The chip is the one place in the UI where that is literally true.
|
|
19
|
+
*
|
|
20
|
+
* 2. The category tokens are consumed HERE AND NOWHERE ELSE. They are
|
|
21
|
+
* saturated hardware inks chosen for a 6mm plastic flap, not UI colours;
|
|
22
|
+
* `bg-category-*` on a page surface will not meet contrast and is not what
|
|
23
|
+
* they are for. Identity is a square; state is a fill, a rule or a dot.
|
|
24
|
+
*
|
|
25
|
+
* The old set shared one lightness across all seven, so the chips measured
|
|
26
|
+
* 1.001:1 against each other and were indistinguishable to a deuteranopic
|
|
27
|
+
* user. The tiles span 4.21:1 to 19.65:1 against board black, so six of the
|
|
28
|
+
* seven separate on lightness alone with hue removed. The seventh —
|
|
29
|
+
* home/orange against transit/green, 0.001 apart in lightness — is told apart
|
|
30
|
+
* by the word next to it, and only by the word.
|
|
5
31
|
*/
|
|
6
32
|
/** The categories FiestaBoard plugins may declare (manifest `category`). */
|
|
7
33
|
export declare const PLUGIN_CATEGORIES: readonly ["art", "data", "entertainment", "home", "transit", "utility", "weather"];
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { cn as e } from "../../lib/utils.js";
|
|
2
|
-
import {
|
|
3
|
-
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
4
3
|
//#region src/components/plugin/plugin-category-badge.tsx
|
|
5
4
|
var r = [
|
|
6
5
|
"art",
|
|
@@ -11,24 +10,29 @@ var r = [
|
|
|
11
10
|
"utility",
|
|
12
11
|
"weather"
|
|
13
12
|
], i = {
|
|
14
|
-
art: "bg-category-art
|
|
15
|
-
data: "bg-category-data
|
|
16
|
-
entertainment: "bg-category-entertainment
|
|
17
|
-
home: "bg-category-home
|
|
18
|
-
transit: "bg-category-transit
|
|
19
|
-
utility: "bg-category-utility
|
|
20
|
-
weather: "bg-category-weather
|
|
13
|
+
art: "bg-category-art",
|
|
14
|
+
data: "bg-category-data",
|
|
15
|
+
entertainment: "bg-category-entertainment",
|
|
16
|
+
home: "bg-category-home",
|
|
17
|
+
transit: "bg-category-transit",
|
|
18
|
+
utility: "bg-category-utility",
|
|
19
|
+
weather: "bg-category-weather"
|
|
21
20
|
};
|
|
22
21
|
function a(e) {
|
|
23
22
|
return e in i;
|
|
24
23
|
}
|
|
25
24
|
function o({ category: r, label: o, className: s }) {
|
|
26
|
-
let c = a(r)
|
|
27
|
-
return /* @__PURE__ */ n(
|
|
28
|
-
variant: a(r) ? "outline" : "secondary",
|
|
25
|
+
let c = a(r);
|
|
26
|
+
return /* @__PURE__ */ n("span", {
|
|
29
27
|
"data-category": r,
|
|
30
|
-
className: e("
|
|
31
|
-
children:
|
|
28
|
+
className: e("inline-flex w-fit max-w-full items-center gap-1.5 rounded-md", "border border-white/10 bg-board-surface-dark py-1 pl-1.5 pr-2", s),
|
|
29
|
+
children: [/* @__PURE__ */ t("span", {
|
|
30
|
+
"aria-hidden": "true",
|
|
31
|
+
className: e("relative block h-[13px] w-[10px] shrink-0 rounded-[2px]", c ? i[r] : "bg-board-text-on-dark/35", "after:absolute after:inset-x-0 after:top-1/2 after:h-px after:bg-black/45 after:content-['']")
|
|
32
|
+
}), /* @__PURE__ */ t("span", {
|
|
33
|
+
className: "truncate font-mono text-[0.68rem] font-semibold uppercase leading-none tracking-wide text-board-text-on-dark",
|
|
34
|
+
children: o ?? r
|
|
35
|
+
})]
|
|
32
36
|
});
|
|
33
37
|
}
|
|
34
38
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-category-badge.js","names":[],"sources":["../../../src/components/plugin/plugin-category-badge.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin-category-badge.js","names":[],"sources":["../../../src/components/plugin/plugin-category-badge.tsx"],"mappings":";;;AAmCA,IAAa,IAAoB;CAAC;CAAO;CAAQ;CAAiB;CAAQ;CAAW;CAAW;AAAS,GAQnG,IAAgD;CACpD,KAAK;CACL,MAAM;CACN,eAAe;CACf,MAAM;CACN,SAAS;CACT,SAAS;CACT,SAAS;AACX;AAEA,SAAS,EAAgB,GAA8C;CACrE,OAAO,KAAY;AACrB;AAUA,SAAgB,EAAoB,EAAE,aAAU,UAAO,gBAAuC;CAC5F,IAAM,IAAQ,EAAgB,CAAQ;CACtC,OACE,kBAAC,QAAD;EACE,iBAAe;EACf,WAAW,EAOT,gEACA,iEACA,CACF;EAZF,UAAA,CAgBE,kBAAC,QAAD;GACE,eAAY;GACZ,WAAW,EACT,2DACA,IAAQ,EAAc,KAAY,4BAElC,8FACF;EACD,CAAA,GACD,kBAAC,QAAD;GAAM,WAAU;GACb,UAAA,KAAS;EACN,CAAA,CACF;;AAEV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","names":[],"sources":["../../../src/components/typography/text.tsx"],"mappings":";;;;;AAKA,IAAM,IAAe,EAAI,IAAI;CAC3B,UAAU;EACR,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,MAAM;GACN,IAAI;EACN;EACA,MAAM;GACJ,SAAS;GACT,OAAO;GACP,aAAa;GACb,MAAM;GACN,SAAS;
|
|
1
|
+
{"version":3,"file":"text.js","names":[],"sources":["../../../src/components/typography/text.tsx"],"mappings":";;;;;AAKA,IAAM,IAAe,EAAI,IAAI;CAC3B,UAAU;EACR,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,MAAM;GACN,IAAI;EACN;EACA,MAAM;GACJ,SAAS;GACT,OAAO;GACP,aAAa;GACb,MAAM;GACN,SAAS;GAIT,SAAS;EACX;EACA,QAAQ;GACN,QAAQ;GACR,QAAQ;GACR,UAAU;EACZ;CACF;CACA,iBAAiB;EACf,MAAM;EACN,MAAM;EACN,QAAQ;CACV;AACF,CAAC;AAgBD,SAAS,EAAK,EAAE,QAAK,KAAK,cAAW,SAAM,SAAM,WAAQ,GAAG,KAAoB;CAE9E,OAAO,kBAAC,GAAD;EAAW,aAAU;EAAO,WAAW,EAAG,EAAa;GAAE;GAAM;GAAM;EAAO,CAAC,GAAG,CAAS;EAAG,GAAI;CAAQ,CAAA;AACjH"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface WizardProgressProps {
|
|
2
|
+
/** Ordered step labels. Length defines the number of steps. */
|
|
3
|
+
steps: string[];
|
|
4
|
+
/** 1-based index of the step the user is on. */
|
|
5
|
+
current: number;
|
|
6
|
+
/** Accessible name for the list, e.g. "Setup progress". */
|
|
7
|
+
label: string;
|
|
8
|
+
className?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The segmented progress indicator for a multi-step flow.
|
|
12
|
+
*
|
|
13
|
+
* Extracted from FiestaBoard's setup wizard, where it was three bare `<div>`s
|
|
14
|
+
* and a row of `<Text>` labels. That version had no accessible semantics at
|
|
15
|
+
* all: a screen reader got three empty boxes and three disconnected words, so
|
|
16
|
+
* "which step am I on, of how many" — the only question the component exists
|
|
17
|
+
* to answer — was answerable only by sighted users.
|
|
18
|
+
*
|
|
19
|
+
* It is an ordered list here, each step is a real `<li>` carrying its own
|
|
20
|
+
* label, and the active one is marked `aria-current="step"`. The visual bar
|
|
21
|
+
* and the label are the SAME element rather than two parallel rows, so they
|
|
22
|
+
* cannot drift out of alignment when a label wraps.
|
|
23
|
+
*
|
|
24
|
+
* Completed and current steps fill with `--primary` — the same "this is
|
|
25
|
+
* engaged" pigment as the primary button and the active nav item — and
|
|
26
|
+
* pending steps sit on `--muted`. The bar carries a 3:1 shape difference on
|
|
27
|
+
* its own, so state is not signalled by colour alone.
|
|
28
|
+
*/
|
|
29
|
+
export declare function WizardProgress({ steps, current, label, className }: WizardProgressProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.js";
|
|
2
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
3
|
+
//#region src/components/wizard/wizard-progress.tsx
|
|
4
|
+
function r({ steps: r, current: i, label: a, className: o }) {
|
|
5
|
+
return /* @__PURE__ */ t("ol", {
|
|
6
|
+
"aria-label": a,
|
|
7
|
+
className: e("flex items-start gap-2", o),
|
|
8
|
+
children: r.map((r, a) => {
|
|
9
|
+
let o = a + 1;
|
|
10
|
+
return /* @__PURE__ */ n("li", {
|
|
11
|
+
"aria-current": o === i ? "step" : void 0,
|
|
12
|
+
className: "flex min-w-0 flex-1 flex-col gap-2",
|
|
13
|
+
children: [/* @__PURE__ */ t("span", {
|
|
14
|
+
"aria-hidden": "true",
|
|
15
|
+
className: e("h-1.5 rounded-full transition-colors duration-slow", o <= i ? "bg-primary" : "bg-muted")
|
|
16
|
+
}), /* @__PURE__ */ t("span", {
|
|
17
|
+
className: e("truncate text-xs transition-colors duration-slow", o === i ? "text-foreground font-medium" : "text-muted-foreground"),
|
|
18
|
+
children: r
|
|
19
|
+
})]
|
|
20
|
+
}, r);
|
|
21
|
+
})
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
export { r as WizardProgress };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=wizard-progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wizard-progress.js","names":[],"sources":["../../../src/components/wizard/wizard-progress.tsx"],"mappings":";;;AA+BA,SAAgB,EAAe,EAAE,UAAO,YAAS,UAAO,gBAAkC;CACxF,OACE,kBAAC,MAAD;EAAI,cAAY;EAAO,WAAW,EAAG,0BAA0B,CAAS;EACrE,UAAA,EAAM,KAAK,GAAM,MAAM;GACtB,IAAM,IAAQ,IAAI;GAElB,OACE,kBAAC,MAAD;IAEE,gBAAc,MAAU,IAAU,SAAS,KAAA;IAC3C,WAAU;IAHZ,UAAA,CAKE,kBAAC,QAAD;KACE,eAAY;KACZ,WAAW,EAAG,sDATP,KAAS,IAS2D,eAAe,UAAU;IACrG,CAAA,GACD,kBAAC,QAAD;KACE,WAAW,EACT,oDACA,MAAU,IAAU,gCAAgC,uBACtD;KAEC,UAAA;IACG,CAAA,CACJ;GAhBG,GAAA,CAgBH;EAER,CAAC;CACC,CAAA;AAER"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export interface WizardShellProps {
|
|
2
|
+
/** Brand mark for the header medallion — an <img>, an inline SVG, anything. */
|
|
3
|
+
icon?: React.ReactNode;
|
|
4
|
+
/**
|
|
5
|
+
* Wordmark rendered beside the mark. Together they are the product lockup —
|
|
6
|
+
* a bare icon identifies nothing on a screen someone is seeing for the first
|
|
7
|
+
* time, which is exactly the audience of a setup wizard.
|
|
8
|
+
*/
|
|
9
|
+
wordmark?: React.ReactNode;
|
|
10
|
+
/** Product-level title, shown once above the step. */
|
|
11
|
+
title: string;
|
|
12
|
+
/** Product-level subtitle. */
|
|
13
|
+
description?: React.ReactNode;
|
|
14
|
+
/** Header-right slot: language selector, help link, theme toggle. */
|
|
15
|
+
aside?: React.ReactNode;
|
|
16
|
+
/** Ordered step labels; length defines the step count. */
|
|
17
|
+
steps: string[];
|
|
18
|
+
/** 1-based current step. */
|
|
19
|
+
current: number;
|
|
20
|
+
/** Accessible name for the progress list. */
|
|
21
|
+
progressLabel: string;
|
|
22
|
+
/** Heading for the current step. */
|
|
23
|
+
stepTitle: string;
|
|
24
|
+
/** Supporting copy for the current step. */
|
|
25
|
+
stepDescription?: React.ReactNode;
|
|
26
|
+
/** The step's own form/content. */
|
|
27
|
+
children: React.ReactNode;
|
|
28
|
+
/** Footer row — back, step count, skip, next. */
|
|
29
|
+
footer?: React.ReactNode;
|
|
30
|
+
/**
|
|
31
|
+
* Short board phrases to pack into the backdrop field. Omit for a plain
|
|
32
|
+
* background — the backdrop is opt-in because it is the splashy option, and
|
|
33
|
+
* a wizard that is not a first-run experience should not have one.
|
|
34
|
+
*/
|
|
35
|
+
backdropPhrases?: string[];
|
|
36
|
+
className?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Full-screen shell for a multi-step setup flow.
|
|
40
|
+
*
|
|
41
|
+
* Extracted from FiestaBoard's setup wizard, which is the first screen a new
|
|
42
|
+
* user ever sees and was the only surface in the product still built on
|
|
43
|
+
* devices the system has since retired:
|
|
44
|
+
*
|
|
45
|
+
* * A full-bleed WebGL Aurora behind everything. It was the last consumer of
|
|
46
|
+
* the animated-gradient look that got deleted from the sidebar, for the
|
|
47
|
+
* same reason — it out-shouted the form it was behind, and on first run the
|
|
48
|
+
* form is the entire job.
|
|
49
|
+
* * `bg-background/75 backdrop-blur-xl` glass over that aurora. Once there is
|
|
50
|
+
* no aurora, a translucent blur has nothing to blur: it just makes the card
|
|
51
|
+
* a slightly muddier version of the page.
|
|
52
|
+
* * `border border-white/10`, a pinned white hairline. Invisible on a light
|
|
53
|
+
* page — the same class of bug that put white labels on a light rail.
|
|
54
|
+
*
|
|
55
|
+
* What replaces them is the ordinary card vocabulary: `--card` on
|
|
56
|
+
* `--background`, one `--elevation-modal`, one `--border`. The result reads as
|
|
57
|
+
* an installed application rather than a splash screen, and it inherits every
|
|
58
|
+
* later change to those tokens for free.
|
|
59
|
+
*
|
|
60
|
+
* The shell is presentational and holds no state. Step order, validation,
|
|
61
|
+
* persistence and routing stay with the consumer — this owns the frame.
|
|
62
|
+
*/
|
|
63
|
+
export declare function WizardShell({ icon, wordmark, title, description, aside, steps, current, progressLabel, stepTitle, stepDescription, children, footer, backdropPhrases, className, }: WizardShellProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.js";
|
|
2
|
+
import { WizardProgress as t } from "./wizard-progress.js";
|
|
3
|
+
import { BoardBackdrop as n } from "../board/board-backdrop.js";
|
|
4
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/wizard/wizard-shell.tsx
|
|
6
|
+
function a({ icon: a, wordmark: o, title: s, description: c, aside: l, steps: u, current: d, progressLabel: f, stepTitle: p, stepDescription: m, children: h, footer: g, backdropPhrases: _, className: v }) {
|
|
7
|
+
return /* @__PURE__ */ i("div", {
|
|
8
|
+
className: e("bg-background fixed inset-0 z-50 overflow-y-auto", v),
|
|
9
|
+
children: [_?.length ? /* @__PURE__ */ r(n, {
|
|
10
|
+
phrases: _,
|
|
11
|
+
fixed: !0
|
|
12
|
+
}) : null, /* @__PURE__ */ r("div", {
|
|
13
|
+
className: "relative flex min-h-full items-start justify-center px-4 py-6 sm:px-6 sm:py-10",
|
|
14
|
+
children: /* @__PURE__ */ i("div", {
|
|
15
|
+
className: e("bg-card border-border w-full max-w-lg rounded-2xl border p-6 sm:p-8", "shadow-[var(--elevation-modal)]"),
|
|
16
|
+
children: [
|
|
17
|
+
/* @__PURE__ */ i("header", {
|
|
18
|
+
className: "pb-6",
|
|
19
|
+
children: [
|
|
20
|
+
/* @__PURE__ */ i("div", {
|
|
21
|
+
className: "flex items-center justify-between gap-4",
|
|
22
|
+
children: [/* @__PURE__ */ i("span", {
|
|
23
|
+
className: "flex min-w-0 items-center gap-3",
|
|
24
|
+
children: [a ? /* @__PURE__ */ r("span", {
|
|
25
|
+
className: "bg-board-surface-dark flex size-12 shrink-0 items-center justify-center overflow-hidden rounded-xl ring-1 ring-white/10 sm:size-14",
|
|
26
|
+
children: a
|
|
27
|
+
}) : null, o]
|
|
28
|
+
}), l]
|
|
29
|
+
}),
|
|
30
|
+
/* @__PURE__ */ r("h1", {
|
|
31
|
+
className: "mt-5 text-2xl font-semibold tracking-tight text-balance sm:text-3xl",
|
|
32
|
+
children: s
|
|
33
|
+
}),
|
|
34
|
+
c ? /* @__PURE__ */ r("p", {
|
|
35
|
+
className: "text-muted-foreground mt-2 text-sm sm:text-base",
|
|
36
|
+
children: c
|
|
37
|
+
}) : null
|
|
38
|
+
]
|
|
39
|
+
}),
|
|
40
|
+
/* @__PURE__ */ r(t, {
|
|
41
|
+
steps: u,
|
|
42
|
+
current: d,
|
|
43
|
+
label: f,
|
|
44
|
+
className: "pb-7"
|
|
45
|
+
}),
|
|
46
|
+
/* @__PURE__ */ i("div", {
|
|
47
|
+
className: "mb-6",
|
|
48
|
+
children: [/* @__PURE__ */ r("h2", {
|
|
49
|
+
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
|
+
children: m
|
|
54
|
+
}) : null]
|
|
55
|
+
}),
|
|
56
|
+
h,
|
|
57
|
+
g ? /* @__PURE__ */ r("div", {
|
|
58
|
+
className: "border-border mt-8 flex items-center justify-between border-t pt-6",
|
|
59
|
+
children: g
|
|
60
|
+
}) : null
|
|
61
|
+
]
|
|
62
|
+
})
|
|
63
|
+
})]
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
//#endregion
|
|
67
|
+
export { a as WizardShell };
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=wizard-shell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wizard-shell.js","names":[],"sources":["../../../src/components/wizard/wizard-shell.tsx"],"mappings":";;;;;AAsEA,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;OAYE,kBAAC,OAAD;QAAK,WAAU;QAAf,UAAA,CACE,kBAAC,QAAD;SAAM,WAAU;SAAhB,UAAA,CACG,IACC,kBAAC,QAAD;UAAM,WAAU;UACb,UAAA;SACG,CAAA,IACJ,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
|
@@ -10,7 +10,6 @@ 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/effects/aurora";
|
|
14
13
|
export * from "./components/feedback/alert";
|
|
15
14
|
export * from "./components/feedback/badge";
|
|
16
15
|
export * from "./components/feedback/empty-state";
|
|
@@ -32,7 +31,6 @@ export * from "./components/typography/list";
|
|
|
32
31
|
export * from "./components/containment/scroll-area";
|
|
33
32
|
export * from "./components/containment/table";
|
|
34
33
|
export * from "./components/containment/tabs";
|
|
35
|
-
export { default as DecryptedText } from "./components/effects/react-bits/decrypted-text";
|
|
36
34
|
export { default as FadeContent } from "./components/effects/react-bits/fade-content";
|
|
37
35
|
export * from "./components/feedback/skeleton";
|
|
38
36
|
export * from "./components/feedback/spinner";
|
|
@@ -60,10 +58,10 @@ export * from "./components/chrome/page-toolbar";
|
|
|
60
58
|
export * from "./components/chrome/sidebar";
|
|
61
59
|
export * from "./components/chrome/skip-to-content";
|
|
62
60
|
export * from "./components/chrome/theme-toggle";
|
|
63
|
-
export * from "./components/
|
|
64
|
-
export * from "./components/
|
|
65
|
-
export * from "./lib/seasons";
|
|
61
|
+
export * from "./components/wizard/wizard-progress";
|
|
62
|
+
export * from "./components/wizard/wizard-shell";
|
|
66
63
|
export { cn } from "./lib/utils";
|
|
64
|
+
export * from "./components/board/board-backdrop";
|
|
67
65
|
export * from "./components/board/board-display";
|
|
68
66
|
export * from "./components/board/board-teaser";
|
|
69
67
|
export * from "./components/board/scaled-board-display";
|