@fiestaboard/ui 5.8.0 → 5.10.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.
Files changed (50) hide show
  1. package/README.md +2 -2
  2. package/dist/components/chrome/pagination.d.ts +75 -0
  3. package/dist/components/chrome/pagination.js +93 -0
  4. package/dist/components/chrome/pagination.js.map +1 -0
  5. package/dist/components/chrome/top-nav.d.ts +102 -0
  6. package/dist/components/chrome/top-nav.js +91 -0
  7. package/dist/components/chrome/top-nav.js.map +1 -0
  8. package/dist/components/containment/action-card.d.ts +95 -0
  9. package/dist/components/containment/action-card.js +91 -0
  10. package/dist/components/containment/action-card.js.map +1 -0
  11. package/dist/components/containment/card.d.ts +24 -1
  12. package/dist/components/containment/card.js +11 -10
  13. package/dist/components/containment/card.js.map +1 -1
  14. package/dist/components/containment/icon-tile.d.ts +1 -1
  15. package/dist/components/editor/color-picker-content.js +17 -17
  16. package/dist/components/editor/filter-picker-content.js +20 -20
  17. package/dist/components/editor/formatting-picker-content.js +20 -20
  18. package/dist/components/editor/formula/formula-editor-panel.js +184 -184
  19. package/dist/components/editor/formula/formula-editor-panel.js.map +1 -1
  20. package/dist/components/editor/node-views/color-tile-node-view.js +5 -5
  21. package/dist/components/editor/node-views/formula-node-view.js +9 -9
  22. package/dist/components/editor/template-editor-toolbar.js +44 -44
  23. package/dist/components/editor/template-editor.js +23 -23
  24. package/dist/components/editor/toolbar-dropdown.js +6 -6
  25. package/dist/components/editor/variable-picker-content.js +79 -79
  26. package/dist/components/feedback/alert.d.ts +1 -1
  27. package/dist/components/feedback/badge.d.ts +1 -1
  28. package/dist/components/feedback/badge.js +6 -6
  29. package/dist/components/feedback/chip.js +6 -6
  30. package/dist/components/feedback/spinner.d.ts +1 -1
  31. package/dist/components/feedback/status-dot.d.ts +1 -1
  32. package/dist/components/forms/button.d.ts +2 -2
  33. package/dist/components/forms/button.js +6 -6
  34. package/dist/components/forms/field.d.ts +66 -0
  35. package/dist/components/forms/field.js +64 -0
  36. package/dist/components/forms/field.js.map +1 -0
  37. package/dist/components/forms/swatch.d.ts +4 -4
  38. package/dist/components/forms/time-picker.js +24 -24
  39. package/dist/components/forms/toggle-card.d.ts +2 -2
  40. package/dist/components/forms/toggle.d.ts +1 -1
  41. package/dist/components/plugin/plugin-card.js +5 -5
  42. package/dist/components/typography/heading.d.ts +2 -2
  43. package/dist/components/typography/kbd.d.ts +35 -0
  44. package/dist/components/typography/kbd.js +115 -0
  45. package/dist/components/typography/kbd.js.map +1 -0
  46. package/dist/components/typography/text.d.ts +2 -2
  47. package/dist/index.d.ts +5 -0
  48. package/dist/index.js +113 -108
  49. package/dist/theme.css +54 -9
  50. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,111 +1,116 @@
1
1
  import { cn as e } from "./lib/utils.js";
2
2
  import { Accordion as t, AccordionContent as n, AccordionItem as r, AccordionTrigger as i } from "./components/containment/accordion.js";
3
- import { Card as a, CardAction as o, CardContent as s, CardDescription as c, CardFooter as l, CardHeader as u, CardTitle as d } from "./components/containment/card.js";
4
- import { Collapsible as f, CollapsibleContent as p, CollapsibleTrigger as m } from "./components/containment/collapsible.js";
3
+ import { Spinner as a, spinnerVariants as o } from "./components/feedback/spinner.js";
4
+ import { Card as s, CardAction as c, CardContent as l, CardDescription as u, CardFooter as d, CardHeader as f, CardTitle as p, cardSurfaceClassName as m } from "./components/containment/card.js";
5
5
  import { IconTile as h, iconTileVariants as g } from "./components/containment/icon-tile.js";
6
- import { JsonTree as _ } from "./components/containment/json-tree.js";
7
- import { MediaFrame as v, MediaFrameBar as y, MediaFrameMedia as b } from "./components/containment/media-frame.js";
8
- import { Alert as x, AlertDescription as S, AlertTitle as C, alertVariants as w } from "./components/feedback/alert.js";
9
- import { Spinner as T, spinnerVariants as E } from "./components/feedback/spinner.js";
10
- import { Button as D, buttonVariants as O } from "./components/forms/button.js";
11
- import { Badge as k, badgeVariants as A } from "./components/feedback/badge.js";
12
- import { Chip as j, chipVariants as M } from "./components/feedback/chip.js";
13
- import { EmptyState as N } from "./components/feedback/empty-state.js";
14
- import { Checkbox as P } from "./components/forms/checkbox.js";
15
- import { Combobox as F, DEFAULT_COMBOBOX_LABELS as I, defaultComboboxFilter as L } from "./components/forms/combobox.js";
16
- import { CopyButton as R } from "./components/forms/copy-button.js";
17
- import { Input as z } from "./components/forms/input.js";
18
- import { Label as B } from "./components/forms/label.js";
19
- import { SecretInput as V } from "./components/forms/secret-input.js";
20
- import { Box as H } from "./components/layout/box.js";
21
- import { Flex as U, flexVariants as W } from "./components/layout/flex.js";
22
- import { Grid as G, gridVariants as K } from "./components/layout/grid.js";
23
- import { AlertDialog as q, AlertDialogAction as J, AlertDialogCancel as Y, AlertDialogContent as X, AlertDialogDescription as Z, AlertDialogFooter as Q, AlertDialogHeader as $, AlertDialogOverlay as ee, AlertDialogPortal as te, AlertDialogTitle as ne, AlertDialogTrigger as re } from "./components/overlays/alert-dialog.js";
24
- import { Dialog as ie, DialogClose as ae, DialogContent as oe, DialogDescription as se, DialogFooter as ce, DialogHeader as le, DialogOverlay as ue, DialogPortal as de, DialogTitle as fe, DialogTrigger as pe } from "./components/overlays/dialog.js";
25
- import { DropdownMenu as me, DropdownMenuCheckboxItem as he, DropdownMenuContent as ge, DropdownMenuGroup as _e, DropdownMenuItem as ve, DropdownMenuLabel as ye, DropdownMenuPortal as be, DropdownMenuRadioGroup as xe, DropdownMenuRadioItem as Se, DropdownMenuSeparator as Ce, DropdownMenuShortcut as we, DropdownMenuSub as Te, DropdownMenuSubContent as Ee, DropdownMenuSubTrigger as De, DropdownMenuTrigger as Oe } from "./components/overlays/dropdown-menu.js";
26
- import { Lightbox as ke, LightboxClose as Ae, LightboxContent as je, LightboxFooter as Me, LightboxOverlay as Ne, LightboxPortal as Pe, LightboxTrigger as Fe } from "./components/overlays/lightbox.js";
27
- import { Popover as Ie, PopoverClose as Le, PopoverContent as Re, PopoverDescription as ze, PopoverTitle as Be, PopoverTrigger as Ve, usePopoverClose as He } from "./components/overlays/popover.js";
28
- import { Code as Ue } from "./components/typography/code.js";
29
- import { Heading as We, headingVariants as Ge } from "./components/typography/heading.js";
30
- import { List as Ke, ListItem as qe, listVariants as Je } from "./components/typography/list.js";
31
- import { ScrollArea as Ye, ScrollBar as Xe } from "./components/containment/scroll-area.js";
32
- import { Table as Ze, TableBody as Qe, TableCell as $e, TableHead as et, TableHeader as tt, TableRow as nt } from "./components/containment/table.js";
33
- import { Tabs as rt, TabsContent as it, TabsList as at, TabsTrigger as ot } from "./components/containment/tabs.js";
34
- import st from "./components/effects/react-bits/fade-content.js";
35
- import { Skeleton as ct } from "./components/feedback/skeleton.js";
36
- import { StatusDot as lt, statusDotVariants as ut } from "./components/feedback/status-dot.js";
37
- import { Select as dt, SelectContent as ft, SelectGroup as pt, SelectItem as mt, SelectLabel as ht, SelectScrollDownButton as gt, SelectScrollUpButton as _t, SelectSeparator as vt, SelectTrigger as yt, SelectValue as bt } from "./components/forms/select.js";
38
- import { Slider as xt } from "./components/forms/slider.js";
39
- import { Swatch as St, SwatchGroup as Ct, swatchFillVariants as wt, swatchGlyphVariants as Tt, swatchGroupVariants as Et, swatchIndicatorVariants as Dt, swatchVariants as Ot } from "./components/forms/swatch.js";
40
- import { Switch as kt } from "./components/forms/switch.js";
41
- import { Textarea as At } from "./components/forms/textarea.js";
42
- import { Text as jt, textVariants as Mt } from "./components/typography/text.js";
43
- import { TimePicker as Nt } from "./components/forms/time-picker.js";
44
- import { TimezonePicker as Pt, listTimezones as Ft } from "./components/forms/timezone-picker.js";
45
- import { Toggle as It, ToggleGroup as Lt, toggleGroupVariants as Rt, toggleVariants as zt } from "./components/forms/toggle.js";
46
- import { SegmentedControl as Bt, SegmentedControlItem as Vt, ToggleCard as Ht, ToggleCardGroup as Ut, segmentedControlItemVariants as Wt, segmentedControlVariants as Gt, toggleCardGroupVariants as Kt, toggleCardVariants as qt } from "./components/forms/toggle-card.js";
47
- import { Stack as Jt, stackVariants as Yt } from "./components/layout/stack.js";
48
- import { Sheet as Xt, SheetClose as Zt, SheetContent as Qt, SheetDescription as $t, SheetFooter as en, SheetHeader as tn, SheetOverlay as nn, SheetPortal as rn, SheetTitle as an, SheetTrigger as on } from "./components/overlays/sheet.js";
49
- import { Tooltip as sn, TooltipContent as cn, TooltipProvider as ln, TooltipTrigger as un } from "./components/overlays/tooltip.js";
50
- import { TextLink as dn } from "./components/typography/text-link.js";
51
- import { BoardIcon as fn } from "./components/chrome/board-icon.js";
52
- import { BoardSelector as pn } from "./components/chrome/board-selector.js";
53
- import { Breadcrumb as mn, BreadcrumbEllipsis as hn, BreadcrumbItem as gn, BreadcrumbLink as _n, BreadcrumbList as vn, BreadcrumbPage as yn, BreadcrumbSeparator as bn } from "./components/chrome/breadcrumb.js";
54
- import { FIESTA_ICON_DATA_URI as xn, FIESTA_ICON_PALETTE as Sn, FIESTA_ICON_SVG as Cn, FiestaIcon as wn } from "./components/chrome/fiesta-icon.js";
55
- import { FiestaLogo as Tn } from "./components/chrome/fiesta-logo.js";
56
- import { LanguageSelector as En } from "./components/chrome/language-selector.js";
57
- import { MainContent as Dn } from "./components/chrome/main-content.js";
58
- import { NavList as On, NavListItem as kn, NavListLink as An, NavListSection as jn, NavListSectionContent as Mn, NavListSectionTrigger as Nn } from "./components/chrome/nav-list.js";
59
- import { PAGE_HUES as Pn, PageHeader as Fn, PageIconGradientDefs as In, pageHue as Ln } from "./components/chrome/page-header.js";
60
- import { PageInset as Rn } from "./components/chrome/page-inset.js";
61
- import { PageLayout as zn } from "./components/chrome/page-layout.js";
62
- import { PageToolbar as Bn } from "./components/chrome/page-toolbar.js";
63
- import { Sidebar as Vn } from "./components/chrome/sidebar.js";
64
- import { SkipToContent as Hn } from "./components/chrome/skip-to-content.js";
65
- import { ThemeToggle as Un } from "./components/chrome/theme-toggle.js";
66
- import { WizardProgress as Wn } from "./components/wizard/wizard-progress.js";
67
- import { ALL_COLOR_CODES as Gn, AVAILABLE_COLORS as Kn, BOARD_COLORS as qn, COLOR_CODE_MAP as Jn, COLOR_DISPLAY as Yn, FIESTABOARD_COLORS as Xn, getBoardColor as Zn, isValidBoardColor as Qn, resolveColorCode as $n } from "./lib/board-colors.js";
68
- import { BOARD_CHARS as er, EXTRA_CHARS as tr, applyCode62Glyph as nr, getCharFromToken as rr, getCharIndex as ir, isColorTile as ar, messageToGrid as or, messageToText as sr, parseLine as cr, resolveCode62Glyph as lr, tokensEqual as ur } from "./lib/board-characters.js";
69
- import { BoardTeaser as dr } from "./components/board/board-teaser.js";
70
- import { BoardBackdrop as fr } from "./components/board/board-backdrop.js";
71
- import { WizardShell as pr } from "./components/wizard/wizard-shell.js";
72
- import { DEVICE_DIMENSIONS as mr, MAX_NOTES_PER_AXIS as hr, NOTE_COLS as gr, NOTE_ROWS as _r, isNoteArray as vr, noteArrayDimensions as yr, resolveDimensions as br } from "./lib/board-dimensions.js";
73
- import { BoardDisplay as xr, FLAP_SPEED_PRESETS as Sr, deriveFlapTiming as Cr, resolveFlapSpeed as wr } from "./components/board/board-display.js";
74
- import { ScaledBoardDisplay as Tr } from "./components/board/scaled-board-display.js";
75
- import { StaticBoardDisplay as Er } from "./components/board/static-board-display.js";
76
- import { DEFAULT_SHAPE_LABELS as Dr, previewLabel as Or, previewLabels as kr, previewMessage as Ar } from "./lib/board-previews.js";
77
- import { BarList as jr } from "./components/data/bar-list.js";
78
- import { StatStrip as Mr, StatStripItem as Nr } from "./components/data/stat-strip.js";
79
- import { BoardShowcase as Pr, DEFAULT_SHOWCASE_LABELS as Fr } from "./components/plugin/board-showcase.js";
80
- import { PLUGIN_CATEGORIES as Ir, PluginCategoryBadge as Lr } from "./components/plugin/plugin-category-badge.js";
81
- import { ScaledBoardTeaser as Rr } from "./components/plugin/scaled-board-teaser.js";
82
- import { PluginCard as zr } from "./components/plugin/plugin-card.js";
83
- import { BOARD_CODE_TO_COLOR as Br, BOARD_COLOR_CODES as Vr, CURSOR_ANCHOR as Hr, DEFAULT_BOARD_LINES as Ur, DEFAULT_BOARD_WIDTH as Wr, FILL_SPACE_REPEAT_VAR as Gr, FILL_SPACE_VAR as Kr } from "./components/editor/constants.js";
84
- import { NodeViewInjectionProvider as qr, useNodeViewInjection as Jr } from "./components/editor/node-views/node-view-context.js";
85
- import { ColorTileNodeView as Yr, DEFAULT_COLOR_TILE_NODE_VIEW_LABELS as Xr } from "./components/editor/node-views/color-tile-node-view.js";
86
- import { ColorTileNode as Zr } from "./components/editor/extensions/color-tile-node.js";
87
- import { DEFAULT_FILL_SPACE_NODE_VIEW_LABELS as Qr, FillSpaceNodeView as $r } from "./components/editor/node-views/fill-space-node-view.js";
88
- import { FillSpaceNode as ei } from "./components/editor/extensions/fill-space-node.js";
89
- import { DEFAULT_FORMULA_NODE_VIEW_LABELS as ti, FormulaNodeView as ni } from "./components/editor/node-views/formula-node-view.js";
90
- import { FormulaNode as ri } from "./components/editor/extensions/formula-node.js";
91
- import { LineNavigation as ii } from "./components/editor/extensions/line-navigation.js";
92
- import { SingleParagraphDoc as ai } from "./components/editor/extensions/single-paragraph-doc.js";
93
- import { TrailingNewline as oi } from "./components/editor/extensions/trailing-newline.js";
94
- import { DEFAULT_VARIABLE_NODE_VIEW_LABELS as si, VariableNodeView as ci } from "./components/editor/node-views/variable-node-view.js";
95
- import { VariableNode as li } from "./components/editor/extensions/variable-node.js";
96
- import { DEFAULT_WRAPPED_TEXT_VIEW_LABELS as ui, WrappedTextView as di } from "./components/editor/node-views/wrapped-text-view.js";
97
- import { WrappedTextNode as fi } from "./components/editor/extensions/wrapped-text-node.js";
98
- import { ColorPickerContent as pi, DEFAULT_COLOR_PICKER_LABELS as mi } from "./components/editor/color-picker-content.js";
99
- import { DRAW_CHARS as hi, brushToCell as gi, cellsToLine as _i, isPositionalLine as vi, lineToCells as yi, paintLine as bi, renderPositionalLine as xi } from "./components/editor/utils/draw-mode.js";
100
- import { DEFAULT_DRAW_CHAR_PICKER_LABELS as Si, DrawCharPickerContent as Ci } from "./components/editor/draw-char-picker-content.js";
101
- import { DEFAULT_FORMATTING_PICKER_LABELS as wi, FormattingPickerContent as Ti } from "./components/editor/formatting-picker-content.js";
102
- import { DEFAULT_TOOLBAR_DROPDOWN_LABELS as Ei, ToolbarDropdown as Di } from "./components/editor/toolbar-dropdown.js";
103
- import { parseLineContent as Oi, parseTemplateSimple as ki, serializeTemplateSimple as Ai } from "./components/editor/utils/serialization.js";
104
- import { insertTemplateContent as ji } from "./components/editor/utils/insertion.js";
105
- import { DEFAULT_TEMPLATE_EDITOR_TOOLBAR_LABELS as Mi, TemplateEditorToolbar as Ni } from "./components/editor/template-editor-toolbar.js";
106
- import { buildStrokeTransaction as Pi, lineRanges as Fi } from "./components/editor/utils/stroke-transaction.js";
107
- import { DEFAULT_TEMPLATE_EDITOR_LABELS as Ii, TemplateEditor as Li } from "./components/editor/template-editor.js";
108
- import { DEFAULT_FILTER_PICKER_LABELS as Ri, FilterPickerContent as zi } from "./components/editor/filter-picker-content.js";
109
- import { DEFAULT_VARIABLE_PICKER_LABELS as Bi, VariablePickerContent as Vi, createLucideIconResolver as Hi, getPluginsWithNestedArrays as Ui } from "./components/editor/variable-picker-content.js";
110
- import { calculateLineLength as Wi, getOverflowAmount as Gi, willOverflow as Ki } from "./components/editor/utils/length-calculator.js";
111
- export { Gn as ALL_COLOR_CODES, Kn as AVAILABLE_COLORS, t as Accordion, n as AccordionContent, r as AccordionItem, i as AccordionTrigger, x as Alert, S as AlertDescription, q as AlertDialog, J as AlertDialogAction, Y as AlertDialogCancel, X as AlertDialogContent, Z as AlertDialogDescription, Q as AlertDialogFooter, $ as AlertDialogHeader, ee as AlertDialogOverlay, te as AlertDialogPortal, ne as AlertDialogTitle, re as AlertDialogTrigger, C as AlertTitle, er as BOARD_CHARS, Br as BOARD_CODE_TO_COLOR, qn as BOARD_COLORS, Vr as BOARD_COLOR_CODES, k as Badge, jr as BarList, fr as BoardBackdrop, xr as BoardDisplay, fn as BoardIcon, pn as BoardSelector, Pr as BoardShowcase, dr as BoardTeaser, H as Box, mn as Breadcrumb, hn as BreadcrumbEllipsis, gn as BreadcrumbItem, _n as BreadcrumbLink, vn as BreadcrumbList, yn as BreadcrumbPage, bn as BreadcrumbSeparator, D as Button, Jn as COLOR_CODE_MAP, Yn as COLOR_DISPLAY, Hr as CURSOR_ANCHOR, a as Card, o as CardAction, s as CardContent, c as CardDescription, l as CardFooter, u as CardHeader, d as CardTitle, P as Checkbox, j as Chip, Ue as Code, f as Collapsible, p as CollapsibleContent, m as CollapsibleTrigger, pi as ColorPickerContent, Zr as ColorTileNode, Yr as ColorTileNodeView, F as Combobox, R as CopyButton, Ur as DEFAULT_BOARD_LINES, Wr as DEFAULT_BOARD_WIDTH, mi as DEFAULT_COLOR_PICKER_LABELS, Xr as DEFAULT_COLOR_TILE_NODE_VIEW_LABELS, I as DEFAULT_COMBOBOX_LABELS, Si as DEFAULT_DRAW_CHAR_PICKER_LABELS, Qr as DEFAULT_FILL_SPACE_NODE_VIEW_LABELS, Ri as DEFAULT_FILTER_PICKER_LABELS, wi as DEFAULT_FORMATTING_PICKER_LABELS, ti as DEFAULT_FORMULA_NODE_VIEW_LABELS, Dr as DEFAULT_SHAPE_LABELS, Fr as DEFAULT_SHOWCASE_LABELS, Ii as DEFAULT_TEMPLATE_EDITOR_LABELS, Mi as DEFAULT_TEMPLATE_EDITOR_TOOLBAR_LABELS, Ei as DEFAULT_TOOLBAR_DROPDOWN_LABELS, si as DEFAULT_VARIABLE_NODE_VIEW_LABELS, Bi as DEFAULT_VARIABLE_PICKER_LABELS, ui as DEFAULT_WRAPPED_TEXT_VIEW_LABELS, mr as DEVICE_DIMENSIONS, hi as DRAW_CHARS, ie as Dialog, ae as DialogClose, oe as DialogContent, se as DialogDescription, ce as DialogFooter, le as DialogHeader, ue as DialogOverlay, de as DialogPortal, fe as DialogTitle, pe as DialogTrigger, Ci as DrawCharPickerContent, me as DropdownMenu, he as DropdownMenuCheckboxItem, ge as DropdownMenuContent, _e as DropdownMenuGroup, ve as DropdownMenuItem, ye as DropdownMenuLabel, be as DropdownMenuPortal, xe as DropdownMenuRadioGroup, Se as DropdownMenuRadioItem, Ce as DropdownMenuSeparator, we as DropdownMenuShortcut, Te as DropdownMenuSub, Ee as DropdownMenuSubContent, De as DropdownMenuSubTrigger, Oe as DropdownMenuTrigger, tr as EXTRA_CHARS, N as EmptyState, Xn as FIESTABOARD_COLORS, xn as FIESTA_ICON_DATA_URI, Sn as FIESTA_ICON_PALETTE, Cn as FIESTA_ICON_SVG, Gr as FILL_SPACE_REPEAT_VAR, Kr as FILL_SPACE_VAR, Sr as FLAP_SPEED_PRESETS, st as FadeContent, wn as FiestaIcon, Tn as FiestaLogo, ei as FillSpaceNode, $r as FillSpaceNodeView, zi as FilterPickerContent, U as Flex, Ti as FormattingPickerContent, ri as FormulaNode, ni as FormulaNodeView, G as Grid, We as Heading, h as IconTile, z as Input, _ as JsonTree, B as Label, En as LanguageSelector, ke as Lightbox, Ae as LightboxClose, je as LightboxContent, Me as LightboxFooter, Ne as LightboxOverlay, Pe as LightboxPortal, Fe as LightboxTrigger, ii as LineNavigation, Ke as List, qe as ListItem, hr as MAX_NOTES_PER_AXIS, Dn as MainContent, v as MediaFrame, y as MediaFrameBar, b as MediaFrameMedia, gr as NOTE_COLS, _r as NOTE_ROWS, On as NavList, kn as NavListItem, An as NavListLink, jn as NavListSection, Mn as NavListSectionContent, Nn as NavListSectionTrigger, qr as NodeViewInjectionProvider, Pn as PAGE_HUES, Ir as PLUGIN_CATEGORIES, Fn as PageHeader, In as PageIconGradientDefs, Rn as PageInset, zn as PageLayout, Bn as PageToolbar, zr as PluginCard, Lr as PluginCategoryBadge, Ie as Popover, Le as PopoverClose, Re as PopoverContent, ze as PopoverDescription, Be as PopoverTitle, Ve as PopoverTrigger, Tr as ScaledBoardDisplay, Rr as ScaledBoardTeaser, Ye as ScrollArea, Xe as ScrollBar, V as SecretInput, Bt as SegmentedControl, Vt as SegmentedControlItem, dt as Select, ft as SelectContent, pt as SelectGroup, mt as SelectItem, ht as SelectLabel, gt as SelectScrollDownButton, _t as SelectScrollUpButton, vt as SelectSeparator, yt as SelectTrigger, bt as SelectValue, Xt as Sheet, Zt as SheetClose, Qt as SheetContent, $t as SheetDescription, en as SheetFooter, tn as SheetHeader, nn as SheetOverlay, rn as SheetPortal, an as SheetTitle, on as SheetTrigger, Vn as Sidebar, ai as SingleParagraphDoc, ct as Skeleton, Hn as SkipToContent, xt as Slider, T as Spinner, Jt as Stack, Mr as StatStrip, Nr as StatStripItem, Er as StaticBoardDisplay, lt as StatusDot, St as Swatch, Ct as SwatchGroup, kt as Switch, Ze as Table, Qe as TableBody, $e as TableCell, et as TableHead, tt as TableHeader, nt as TableRow, rt as Tabs, it as TabsContent, at as TabsList, ot as TabsTrigger, Li as TemplateEditor, Ni as TemplateEditorToolbar, jt as Text, dn as TextLink, At as Textarea, Un as ThemeToggle, Nt as TimePicker, Pt as TimezonePicker, It as Toggle, Ht as ToggleCard, Ut as ToggleCardGroup, Lt as ToggleGroup, Di as ToolbarDropdown, sn as Tooltip, cn as TooltipContent, ln as TooltipProvider, un as TooltipTrigger, oi as TrailingNewline, li as VariableNode, ci as VariableNodeView, Vi as VariablePickerContent, Wn as WizardProgress, pr as WizardShell, fi as WrappedTextNode, di as WrappedTextView, w as alertVariants, nr as applyCode62Glyph, A as badgeVariants, gi as brushToCell, Pi as buildStrokeTransaction, O as buttonVariants, Wi as calculateLineLength, _i as cellsToLine, M as chipVariants, e as cn, Hi as createLucideIconResolver, L as defaultComboboxFilter, Cr as deriveFlapTiming, W as flexVariants, Zn as getBoardColor, rr as getCharFromToken, ir as getCharIndex, Gi as getOverflowAmount, Ui as getPluginsWithNestedArrays, K as gridVariants, Ge as headingVariants, g as iconTileVariants, ji as insertTemplateContent, ar as isColorTile, vr as isNoteArray, vi as isPositionalLine, Qn as isValidBoardColor, Fi as lineRanges, yi as lineToCells, Ft as listTimezones, Je as listVariants, or as messageToGrid, sr as messageToText, yr as noteArrayDimensions, Ln as pageHue, bi as paintLine, cr as parseLine, Oi as parseLineContent, ki as parseTemplateSimple, Or as previewLabel, kr as previewLabels, Ar as previewMessage, xi as renderPositionalLine, lr as resolveCode62Glyph, $n as resolveColorCode, br as resolveDimensions, wr as resolveFlapSpeed, Wt as segmentedControlItemVariants, Gt as segmentedControlVariants, Ai as serializeTemplateSimple, E as spinnerVariants, Yt as stackVariants, ut as statusDotVariants, wt as swatchFillVariants, Tt as swatchGlyphVariants, Et as swatchGroupVariants, Dt as swatchIndicatorVariants, Ot as swatchVariants, Mt as textVariants, Kt as toggleCardGroupVariants, qt as toggleCardVariants, Rt as toggleGroupVariants, zt as toggleVariants, ur as tokensEqual, Jr as useNodeViewInjection, He as usePopoverClose, Ki as willOverflow };
6
+ import { ActionCard as _, actionCardMedallionVariants as v } from "./components/containment/action-card.js";
7
+ import { Collapsible as y, CollapsibleContent as b, CollapsibleTrigger as x } from "./components/containment/collapsible.js";
8
+ import { JsonTree as S } from "./components/containment/json-tree.js";
9
+ import { MediaFrame as C, MediaFrameBar as w, MediaFrameMedia as T } from "./components/containment/media-frame.js";
10
+ import { Alert as E, AlertDescription as D, AlertTitle as O, alertVariants as k } from "./components/feedback/alert.js";
11
+ import { Button as A, buttonVariants as j } from "./components/forms/button.js";
12
+ import { Badge as M, badgeVariants as N } from "./components/feedback/badge.js";
13
+ import { Chip as P, chipVariants as F } from "./components/feedback/chip.js";
14
+ import { EmptyState as I } from "./components/feedback/empty-state.js";
15
+ import { Checkbox as L } from "./components/forms/checkbox.js";
16
+ import { Combobox as R, DEFAULT_COMBOBOX_LABELS as z, defaultComboboxFilter as B } from "./components/forms/combobox.js";
17
+ import { CopyButton as V } from "./components/forms/copy-button.js";
18
+ import { Text as H, textVariants as U } from "./components/typography/text.js";
19
+ import { Label as W } from "./components/forms/label.js";
20
+ import { Field as G } from "./components/forms/field.js";
21
+ import { Input as K } from "./components/forms/input.js";
22
+ import { SecretInput as q } from "./components/forms/secret-input.js";
23
+ import { Box as J } from "./components/layout/box.js";
24
+ import { Flex as Y, flexVariants as X } from "./components/layout/flex.js";
25
+ import { Grid as Z, gridVariants as Q } from "./components/layout/grid.js";
26
+ import { AlertDialog as $, AlertDialogAction as ee, AlertDialogCancel as te, AlertDialogContent as ne, AlertDialogDescription as re, AlertDialogFooter as ie, AlertDialogHeader as ae, AlertDialogOverlay as oe, AlertDialogPortal as se, AlertDialogTitle as ce, AlertDialogTrigger as le } from "./components/overlays/alert-dialog.js";
27
+ import { Dialog as ue, DialogClose as de, DialogContent as fe, DialogDescription as pe, DialogFooter as me, DialogHeader as he, DialogOverlay as ge, DialogPortal as _e, DialogTitle as ve, DialogTrigger as ye } from "./components/overlays/dialog.js";
28
+ import { DropdownMenu as be, DropdownMenuCheckboxItem as xe, DropdownMenuContent as Se, DropdownMenuGroup as Ce, DropdownMenuItem as we, DropdownMenuLabel as Te, DropdownMenuPortal as Ee, DropdownMenuRadioGroup as De, DropdownMenuRadioItem as Oe, DropdownMenuSeparator as ke, DropdownMenuShortcut as Ae, DropdownMenuSub as je, DropdownMenuSubContent as Me, DropdownMenuSubTrigger as Ne, DropdownMenuTrigger as Pe } from "./components/overlays/dropdown-menu.js";
29
+ import { Lightbox as Fe, LightboxClose as Ie, LightboxContent as Le, LightboxFooter as Re, LightboxOverlay as ze, LightboxPortal as Be, LightboxTrigger as Ve } from "./components/overlays/lightbox.js";
30
+ import { Popover as He, PopoverClose as Ue, PopoverContent as We, PopoverDescription as Ge, PopoverTitle as Ke, PopoverTrigger as qe, usePopoverClose as Je } from "./components/overlays/popover.js";
31
+ import { Code as Ye } from "./components/typography/code.js";
32
+ import { Heading as Xe, headingVariants as Ze } from "./components/typography/heading.js";
33
+ import { Kbd as Qe, useKbdPlatform as $e } from "./components/typography/kbd.js";
34
+ import { List as et, ListItem as tt, listVariants as nt } from "./components/typography/list.js";
35
+ import { ScrollArea as rt, ScrollBar as it } from "./components/containment/scroll-area.js";
36
+ import { Table as at, TableBody as ot, TableCell as st, TableHead as ct, TableHeader as lt, TableRow as ut } from "./components/containment/table.js";
37
+ import { Tabs as dt, TabsContent as ft, TabsList as pt, TabsTrigger as mt } from "./components/containment/tabs.js";
38
+ import ht from "./components/effects/react-bits/fade-content.js";
39
+ import { Skeleton as gt } from "./components/feedback/skeleton.js";
40
+ import { StatusDot as _t, statusDotVariants as vt } from "./components/feedback/status-dot.js";
41
+ import { Select as yt, SelectContent as bt, SelectGroup as xt, SelectItem as St, SelectLabel as Ct, SelectScrollDownButton as wt, SelectScrollUpButton as Tt, SelectSeparator as Et, SelectTrigger as Dt, SelectValue as Ot } from "./components/forms/select.js";
42
+ import { Slider as kt } from "./components/forms/slider.js";
43
+ import { Swatch as At, SwatchGroup as jt, swatchFillVariants as Mt, swatchGlyphVariants as Nt, swatchGroupVariants as Pt, swatchIndicatorVariants as Ft, swatchVariants as It } from "./components/forms/swatch.js";
44
+ import { Switch as Lt } from "./components/forms/switch.js";
45
+ import { Textarea as Rt } from "./components/forms/textarea.js";
46
+ import { TimePicker as zt } from "./components/forms/time-picker.js";
47
+ import { TimezonePicker as Bt, listTimezones as Vt } from "./components/forms/timezone-picker.js";
48
+ import { Toggle as Ht, ToggleGroup as Ut, toggleGroupVariants as Wt, toggleVariants as Gt } from "./components/forms/toggle.js";
49
+ import { SegmentedControl as Kt, SegmentedControlItem as qt, ToggleCard as Jt, ToggleCardGroup as Yt, segmentedControlItemVariants as Xt, segmentedControlVariants as Zt, toggleCardGroupVariants as Qt, toggleCardVariants as $t } from "./components/forms/toggle-card.js";
50
+ import { Stack as en, stackVariants as tn } from "./components/layout/stack.js";
51
+ import { Sheet as nn, SheetClose as rn, SheetContent as an, SheetDescription as on, SheetFooter as sn, SheetHeader as cn, SheetOverlay as ln, SheetPortal as un, SheetTitle as dn, SheetTrigger as fn } from "./components/overlays/sheet.js";
52
+ import { Tooltip as pn, TooltipContent as mn, TooltipProvider as hn, TooltipTrigger as gn } from "./components/overlays/tooltip.js";
53
+ import { TextLink as _n } from "./components/typography/text-link.js";
54
+ import { BoardIcon as vn } from "./components/chrome/board-icon.js";
55
+ import { BoardSelector as yn } from "./components/chrome/board-selector.js";
56
+ import { Breadcrumb as bn, BreadcrumbEllipsis as xn, BreadcrumbItem as Sn, BreadcrumbLink as Cn, BreadcrumbList as wn, BreadcrumbPage as Tn, BreadcrumbSeparator as En } from "./components/chrome/breadcrumb.js";
57
+ import { FIESTA_ICON_DATA_URI as Dn, FIESTA_ICON_PALETTE as On, FIESTA_ICON_SVG as kn, FiestaIcon as An } from "./components/chrome/fiesta-icon.js";
58
+ import { FiestaLogo as jn } from "./components/chrome/fiesta-logo.js";
59
+ import { LanguageSelector as Mn } from "./components/chrome/language-selector.js";
60
+ import { MainContent as Nn } from "./components/chrome/main-content.js";
61
+ import { NavList as Pn, NavListItem as Fn, NavListLink as In, NavListSection as Ln, NavListSectionContent as Rn, NavListSectionTrigger as zn } from "./components/chrome/nav-list.js";
62
+ import { PAGE_HUES as Bn, PageHeader as Vn, PageIconGradientDefs as Hn, pageHue as Un } from "./components/chrome/page-header.js";
63
+ import { PageInset as Wn } from "./components/chrome/page-inset.js";
64
+ import { PageLayout as Gn } from "./components/chrome/page-layout.js";
65
+ import { PageToolbar as Kn } from "./components/chrome/page-toolbar.js";
66
+ import { Pagination as qn, paginationRange as Jn } from "./components/chrome/pagination.js";
67
+ import { Sidebar as Yn } from "./components/chrome/sidebar.js";
68
+ import { SkipToContent as Xn } from "./components/chrome/skip-to-content.js";
69
+ import { ThemeToggle as Zn } from "./components/chrome/theme-toggle.js";
70
+ import { TopNav as Qn, TopNavActions as $n, TopNavBrand as er, TopNavItem as tr, TopNavLink as nr, TopNavList as rr, TopNavMenuTrigger as ir } from "./components/chrome/top-nav.js";
71
+ import { WizardProgress as ar } from "./components/wizard/wizard-progress.js";
72
+ import { ALL_COLOR_CODES as or, AVAILABLE_COLORS as sr, BOARD_COLORS as cr, COLOR_CODE_MAP as lr, COLOR_DISPLAY as ur, FIESTABOARD_COLORS as dr, getBoardColor as fr, isValidBoardColor as pr, resolveColorCode as mr } from "./lib/board-colors.js";
73
+ import { BOARD_CHARS as hr, EXTRA_CHARS as gr, applyCode62Glyph as _r, getCharFromToken as vr, getCharIndex as yr, isColorTile as br, messageToGrid as xr, messageToText as Sr, parseLine as Cr, resolveCode62Glyph as wr, tokensEqual as Tr } from "./lib/board-characters.js";
74
+ import { BoardTeaser as Er } from "./components/board/board-teaser.js";
75
+ import { BoardBackdrop as Dr } from "./components/board/board-backdrop.js";
76
+ import { WizardShell as Or } from "./components/wizard/wizard-shell.js";
77
+ import { DEVICE_DIMENSIONS as kr, MAX_NOTES_PER_AXIS as Ar, NOTE_COLS as jr, NOTE_ROWS as Mr, isNoteArray as Nr, noteArrayDimensions as Pr, resolveDimensions as Fr } from "./lib/board-dimensions.js";
78
+ import { BoardDisplay as Ir, FLAP_SPEED_PRESETS as Lr, deriveFlapTiming as Rr, resolveFlapSpeed as zr } from "./components/board/board-display.js";
79
+ import { ScaledBoardDisplay as Br } from "./components/board/scaled-board-display.js";
80
+ import { StaticBoardDisplay as Vr } from "./components/board/static-board-display.js";
81
+ import { DEFAULT_SHAPE_LABELS as Hr, previewLabel as Ur, previewLabels as Wr, previewMessage as Gr } from "./lib/board-previews.js";
82
+ import { BarList as Kr } from "./components/data/bar-list.js";
83
+ import { StatStrip as qr, StatStripItem as Jr } from "./components/data/stat-strip.js";
84
+ import { BoardShowcase as Yr, DEFAULT_SHOWCASE_LABELS as Xr } from "./components/plugin/board-showcase.js";
85
+ import { PLUGIN_CATEGORIES as Zr, PluginCategoryBadge as Qr } from "./components/plugin/plugin-category-badge.js";
86
+ import { ScaledBoardTeaser as $r } from "./components/plugin/scaled-board-teaser.js";
87
+ import { PluginCard as ei } from "./components/plugin/plugin-card.js";
88
+ import { BOARD_CODE_TO_COLOR as ti, BOARD_COLOR_CODES as ni, CURSOR_ANCHOR as ri, DEFAULT_BOARD_LINES as ii, DEFAULT_BOARD_WIDTH as ai, FILL_SPACE_REPEAT_VAR as oi, FILL_SPACE_VAR as si } from "./components/editor/constants.js";
89
+ import { NodeViewInjectionProvider as ci, useNodeViewInjection as li } from "./components/editor/node-views/node-view-context.js";
90
+ import { ColorTileNodeView as ui, DEFAULT_COLOR_TILE_NODE_VIEW_LABELS as di } from "./components/editor/node-views/color-tile-node-view.js";
91
+ import { ColorTileNode as fi } from "./components/editor/extensions/color-tile-node.js";
92
+ import { DEFAULT_FILL_SPACE_NODE_VIEW_LABELS as pi, FillSpaceNodeView as mi } from "./components/editor/node-views/fill-space-node-view.js";
93
+ import { FillSpaceNode as hi } from "./components/editor/extensions/fill-space-node.js";
94
+ import { DEFAULT_FORMULA_NODE_VIEW_LABELS as gi, FormulaNodeView as _i } from "./components/editor/node-views/formula-node-view.js";
95
+ import { FormulaNode as vi } from "./components/editor/extensions/formula-node.js";
96
+ import { LineNavigation as yi } from "./components/editor/extensions/line-navigation.js";
97
+ import { SingleParagraphDoc as bi } from "./components/editor/extensions/single-paragraph-doc.js";
98
+ import { TrailingNewline as xi } from "./components/editor/extensions/trailing-newline.js";
99
+ import { DEFAULT_VARIABLE_NODE_VIEW_LABELS as Si, VariableNodeView as Ci } from "./components/editor/node-views/variable-node-view.js";
100
+ import { VariableNode as wi } from "./components/editor/extensions/variable-node.js";
101
+ import { DEFAULT_WRAPPED_TEXT_VIEW_LABELS as Ti, WrappedTextView as Ei } from "./components/editor/node-views/wrapped-text-view.js";
102
+ import { WrappedTextNode as Di } from "./components/editor/extensions/wrapped-text-node.js";
103
+ import { ColorPickerContent as Oi, DEFAULT_COLOR_PICKER_LABELS as ki } from "./components/editor/color-picker-content.js";
104
+ import { DRAW_CHARS as Ai, brushToCell as ji, cellsToLine as Mi, isPositionalLine as Ni, lineToCells as Pi, paintLine as Fi, renderPositionalLine as Ii } from "./components/editor/utils/draw-mode.js";
105
+ import { DEFAULT_DRAW_CHAR_PICKER_LABELS as Li, DrawCharPickerContent as Ri } from "./components/editor/draw-char-picker-content.js";
106
+ import { DEFAULT_FORMATTING_PICKER_LABELS as zi, FormattingPickerContent as Bi } from "./components/editor/formatting-picker-content.js";
107
+ import { DEFAULT_TOOLBAR_DROPDOWN_LABELS as Vi, ToolbarDropdown as Hi } from "./components/editor/toolbar-dropdown.js";
108
+ import { parseLineContent as Ui, parseTemplateSimple as Wi, serializeTemplateSimple as Gi } from "./components/editor/utils/serialization.js";
109
+ import { insertTemplateContent as Ki } from "./components/editor/utils/insertion.js";
110
+ import { DEFAULT_TEMPLATE_EDITOR_TOOLBAR_LABELS as qi, TemplateEditorToolbar as Ji } from "./components/editor/template-editor-toolbar.js";
111
+ import { buildStrokeTransaction as Yi, lineRanges as Xi } from "./components/editor/utils/stroke-transaction.js";
112
+ import { DEFAULT_TEMPLATE_EDITOR_LABELS as Zi, TemplateEditor as Qi } from "./components/editor/template-editor.js";
113
+ import { DEFAULT_FILTER_PICKER_LABELS as $i, FilterPickerContent as ea } from "./components/editor/filter-picker-content.js";
114
+ import { DEFAULT_VARIABLE_PICKER_LABELS as ta, VariablePickerContent as na, createLucideIconResolver as ra, getPluginsWithNestedArrays as ia } from "./components/editor/variable-picker-content.js";
115
+ import { calculateLineLength as aa, getOverflowAmount as oa, willOverflow as sa } from "./components/editor/utils/length-calculator.js";
116
+ export { or as ALL_COLOR_CODES, sr as AVAILABLE_COLORS, t as Accordion, n as AccordionContent, r as AccordionItem, i as AccordionTrigger, _ as ActionCard, E as Alert, D as AlertDescription, $ as AlertDialog, ee as AlertDialogAction, te as AlertDialogCancel, ne as AlertDialogContent, re as AlertDialogDescription, ie as AlertDialogFooter, ae as AlertDialogHeader, oe as AlertDialogOverlay, se as AlertDialogPortal, ce as AlertDialogTitle, le as AlertDialogTrigger, O as AlertTitle, hr as BOARD_CHARS, ti as BOARD_CODE_TO_COLOR, cr as BOARD_COLORS, ni as BOARD_COLOR_CODES, M as Badge, Kr as BarList, Dr as BoardBackdrop, Ir as BoardDisplay, vn as BoardIcon, yn as BoardSelector, Yr as BoardShowcase, Er as BoardTeaser, J as Box, bn as Breadcrumb, xn as BreadcrumbEllipsis, Sn as BreadcrumbItem, Cn as BreadcrumbLink, wn as BreadcrumbList, Tn as BreadcrumbPage, En as BreadcrumbSeparator, A as Button, lr as COLOR_CODE_MAP, ur as COLOR_DISPLAY, ri as CURSOR_ANCHOR, s as Card, c as CardAction, l as CardContent, u as CardDescription, d as CardFooter, f as CardHeader, p as CardTitle, L as Checkbox, P as Chip, Ye as Code, y as Collapsible, b as CollapsibleContent, x as CollapsibleTrigger, Oi as ColorPickerContent, fi as ColorTileNode, ui as ColorTileNodeView, R as Combobox, V as CopyButton, ii as DEFAULT_BOARD_LINES, ai as DEFAULT_BOARD_WIDTH, ki as DEFAULT_COLOR_PICKER_LABELS, di as DEFAULT_COLOR_TILE_NODE_VIEW_LABELS, z as DEFAULT_COMBOBOX_LABELS, Li as DEFAULT_DRAW_CHAR_PICKER_LABELS, pi as DEFAULT_FILL_SPACE_NODE_VIEW_LABELS, $i as DEFAULT_FILTER_PICKER_LABELS, zi as DEFAULT_FORMATTING_PICKER_LABELS, gi as DEFAULT_FORMULA_NODE_VIEW_LABELS, Hr as DEFAULT_SHAPE_LABELS, Xr as DEFAULT_SHOWCASE_LABELS, Zi as DEFAULT_TEMPLATE_EDITOR_LABELS, qi as DEFAULT_TEMPLATE_EDITOR_TOOLBAR_LABELS, Vi as DEFAULT_TOOLBAR_DROPDOWN_LABELS, Si as DEFAULT_VARIABLE_NODE_VIEW_LABELS, ta as DEFAULT_VARIABLE_PICKER_LABELS, Ti as DEFAULT_WRAPPED_TEXT_VIEW_LABELS, kr as DEVICE_DIMENSIONS, Ai as DRAW_CHARS, ue as Dialog, de as DialogClose, fe as DialogContent, pe as DialogDescription, me as DialogFooter, he as DialogHeader, ge as DialogOverlay, _e as DialogPortal, ve as DialogTitle, ye as DialogTrigger, Ri as DrawCharPickerContent, be as DropdownMenu, xe as DropdownMenuCheckboxItem, Se as DropdownMenuContent, Ce as DropdownMenuGroup, we as DropdownMenuItem, Te as DropdownMenuLabel, Ee as DropdownMenuPortal, De as DropdownMenuRadioGroup, Oe as DropdownMenuRadioItem, ke as DropdownMenuSeparator, Ae as DropdownMenuShortcut, je as DropdownMenuSub, Me as DropdownMenuSubContent, Ne as DropdownMenuSubTrigger, Pe as DropdownMenuTrigger, gr as EXTRA_CHARS, I as EmptyState, dr as FIESTABOARD_COLORS, Dn as FIESTA_ICON_DATA_URI, On as FIESTA_ICON_PALETTE, kn as FIESTA_ICON_SVG, oi as FILL_SPACE_REPEAT_VAR, si as FILL_SPACE_VAR, Lr as FLAP_SPEED_PRESETS, ht as FadeContent, G as Field, An as FiestaIcon, jn as FiestaLogo, hi as FillSpaceNode, mi as FillSpaceNodeView, ea as FilterPickerContent, Y as Flex, Bi as FormattingPickerContent, vi as FormulaNode, _i as FormulaNodeView, Z as Grid, Xe as Heading, h as IconTile, K as Input, S as JsonTree, Qe as Kbd, W as Label, Mn as LanguageSelector, Fe as Lightbox, Ie as LightboxClose, Le as LightboxContent, Re as LightboxFooter, ze as LightboxOverlay, Be as LightboxPortal, Ve as LightboxTrigger, yi as LineNavigation, et as List, tt as ListItem, Ar as MAX_NOTES_PER_AXIS, Nn as MainContent, C as MediaFrame, w as MediaFrameBar, T as MediaFrameMedia, jr as NOTE_COLS, Mr as NOTE_ROWS, Pn as NavList, Fn as NavListItem, In as NavListLink, Ln as NavListSection, Rn as NavListSectionContent, zn as NavListSectionTrigger, ci as NodeViewInjectionProvider, Bn as PAGE_HUES, Zr as PLUGIN_CATEGORIES, Vn as PageHeader, Hn as PageIconGradientDefs, Wn as PageInset, Gn as PageLayout, Kn as PageToolbar, qn as Pagination, ei as PluginCard, Qr as PluginCategoryBadge, He as Popover, Ue as PopoverClose, We as PopoverContent, Ge as PopoverDescription, Ke as PopoverTitle, qe as PopoverTrigger, Br as ScaledBoardDisplay, $r as ScaledBoardTeaser, rt as ScrollArea, it as ScrollBar, q as SecretInput, Kt as SegmentedControl, qt as SegmentedControlItem, yt as Select, bt as SelectContent, xt as SelectGroup, St as SelectItem, Ct as SelectLabel, wt as SelectScrollDownButton, Tt as SelectScrollUpButton, Et as SelectSeparator, Dt as SelectTrigger, Ot as SelectValue, nn as Sheet, rn as SheetClose, an as SheetContent, on as SheetDescription, sn as SheetFooter, cn as SheetHeader, ln as SheetOverlay, un as SheetPortal, dn as SheetTitle, fn as SheetTrigger, Yn as Sidebar, bi as SingleParagraphDoc, gt as Skeleton, Xn as SkipToContent, kt as Slider, a as Spinner, en as Stack, qr as StatStrip, Jr as StatStripItem, Vr as StaticBoardDisplay, _t as StatusDot, At as Swatch, jt as SwatchGroup, Lt as Switch, at as Table, ot as TableBody, st as TableCell, ct as TableHead, lt as TableHeader, ut as TableRow, dt as Tabs, ft as TabsContent, pt as TabsList, mt as TabsTrigger, Qi as TemplateEditor, Ji as TemplateEditorToolbar, H as Text, _n as TextLink, Rt as Textarea, Zn as ThemeToggle, zt as TimePicker, Bt as TimezonePicker, Ht as Toggle, Jt as ToggleCard, Yt as ToggleCardGroup, Ut as ToggleGroup, Hi as ToolbarDropdown, pn as Tooltip, mn as TooltipContent, hn as TooltipProvider, gn as TooltipTrigger, Qn as TopNav, $n as TopNavActions, er as TopNavBrand, tr as TopNavItem, nr as TopNavLink, rr as TopNavList, ir as TopNavMenuTrigger, xi as TrailingNewline, wi as VariableNode, Ci as VariableNodeView, na as VariablePickerContent, ar as WizardProgress, Or as WizardShell, Di as WrappedTextNode, Ei as WrappedTextView, v as actionCardMedallionVariants, k as alertVariants, _r as applyCode62Glyph, N as badgeVariants, ji as brushToCell, Yi as buildStrokeTransaction, j as buttonVariants, aa as calculateLineLength, m as cardSurfaceClassName, Mi as cellsToLine, F as chipVariants, e as cn, ra as createLucideIconResolver, B as defaultComboboxFilter, Rr as deriveFlapTiming, X as flexVariants, fr as getBoardColor, vr as getCharFromToken, yr as getCharIndex, oa as getOverflowAmount, ia as getPluginsWithNestedArrays, Q as gridVariants, Ze as headingVariants, g as iconTileVariants, Ki as insertTemplateContent, br as isColorTile, Nr as isNoteArray, Ni as isPositionalLine, pr as isValidBoardColor, Xi as lineRanges, Pi as lineToCells, Vt as listTimezones, nt as listVariants, xr as messageToGrid, Sr as messageToText, Pr as noteArrayDimensions, Un as pageHue, Jn as paginationRange, Fi as paintLine, Cr as parseLine, Ui as parseLineContent, Wi as parseTemplateSimple, Ur as previewLabel, Wr as previewLabels, Gr as previewMessage, Ii as renderPositionalLine, wr as resolveCode62Glyph, mr as resolveColorCode, Fr as resolveDimensions, zr as resolveFlapSpeed, Xt as segmentedControlItemVariants, Zt as segmentedControlVariants, Gi as serializeTemplateSimple, o as spinnerVariants, tn as stackVariants, vt as statusDotVariants, Mt as swatchFillVariants, Nt as swatchGlyphVariants, Pt as swatchGroupVariants, Ft as swatchIndicatorVariants, It as swatchVariants, U as textVariants, Qt as toggleCardGroupVariants, $t as toggleCardVariants, Wt as toggleGroupVariants, Gt as toggleVariants, Tr as tokensEqual, $e as useKbdPlatform, li as useNodeViewInjection, Je as usePopoverClose, sa as willOverflow };
package/dist/theme.css CHANGED
@@ -9,14 +9,55 @@
9
9
  * @import "@fiestaboard/ui/theme.css"; skip fonts.css if you self-host
10
10
  * @source "../node_modules/@fiestaboard/ui/dist";
11
11
  *
12
- * Dark mode is class-based: toggle the `dark` class on <html>.
12
+ * Dark mode is signalled two ways, and they are equivalent: the `dark` CLASS
13
+ * or a `data-theme="dark"` ATTRIBUTE, on <html> or on any ancestor of the
14
+ * subtree you want themed. Toggle whichever your host already toggles.
15
+ *
13
16
  * Values are copied verbatim from FiestaBoard app/globals.css — visual
14
17
  * parity with the app is the contract; do not reformat or "improve"
15
18
  * token values here without a parity check on the consumer side.
16
19
  */
17
20
  @import "tw-animate-css";
18
21
 
19
- @custom-variant dark (&:is(.dark *));
22
+ /* ============================================================
23
+ * DARK MODE HAS TWO SPELLINGS (#228 item 6).
24
+ *
25
+ * `.dark` is what a Tailwind/shadcn host stamps; `[data-theme="dark"]` is
26
+ * what Docusaurus, Astro, Nuxt Color Mode and several static-site themes
27
+ * stamp natively. Matching both means a host that already has a theme
28
+ * switcher needs no adapter — no class to mirror, no JS to sync.
29
+ *
30
+ * fiestaboard.github.io is the consumer that forced this. It could not stamp
31
+ * `.dark` (Docusaurus owns the attribute and re-stamps it pre-paint), so its
32
+ * `scripts/build-fiestaui-css.mjs` regex-rewrote every compiled `.dark`
33
+ * selector in this file into the attribute form after Tailwind ran — a
34
+ * rewrite that has to track how Tailwind chooses to compile us. 4.0.0 already
35
+ * broke it once: `color-mix()` token values made Tailwind hoist part of the
36
+ * block below into an `@supports` fragment, and a rewrite that assumed one
37
+ * block left `--brand-hover` silently stuck on its fallback.
38
+ *
39
+ * THE PAIRING IS ALL-OR-NOTHING. A half-applied change is worse than none: a
40
+ * consumer's rewrite would then be transforming one half of this file and
41
+ * leaving the other half alone, which reads as working right up until the
42
+ * unpaired half is the one that matters. `dark-selector-pairing.test.mjs`
43
+ * asserts that every dark-scoped selector here carries both spellings.
44
+ *
45
+ * Two things this deliberately does NOT do:
46
+ *
47
+ * - It does not qualify with `html`. `.dark`/`[data-theme="dark"]` are
48
+ * 0-1-0, the same as `:root`, so source order decides — which is correct
49
+ * for a scoped subtree (a dark card on a light page) and is the reason
50
+ * the pair is written unqualified. A consumer whose pipeline APPENDS
51
+ * `:root` blocks after this file (Docusaurus's wide-gamut P3 pass does
52
+ * exactly that) still has to raise specificity itself. Matching the
53
+ * attribute shrinks that consumer's rewrite; it does not delete it.
54
+ * - It does not make the selector configurable. CSS has no parameter to
55
+ * configure, so "configurable" would mean a build step and a config file
56
+ * for what is otherwise a `cp`. Matching both spellings covers the hosts
57
+ * that exist at zero cost to every consumer; a third spelling can join
58
+ * this list the day something needs it.
59
+ * ============================================================ */
60
+ @custom-variant dark (&:is(.dark *, [data-theme="dark"] *));
20
61
 
21
62
  @theme inline {
22
63
  --color-background: var(--background);
@@ -465,10 +506,10 @@
465
506
  * pins the "New" badge to hexes with `!important`, which is a hex fork of
466
507
  * a token pair and a real maintenance defect — a fork stops tracking a
467
508
  * retune here — but it is theme-AWARE (`.newBadge` plus a
468
- * `[data-theme="dark"] .newBadge`, and their build widens every compiled
469
- * `.dark` selector to that attribute), so the light pigment never lands on
470
- * a dark fill. Both halves clear AA on their own fills: 6.49:1 light,
471
- * 7.52:1 dark. It is redundant, not broken. Dropping it downstream is a
509
+ * `[data-theme="dark"] .newBadge`, an attribute this file now matches
510
+ * directly see the @custom-variant note at the top), so the light pigment
511
+ * never lands on a dark fill. Both halves clear AA on their own fills:
512
+ * 6.49:1 light, 7.52:1 dark. It is redundant, not broken. Dropping it downstream is a
472
513
  * cleanup, not a fix, and it does not close #231.
473
514
  *
474
515
  * Opaque fills (mixing the tint into --background instead of compositing
@@ -817,7 +858,9 @@
817
858
  --z-confetti: 9999;
818
859
  }
819
860
 
820
- .dark {
861
+ /* Both dark spellings — see the @custom-variant note at the top (#228). */
862
+ .dark,
863
+ [data-theme="dark"] {
821
864
  color-scheme: dark; /* see the note in :root (#160) */
822
865
  /* Hue lock applies here too: same six hues, same hue angles as :root.
823
866
  Only lightness moves. Surfaces carry the same warm cast at hue 73, and
@@ -1337,7 +1380,8 @@ html[data-board-switch="backward"]::view-transition-new(board-page) {
1337
1380
  --accent-foreground: var(--sidebar-foreground);
1338
1381
  --border: color-mix(in oklch, var(--sidebar-foreground) 16%, transparent);
1339
1382
  }
1340
- .dark .sidebar-gradient-horizontal {
1383
+ .dark .sidebar-gradient-horizontal,
1384
+ [data-theme="dark"] .sidebar-gradient-horizontal {
1341
1385
  color: oklch(1 0 0);
1342
1386
  --foreground: oklch(1 0 0);
1343
1387
  --sidebar-accent: oklch(1 0 0 / 24%);
@@ -1496,7 +1540,8 @@ html[data-board-switch="backward"]::view-transition-new(board-page) {
1496
1540
  The hover keeps the same recipe as its resting form, lifted 14% -> 24%
1497
1541
  (4.54:1 dark rail, 5.05:1 dark page, 1.29:1 light page). */
1498
1542
  @media (prefers-contrast: more) {
1499
- .dark {
1543
+ .dark,
1544
+ [data-theme="dark"] {
1500
1545
  --nav-active: oklch(0.86 0.115 73);
1501
1546
  }
1502
1547
  :root {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiestaboard/ui",
3
- "version": "5.8.0",
3
+ "version": "5.10.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": {