@hanzo/ui 8.9.2 → 8.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 (193) hide show
  1. package/dist/backends/gui/breadcrumb.cjs +30 -0
  2. package/dist/backends/gui/breadcrumb.d.ts +32 -0
  3. package/dist/backends/gui/breadcrumb.d.ts.map +1 -0
  4. package/dist/backends/gui/breadcrumb.js +21 -0
  5. package/dist/backends/gui/breadcrumb.js.map +1 -0
  6. package/dist/backends/gui/button.d.ts +17 -3
  7. package/dist/backends/gui/button.d.ts.map +1 -1
  8. package/dist/backends/gui/button.js +1 -1
  9. package/dist/backends/gui/button.js.map +1 -1
  10. package/dist/backends/gui/card.d.ts +2 -1
  11. package/dist/backends/gui/card.d.ts.map +1 -1
  12. package/dist/backends/gui/card.js.map +1 -1
  13. package/dist/backends/gui/carousel.cjs +19 -5
  14. package/dist/backends/gui/carousel.d.ts +2 -0
  15. package/dist/backends/gui/carousel.d.ts.map +1 -1
  16. package/dist/backends/gui/carousel.js +19 -5
  17. package/dist/backends/gui/carousel.js.map +1 -1
  18. package/dist/backends/gui/drawer.cjs +183 -0
  19. package/dist/backends/gui/drawer.d.ts +49 -0
  20. package/dist/backends/gui/drawer.d.ts.map +1 -0
  21. package/dist/backends/gui/drawer.js +145 -0
  22. package/dist/backends/gui/drawer.js.map +1 -0
  23. package/dist/backends/gui/index.cjs +30 -1
  24. package/dist/backends/gui/index.d.ts +6 -0
  25. package/dist/backends/gui/index.d.ts.map +1 -1
  26. package/dist/backends/gui/index.js +6 -0
  27. package/dist/backends/gui/index.js.map +1 -1
  28. package/dist/backends/gui/input-otp.cjs +101 -0
  29. package/dist/backends/gui/input-otp.d.ts +37 -0
  30. package/dist/backends/gui/input-otp.d.ts.map +1 -0
  31. package/dist/backends/gui/input-otp.js +62 -0
  32. package/dist/backends/gui/input-otp.js.map +1 -0
  33. package/dist/backends/gui/link.cjs +3 -1
  34. package/dist/backends/gui/link.d.ts +7 -1
  35. package/dist/backends/gui/link.d.ts.map +1 -1
  36. package/dist/backends/gui/link.js +3 -1
  37. package/dist/backends/gui/link.js.map +1 -1
  38. package/dist/backends/gui/media-stack.cjs +4 -7
  39. package/dist/backends/gui/media-stack.d.ts.map +1 -1
  40. package/dist/backends/gui/media-stack.js +4 -7
  41. package/dist/backends/gui/media-stack.js.map +1 -1
  42. package/dist/backends/gui/microdata.cjs +2 -0
  43. package/dist/backends/gui/microdata.d.ts +24 -0
  44. package/dist/backends/gui/microdata.d.ts.map +1 -0
  45. package/dist/backends/gui/microdata.js +2 -0
  46. package/dist/backends/gui/microdata.js.map +1 -0
  47. package/dist/backends/gui/nav-items.cjs +13 -0
  48. package/dist/backends/gui/nav-items.d.ts +22 -0
  49. package/dist/backends/gui/nav-items.d.ts.map +1 -0
  50. package/dist/backends/gui/nav-items.js +10 -0
  51. package/dist/backends/gui/nav-items.js.map +1 -0
  52. package/dist/backends/gui/navigation-menu.cjs +97 -0
  53. package/dist/backends/gui/navigation-menu.d.ts +25 -0
  54. package/dist/backends/gui/navigation-menu.d.ts.map +1 -0
  55. package/dist/backends/gui/navigation-menu.js +55 -0
  56. package/dist/backends/gui/navigation-menu.js.map +1 -0
  57. package/dist/backends/gui/step-indicator.cjs +23 -0
  58. package/dist/backends/gui/step-indicator.d.ts +22 -0
  59. package/dist/backends/gui/step-indicator.d.ts.map +1 -0
  60. package/dist/backends/gui/step-indicator.js +20 -0
  61. package/dist/backends/gui/step-indicator.js.map +1 -0
  62. package/dist/backends/gui/toggle-group.cjs +1 -1
  63. package/dist/backends/gui/toggle-group.d.ts +56 -2
  64. package/dist/backends/gui/toggle-group.d.ts.map +1 -1
  65. package/dist/backends/gui/toggle-group.js +1 -1
  66. package/dist/backends/gui/toggle-group.js.map +1 -1
  67. package/dist/gallery.html +16 -2
  68. package/dist/index.cjs +26 -2
  69. package/dist/index.d.ts +2 -2
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +1 -1
  72. package/dist/index.js.map +1 -1
  73. package/dist/index.node.js +1 -1
  74. package/dist/primitives/Breadcrumb.cjs +8 -0
  75. package/dist/primitives/Breadcrumb.d.ts +2 -0
  76. package/dist/primitives/Breadcrumb.d.ts.map +1 -0
  77. package/dist/primitives/Breadcrumb.js +5 -0
  78. package/dist/primitives/Breadcrumb.js.map +1 -0
  79. package/dist/primitives/BreadcrumbEllipsis.cjs +8 -0
  80. package/dist/primitives/BreadcrumbEllipsis.d.ts +2 -0
  81. package/dist/primitives/BreadcrumbEllipsis.d.ts.map +1 -0
  82. package/dist/primitives/BreadcrumbEllipsis.js +5 -0
  83. package/dist/primitives/BreadcrumbEllipsis.js.map +1 -0
  84. package/dist/primitives/BreadcrumbItem.cjs +8 -0
  85. package/dist/primitives/BreadcrumbItem.d.ts +2 -0
  86. package/dist/primitives/BreadcrumbItem.d.ts.map +1 -0
  87. package/dist/primitives/BreadcrumbItem.js +5 -0
  88. package/dist/primitives/BreadcrumbItem.js.map +1 -0
  89. package/dist/primitives/BreadcrumbLink.cjs +8 -0
  90. package/dist/primitives/BreadcrumbLink.d.ts +2 -0
  91. package/dist/primitives/BreadcrumbLink.d.ts.map +1 -0
  92. package/dist/primitives/BreadcrumbLink.js +5 -0
  93. package/dist/primitives/BreadcrumbLink.js.map +1 -0
  94. package/dist/primitives/BreadcrumbList.cjs +8 -0
  95. package/dist/primitives/BreadcrumbList.d.ts +2 -0
  96. package/dist/primitives/BreadcrumbList.d.ts.map +1 -0
  97. package/dist/primitives/BreadcrumbList.js +5 -0
  98. package/dist/primitives/BreadcrumbList.js.map +1 -0
  99. package/dist/primitives/BreadcrumbPage.cjs +8 -0
  100. package/dist/primitives/BreadcrumbPage.d.ts +2 -0
  101. package/dist/primitives/BreadcrumbPage.d.ts.map +1 -0
  102. package/dist/primitives/BreadcrumbPage.js +5 -0
  103. package/dist/primitives/BreadcrumbPage.js.map +1 -0
  104. package/dist/primitives/BreadcrumbSeparator.cjs +8 -0
  105. package/dist/primitives/BreadcrumbSeparator.d.ts +2 -0
  106. package/dist/primitives/BreadcrumbSeparator.d.ts.map +1 -0
  107. package/dist/primitives/BreadcrumbSeparator.js +5 -0
  108. package/dist/primitives/BreadcrumbSeparator.js.map +1 -0
  109. package/dist/primitives/Drawer.cjs +8 -0
  110. package/dist/primitives/Drawer.d.ts +2 -0
  111. package/dist/primitives/Drawer.d.ts.map +1 -0
  112. package/dist/primitives/Drawer.js +5 -0
  113. package/dist/primitives/Drawer.js.map +1 -0
  114. package/dist/primitives/DrawerContent.cjs +8 -0
  115. package/dist/primitives/DrawerContent.d.ts +2 -0
  116. package/dist/primitives/DrawerContent.d.ts.map +1 -0
  117. package/dist/primitives/DrawerContent.js +5 -0
  118. package/dist/primitives/DrawerContent.js.map +1 -0
  119. package/dist/primitives/DrawerHandle.cjs +8 -0
  120. package/dist/primitives/DrawerHandle.d.ts +2 -0
  121. package/dist/primitives/DrawerHandle.d.ts.map +1 -0
  122. package/dist/primitives/DrawerHandle.js +5 -0
  123. package/dist/primitives/DrawerHandle.js.map +1 -0
  124. package/dist/primitives/InputOTP.cjs +8 -0
  125. package/dist/primitives/InputOTP.d.ts +2 -0
  126. package/dist/primitives/InputOTP.d.ts.map +1 -0
  127. package/dist/primitives/InputOTP.js +5 -0
  128. package/dist/primitives/InputOTP.js.map +1 -0
  129. package/dist/primitives/InputOTPGroup.cjs +8 -0
  130. package/dist/primitives/InputOTPGroup.d.ts +2 -0
  131. package/dist/primitives/InputOTPGroup.d.ts.map +1 -0
  132. package/dist/primitives/InputOTPGroup.js +5 -0
  133. package/dist/primitives/InputOTPGroup.js.map +1 -0
  134. package/dist/primitives/InputOTPSeparator.cjs +8 -0
  135. package/dist/primitives/InputOTPSeparator.d.ts +2 -0
  136. package/dist/primitives/InputOTPSeparator.d.ts.map +1 -0
  137. package/dist/primitives/InputOTPSeparator.js +5 -0
  138. package/dist/primitives/InputOTPSeparator.js.map +1 -0
  139. package/dist/primitives/InputOTPSlot.cjs +8 -0
  140. package/dist/primitives/InputOTPSlot.d.ts +2 -0
  141. package/dist/primitives/InputOTPSlot.d.ts.map +1 -0
  142. package/dist/primitives/InputOTPSlot.js +5 -0
  143. package/dist/primitives/InputOTPSlot.js.map +1 -0
  144. package/dist/primitives/NavItems.cjs +8 -0
  145. package/dist/primitives/NavItems.d.ts +2 -0
  146. package/dist/primitives/NavItems.d.ts.map +1 -0
  147. package/dist/primitives/NavItems.js +5 -0
  148. package/dist/primitives/NavItems.js.map +1 -0
  149. package/dist/primitives/NavigationMenu.cjs +8 -0
  150. package/dist/primitives/NavigationMenu.d.ts +2 -0
  151. package/dist/primitives/NavigationMenu.d.ts.map +1 -0
  152. package/dist/primitives/NavigationMenu.js +5 -0
  153. package/dist/primitives/NavigationMenu.js.map +1 -0
  154. package/dist/primitives/NavigationMenuContent.cjs +8 -0
  155. package/dist/primitives/NavigationMenuContent.d.ts +2 -0
  156. package/dist/primitives/NavigationMenuContent.d.ts.map +1 -0
  157. package/dist/primitives/NavigationMenuContent.js +5 -0
  158. package/dist/primitives/NavigationMenuContent.js.map +1 -0
  159. package/dist/primitives/NavigationMenuItem.cjs +8 -0
  160. package/dist/primitives/NavigationMenuItem.d.ts +2 -0
  161. package/dist/primitives/NavigationMenuItem.d.ts.map +1 -0
  162. package/dist/primitives/NavigationMenuItem.js +5 -0
  163. package/dist/primitives/NavigationMenuItem.js.map +1 -0
  164. package/dist/primitives/NavigationMenuLink.cjs +8 -0
  165. package/dist/primitives/NavigationMenuLink.d.ts +2 -0
  166. package/dist/primitives/NavigationMenuLink.d.ts.map +1 -0
  167. package/dist/primitives/NavigationMenuLink.js +5 -0
  168. package/dist/primitives/NavigationMenuLink.js.map +1 -0
  169. package/dist/primitives/NavigationMenuList.cjs +8 -0
  170. package/dist/primitives/NavigationMenuList.d.ts +2 -0
  171. package/dist/primitives/NavigationMenuList.d.ts.map +1 -0
  172. package/dist/primitives/NavigationMenuList.js +5 -0
  173. package/dist/primitives/NavigationMenuList.js.map +1 -0
  174. package/dist/primitives/NavigationMenuTrigger.cjs +8 -0
  175. package/dist/primitives/NavigationMenuTrigger.d.ts +2 -0
  176. package/dist/primitives/NavigationMenuTrigger.d.ts.map +1 -0
  177. package/dist/primitives/NavigationMenuTrigger.js +5 -0
  178. package/dist/primitives/NavigationMenuTrigger.js.map +1 -0
  179. package/dist/primitives/StepIndicator.cjs +8 -0
  180. package/dist/primitives/StepIndicator.d.ts +2 -0
  181. package/dist/primitives/StepIndicator.d.ts.map +1 -0
  182. package/dist/primitives/StepIndicator.js +5 -0
  183. package/dist/primitives/StepIndicator.js.map +1 -0
  184. package/dist/primitives/navigationMenuTriggerStyle.cjs +8 -0
  185. package/dist/primitives/navigationMenuTriggerStyle.d.ts +2 -0
  186. package/dist/primitives/navigationMenuTriggerStyle.d.ts.map +1 -0
  187. package/dist/primitives/navigationMenuTriggerStyle.js +5 -0
  188. package/dist/primitives/navigationMenuTriggerStyle.js.map +1 -0
  189. package/dist/styles.css +15 -1
  190. package/dist/theme.css +15 -1
  191. package/dist/types.d.ts +9 -9
  192. package/dist/types.d.ts.map +1 -1
  193. package/package.json +1 -1
@@ -0,0 +1,145 @@
1
+ 'use client';
2
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ /**
4
+ * Drawer — a sheet that comes up from the bottom and rests at chosen heights.
5
+ *
6
+ * A snap point IS a height: `'72px'` for a peek, `'620px'` for the whole thing,
7
+ * or a number for a fraction of the viewport. The sheet is always rendered at
8
+ * its TALLEST point and slid down to the active one, so its content has a
9
+ * stable box and does not reflow every time it moves — a cart that re-lays-out
10
+ * mid-drag is the thing this shape is avoiding.
11
+ *
12
+ * Dragging moves that same offset, so the release is a straight question: which
13
+ * point is the sheet nearest now. Dragged below the shortest point it closes,
14
+ * because a sheet flicked away should go away.
15
+ */
16
+ import * as React from 'react';
17
+ import { Box } from '../../box.js';
18
+ import { cn } from '../../core/cn.js';
19
+ const DrawerCtx = /* @__PURE__ */ React.createContext(null);
20
+ const useDrawer = () => {
21
+ const c = React.useContext(DrawerCtx);
22
+ if (!c)
23
+ throw new Error('DrawerContent and DrawerHandle must be inside a <Drawer>');
24
+ return c;
25
+ };
26
+ /** A snap point in pixels. A number is a fraction of the viewport. */
27
+ const px = (p, viewport) => typeof p === 'number' ? p * viewport : parseFloat(p) || 0;
28
+ /** A flick: fast enough that where it was pointing matters more than where it stopped. */
29
+ const FLICK = 0.5; // px per ms
30
+ export const Drawer = ({ open = false, onOpenChange, modal = true, snapPoints, activeSnapPoint, setActiveSnapPoint, dragHandleOnly = false, fastDragSkipsToEnd = true, handleHandleClicked, extendHandleDragRegion = false, children, }) => {
31
+ // The viewport is only known in a browser, and a fractional snap point needs
32
+ // it. Zero on the server means those resolve to zero and the sheet renders
33
+ // closed, which is the right thing to send.
34
+ const [viewport, setViewport] = React.useState(0);
35
+ React.useEffect(() => {
36
+ const read = () => setViewport(window.innerHeight);
37
+ read();
38
+ window.addEventListener('resize', read);
39
+ return () => window.removeEventListener('resize', read);
40
+ }, []);
41
+ const points = snapPoints?.length ? snapPoints : [1];
42
+ const heights = points.map((p) => px(p, viewport));
43
+ const tallest = Math.max(...heights, 0);
44
+ const activePx = activeSnapPoint !== undefined ? px(activeSnapPoint, viewport) : tallest;
45
+ const [offset, setOffset] = React.useState(0);
46
+ const [dragging, setDragging] = React.useState(false);
47
+ const snapTo = (target) => {
48
+ let best = heights[0];
49
+ for (const h of heights)
50
+ if (Math.abs(h - target) < Math.abs(best - target))
51
+ best = h;
52
+ // Below the shortest point by more than half of it, this is a dismissal.
53
+ if (target < Math.min(...heights) / 2) {
54
+ onOpenChange?.(false);
55
+ return;
56
+ }
57
+ const i = heights.indexOf(best);
58
+ setActiveSnapPoint?.(points[i]);
59
+ };
60
+ const drag = (start) => {
61
+ const from = start.clientY;
62
+ const began = start.timeStamp;
63
+ const el = start.currentTarget;
64
+ el.setPointerCapture?.(start.pointerId);
65
+ setDragging(true);
66
+ const move = (e) => {
67
+ // Down is positive, and down SHRINKS the sheet.
68
+ setOffset(Math.max(0, e.clientY - from));
69
+ };
70
+ const up = (e) => {
71
+ el.releasePointerCapture?.(start.pointerId);
72
+ document.removeEventListener('pointermove', move);
73
+ document.removeEventListener('pointerup', up);
74
+ setDragging(false);
75
+ setOffset(0);
76
+ const travelled = e.clientY - from;
77
+ const speed = Math.abs(travelled) / Math.max(1, e.timeStamp - began);
78
+ if (fastDragSkipsToEnd && speed > FLICK) {
79
+ // A flick goes all the way in the direction it was thrown.
80
+ snapTo(travelled > 0 ? 0 : tallest);
81
+ return;
82
+ }
83
+ snapTo(activePx - travelled);
84
+ };
85
+ document.addEventListener('pointermove', move);
86
+ document.addEventListener('pointerup', up);
87
+ };
88
+ return (_jsx(DrawerCtx.Provider, { value: {
89
+ open,
90
+ modal,
91
+ heights,
92
+ active: activePx,
93
+ onOpenChange,
94
+ snapTo,
95
+ handleHandleClicked,
96
+ dragHandleOnly,
97
+ fastDragSkipsToEnd,
98
+ extendHandleDragRegion,
99
+ drag,
100
+ offset,
101
+ dragging,
102
+ }, children: children }));
103
+ };
104
+ /**
105
+ * The grab bar.
106
+ *
107
+ * 44px of grab area around a 4px bar when `extendHandleDragRegion` is on: the
108
+ * drawn size is a visual, and a target the size of the visual is one a thumb
109
+ * misses.
110
+ */
111
+ export const DrawerHandle = ({ className, ...props }) => {
112
+ const { drag, handleHandleClicked, extendHandleDragRegion } = useDrawer();
113
+ return (_jsx(Box, { role: "separator", "aria-orientation": "horizontal", "aria-label": "Resize", className: cn('grid place-items-center cursor-grab', className), style: {
114
+ paddingBlock: extendHandleDragRegion ? 20 : 8,
115
+ touchAction: 'none',
116
+ }, onPointerDown: drag, onClick: handleHandleClicked, ...props, children: _jsx(Box, { className: "rounded-full bg-muted", style: { width: 48, height: 4 } }) }));
117
+ };
118
+ export const DrawerContent = ({ className, children, defaultHandle = true, ...props }) => {
119
+ const { open, modal, heights, active, offset, dragging, onOpenChange, dragHandleOnly, drag } = useDrawer();
120
+ if (!open)
121
+ return null;
122
+ const tallest = Math.max(...heights, 0);
123
+ // Rendered at its tallest and slid down to the active point, so the content
124
+ // keeps one box whatever height the sheet is resting at.
125
+ const down = Math.max(0, tallest - active) + offset;
126
+ return (_jsxs(_Fragment, { children: [modal && (_jsx(Box
127
+ // The scrim is not a control and must not be in the tab order, but it
128
+ // does dismiss — which is why the sheet also closes on Escape below.
129
+ , { "aria-hidden": "true", onClick: () => onOpenChange?.(false), style: { position: 'fixed', inset: 0, background: 'rgba(0,0,0,.5)', zIndex: 50 } })), _jsxs(Box, { role: "dialog", "aria-modal": modal, className: cn('bg-background', className), style: {
130
+ position: 'fixed',
131
+ left: 0,
132
+ right: 0,
133
+ bottom: 0,
134
+ height: tallest || undefined,
135
+ transform: `translateY(${down}px)`,
136
+ // No transition WHILE dragging, or the sheet lags the thumb.
137
+ transition: dragging ? 'none' : 'transform .3s cubic-bezier(.32,.72,0,1)',
138
+ touchAction: 'none',
139
+ zIndex: 50,
140
+ }, onPointerDown: dragHandleOnly ? undefined : drag, onKeyDown: (e) => {
141
+ if (e.key === 'Escape')
142
+ onOpenChange?.(false);
143
+ }, ...props, children: [defaultHandle && _jsx(DrawerHandle, {}), children] })] }));
144
+ };
145
+ //# sourceMappingURL=drawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawer.js","sourceRoot":"","sources":["../../../src/backends/gui/drawer.tsx"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
19
19
  exports.ContextMenuRadioItem = exports.ContextMenuCheckboxItem = exports.ContextMenuItem = exports.ContextMenuContent = exports.ContextMenuTrigger = exports.ContextMenu = exports.CommandSeparator = exports.CommandShortcut = exports.CommandItem = exports.CommandGroup = exports.CommandEmpty = exports.CommandList = exports.CommandInput = exports.CommandDialog = exports.Command = exports.CollapsibleContent = exports.CollapsibleTrigger = exports.Collapsible = exports.Checkbox = exports.CardMedia = exports.CardContent = exports.CardDescription = exports.CardAction = exports.CardTitle = exports.CardFooter = exports.CardHeader = exports.Card = exports.buttonVariants = exports.Button = exports.badgeVariants = exports.Badge = exports.AvatarFallback = exports.AvatarImage = exports.Avatar = exports.AspectRatio = exports.AlertDialogCancel = exports.AlertDialogAction = exports.AlertDialogDescription = exports.AlertDialogTitle = exports.AlertDialogFooter = exports.AlertDialogHeader = exports.AlertDialogContent = exports.AlertDialogOverlay = exports.AlertDialogPortal = exports.AlertDialogTrigger = exports.AlertDialog = exports.AccordionContent = exports.AccordionTrigger = exports.AccordionItem = exports.Accordion = void 0;
20
20
  exports.ResizablePanel = exports.ResizablePanelGroup = exports.RadioGroupItem = exports.RadioGroup = exports.Progress = exports.PopoverClose = exports.PopoverAnchor = exports.PopoverContent = exports.PopoverTrigger = exports.Popover = exports.Label = exports.Input = exports.HoverCardContent = exports.HoverCardTrigger = exports.HoverCard = exports.Glass = exports.DropdownMenuRadioGroup = exports.DropdownMenuSubTrigger = exports.DropdownMenuSubContent = exports.DropdownMenuSub = exports.DropdownMenuPortal = exports.DropdownMenuGroup = exports.DropdownMenuShortcut = exports.DropdownMenuSeparator = exports.DropdownMenuLabel = exports.DropdownMenuRadioItem = exports.DropdownMenuCheckboxItem = exports.DropdownMenuItem = exports.DropdownMenuContent = exports.DropdownMenuTrigger = exports.DropdownMenu = exports.DialogTrigger = exports.DialogTitle = exports.DialogPortal = exports.DialogOverlay = exports.DialogHeader = exports.DialogFooter = exports.DialogDescription = exports.DialogContent = exports.DialogClose = exports.Dialog = exports.ContextMenuRadioGroup = exports.ContextMenuSubTrigger = exports.ContextMenuSubContent = exports.ContextMenuSub = exports.ContextMenuPortal = exports.ContextMenuGroup = exports.ContextMenuShortcut = exports.ContextMenuSeparator = exports.ContextMenuLabel = void 0;
21
21
  exports.ToggleGroupItem = exports.ToggleGroup = exports.toast = exports.Toaster = exports.Textarea = exports.TabsContent = exports.TabsTrigger = exports.TabsList = exports.Tabs = exports.Switch = exports.Spinner = exports.Slider = exports.Fill = exports.Screen = exports.Band = exports.SelectScrollDownButton = exports.SelectScrollUpButton = exports.SelectSeparator = exports.SelectItem = exports.SelectLabel = exports.SelectContent = exports.SelectTrigger = exports.SelectValue = exports.SelectGroup = exports.Select = exports.ScrollBar = exports.ScrollArea = exports.Text = exports.View = exports.ScrollView = exports.Spacer = exports.Separator = exports.Image = exports.Anchor = exports.Em = exports.Strong = exports.Span = exports.H6 = exports.H5 = exports.H4 = exports.H3 = exports.H2 = exports.H1 = exports.Heading = exports.Paragraph = exports.SizableText = exports.ZStack = exports.YStack = exports.XStack = exports.ResizableHandle = void 0;
22
- exports.fit = exports.MediaStack = exports.Skeleton = exports.CarouselNext = exports.CarouselPrevious = exports.CarouselItem = exports.CarouselContent = exports.Carousel = exports.YouTubeEmbed = exports.VideoPlayer = exports.LinkElement = exports.MDXLink = exports.useLink = exports.Link = exports.ApplyTypography = exports.useFormField = exports.FormMessage = exports.FormDescription = exports.FormControl = exports.FormLabel = exports.FormItem = exports.FormField = exports.Form = exports.TooltipProvider = exports.TooltipContent = exports.TooltipTrigger = exports.Tooltip = void 0;
22
+ exports.DrawerHandle = exports.DrawerContent = exports.Drawer = exports.navigationMenuTriggerStyle = exports.NavigationMenuTrigger = exports.NavigationMenuList = exports.NavigationMenuLink = exports.NavigationMenuItem = exports.NavigationMenuContent = exports.NavigationMenu = exports.InputOTPSlot = exports.InputOTPSeparator = exports.InputOTPGroup = exports.InputOTP = exports.StepIndicator = exports.BreadcrumbSeparator = exports.BreadcrumbPage = exports.BreadcrumbList = exports.BreadcrumbLink = exports.BreadcrumbItem = exports.BreadcrumbEllipsis = exports.Breadcrumb = exports.NavItems = exports.fit = exports.MediaStack = exports.Skeleton = exports.CarouselNext = exports.CarouselPrevious = exports.CarouselItem = exports.CarouselContent = exports.Carousel = exports.YouTubeEmbed = exports.VideoPlayer = exports.LinkElement = exports.MDXLink = exports.useLink = exports.Link = exports.ApplyTypography = exports.useFormField = exports.FormMessage = exports.FormDescription = exports.FormControl = exports.FormLabel = exports.FormItem = exports.FormField = exports.Form = exports.TooltipProvider = exports.TooltipContent = exports.TooltipTrigger = exports.Tooltip = void 0;
23
23
  var accordion_1 = require("./accordion.cjs");
24
24
  Object.defineProperty(exports, "Accordion", { enumerable: true, get: function () { return accordion_1.Accordion; } });
25
25
  Object.defineProperty(exports, "AccordionItem", { enumerable: true, get: function () { return accordion_1.AccordionItem; } });
@@ -248,3 +248,32 @@ Object.defineProperty(exports, "Skeleton", { enumerable: true, get: function ()
248
248
  var media_stack_1 = require("./media-stack.cjs");
249
249
  Object.defineProperty(exports, "MediaStack", { enumerable: true, get: function () { return media_stack_1.MediaStack; } });
250
250
  Object.defineProperty(exports, "fit", { enumerable: true, get: function () { return media_stack_1.fit; } });
251
+ var nav_items_1 = require("./nav-items.cjs");
252
+ Object.defineProperty(exports, "NavItems", { enumerable: true, get: function () { return nav_items_1.NavItems; } });
253
+ var breadcrumb_1 = require("./breadcrumb.cjs");
254
+ Object.defineProperty(exports, "Breadcrumb", { enumerable: true, get: function () { return breadcrumb_1.Breadcrumb; } });
255
+ Object.defineProperty(exports, "BreadcrumbEllipsis", { enumerable: true, get: function () { return breadcrumb_1.BreadcrumbEllipsis; } });
256
+ Object.defineProperty(exports, "BreadcrumbItem", { enumerable: true, get: function () { return breadcrumb_1.BreadcrumbItem; } });
257
+ Object.defineProperty(exports, "BreadcrumbLink", { enumerable: true, get: function () { return breadcrumb_1.BreadcrumbLink; } });
258
+ Object.defineProperty(exports, "BreadcrumbList", { enumerable: true, get: function () { return breadcrumb_1.BreadcrumbList; } });
259
+ Object.defineProperty(exports, "BreadcrumbPage", { enumerable: true, get: function () { return breadcrumb_1.BreadcrumbPage; } });
260
+ Object.defineProperty(exports, "BreadcrumbSeparator", { enumerable: true, get: function () { return breadcrumb_1.BreadcrumbSeparator; } });
261
+ var step_indicator_1 = require("./step-indicator.cjs");
262
+ Object.defineProperty(exports, "StepIndicator", { enumerable: true, get: function () { return step_indicator_1.StepIndicator; } });
263
+ var input_otp_1 = require("./input-otp.cjs");
264
+ Object.defineProperty(exports, "InputOTP", { enumerable: true, get: function () { return input_otp_1.InputOTP; } });
265
+ Object.defineProperty(exports, "InputOTPGroup", { enumerable: true, get: function () { return input_otp_1.InputOTPGroup; } });
266
+ Object.defineProperty(exports, "InputOTPSeparator", { enumerable: true, get: function () { return input_otp_1.InputOTPSeparator; } });
267
+ Object.defineProperty(exports, "InputOTPSlot", { enumerable: true, get: function () { return input_otp_1.InputOTPSlot; } });
268
+ var navigation_menu_1 = require("./navigation-menu.cjs");
269
+ Object.defineProperty(exports, "NavigationMenu", { enumerable: true, get: function () { return navigation_menu_1.NavigationMenu; } });
270
+ Object.defineProperty(exports, "NavigationMenuContent", { enumerable: true, get: function () { return navigation_menu_1.NavigationMenuContent; } });
271
+ Object.defineProperty(exports, "NavigationMenuItem", { enumerable: true, get: function () { return navigation_menu_1.NavigationMenuItem; } });
272
+ Object.defineProperty(exports, "NavigationMenuLink", { enumerable: true, get: function () { return navigation_menu_1.NavigationMenuLink; } });
273
+ Object.defineProperty(exports, "NavigationMenuList", { enumerable: true, get: function () { return navigation_menu_1.NavigationMenuList; } });
274
+ Object.defineProperty(exports, "NavigationMenuTrigger", { enumerable: true, get: function () { return navigation_menu_1.NavigationMenuTrigger; } });
275
+ Object.defineProperty(exports, "navigationMenuTriggerStyle", { enumerable: true, get: function () { return navigation_menu_1.navigationMenuTriggerStyle; } });
276
+ var drawer_1 = require("./drawer.cjs");
277
+ Object.defineProperty(exports, "Drawer", { enumerable: true, get: function () { return drawer_1.Drawer; } });
278
+ Object.defineProperty(exports, "DrawerContent", { enumerable: true, get: function () { return drawer_1.DrawerContent; } });
279
+ Object.defineProperty(exports, "DrawerHandle", { enumerable: true, get: function () { return drawer_1.DrawerHandle; } });
@@ -39,4 +39,10 @@ export { VideoPlayer, YouTubeEmbed, type VideoPlayerProps, type YouTubeEmbedProp
39
39
  export { Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext, type CarouselApi, type CarouselOptions, type CarouselProps, } from './carousel.js';
40
40
  export { Skeleton } from './skeleton.js';
41
41
  export { MediaStack, fit, type MediaStackProps } from './media-stack.js';
42
+ export { NavItems, type NavItemsProps } from './nav-items.js';
43
+ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, } from './breadcrumb.js';
44
+ export { StepIndicator, type StepIndicatorProps } from './step-indicator.js';
45
+ export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, type InputOTPProps, type OTPSlot, } from './input-otp.js';
46
+ export { NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, navigationMenuTriggerStyle, } from './navigation-menu.js';
47
+ export { Drawer, DrawerContent, DrawerHandle, type DrawerContentProps, type DrawerProps, type SnapPoint, } from './drawer.js';
42
48
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,GAC7B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAA;AAClF,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAA;AACxG,OAAO,EACL,IAAI,EACJ,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,WAAW,EACX,SAAS,EACT,KAAK,cAAc,GACpB,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACnF,OAAO,EACL,OAAO,EACP,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,WAAW,CAAA;AAMlB,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,GAC1B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAA;AAIhD,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EACL,UAAU,EACV,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,mBAAmB,GACzB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAA;AAIpB,OAAO,EACL,MAAM,EAAE,MAAM,EAAE,MAAM,EACtB,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EACzE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EACxD,KAAK,UAAU,GAChB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EACL,MAAM,EACN,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAA;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EACL,WAAW,EACX,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AACpF,OAAO,EACL,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,SAAS,EACT,WAAW,EACX,eAAe,EACf,WAAW,EACX,YAAY,GACb,MAAM,QAAQ,CAAA;AACf,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,cAAc,GACpB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,WAAW,EACX,KAAK,aAAa,EAClB,KAAK,gBAAgB,GACtB,MAAM,QAAQ,CAAA;AACf,OAAO,EACL,WAAW,EACX,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,aAAa,GACnB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/index.ts"],"names":[],"mappings":"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"}
@@ -65,4 +65,10 @@ export { VideoPlayer, YouTubeEmbed, } from './video.js';
65
65
  export { Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext, } from './carousel.js';
66
66
  export { Skeleton } from './skeleton.js';
67
67
  export { MediaStack, fit } from './media-stack.js';
68
+ export { NavItems } from './nav-items.js';
69
+ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, } from './breadcrumb.js';
70
+ export { StepIndicator } from './step-indicator.js';
71
+ export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, } from './input-otp.js';
72
+ export { NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, navigationMenuTriggerStyle, } from './navigation-menu.js';
73
+ export { Drawer, DrawerContent, DrawerHandle, } from './drawer.js';
68
74
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backends/gui/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backends/gui/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ 'use client';"use strict";
2
+ 'use client';
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.InputOTPSeparator = exports.InputOTPSlot = exports.InputOTPGroup = exports.InputOTP = void 0;
38
+ const jsx_runtime_1 = require("react/jsx-runtime");
39
+ /**
40
+ * InputOTP — a one-time code, shown as separate boxes.
41
+ *
42
+ * ONE real `<input>` lies invisibly over the whole control and holds the entire
43
+ * value; the boxes are drawn from it. That is what makes paste, autofill,
44
+ * backspace-across-boxes, and the phone keyboard's "from Messages" suggestion
45
+ * work — all four break the moment the code is six separate inputs that hop
46
+ * focus between themselves, which is how this is usually built.
47
+ *
48
+ * It also means the caller's `onInput`/`onChange` see a normal input event with
49
+ * the whole code on it, which is what a form expects.
50
+ *
51
+ * `render` draws the boxes, because their GROUPING is a design decision — three
52
+ * and three, four and four, one run of six — and it is the caller's.
53
+ */
54
+ const React = __importStar(require("react"));
55
+ const box_1 = require("../../box.cjs");
56
+ const cn_1 = require("../../core/cn.cjs");
57
+ const InputOTP = ({ maxLength, render, className, value: controlled, onChange, onFocus, onBlur, ...props }) => {
58
+ const [held, setHeld] = React.useState('');
59
+ const value = String(controlled ?? held).slice(0, maxLength);
60
+ const [focused, setFocused] = React.useState(false);
61
+ const slots = Array.from({ length: maxLength }, (_, i) => ({
62
+ char: value[i] ?? null,
63
+ isActive: focused && i === Math.min(value.length, maxLength - 1),
64
+ hasFakeCaret: focused && i === value.length && i < maxLength,
65
+ }));
66
+ return ((0, jsx_runtime_1.jsxs)(box_1.Box, { className: (0, cn_1.cn)('relative grid grid-flow-col auto-cols-max items-center', className), children: [render({ slots }), (0, jsx_runtime_1.jsx)(box_1.Box, { tag: "input",
67
+ // The phone keyboard's one-time-code suggestion is worth more than any
68
+ // amount of styling here, and it turns on these three attributes alone.
69
+ inputMode: "numeric", autoComplete: "one-time-code", maxLength: maxLength, ...props, value: value, onChange: (e) => {
70
+ if (controlled === undefined)
71
+ setHeld(e.target.value.slice(0, maxLength));
72
+ onChange?.(e);
73
+ }, onFocus: (e) => {
74
+ setFocused(true);
75
+ onFocus?.(e);
76
+ }, onBlur: (e) => {
77
+ setFocused(false);
78
+ onBlur?.(e);
79
+ }, style: {
80
+ // Over the boxes and transparent — so a click anywhere on the control
81
+ // focuses the thing that actually takes the keystrokes.
82
+ position: 'absolute',
83
+ inset: 0,
84
+ width: '100%',
85
+ height: '100%',
86
+ opacity: 0,
87
+ // The real caret would sit at the left edge of an invisible field,
88
+ // nowhere near the box it belongs to. The drawn one is in the slot.
89
+ caretColor: 'transparent',
90
+ } })] }));
91
+ };
92
+ exports.InputOTP = InputOTP;
93
+ const InputOTPGroup = ({ className, ...props }) => ((0, jsx_runtime_1.jsx)(box_1.Box, { className: (0, cn_1.cn)('grid grid-flow-col auto-cols-max items-center', className), ...props }));
94
+ exports.InputOTPGroup = InputOTPGroup;
95
+ const InputOTPSlot = ({ char, isActive, hasFakeCaret, className, ...props }) => ((0, jsx_runtime_1.jsxs)(box_1.Box
96
+ // Not focusable and not announced: the real input holds the value and the
97
+ // focus, and six boxes in the tab order would be six stops for one field.
98
+ , { "aria-hidden": "true", className: (0, cn_1.cn)('relative grid place-items-center w-10 h-10 border text-sm', isActive && 'border-foreground z-10', className), ...props, children: [char, hasFakeCaret && (0, jsx_runtime_1.jsx)(box_1.Box, { className: "hz-caret absolute", style: { width: 1, height: '1em' } })] }));
99
+ exports.InputOTPSlot = InputOTPSlot;
100
+ const InputOTPSeparator = ({ children, ...props }) => ((0, jsx_runtime_1.jsx)(box_1.Box, { role: "separator", "aria-hidden": "true", ...props, children: children ?? '-' }));
101
+ exports.InputOTPSeparator = InputOTPSeparator;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * InputOTP — a one-time code, shown as separate boxes.
3
+ *
4
+ * ONE real `<input>` lies invisibly over the whole control and holds the entire
5
+ * value; the boxes are drawn from it. That is what makes paste, autofill,
6
+ * backspace-across-boxes, and the phone keyboard's "from Messages" suggestion
7
+ * work — all four break the moment the code is six separate inputs that hop
8
+ * focus between themselves, which is how this is usually built.
9
+ *
10
+ * It also means the caller's `onInput`/`onChange` see a normal input event with
11
+ * the whole code on it, which is what a form expects.
12
+ *
13
+ * `render` draws the boxes, because their GROUPING is a design decision — three
14
+ * and three, four and four, one run of six — and it is the caller's.
15
+ */
16
+ import * as React from 'react';
17
+ import { Box, type BoxProps } from '../../box.js';
18
+ /** One box's worth of state. */
19
+ export type OTPSlot = {
20
+ char: string | null;
21
+ /** The box the next keystroke lands in. */
22
+ isActive: boolean;
23
+ /** Draw a caret here — the real one is hidden with the real input. */
24
+ hasFakeCaret: boolean;
25
+ };
26
+ export type InputOTPProps = Omit<React.ComponentProps<'input'>, 'render' | 'children' | 'size'> & {
27
+ maxLength: number;
28
+ render: (props: {
29
+ slots: OTPSlot[];
30
+ }) => React.ReactNode;
31
+ className?: string;
32
+ };
33
+ export declare const InputOTP: ({ maxLength, render, className, value: controlled, onChange, onFocus, onBlur, ...props }: InputOTPProps) => import("react/jsx-runtime").JSX.Element;
34
+ export declare const InputOTPGroup: ({ className, ...props }: React.ComponentProps<typeof Box>) => import("react/jsx-runtime").JSX.Element;
35
+ export declare const InputOTPSlot: ({ char, isActive, hasFakeCaret, className, ...props }: BoxProps & OTPSlot) => import("react/jsx-runtime").JSX.Element;
36
+ export declare const InputOTPSeparator: ({ children, ...props }: React.ComponentProps<typeof Box>) => import("react/jsx-runtime").JSX.Element;
37
+ //# sourceMappingURL=input-otp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-otp.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/input-otp.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,GAAG,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAA;AAG9C,gCAAgC;AAChC,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,2CAA2C;IAC3C,QAAQ,EAAE,OAAO,CAAA;IACjB,sEAAsE;IACtE,YAAY,EAAE,OAAO,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC,GAAG;IAChG,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,OAAO,EAAE,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAA;IACxD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,QAAQ,6FASlB,aAAa,4CAqDf,CAAA;AAED,eAAO,MAAM,aAAa,4BAA6B,KAAK,CAAC,cAAc,CAAC,OAAO,GAAG,CAAC,4CAEtF,CAAA;AAED,eAAO,MAAM,YAAY,0DAMtB,QAAQ,GAAG,OAAO,4CAepB,CAAA;AAED,eAAO,MAAM,iBAAiB,2BAA4B,KAAK,CAAC,cAAc,CAAC,OAAO,GAAG,CAAC,4CAIzF,CAAA"}
@@ -0,0 +1,62 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ /**
4
+ * InputOTP — a one-time code, shown as separate boxes.
5
+ *
6
+ * ONE real `<input>` lies invisibly over the whole control and holds the entire
7
+ * value; the boxes are drawn from it. That is what makes paste, autofill,
8
+ * backspace-across-boxes, and the phone keyboard's "from Messages" suggestion
9
+ * work — all four break the moment the code is six separate inputs that hop
10
+ * focus between themselves, which is how this is usually built.
11
+ *
12
+ * It also means the caller's `onInput`/`onChange` see a normal input event with
13
+ * the whole code on it, which is what a form expects.
14
+ *
15
+ * `render` draws the boxes, because their GROUPING is a design decision — three
16
+ * and three, four and four, one run of six — and it is the caller's.
17
+ */
18
+ import * as React from 'react';
19
+ import { Box } from '../../box.js';
20
+ import { cn } from '../../core/cn.js';
21
+ export const InputOTP = ({ maxLength, render, className, value: controlled, onChange, onFocus, onBlur, ...props }) => {
22
+ const [held, setHeld] = React.useState('');
23
+ const value = String(controlled ?? held).slice(0, maxLength);
24
+ const [focused, setFocused] = React.useState(false);
25
+ const slots = Array.from({ length: maxLength }, (_, i) => ({
26
+ char: value[i] ?? null,
27
+ isActive: focused && i === Math.min(value.length, maxLength - 1),
28
+ hasFakeCaret: focused && i === value.length && i < maxLength,
29
+ }));
30
+ return (_jsxs(Box, { className: cn('relative grid grid-flow-col auto-cols-max items-center', className), children: [render({ slots }), _jsx(Box, { tag: "input",
31
+ // The phone keyboard's one-time-code suggestion is worth more than any
32
+ // amount of styling here, and it turns on these three attributes alone.
33
+ inputMode: "numeric", autoComplete: "one-time-code", maxLength: maxLength, ...props, value: value, onChange: (e) => {
34
+ if (controlled === undefined)
35
+ setHeld(e.target.value.slice(0, maxLength));
36
+ onChange?.(e);
37
+ }, onFocus: (e) => {
38
+ setFocused(true);
39
+ onFocus?.(e);
40
+ }, onBlur: (e) => {
41
+ setFocused(false);
42
+ onBlur?.(e);
43
+ }, style: {
44
+ // Over the boxes and transparent — so a click anywhere on the control
45
+ // focuses the thing that actually takes the keystrokes.
46
+ position: 'absolute',
47
+ inset: 0,
48
+ width: '100%',
49
+ height: '100%',
50
+ opacity: 0,
51
+ // The real caret would sit at the left edge of an invisible field,
52
+ // nowhere near the box it belongs to. The drawn one is in the slot.
53
+ caretColor: 'transparent',
54
+ } })] }));
55
+ };
56
+ export const InputOTPGroup = ({ className, ...props }) => (_jsx(Box, { className: cn('grid grid-flow-col auto-cols-max items-center', className), ...props }));
57
+ export const InputOTPSlot = ({ char, isActive, hasFakeCaret, className, ...props }) => (_jsxs(Box
58
+ // Not focusable and not announced: the real input holds the value and the
59
+ // focus, and six boxes in the tab order would be six stops for one field.
60
+ , { "aria-hidden": "true", className: cn('relative grid place-items-center w-10 h-10 border text-sm', isActive && 'border-foreground z-10', className), ...props, children: [char, hasFakeCaret && _jsx(Box, { className: "hz-caret absolute", style: { width: 1, height: '1em' } })] }));
61
+ export const InputOTPSeparator = ({ children, ...props }) => (_jsx(Box, { role: "separator", "aria-hidden": "true", ...props, children: children ?? '-' }));
62
+ //# sourceMappingURL=input-otp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-otp.js","sourceRoot":"","sources":["../../../src/backends/gui/input-otp.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,GAAG,EAAiB,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAiBlC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EACvB,SAAS,EACT,MAAM,EACN,SAAS,EACT,KAAK,EAAE,UAAU,EACjB,QAAQ,EACR,OAAO,EACP,MAAM,EACN,GAAG,KAAK,EACM,EAAE,EAAE;IAClB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IAC5D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEnD,MAAM,KAAK,GAAc,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI;QACtB,QAAQ,EAAE,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,GAAG,CAAC,CAAC;QAChE,YAAY,EAAE,OAAO,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;KAC7D,CAAC,CAAC,CAAA;IAEH,OAAO,CACL,MAAC,GAAG,IAAC,SAAS,EAAE,EAAE,CAAC,wDAAwD,EAAE,SAAS,CAAC,aACpF,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAClB,KAAC,GAAG,IACF,GAAG,EAAC,OAAO;gBACX,uEAAuE;gBACvE,wEAAwE;gBACxE,SAAS,EAAC,SAAS,EACnB,YAAY,EAAC,eAAe,EAC5B,SAAS,EAAE,SAAS,KAIf,KAAgB,EACrB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;oBACd,IAAI,UAAU,KAAK,SAAS;wBAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;oBACzE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;gBACf,CAAC,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACb,UAAU,CAAC,IAAI,CAAC,CAAA;oBAChB,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;gBACd,CAAC,EACD,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;oBACZ,UAAU,CAAC,KAAK,CAAC,CAAA;oBACjB,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;gBACb,CAAC,EACD,KAAK,EAAE;oBACL,sEAAsE;oBACtE,wDAAwD;oBACxD,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,CAAC;oBACV,mEAAmE;oBACnE,oEAAoE;oBACpE,UAAU,EAAE,aAAa;iBAC1B,GACD,IACE,CACP,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAoC,EAAE,EAAE,CAAC,CAC1F,KAAC,GAAG,IAAC,SAAS,EAAE,EAAE,CAAC,+CAA+C,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAC9F,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,GAAG,KAAK,EACW,EAAE,EAAE,CAAC,CACxB,MAAC,GAAG;AACF,0EAA0E;AAC1E,0EAA0E;mBAC9D,MAAM,EAClB,SAAS,EAAE,EAAE,CACX,2DAA2D,EAC3D,QAAQ,IAAI,wBAAwB,EACpC,SAAS,CACV,KACG,KAAK,aAER,IAAI,EACJ,YAAY,IAAI,KAAC,GAAG,IAAC,SAAS,EAAC,mBAAmB,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAI,IACtF,CACP,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAoC,EAAE,EAAE,CAAC,CAC7F,KAAC,GAAG,IAAC,IAAI,EAAC,WAAW,iBAAa,MAAM,KAAK,KAAK,YAC/C,QAAQ,IAAI,GAAG,GACZ,CACP,CAAA"}
@@ -91,10 +91,12 @@ exports.MDXLink = MDXLink;
91
91
  const LinkElement = ({ def,
92
92
  // No defaults on anything that also appears in `def` — a default here would
93
93
  // outrank the def it is supposed to fall back to.
94
- onClick, size, variant, icon, iconAfter, className, style, children, }) => {
94
+ onClick, size, variant, icon, iconAfter, className, style, children, 'aria-current': current, }) => {
95
95
  const Comp = (0, exports.useLink)();
96
96
  const { href, newTab, title } = def;
97
97
  const nav = {};
98
+ if (current)
99
+ nav['aria-current'] = current;
98
100
  if (external(href)) {
99
101
  nav.rel = 'noreferrer noopener';
100
102
  // An external link opens in a new tab unless the def says otherwise.
@@ -54,6 +54,12 @@ export type LinkElementProps = React.PropsWithChildren<{
54
54
  */
55
55
  className?: string;
56
56
  style?: React.CSSProperties;
57
+ /**
58
+ * `page` on the link to where you already are. It is how a screen reader
59
+ * says "this one" in a navigation list — the colour that marks it visually
60
+ * says nothing at all.
61
+ */
62
+ 'aria-current'?: 'page' | 'true' | false;
57
63
  }>;
58
64
  /**
59
65
  * A link wearing a button's clothes, described by a {@link LinkDef}.
@@ -61,5 +67,5 @@ export type LinkElementProps = React.PropsWithChildren<{
61
67
  * Given children, they replace the whole label — `title`, `icon` and
62
68
  * `iconAfter` are then ignored, since the caller has said what to render.
63
69
  */
64
- export declare const LinkElement: ({ def, onClick, size, variant, icon, iconAfter, className, style, children, }: LinkElementProps) => import("react/jsx-runtime").JSX.Element;
70
+ export declare const LinkElement: ({ def, onClick, size, variant, icon, iconAfter, className, style, children, 'aria-current': current, }: LinkElementProps) => import("react/jsx-runtime").JSX.Element;
65
71
  //# sourceMappingURL=link.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/link.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAkB,MAAM,UAAU,CAAA;AAE9E,0DAA0D;AAC1D,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAA;AAE7C;;;GAGG;AACH,eAAO,MAAM,IAAI,8BAA0D,CAAA;AAE3E,eAAO,MAAM,OAAO,QAAO,aAAuC,CAAA;AAKlE;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,gCAIjB,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,4CAc/C,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACrD,GAAG,EAAE,OAAO,CAAA;IACZ,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,uBAAuB;IACvB,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA;IAC9B,uBAAuB;IACvB,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACxB,uBAAuB;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,uBAAuB;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAC5B,CAAC,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,kFAYrB,gBAAgB,4CAiDlB,CAAA"}
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/link.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAkB,MAAM,UAAU,CAAA;AAE9E,0DAA0D;AAC1D,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAA;AAE7C;;;GAGG;AACH,eAAO,MAAM,IAAI,8BAA0D,CAAA;AAE3E,eAAO,MAAM,OAAO,QAAO,aAAuC,CAAA;AAKlE;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,gCAIjB,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,4CAc/C,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACrD,GAAG,EAAE,OAAO,CAAA;IACZ,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,uBAAuB;IACvB,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA;IAC9B,uBAAuB;IACvB,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACxB,uBAAuB;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,uBAAuB;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;CACzC,CAAC,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,2GAarB,gBAAgB,4CAkDlB,CAAA"}
@@ -53,10 +53,12 @@ export const MDXLink = ({ href, children, ...rest }) => {
53
53
  export const LinkElement = ({ def,
54
54
  // No defaults on anything that also appears in `def` — a default here would
55
55
  // outrank the def it is supposed to fall back to.
56
- onClick, size, variant, icon, iconAfter, className, style, children, }) => {
56
+ onClick, size, variant, icon, iconAfter, className, style, children, 'aria-current': current, }) => {
57
57
  const Comp = useLink();
58
58
  const { href, newTab, title } = def;
59
59
  const nav = {};
60
+ if (current)
61
+ nav['aria-current'] = current;
60
62
  if (external(href)) {
61
63
  nav.rel = 'noreferrer noopener';
62
64
  // An external link opens in a new tab unless the def says otherwise.
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/backends/gui/link.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/backends/gui/link.tsx"],"names":[],"mappings":"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"}
@@ -24,10 +24,9 @@ exports.fit = fit;
24
24
  const MediaStack = ({ media, constrainTo, className, ...props }) => {
25
25
  const scale = media?.mediaTransform?.scale ?? 1;
26
26
  const { offsetX = 0, offsetY = 0 } = media?.mediaTransform ?? {};
27
- // Richest first. `animation` renders as its poster: a Lottie document needs a
28
- // player, no content in this estate carries one, and a still is a better
29
- // answer than an empty box for content that does.
30
- const anim = media?.animation;
27
+ // Richest first, and richest that can be PLAYED here: an animation is a url
28
+ // to a document needing a player this does not carry, so a stack holding one
29
+ // falls to its video or its still rather than rendering an empty box.
31
30
  const video = media?.video;
32
31
  const img = media?.img;
33
32
  const inner = (() => {
@@ -35,9 +34,7 @@ const MediaStack = ({ media, constrainTo, className, ...props }) => {
35
34
  const d = (0, exports.fit)(video.dim?.md ?? constrainTo, constrainTo, scale);
36
35
  return ((0, jsx_runtime_1.jsx)(video_1.VideoPlayer, { width: d.w, height: d.h, poster: video.poster, sources: video.sources, ...video.videoProps }));
37
36
  }
38
- const still = anim?.poster
39
- ? { src: anim.poster, alt: '', dim: anim.dim }
40
- : img;
37
+ const still = img;
41
38
  if (!still?.src)
42
39
  return null;
43
40
  const d = (0, exports.fit)(still.dim ?? constrainTo, constrainTo, scale);
@@ -1 +1 @@
1
- {"version":3,"file":"media-stack.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/media-stack.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAG5D;;;;;;GAMG;AACH,eAAO,MAAM,GAAG,QAAS,UAAU,MAAM,UAAU,qBAAc,UAIhE,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,GAAG,CAAC,EAAE,UAAU,CAAC,GAAG;IACjF,KAAK,EAAE,aAAa,CAAA;IACpB,yCAAyC;IACzC,WAAW,EAAE,UAAU,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,UAAU,gDAAiD,eAAe,4CA+DtF,CAAA"}
1
+ {"version":3,"file":"media-stack.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/media-stack.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAG5D;;;;;;GAMG;AACH,eAAO,MAAM,GAAG,QAAS,UAAU,MAAM,UAAU,qBAAc,UAIhE,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,GAAG,CAAC,EAAE,UAAU,CAAC,GAAG;IACjF,KAAK,EAAE,aAAa,CAAA;IACpB,yCAAyC;IACzC,WAAW,EAAE,UAAU,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,UAAU,gDAAiD,eAAe,4CA4DtF,CAAA"}