@fiestaboard/ui 5.0.1 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -5,93 +5,98 @@ import { Collapsible as f, CollapsibleContent as p, CollapsibleTrigger as m } fr
5
5
  import { JsonTree as h } from "./components/containment/json-tree.js";
6
6
  import { Alert as g, AlertDescription as _, AlertTitle as v, alertVariants as y } from "./components/feedback/alert.js";
7
7
  import { Badge as b, badgeVariants as x } from "./components/feedback/badge.js";
8
- import { EmptyState as S } from "./components/feedback/empty-state.js";
9
- import { Spinner as C, spinnerVariants as w } from "./components/feedback/spinner.js";
10
- import { Button as T, buttonVariants as E } from "./components/forms/button.js";
11
- import { Checkbox as D } from "./components/forms/checkbox.js";
12
- import { Input as O } from "./components/forms/input.js";
13
- import { Label as k } from "./components/forms/label.js";
14
- import { SecretInput as A } from "./components/forms/secret-input.js";
15
- import { Box as j } from "./components/layout/box.js";
16
- import { Flex as M, flexVariants as N } from "./components/layout/flex.js";
17
- import { Grid as P, gridVariants as F } from "./components/layout/grid.js";
18
- import { AlertDialog as I, AlertDialogAction as L, AlertDialogCancel as R, AlertDialogContent as z, AlertDialogDescription as B, AlertDialogFooter as V, AlertDialogHeader as H, AlertDialogOverlay as U, AlertDialogPortal as W, AlertDialogTitle as G, AlertDialogTrigger as K } from "./components/overlays/alert-dialog.js";
19
- import { Dialog as q, DialogClose as J, DialogContent as Y, DialogDescription as X, DialogFooter as Z, DialogHeader as Q, DialogOverlay as $, DialogPortal as ee, DialogTitle as te, DialogTrigger as ne } from "./components/overlays/dialog.js";
20
- import { DropdownMenu as re, DropdownMenuCheckboxItem as ie, DropdownMenuContent as ae, DropdownMenuGroup as oe, DropdownMenuItem as se, DropdownMenuLabel as ce, DropdownMenuPortal as le, DropdownMenuRadioGroup as ue, DropdownMenuRadioItem as de, DropdownMenuSeparator as fe, DropdownMenuShortcut as pe, DropdownMenuSub as me, DropdownMenuSubContent as he, DropdownMenuSubTrigger as ge, DropdownMenuTrigger as _e } from "./components/overlays/dropdown-menu.js";
21
- import { Popover as ve, PopoverClose as ye, PopoverContent as be, PopoverDescription as xe, PopoverTitle as Se, PopoverTrigger as Ce, usePopoverClose as we } from "./components/overlays/popover.js";
22
- import { Code as Te } from "./components/typography/code.js";
23
- import { Heading as Ee, headingVariants as De } from "./components/typography/heading.js";
24
- import { List as Oe, ListItem as ke, listVariants as Ae } from "./components/typography/list.js";
25
- import { ScrollArea as je, ScrollBar as Me } from "./components/containment/scroll-area.js";
26
- import { Table as Ne, TableBody as Pe, TableCell as Fe, TableHead as Ie, TableHeader as Le, TableRow as Re } from "./components/containment/table.js";
27
- import { Tabs as ze, TabsContent as Be, TabsList as Ve, TabsTrigger as He } from "./components/containment/tabs.js";
28
- import Ue from "./components/effects/react-bits/fade-content.js";
29
- import { Skeleton as We } from "./components/feedback/skeleton.js";
30
- import { StatusDot as Ge, statusDotVariants as Ke } from "./components/feedback/status-dot.js";
31
- import { Select as qe, SelectContent as Je, SelectGroup as Ye, SelectItem as Xe, SelectLabel as Ze, SelectScrollDownButton as Qe, SelectScrollUpButton as $e, SelectSeparator as et, SelectTrigger as tt, SelectValue as nt } from "./components/forms/select.js";
32
- import { Slider as rt } from "./components/forms/slider.js";
33
- import { Switch as it } from "./components/forms/switch.js";
34
- import { Textarea as at } from "./components/forms/textarea.js";
35
- import { Text as ot, textVariants as st } from "./components/typography/text.js";
36
- import { TimePicker as ct } from "./components/forms/time-picker.js";
37
- import { SegmentedControl as lt, SegmentedControlItem as ut, ToggleCard as dt, ToggleCardGroup as ft, segmentedControlItemVariants as pt, segmentedControlVariants as mt, toggleCardGroupVariants as ht, toggleCardVariants as gt } from "./components/forms/toggle-card.js";
38
- import { Stack as _t, stackVariants as vt } from "./components/layout/stack.js";
39
- import { Sheet as yt, SheetClose as bt, SheetContent as xt, SheetDescription as St, SheetFooter as Ct, SheetHeader as wt, SheetOverlay as Tt, SheetPortal as Et, SheetTitle as Dt, SheetTrigger as Ot } from "./components/overlays/sheet.js";
40
- import { Tooltip as kt, TooltipContent as At, TooltipProvider as jt, TooltipTrigger as Mt } from "./components/overlays/tooltip.js";
41
- import { TextLink as Nt } from "./components/typography/text-link.js";
42
- import { BoardIcon as Pt } from "./components/chrome/board-icon.js";
43
- import { BoardSelector as Ft } from "./components/chrome/board-selector.js";
44
- import { FIESTA_ICON_DATA_URI as It, FIESTA_ICON_PALETTE as Lt, FIESTA_ICON_SVG as Rt, FiestaIcon as zt } from "./components/chrome/fiesta-icon.js";
45
- import { FiestaLogo as Bt } from "./components/chrome/fiesta-logo.js";
46
- import { LanguageSelector as Vt } from "./components/chrome/language-selector.js";
47
- import { MainContent as Ht } from "./components/chrome/main-content.js";
48
- import { PAGE_HUES as Ut, PageHeader as Wt, PageIconGradientDefs as Gt, pageHue as Kt } from "./components/chrome/page-header.js";
49
- import { PageLayout as qt } from "./components/chrome/page-layout.js";
50
- import { PageToolbar as Jt } from "./components/chrome/page-toolbar.js";
51
- import { Sidebar as Yt } from "./components/chrome/sidebar.js";
52
- import { SkipToContent as Xt } from "./components/chrome/skip-to-content.js";
53
- import { ThemeToggle as Zt } from "./components/chrome/theme-toggle.js";
54
- import { WizardProgress as Qt } from "./components/wizard/wizard-progress.js";
55
- import { ALL_COLOR_CODES as $t, AVAILABLE_COLORS as en, BOARD_COLORS as tn, COLOR_CODE_MAP as nn, COLOR_DISPLAY as rn, FIESTABOARD_COLORS as an, getBoardColor as on, isValidBoardColor as sn, resolveColorCode as cn } from "./lib/board-colors.js";
56
- import { BOARD_CHARS as ln, EXTRA_CHARS as un, getCharFromToken as dn, getCharIndex as fn, isColorTile as pn, messageToGrid as mn, messageToText as hn, parseLine as gn, tokensEqual as _n } from "./lib/board-characters.js";
57
- import { BoardTeaser as vn } from "./components/board/board-teaser.js";
58
- import { BoardBackdrop as yn } from "./components/board/board-backdrop.js";
59
- import { WizardShell as bn } from "./components/wizard/wizard-shell.js";
60
- import { DEVICE_DIMENSIONS as xn, MAX_NOTES_PER_AXIS as Sn, NOTE_COLS as Cn, NOTE_ROWS as wn, isNoteArray as Tn, noteArrayDimensions as En, resolveDimensions as Dn } from "./lib/board-dimensions.js";
61
- import { BoardDisplay as On, FLAP_SPEED_PRESETS as kn, deriveFlapTiming as An, resolveFlapSpeed as jn } from "./components/board/board-display.js";
62
- import { ScaledBoardDisplay as Mn } from "./components/board/scaled-board-display.js";
63
- import { StaticBoardDisplay as Nn } from "./components/board/static-board-display.js";
64
- import { DEFAULT_SHAPE_LABELS as Pn, previewLabel as Fn, previewLabels as In, previewMessage as Ln } from "./lib/board-previews.js";
65
- import { BoardShowcase as Rn, DEFAULT_SHOWCASE_LABELS as zn } from "./components/plugin/board-showcase.js";
66
- import { PLUGIN_CATEGORIES as Bn, PluginCategoryBadge as Vn } from "./components/plugin/plugin-category-badge.js";
67
- import { ScaledBoardTeaser as Hn } from "./components/plugin/scaled-board-teaser.js";
68
- import { PluginCard as Un } from "./components/plugin/plugin-card.js";
69
- import { BOARD_CODE_TO_COLOR as Wn, BOARD_COLOR_CODES as Gn, CURSOR_ANCHOR as Kn, DEFAULT_BOARD_LINES as qn, DEFAULT_BOARD_WIDTH as Jn, FILL_SPACE_REPEAT_VAR as Yn, FILL_SPACE_VAR as Xn } from "./components/editor/constants.js";
70
- import { NodeViewInjectionProvider as Zn, useNodeViewInjection as Qn } from "./components/editor/node-views/node-view-context.js";
71
- import { ColorTileNodeView as $n, DEFAULT_COLOR_TILE_NODE_VIEW_LABELS as er } from "./components/editor/node-views/color-tile-node-view.js";
72
- import { ColorTileNode as tr } from "./components/editor/extensions/color-tile-node.js";
73
- import { DEFAULT_FILL_SPACE_NODE_VIEW_LABELS as nr, FillSpaceNodeView as rr } from "./components/editor/node-views/fill-space-node-view.js";
74
- import { FillSpaceNode as ir } from "./components/editor/extensions/fill-space-node.js";
75
- import { DEFAULT_FORMULA_NODE_VIEW_LABELS as ar, FormulaNodeView as or } from "./components/editor/node-views/formula-node-view.js";
76
- import { FormulaNode as sr } from "./components/editor/extensions/formula-node.js";
77
- import { LineNavigation as cr } from "./components/editor/extensions/line-navigation.js";
78
- import { SingleParagraphDoc as lr } from "./components/editor/extensions/single-paragraph-doc.js";
79
- import { TrailingNewline as ur } from "./components/editor/extensions/trailing-newline.js";
80
- import { DEFAULT_VARIABLE_NODE_VIEW_LABELS as dr, VariableNodeView as fr } from "./components/editor/node-views/variable-node-view.js";
81
- import { VariableNode as pr } from "./components/editor/extensions/variable-node.js";
82
- import { DEFAULT_WRAPPED_TEXT_VIEW_LABELS as mr, WrappedTextView as hr } from "./components/editor/node-views/wrapped-text-view.js";
83
- import { WrappedTextNode as gr } from "./components/editor/extensions/wrapped-text-node.js";
84
- import { ColorPickerContent as _r, DEFAULT_COLOR_PICKER_LABELS as vr } from "./components/editor/color-picker-content.js";
85
- import { DRAW_CHARS as yr, brushToCell as br, cellsToLine as xr, isPositionalLine as Sr, lineToCells as Cr, paintLine as wr, renderPositionalLine as Tr } from "./components/editor/utils/draw-mode.js";
86
- import { DEFAULT_DRAW_CHAR_PICKER_LABELS as Er, DrawCharPickerContent as Dr } from "./components/editor/draw-char-picker-content.js";
87
- import { DEFAULT_FORMATTING_PICKER_LABELS as Or, FormattingPickerContent as kr } from "./components/editor/formatting-picker-content.js";
88
- import { DEFAULT_TOOLBAR_DROPDOWN_LABELS as Ar, ToolbarDropdown as jr } from "./components/editor/toolbar-dropdown.js";
89
- import { parseLineContent as Mr, parseTemplateSimple as Nr, serializeTemplateSimple as Pr } from "./components/editor/utils/serialization.js";
90
- import { insertTemplateContent as Fr } from "./components/editor/utils/insertion.js";
91
- import { DEFAULT_TEMPLATE_EDITOR_TOOLBAR_LABELS as Ir, TemplateEditorToolbar as Lr } from "./components/editor/template-editor-toolbar.js";
92
- import { buildStrokeTransaction as Rr, lineRanges as zr } from "./components/editor/utils/stroke-transaction.js";
93
- import { DEFAULT_TEMPLATE_EDITOR_LABELS as Br, TemplateEditor as Vr } from "./components/editor/template-editor.js";
94
- import { DEFAULT_FILTER_PICKER_LABELS as Hr, FilterPickerContent as Ur } from "./components/editor/filter-picker-content.js";
95
- import { DEFAULT_VARIABLE_PICKER_LABELS as Wr, VariablePickerContent as Gr, createLucideIconResolver as Kr, getPluginsWithNestedArrays as qr } from "./components/editor/variable-picker-content.js";
96
- import { calculateLineLength as Jr, getOverflowAmount as Yr, willOverflow as Xr } from "./components/editor/utils/length-calculator.js";
97
- export { $t as ALL_COLOR_CODES, en as AVAILABLE_COLORS, t as Accordion, n as AccordionContent, r as AccordionItem, i as AccordionTrigger, g as Alert, _ as AlertDescription, I as AlertDialog, L as AlertDialogAction, R as AlertDialogCancel, z as AlertDialogContent, B as AlertDialogDescription, V as AlertDialogFooter, H as AlertDialogHeader, U as AlertDialogOverlay, W as AlertDialogPortal, G as AlertDialogTitle, K as AlertDialogTrigger, v as AlertTitle, ln as BOARD_CHARS, Wn as BOARD_CODE_TO_COLOR, tn as BOARD_COLORS, Gn as BOARD_COLOR_CODES, b as Badge, yn as BoardBackdrop, On as BoardDisplay, Pt as BoardIcon, Ft as BoardSelector, Rn as BoardShowcase, vn as BoardTeaser, j as Box, T as Button, nn as COLOR_CODE_MAP, rn as COLOR_DISPLAY, Kn as CURSOR_ANCHOR, a as Card, o as CardAction, s as CardContent, c as CardDescription, l as CardFooter, u as CardHeader, d as CardTitle, D as Checkbox, Te as Code, f as Collapsible, p as CollapsibleContent, m as CollapsibleTrigger, _r as ColorPickerContent, tr as ColorTileNode, $n as ColorTileNodeView, qn as DEFAULT_BOARD_LINES, Jn as DEFAULT_BOARD_WIDTH, vr as DEFAULT_COLOR_PICKER_LABELS, er as DEFAULT_COLOR_TILE_NODE_VIEW_LABELS, Er as DEFAULT_DRAW_CHAR_PICKER_LABELS, nr as DEFAULT_FILL_SPACE_NODE_VIEW_LABELS, Hr as DEFAULT_FILTER_PICKER_LABELS, Or as DEFAULT_FORMATTING_PICKER_LABELS, ar as DEFAULT_FORMULA_NODE_VIEW_LABELS, Pn as DEFAULT_SHAPE_LABELS, zn as DEFAULT_SHOWCASE_LABELS, Br as DEFAULT_TEMPLATE_EDITOR_LABELS, Ir as DEFAULT_TEMPLATE_EDITOR_TOOLBAR_LABELS, Ar as DEFAULT_TOOLBAR_DROPDOWN_LABELS, dr as DEFAULT_VARIABLE_NODE_VIEW_LABELS, Wr as DEFAULT_VARIABLE_PICKER_LABELS, mr as DEFAULT_WRAPPED_TEXT_VIEW_LABELS, xn as DEVICE_DIMENSIONS, yr as DRAW_CHARS, q as Dialog, J as DialogClose, Y as DialogContent, X as DialogDescription, Z as DialogFooter, Q as DialogHeader, $ as DialogOverlay, ee as DialogPortal, te as DialogTitle, ne as DialogTrigger, Dr as DrawCharPickerContent, re as DropdownMenu, ie as DropdownMenuCheckboxItem, ae as DropdownMenuContent, oe as DropdownMenuGroup, se as DropdownMenuItem, ce as DropdownMenuLabel, le as DropdownMenuPortal, ue as DropdownMenuRadioGroup, de as DropdownMenuRadioItem, fe as DropdownMenuSeparator, pe as DropdownMenuShortcut, me as DropdownMenuSub, he as DropdownMenuSubContent, ge as DropdownMenuSubTrigger, _e as DropdownMenuTrigger, un as EXTRA_CHARS, S as EmptyState, an as FIESTABOARD_COLORS, It as FIESTA_ICON_DATA_URI, Lt as FIESTA_ICON_PALETTE, Rt as FIESTA_ICON_SVG, Yn as FILL_SPACE_REPEAT_VAR, Xn as FILL_SPACE_VAR, kn as FLAP_SPEED_PRESETS, Ue as FadeContent, zt as FiestaIcon, Bt as FiestaLogo, ir as FillSpaceNode, rr as FillSpaceNodeView, Ur as FilterPickerContent, M as Flex, kr as FormattingPickerContent, sr as FormulaNode, or as FormulaNodeView, P as Grid, Ee as Heading, O as Input, h as JsonTree, k as Label, Vt as LanguageSelector, cr as LineNavigation, Oe as List, ke as ListItem, Sn as MAX_NOTES_PER_AXIS, Ht as MainContent, Cn as NOTE_COLS, wn as NOTE_ROWS, Zn as NodeViewInjectionProvider, Ut as PAGE_HUES, Bn as PLUGIN_CATEGORIES, Wt as PageHeader, Gt as PageIconGradientDefs, qt as PageLayout, Jt as PageToolbar, Un as PluginCard, Vn as PluginCategoryBadge, ve as Popover, ye as PopoverClose, be as PopoverContent, xe as PopoverDescription, Se as PopoverTitle, Ce as PopoverTrigger, Mn as ScaledBoardDisplay, Hn as ScaledBoardTeaser, je as ScrollArea, Me as ScrollBar, A as SecretInput, lt as SegmentedControl, ut as SegmentedControlItem, qe as Select, Je as SelectContent, Ye as SelectGroup, Xe as SelectItem, Ze as SelectLabel, Qe as SelectScrollDownButton, $e as SelectScrollUpButton, et as SelectSeparator, tt as SelectTrigger, nt as SelectValue, yt as Sheet, bt as SheetClose, xt as SheetContent, St as SheetDescription, Ct as SheetFooter, wt as SheetHeader, Tt as SheetOverlay, Et as SheetPortal, Dt as SheetTitle, Ot as SheetTrigger, Yt as Sidebar, lr as SingleParagraphDoc, We as Skeleton, Xt as SkipToContent, rt as Slider, C as Spinner, _t as Stack, Nn as StaticBoardDisplay, Ge as StatusDot, it as Switch, Ne as Table, Pe as TableBody, Fe as TableCell, Ie as TableHead, Le as TableHeader, Re as TableRow, ze as Tabs, Be as TabsContent, Ve as TabsList, He as TabsTrigger, Vr as TemplateEditor, Lr as TemplateEditorToolbar, ot as Text, Nt as TextLink, at as Textarea, Zt as ThemeToggle, ct as TimePicker, dt as ToggleCard, ft as ToggleCardGroup, jr as ToolbarDropdown, kt as Tooltip, At as TooltipContent, jt as TooltipProvider, Mt as TooltipTrigger, ur as TrailingNewline, pr as VariableNode, fr as VariableNodeView, Gr as VariablePickerContent, Qt as WizardProgress, bn as WizardShell, gr as WrappedTextNode, hr as WrappedTextView, y as alertVariants, x as badgeVariants, br as brushToCell, Rr as buildStrokeTransaction, E as buttonVariants, Jr as calculateLineLength, xr as cellsToLine, e as cn, Kr as createLucideIconResolver, An as deriveFlapTiming, N as flexVariants, on as getBoardColor, dn as getCharFromToken, fn as getCharIndex, Yr as getOverflowAmount, qr as getPluginsWithNestedArrays, F as gridVariants, De as headingVariants, Fr as insertTemplateContent, pn as isColorTile, Tn as isNoteArray, Sr as isPositionalLine, sn as isValidBoardColor, zr as lineRanges, Cr as lineToCells, Ae as listVariants, mn as messageToGrid, hn as messageToText, En as noteArrayDimensions, Kt as pageHue, wr as paintLine, gn as parseLine, Mr as parseLineContent, Nr as parseTemplateSimple, Fn as previewLabel, In as previewLabels, Ln as previewMessage, Tr as renderPositionalLine, cn as resolveColorCode, Dn as resolveDimensions, jn as resolveFlapSpeed, pt as segmentedControlItemVariants, mt as segmentedControlVariants, Pr as serializeTemplateSimple, w as spinnerVariants, vt as stackVariants, Ke as statusDotVariants, st as textVariants, ht as toggleCardGroupVariants, gt as toggleCardVariants, _n as tokensEqual, Qn as useNodeViewInjection, we as usePopoverClose, Xr as willOverflow };
8
+ import { Chip as S, chipVariants as C } from "./components/feedback/chip.js";
9
+ import { EmptyState as w } from "./components/feedback/empty-state.js";
10
+ import { Spinner as T, spinnerVariants as E } from "./components/feedback/spinner.js";
11
+ import { Button as D, buttonVariants as O } from "./components/forms/button.js";
12
+ import { Checkbox as k } from "./components/forms/checkbox.js";
13
+ import { Input as A } from "./components/forms/input.js";
14
+ import { Label as j } from "./components/forms/label.js";
15
+ import { SecretInput as M } from "./components/forms/secret-input.js";
16
+ import { Box as N } from "./components/layout/box.js";
17
+ import { Flex as P, flexVariants as F } from "./components/layout/flex.js";
18
+ import { Grid as I, gridVariants as L } from "./components/layout/grid.js";
19
+ import { AlertDialog as R, AlertDialogAction as z, AlertDialogCancel as B, AlertDialogContent as V, AlertDialogDescription as H, AlertDialogFooter as U, AlertDialogHeader as W, AlertDialogOverlay as G, AlertDialogPortal as K, AlertDialogTitle as q, AlertDialogTrigger as J } from "./components/overlays/alert-dialog.js";
20
+ import { Dialog as Y, DialogClose as X, DialogContent as Z, DialogDescription as Q, DialogFooter as $, DialogHeader as ee, DialogOverlay as te, DialogPortal as ne, DialogTitle as re, DialogTrigger as ie } from "./components/overlays/dialog.js";
21
+ import { DropdownMenu as ae, DropdownMenuCheckboxItem as oe, DropdownMenuContent as se, DropdownMenuGroup as ce, DropdownMenuItem as le, DropdownMenuLabel as ue, DropdownMenuPortal as de, DropdownMenuRadioGroup as fe, DropdownMenuRadioItem as pe, DropdownMenuSeparator as me, DropdownMenuShortcut as he, DropdownMenuSub as ge, DropdownMenuSubContent as _e, DropdownMenuSubTrigger as ve, DropdownMenuTrigger as ye } from "./components/overlays/dropdown-menu.js";
22
+ import { Popover as be, PopoverClose as xe, PopoverContent as Se, PopoverDescription as Ce, PopoverTitle as we, PopoverTrigger as Te, usePopoverClose as Ee } from "./components/overlays/popover.js";
23
+ import { Code as De } from "./components/typography/code.js";
24
+ import { Heading as Oe, headingVariants as ke } from "./components/typography/heading.js";
25
+ import { List as Ae, ListItem as je, listVariants as Me } from "./components/typography/list.js";
26
+ import { ScrollArea as Ne, ScrollBar as Pe } from "./components/containment/scroll-area.js";
27
+ import { Table as Fe, TableBody as Ie, TableCell as Le, TableHead as Re, TableHeader as ze, TableRow as Be } from "./components/containment/table.js";
28
+ import { Tabs as Ve, TabsContent as He, TabsList as Ue, TabsTrigger as We } from "./components/containment/tabs.js";
29
+ import Ge from "./components/effects/react-bits/fade-content.js";
30
+ import { Skeleton as Ke } from "./components/feedback/skeleton.js";
31
+ import { StatusDot as qe, statusDotVariants as Je } from "./components/feedback/status-dot.js";
32
+ import { Select as Ye, SelectContent as Xe, SelectGroup as Ze, SelectItem as Qe, SelectLabel as $e, SelectScrollDownButton as et, SelectScrollUpButton as tt, SelectSeparator as nt, SelectTrigger as rt, SelectValue as it } from "./components/forms/select.js";
33
+ import { Slider as at } from "./components/forms/slider.js";
34
+ import { Switch as ot } from "./components/forms/switch.js";
35
+ import { Textarea as st } from "./components/forms/textarea.js";
36
+ import { Text as ct, textVariants as lt } from "./components/typography/text.js";
37
+ import { TimePicker as ut } from "./components/forms/time-picker.js";
38
+ import { Toggle as dt, ToggleGroup as ft, toggleGroupVariants as pt, toggleVariants as mt } from "./components/forms/toggle.js";
39
+ import { SegmentedControl as ht, SegmentedControlItem as gt, ToggleCard as _t, ToggleCardGroup as vt, segmentedControlItemVariants as yt, segmentedControlVariants as bt, toggleCardGroupVariants as xt, toggleCardVariants as St } from "./components/forms/toggle-card.js";
40
+ import { Stack as Ct, stackVariants as wt } from "./components/layout/stack.js";
41
+ import { Sheet as Tt, SheetClose as Et, SheetContent as Dt, SheetDescription as Ot, SheetFooter as kt, SheetHeader as At, SheetOverlay as jt, SheetPortal as Mt, SheetTitle as Nt, SheetTrigger as Pt } from "./components/overlays/sheet.js";
42
+ import { Tooltip as Ft, TooltipContent as It, TooltipProvider as Lt, TooltipTrigger as Rt } from "./components/overlays/tooltip.js";
43
+ import { TextLink as zt } from "./components/typography/text-link.js";
44
+ import { BoardIcon as Bt } from "./components/chrome/board-icon.js";
45
+ import { BoardSelector as Vt } from "./components/chrome/board-selector.js";
46
+ import { Breadcrumb as Ht, BreadcrumbEllipsis as Ut, BreadcrumbItem as Wt, BreadcrumbLink as Gt, BreadcrumbList as Kt, BreadcrumbPage as qt, BreadcrumbSeparator as Jt } from "./components/chrome/breadcrumb.js";
47
+ import { FIESTA_ICON_DATA_URI as Yt, FIESTA_ICON_PALETTE as Xt, FIESTA_ICON_SVG as Zt, FiestaIcon as Qt } from "./components/chrome/fiesta-icon.js";
48
+ import { FiestaLogo as $t } from "./components/chrome/fiesta-logo.js";
49
+ import { LanguageSelector as en } from "./components/chrome/language-selector.js";
50
+ import { MainContent as tn } from "./components/chrome/main-content.js";
51
+ import { PAGE_HUES as nn, PageHeader as rn, PageIconGradientDefs as an, pageHue as on } from "./components/chrome/page-header.js";
52
+ import { PageLayout as sn } from "./components/chrome/page-layout.js";
53
+ import { PageToolbar as cn } from "./components/chrome/page-toolbar.js";
54
+ import { Sidebar as ln } from "./components/chrome/sidebar.js";
55
+ import { SkipToContent as un } from "./components/chrome/skip-to-content.js";
56
+ import { ThemeToggle as dn } from "./components/chrome/theme-toggle.js";
57
+ import { WizardProgress as fn } from "./components/wizard/wizard-progress.js";
58
+ import { ALL_COLOR_CODES as pn, AVAILABLE_COLORS as mn, BOARD_COLORS as hn, COLOR_CODE_MAP as gn, COLOR_DISPLAY as _n, FIESTABOARD_COLORS as vn, getBoardColor as yn, isValidBoardColor as bn, resolveColorCode as xn } from "./lib/board-colors.js";
59
+ import { BOARD_CHARS as Sn, EXTRA_CHARS as Cn, getCharFromToken as wn, getCharIndex as Tn, isColorTile as En, messageToGrid as Dn, messageToText as On, parseLine as kn, tokensEqual as An } from "./lib/board-characters.js";
60
+ import { BoardTeaser as jn } from "./components/board/board-teaser.js";
61
+ import { BoardBackdrop as Mn } from "./components/board/board-backdrop.js";
62
+ import { WizardShell as Nn } from "./components/wizard/wizard-shell.js";
63
+ import { DEVICE_DIMENSIONS as Pn, MAX_NOTES_PER_AXIS as Fn, NOTE_COLS as In, NOTE_ROWS as Ln, isNoteArray as Rn, noteArrayDimensions as zn, resolveDimensions as Bn } from "./lib/board-dimensions.js";
64
+ import { BoardDisplay as Vn, FLAP_SPEED_PRESETS as Hn, deriveFlapTiming as Un, resolveFlapSpeed as Wn } from "./components/board/board-display.js";
65
+ import { ScaledBoardDisplay as Gn } from "./components/board/scaled-board-display.js";
66
+ import { StaticBoardDisplay as Kn } from "./components/board/static-board-display.js";
67
+ import { DEFAULT_SHAPE_LABELS as qn, previewLabel as Jn, previewLabels as Yn, previewMessage as Xn } from "./lib/board-previews.js";
68
+ import { BarList as Zn } from "./components/data/bar-list.js";
69
+ import { StatStrip as Qn, StatStripItem as $n } from "./components/data/stat-strip.js";
70
+ import { BoardShowcase as er, DEFAULT_SHOWCASE_LABELS as tr } from "./components/plugin/board-showcase.js";
71
+ import { PLUGIN_CATEGORIES as nr, PluginCategoryBadge as rr } from "./components/plugin/plugin-category-badge.js";
72
+ import { ScaledBoardTeaser as ir } from "./components/plugin/scaled-board-teaser.js";
73
+ import { PluginCard as ar } from "./components/plugin/plugin-card.js";
74
+ import { BOARD_CODE_TO_COLOR as or, BOARD_COLOR_CODES as sr, CURSOR_ANCHOR as cr, DEFAULT_BOARD_LINES as lr, DEFAULT_BOARD_WIDTH as ur, FILL_SPACE_REPEAT_VAR as dr, FILL_SPACE_VAR as fr } from "./components/editor/constants.js";
75
+ import { NodeViewInjectionProvider as pr, useNodeViewInjection as mr } from "./components/editor/node-views/node-view-context.js";
76
+ import { ColorTileNodeView as hr, DEFAULT_COLOR_TILE_NODE_VIEW_LABELS as gr } from "./components/editor/node-views/color-tile-node-view.js";
77
+ import { ColorTileNode as _r } from "./components/editor/extensions/color-tile-node.js";
78
+ import { DEFAULT_FILL_SPACE_NODE_VIEW_LABELS as vr, FillSpaceNodeView as yr } from "./components/editor/node-views/fill-space-node-view.js";
79
+ import { FillSpaceNode as br } from "./components/editor/extensions/fill-space-node.js";
80
+ import { DEFAULT_FORMULA_NODE_VIEW_LABELS as xr, FormulaNodeView as Sr } from "./components/editor/node-views/formula-node-view.js";
81
+ import { FormulaNode as Cr } from "./components/editor/extensions/formula-node.js";
82
+ import { LineNavigation as wr } from "./components/editor/extensions/line-navigation.js";
83
+ import { SingleParagraphDoc as Tr } from "./components/editor/extensions/single-paragraph-doc.js";
84
+ import { TrailingNewline as Er } from "./components/editor/extensions/trailing-newline.js";
85
+ import { DEFAULT_VARIABLE_NODE_VIEW_LABELS as Dr, VariableNodeView as Or } from "./components/editor/node-views/variable-node-view.js";
86
+ import { VariableNode as kr } from "./components/editor/extensions/variable-node.js";
87
+ import { DEFAULT_WRAPPED_TEXT_VIEW_LABELS as Ar, WrappedTextView as jr } from "./components/editor/node-views/wrapped-text-view.js";
88
+ import { WrappedTextNode as Mr } from "./components/editor/extensions/wrapped-text-node.js";
89
+ import { ColorPickerContent as Nr, DEFAULT_COLOR_PICKER_LABELS as Pr } from "./components/editor/color-picker-content.js";
90
+ import { DRAW_CHARS as Fr, brushToCell as Ir, cellsToLine as Lr, isPositionalLine as Rr, lineToCells as zr, paintLine as Br, renderPositionalLine as Vr } from "./components/editor/utils/draw-mode.js";
91
+ import { DEFAULT_DRAW_CHAR_PICKER_LABELS as Hr, DrawCharPickerContent as Ur } from "./components/editor/draw-char-picker-content.js";
92
+ import { DEFAULT_FORMATTING_PICKER_LABELS as Wr, FormattingPickerContent as Gr } from "./components/editor/formatting-picker-content.js";
93
+ import { DEFAULT_TOOLBAR_DROPDOWN_LABELS as Kr, ToolbarDropdown as qr } from "./components/editor/toolbar-dropdown.js";
94
+ import { parseLineContent as Jr, parseTemplateSimple as Yr, serializeTemplateSimple as Xr } from "./components/editor/utils/serialization.js";
95
+ import { insertTemplateContent as Zr } from "./components/editor/utils/insertion.js";
96
+ import { DEFAULT_TEMPLATE_EDITOR_TOOLBAR_LABELS as Qr, TemplateEditorToolbar as $r } from "./components/editor/template-editor-toolbar.js";
97
+ import { buildStrokeTransaction as ei, lineRanges as ti } from "./components/editor/utils/stroke-transaction.js";
98
+ import { DEFAULT_TEMPLATE_EDITOR_LABELS as ni, TemplateEditor as ri } from "./components/editor/template-editor.js";
99
+ import { DEFAULT_FILTER_PICKER_LABELS as ii, FilterPickerContent as ai } from "./components/editor/filter-picker-content.js";
100
+ import { DEFAULT_VARIABLE_PICKER_LABELS as oi, VariablePickerContent as si, createLucideIconResolver as ci, getPluginsWithNestedArrays as li } from "./components/editor/variable-picker-content.js";
101
+ import { calculateLineLength as ui, getOverflowAmount as di, willOverflow as fi } from "./components/editor/utils/length-calculator.js";
102
+ export { pn as ALL_COLOR_CODES, mn as AVAILABLE_COLORS, t as Accordion, n as AccordionContent, r as AccordionItem, i as AccordionTrigger, g as Alert, _ as AlertDescription, R as AlertDialog, z as AlertDialogAction, B as AlertDialogCancel, V as AlertDialogContent, H as AlertDialogDescription, U as AlertDialogFooter, W as AlertDialogHeader, G as AlertDialogOverlay, K as AlertDialogPortal, q as AlertDialogTitle, J as AlertDialogTrigger, v as AlertTitle, Sn as BOARD_CHARS, or as BOARD_CODE_TO_COLOR, hn as BOARD_COLORS, sr as BOARD_COLOR_CODES, b as Badge, Zn as BarList, Mn as BoardBackdrop, Vn as BoardDisplay, Bt as BoardIcon, Vt as BoardSelector, er as BoardShowcase, jn as BoardTeaser, N as Box, Ht as Breadcrumb, Ut as BreadcrumbEllipsis, Wt as BreadcrumbItem, Gt as BreadcrumbLink, Kt as BreadcrumbList, qt as BreadcrumbPage, Jt as BreadcrumbSeparator, D as Button, gn as COLOR_CODE_MAP, _n as COLOR_DISPLAY, cr as CURSOR_ANCHOR, a as Card, o as CardAction, s as CardContent, c as CardDescription, l as CardFooter, u as CardHeader, d as CardTitle, k as Checkbox, S as Chip, De as Code, f as Collapsible, p as CollapsibleContent, m as CollapsibleTrigger, Nr as ColorPickerContent, _r as ColorTileNode, hr as ColorTileNodeView, lr as DEFAULT_BOARD_LINES, ur as DEFAULT_BOARD_WIDTH, Pr as DEFAULT_COLOR_PICKER_LABELS, gr as DEFAULT_COLOR_TILE_NODE_VIEW_LABELS, Hr as DEFAULT_DRAW_CHAR_PICKER_LABELS, vr as DEFAULT_FILL_SPACE_NODE_VIEW_LABELS, ii as DEFAULT_FILTER_PICKER_LABELS, Wr as DEFAULT_FORMATTING_PICKER_LABELS, xr as DEFAULT_FORMULA_NODE_VIEW_LABELS, qn as DEFAULT_SHAPE_LABELS, tr as DEFAULT_SHOWCASE_LABELS, ni as DEFAULT_TEMPLATE_EDITOR_LABELS, Qr as DEFAULT_TEMPLATE_EDITOR_TOOLBAR_LABELS, Kr as DEFAULT_TOOLBAR_DROPDOWN_LABELS, Dr as DEFAULT_VARIABLE_NODE_VIEW_LABELS, oi as DEFAULT_VARIABLE_PICKER_LABELS, Ar as DEFAULT_WRAPPED_TEXT_VIEW_LABELS, Pn as DEVICE_DIMENSIONS, Fr as DRAW_CHARS, Y as Dialog, X as DialogClose, Z as DialogContent, Q as DialogDescription, $ as DialogFooter, ee as DialogHeader, te as DialogOverlay, ne as DialogPortal, re as DialogTitle, ie as DialogTrigger, Ur as DrawCharPickerContent, ae as DropdownMenu, oe as DropdownMenuCheckboxItem, se as DropdownMenuContent, ce as DropdownMenuGroup, le as DropdownMenuItem, ue as DropdownMenuLabel, de as DropdownMenuPortal, fe as DropdownMenuRadioGroup, pe as DropdownMenuRadioItem, me as DropdownMenuSeparator, he as DropdownMenuShortcut, ge as DropdownMenuSub, _e as DropdownMenuSubContent, ve as DropdownMenuSubTrigger, ye as DropdownMenuTrigger, Cn as EXTRA_CHARS, w as EmptyState, vn as FIESTABOARD_COLORS, Yt as FIESTA_ICON_DATA_URI, Xt as FIESTA_ICON_PALETTE, Zt as FIESTA_ICON_SVG, dr as FILL_SPACE_REPEAT_VAR, fr as FILL_SPACE_VAR, Hn as FLAP_SPEED_PRESETS, Ge as FadeContent, Qt as FiestaIcon, $t as FiestaLogo, br as FillSpaceNode, yr as FillSpaceNodeView, ai as FilterPickerContent, P as Flex, Gr as FormattingPickerContent, Cr as FormulaNode, Sr as FormulaNodeView, I as Grid, Oe as Heading, A as Input, h as JsonTree, j as Label, en as LanguageSelector, wr as LineNavigation, Ae as List, je as ListItem, Fn as MAX_NOTES_PER_AXIS, tn as MainContent, In as NOTE_COLS, Ln as NOTE_ROWS, pr as NodeViewInjectionProvider, nn as PAGE_HUES, nr as PLUGIN_CATEGORIES, rn as PageHeader, an as PageIconGradientDefs, sn as PageLayout, cn as PageToolbar, ar as PluginCard, rr as PluginCategoryBadge, be as Popover, xe as PopoverClose, Se as PopoverContent, Ce as PopoverDescription, we as PopoverTitle, Te as PopoverTrigger, Gn as ScaledBoardDisplay, ir as ScaledBoardTeaser, Ne as ScrollArea, Pe as ScrollBar, M as SecretInput, ht as SegmentedControl, gt as SegmentedControlItem, Ye as Select, Xe as SelectContent, Ze as SelectGroup, Qe as SelectItem, $e as SelectLabel, et as SelectScrollDownButton, tt as SelectScrollUpButton, nt as SelectSeparator, rt as SelectTrigger, it as SelectValue, Tt as Sheet, Et as SheetClose, Dt as SheetContent, Ot as SheetDescription, kt as SheetFooter, At as SheetHeader, jt as SheetOverlay, Mt as SheetPortal, Nt as SheetTitle, Pt as SheetTrigger, ln as Sidebar, Tr as SingleParagraphDoc, Ke as Skeleton, un as SkipToContent, at as Slider, T as Spinner, Ct as Stack, Qn as StatStrip, $n as StatStripItem, Kn as StaticBoardDisplay, qe as StatusDot, ot as Switch, Fe as Table, Ie as TableBody, Le as TableCell, Re as TableHead, ze as TableHeader, Be as TableRow, Ve as Tabs, He as TabsContent, Ue as TabsList, We as TabsTrigger, ri as TemplateEditor, $r as TemplateEditorToolbar, ct as Text, zt as TextLink, st as Textarea, dn as ThemeToggle, ut as TimePicker, dt as Toggle, _t as ToggleCard, vt as ToggleCardGroup, ft as ToggleGroup, qr as ToolbarDropdown, Ft as Tooltip, It as TooltipContent, Lt as TooltipProvider, Rt as TooltipTrigger, Er as TrailingNewline, kr as VariableNode, Or as VariableNodeView, si as VariablePickerContent, fn as WizardProgress, Nn as WizardShell, Mr as WrappedTextNode, jr as WrappedTextView, y as alertVariants, x as badgeVariants, Ir as brushToCell, ei as buildStrokeTransaction, O as buttonVariants, ui as calculateLineLength, Lr as cellsToLine, C as chipVariants, e as cn, ci as createLucideIconResolver, Un as deriveFlapTiming, F as flexVariants, yn as getBoardColor, wn as getCharFromToken, Tn as getCharIndex, di as getOverflowAmount, li as getPluginsWithNestedArrays, L as gridVariants, ke as headingVariants, Zr as insertTemplateContent, En as isColorTile, Rn as isNoteArray, Rr as isPositionalLine, bn as isValidBoardColor, ti as lineRanges, zr as lineToCells, Me as listVariants, Dn as messageToGrid, On as messageToText, zn as noteArrayDimensions, on as pageHue, Br as paintLine, kn as parseLine, Jr as parseLineContent, Yr as parseTemplateSimple, Jn as previewLabel, Yn as previewLabels, Xn as previewMessage, Vr as renderPositionalLine, xn as resolveColorCode, Bn as resolveDimensions, Wn as resolveFlapSpeed, yt as segmentedControlItemVariants, bt as segmentedControlVariants, Xr as serializeTemplateSimple, E as spinnerVariants, wt as stackVariants, Je as statusDotVariants, lt as textVariants, xt as toggleCardGroupVariants, St as toggleCardVariants, pt as toggleGroupVariants, mt as toggleVariants, An as tokensEqual, mr as useNodeViewInjection, Ee as usePopoverClose, fi as willOverflow };
package/dist/theme.css CHANGED
@@ -565,7 +565,20 @@
565
565
  means on" still holds everywhere it physically can. */
566
566
  --nav-active: var(--foreground);
567
567
  --nav-active-foreground: var(--background);
568
- --nav-active-hover: oklch(1 0 0 / 14%);
568
+ /* Surface-relative, not a white literal (#228). The old `oklch(1 0 0 / 14%)`
569
+ was tuned by eye on the DARK rail (3.16:1 there) and was invisible
570
+ everywhere else: 1.03:1 on the light rail, and 1.015:1 when the class
571
+ reached the docs site's page surface in 4.0.0 — that site now hand-mixes
572
+ its own hover to survive us. Mixing the LOCAL foreground instead makes the
573
+ tint an emphasis of whatever ink the row already carries, so it
574
+ self-adapts to any surface: 3.36:1 on a dark page, 1.15:1 on a light one.
575
+ Custom properties substitute var() on the element they are DECLARED on,
576
+ so this :root value is resolved against the PAGE ink before it ever
577
+ inherits onto the rail — which is why .sidebar-gradient re-declares the
578
+ token from --sidebar-foreground (3.07:1 dark rail, within 0.1 of the
579
+ literal it replaces; 1.15:1 on the light rail, where hover previously
580
+ did not paint at all). */
581
+ --nav-active-hover: color-mix(in oklch, var(--foreground) 14%, transparent);
569
582
  /* Fiesta gradient palette — three board hues at ONE lightness (0.46),
570
583
  identical in both themes. Because that surface never changes luminance
571
584
  across its 117s loop, the contrast of anything sitting on it is a
@@ -848,7 +861,10 @@
848
861
  where a 117-second animation happens to be. */
849
862
  --nav-active: var(--primary); /* see :root */
850
863
  --nav-active-foreground: var(--primary-foreground);
851
- --nav-active-hover: oklch(1 0 0 / 14%);
864
+ /* No --nav-active-hover copy here (#228): :root and this block style the
865
+ same element (html), so the :root color-mix re-resolves against this
866
+ block's --foreground on its own. A dark duplicate would only be a second
867
+ place for the recipe to drift. */
852
868
  /* Identical to :root. See the note there. */
853
869
  --fiesta-red: oklch(0.46 0.15 29);
854
870
  --fiesta-orange: oklch(0.46 0.098 73);
@@ -1204,6 +1220,13 @@ html[data-board-switch="backward"]::view-transition-new(board-page) {
1204
1220
  --accent: color-mix(in oklch, var(--sidebar-foreground) 10%, transparent);
1205
1221
  --accent-foreground: var(--sidebar-foreground);
1206
1222
  --border: color-mix(in oklch, var(--sidebar-foreground) 14%, transparent);
1223
+ /* Re-declared, not inherited (#228): the :root value already resolved its
1224
+ var(--foreground) against the PAGE ink before inheriting here — rebinding
1225
+ --foreground above cannot reach inside an inherited color-mix. From the
1226
+ rail ink: 3.07:1 on the dark rail (the white literal it replaces was
1227
+ 3.16:1) and 1.15:1 on the light rail, where the white-on-near-white
1228
+ literal measured 1.03:1 — a hover that never painted. */
1229
+ --nav-active-hover: color-mix(in oklch, var(--sidebar-foreground) 14%, transparent);
1207
1230
  }
1208
1231
 
1209
1232
  /* No CSS gradient paints here any more (#231). The rail is a flat surface;
@@ -1350,12 +1373,20 @@ html[data-board-switch="backward"]::view-transition-new(board-page) {
1350
1373
  }
1351
1374
 
1352
1375
  /* The hover tint is the only chrome token left carrying alpha, so this is
1353
- the one transparency branch that still has work to do. */
1354
- /* A literal, not a color-mix. Mixing hue 315 into the hue-73 rail takes the
1355
- shorter arc and lands around hue 47 — a seventh hue, and a brown one, inside
1356
- a palette whose whole rule is six. */
1376
+ the one transparency branch that still has work to do. Two surfaces, two
1377
+ opaque answers (#228): 4.0.0 shipped ONE the rail's unscoped, and any
1378
+ page-surface consumer (the docs site) inherited a near-black row fill under
1379
+ a page-coloured label. The page rule now answers with --secondary, the
1380
+ opaque page-surface step that follows the theme (1.13:1 light, 1.25:1 dark
1381
+ against --background); the rail keeps its literal, scoped to the rail. */
1382
+ /* The rail value is a literal, not a color-mix. Mixing hue 315 into the
1383
+ hue-73 rail takes the shorter arc and lands around hue 47 — a seventh hue,
1384
+ and a brown one, inside a palette whose whole rule is six. */
1357
1385
  @media (prefers-reduced-transparency: reduce) {
1358
1386
  .nav-active-hover:hover {
1387
+ background: var(--secondary);
1388
+ }
1389
+ .sidebar-gradient .nav-active-hover:hover {
1359
1390
  background: oklch(0.34 0.02 73);
1360
1391
  }
1361
1392
  }
@@ -1363,13 +1394,27 @@ html[data-board-switch="backward"]::view-transition-new(board-page) {
1363
1394
  /* Users who ask for more contrast get the most legible path, not the least
1364
1395
  (#162) — a heavier marker and a white hairline around the pill. */
1365
1396
  /* More contrast means MORE CONTRAST, not more chrome: the same pigment, lifted.
1366
- Fill vs rail 8.12 -> 10.60:1, ink label 8.84 -> 11.54:1. No rim, no marker. */
1397
+ Fill vs rail 8.12 -> 10.60:1, ink label 8.84 -> 11.54:1. No rim, no marker.
1398
+
1399
+ The fill lift lives in the DARK token block, not on the class (#228): it
1400
+ lifts the TILE pair, and the tile pair only exists in dark — light mode's
1401
+ resting pill is already --foreground under a --background label, the most
1402
+ contrast this palette holds, and 4.0.0's unscoped `.nav-active` retune
1403
+ replaced exactly that pair with a 0.86-lightness fill on the docs site's
1404
+ light pages: 17.54:1 collapsed to 1.40:1 for precisely the readers who
1405
+ asked for more. Scoping by theme instead of by class means a surface where
1406
+ the resting pair is inverted never sees a fill-only retune again.
1407
+ The hover keeps the same recipe as its resting form, lifted 14% -> 24%
1408
+ (4.54:1 dark rail, 5.05:1 dark page, 1.29:1 light page). */
1367
1409
  @media (prefers-contrast: more) {
1368
- .nav-active {
1410
+ .dark {
1369
1411
  --nav-active: oklch(0.86 0.115 73);
1370
1412
  }
1371
- .nav-active-hover:hover {
1372
- background: oklch(1 0 0 / 24%);
1413
+ :root {
1414
+ --nav-active-hover: color-mix(in oklch, var(--foreground) 24%, transparent);
1415
+ }
1416
+ .sidebar-gradient {
1417
+ --nav-active-hover: color-mix(in oklch, var(--sidebar-foreground) 24%, transparent);
1373
1418
  }
1374
1419
  }
1375
1420
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiestaboard/ui",
3
- "version": "5.0.1",
3
+ "version": "5.2.0",
4
4
  "description": "FiestaUI — the FiestaBoard design system. React components on Base UI with Tailwind v4 design tokens.",
5
5
  "license": "MIT",
6
6
  "repository": {