@hanzo/ui 8.4.13 → 8.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/dist/backends/gui/index.cjs +11 -1
  2. package/dist/backends/gui/index.d.ts +3 -0
  3. package/dist/backends/gui/index.d.ts.map +1 -1
  4. package/dist/backends/gui/index.js +3 -0
  5. package/dist/backends/gui/index.js.map +1 -1
  6. package/dist/backends/gui/link.cjs +126 -0
  7. package/dist/backends/gui/link.d.ts +65 -0
  8. package/dist/backends/gui/link.d.ts.map +1 -0
  9. package/dist/backends/gui/link.js +88 -0
  10. package/dist/backends/gui/link.js.map +1 -0
  11. package/dist/backends/gui/prose.cjs +33 -0
  12. package/dist/backends/gui/prose.d.ts +39 -0
  13. package/dist/backends/gui/prose.d.ts.map +1 -0
  14. package/dist/backends/gui/prose.js +30 -0
  15. package/dist/backends/gui/prose.js.map +1 -0
  16. package/dist/backends/gui/video.cjs +89 -0
  17. package/dist/backends/gui/video.d.ts +33 -0
  18. package/dist/backends/gui/video.d.ts.map +1 -0
  19. package/dist/backends/gui/video.js +53 -0
  20. package/dist/backends/gui/video.js.map +1 -0
  21. package/dist/blocks/accordian.cjs +19 -0
  22. package/dist/blocks/accordian.d.ts +4 -0
  23. package/dist/blocks/accordian.d.ts.map +1 -0
  24. package/dist/blocks/accordian.js +16 -0
  25. package/dist/blocks/accordian.js.map +1 -0
  26. package/dist/blocks/bullet-cards.cjs +40 -0
  27. package/dist/blocks/bullet-cards.d.ts +10 -0
  28. package/dist/blocks/bullet-cards.d.ts.map +1 -0
  29. package/dist/blocks/bullet-cards.js +37 -0
  30. package/dist/blocks/bullet-cards.js.map +1 -0
  31. package/dist/blocks/card.cjs +58 -0
  32. package/dist/blocks/card.d.ts +14 -0
  33. package/dist/blocks/card.d.ts.map +1 -0
  34. package/dist/blocks/card.js +55 -0
  35. package/dist/blocks/card.js.map +1 -0
  36. package/dist/blocks/carte-blanche.cjs +38 -0
  37. package/dist/blocks/carte-blanche.d.ts +13 -0
  38. package/dist/blocks/carte-blanche.d.ts.map +1 -0
  39. package/dist/blocks/carte-blanche.js +35 -0
  40. package/dist/blocks/carte-blanche.js.map +1 -0
  41. package/dist/blocks/content.cjs +65 -0
  42. package/dist/blocks/content.d.ts +11 -0
  43. package/dist/blocks/content.d.ts.map +1 -0
  44. package/dist/blocks/content.js +61 -0
  45. package/dist/blocks/content.js.map +1 -0
  46. package/dist/blocks/cta.cjs +103 -0
  47. package/dist/blocks/cta.d.ts +13 -0
  48. package/dist/blocks/cta.d.ts.map +1 -0
  49. package/dist/blocks/cta.js +67 -0
  50. package/dist/blocks/cta.js.map +1 -0
  51. package/dist/blocks/def.cjs +24 -0
  52. package/dist/blocks/def.d.ts +191 -0
  53. package/dist/blocks/def.d.ts.map +1 -0
  54. package/dist/blocks/def.js +22 -0
  55. package/dist/blocks/def.js.map +1 -0
  56. package/dist/blocks/enh-heading.cjs +86 -0
  57. package/dist/blocks/enh-heading.d.ts +7 -0
  58. package/dist/blocks/enh-heading.d.ts.map +1 -0
  59. package/dist/blocks/enh-heading.js +83 -0
  60. package/dist/blocks/enh-heading.js.map +1 -0
  61. package/dist/blocks/grid.cjs +98 -0
  62. package/dist/blocks/grid.d.ts +18 -0
  63. package/dist/blocks/grid.d.ts.map +1 -0
  64. package/dist/blocks/grid.js +62 -0
  65. package/dist/blocks/grid.js.map +1 -0
  66. package/dist/blocks/group.cjs +43 -0
  67. package/dist/blocks/group.d.ts +4 -0
  68. package/dist/blocks/group.d.ts.map +1 -0
  69. package/dist/blocks/group.js +40 -0
  70. package/dist/blocks/group.js.map +1 -0
  71. package/dist/blocks/heading.cjs +22 -0
  72. package/dist/blocks/heading.d.ts +4 -0
  73. package/dist/blocks/heading.d.ts.map +1 -0
  74. package/dist/blocks/heading.js +19 -0
  75. package/dist/blocks/heading.js.map +1 -0
  76. package/dist/blocks/image.cjs +54 -0
  77. package/dist/blocks/image.d.ts +19 -0
  78. package/dist/blocks/image.d.ts.map +1 -0
  79. package/dist/blocks/image.js +51 -0
  80. package/dist/blocks/image.js.map +1 -0
  81. package/dist/blocks/index.cjs +65 -0
  82. package/dist/blocks/index.d.ts +18 -0
  83. package/dist/blocks/index.d.ts.map +1 -0
  84. package/dist/blocks/index.js +30 -0
  85. package/dist/blocks/index.js.map +1 -0
  86. package/dist/blocks/screenful.cjs +139 -0
  87. package/dist/blocks/screenful.d.ts +18 -0
  88. package/dist/blocks/screenful.d.ts.map +1 -0
  89. package/dist/blocks/screenful.js +103 -0
  90. package/dist/blocks/screenful.js.map +1 -0
  91. package/dist/blocks/space.cjs +38 -0
  92. package/dist/blocks/space.d.ts +4 -0
  93. package/dist/blocks/space.d.ts.map +1 -0
  94. package/dist/blocks/space.js +35 -0
  95. package/dist/blocks/space.js.map +1 -0
  96. package/dist/blocks/spec.cjs +58 -0
  97. package/dist/blocks/spec.d.ts +60 -0
  98. package/dist/blocks/spec.d.ts.map +1 -0
  99. package/dist/blocks/spec.js +52 -0
  100. package/dist/blocks/spec.js.map +1 -0
  101. package/dist/blocks/video.cjs +103 -0
  102. package/dist/blocks/video.d.ts +22 -0
  103. package/dist/blocks/video.d.ts.map +1 -0
  104. package/dist/blocks/video.js +67 -0
  105. package/dist/blocks/video.js.map +1 -0
  106. package/dist/gallery.html +102 -1
  107. package/dist/index.cjs +9 -2
  108. package/dist/index.d.ts +1 -1
  109. package/dist/index.d.ts.map +1 -1
  110. package/dist/index.js +1 -1
  111. package/dist/index.js.map +1 -1
  112. package/dist/index.node.js +1 -1
  113. package/dist/primitives/ApplyTypography.cjs +8 -0
  114. package/dist/primitives/ApplyTypography.d.ts +2 -0
  115. package/dist/primitives/ApplyTypography.d.ts.map +1 -0
  116. package/dist/primitives/ApplyTypography.js +5 -0
  117. package/dist/primitives/ApplyTypography.js.map +1 -0
  118. package/dist/primitives/Link.cjs +8 -0
  119. package/dist/primitives/Link.d.ts +2 -0
  120. package/dist/primitives/Link.d.ts.map +1 -0
  121. package/dist/primitives/Link.js +5 -0
  122. package/dist/primitives/Link.js.map +1 -0
  123. package/dist/primitives/LinkElement.cjs +8 -0
  124. package/dist/primitives/LinkElement.d.ts +2 -0
  125. package/dist/primitives/LinkElement.d.ts.map +1 -0
  126. package/dist/primitives/LinkElement.js +5 -0
  127. package/dist/primitives/LinkElement.js.map +1 -0
  128. package/dist/primitives/MDXLink.cjs +8 -0
  129. package/dist/primitives/MDXLink.d.ts +2 -0
  130. package/dist/primitives/MDXLink.d.ts.map +1 -0
  131. package/dist/primitives/MDXLink.js +5 -0
  132. package/dist/primitives/MDXLink.js.map +1 -0
  133. package/dist/primitives/VideoPlayer.cjs +8 -0
  134. package/dist/primitives/VideoPlayer.d.ts +2 -0
  135. package/dist/primitives/VideoPlayer.d.ts.map +1 -0
  136. package/dist/primitives/VideoPlayer.js +5 -0
  137. package/dist/primitives/VideoPlayer.js.map +1 -0
  138. package/dist/primitives/YouTubeEmbed.cjs +8 -0
  139. package/dist/primitives/YouTubeEmbed.d.ts +2 -0
  140. package/dist/primitives/YouTubeEmbed.d.ts.map +1 -0
  141. package/dist/primitives/YouTubeEmbed.js +5 -0
  142. package/dist/primitives/YouTubeEmbed.js.map +1 -0
  143. package/dist/primitives/useLink.cjs +8 -0
  144. package/dist/primitives/useLink.d.ts +2 -0
  145. package/dist/primitives/useLink.d.ts.map +1 -0
  146. package/dist/primitives/useLink.js +5 -0
  147. package/dist/primitives/useLink.js.map +1 -0
  148. package/dist/product/menu/items.d.ts +1 -1
  149. package/dist/product/menu/items.d.ts.map +1 -1
  150. package/dist/styles.css +101 -0
  151. package/dist/theme.css +101 -0
  152. package/dist/tw.cjs +62 -1
  153. package/dist/tw.d.ts.map +1 -1
  154. package/dist/tw.js +62 -1
  155. package/dist/tw.js.map +1 -1
  156. package/dist/types.cjs +32 -0
  157. package/dist/types.d.ts +136 -0
  158. package/dist/types.d.ts.map +1 -0
  159. package/dist/types.js +30 -0
  160. package/dist/types.js.map +1 -0
  161. package/package.json +13 -1
@@ -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.TooltipProvider = exports.TooltipContent = exports.TooltipTrigger = exports.Tooltip = void 0;
22
+ exports.YouTubeEmbed = exports.VideoPlayer = exports.LinkElement = exports.MDXLink = exports.useLink = exports.Link = exports.ApplyTypography = 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; } });
@@ -218,3 +218,13 @@ Object.defineProperty(exports, "Tooltip", { enumerable: true, get: function () {
218
218
  Object.defineProperty(exports, "TooltipTrigger", { enumerable: true, get: function () { return tooltip_1.TooltipTrigger; } });
219
219
  Object.defineProperty(exports, "TooltipContent", { enumerable: true, get: function () { return tooltip_1.TooltipContent; } });
220
220
  Object.defineProperty(exports, "TooltipProvider", { enumerable: true, get: function () { return tooltip_1.TooltipProvider; } });
221
+ var prose_1 = require("./prose.cjs");
222
+ Object.defineProperty(exports, "ApplyTypography", { enumerable: true, get: function () { return prose_1.ApplyTypography; } });
223
+ var link_1 = require("./link.cjs");
224
+ Object.defineProperty(exports, "Link", { enumerable: true, get: function () { return link_1.Link; } });
225
+ Object.defineProperty(exports, "useLink", { enumerable: true, get: function () { return link_1.useLink; } });
226
+ Object.defineProperty(exports, "MDXLink", { enumerable: true, get: function () { return link_1.MDXLink; } });
227
+ Object.defineProperty(exports, "LinkElement", { enumerable: true, get: function () { return link_1.LinkElement; } });
228
+ var video_1 = require("./video.cjs");
229
+ Object.defineProperty(exports, "VideoPlayer", { enumerable: true, get: function () { return video_1.VideoPlayer; } });
230
+ Object.defineProperty(exports, "YouTubeEmbed", { enumerable: true, get: function () { return video_1.YouTubeEmbed; } });
@@ -32,4 +32,7 @@ export { Textarea } from './textarea.js';
32
32
  export { Toaster, toast } from './toaster.js';
33
33
  export { ToggleGroup, ToggleGroupItem, type ToggleGroupProps, type ToggleGroupItemProps, type ToggleGroupVariant, type ToggleGroupSize, } from './toggle-group.js';
34
34
  export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from './tooltip.js';
35
+ export { ApplyTypography, type ApplyTypographyProps, type ProseTag, type TypographySize, } from './prose.js';
36
+ export { Link, useLink, MDXLink, LinkElement, type LinkComponent, type LinkElementProps, } from './link.js';
37
+ export { VideoPlayer, YouTubeEmbed, type VideoPlayerProps, type YouTubeEmbedProps, } from './video.js';
35
38
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/index.ts"],"names":[],"mappings":"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"}
@@ -58,4 +58,7 @@ export { Textarea } from './textarea.js';
58
58
  export { Toaster, toast } from './toaster.js';
59
59
  export { ToggleGroup, ToggleGroupItem, } from './toggle-group.js';
60
60
  export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from './tooltip.js';
61
+ export { ApplyTypography, } from './prose.js';
62
+ export { Link, useLink, MDXLink, LinkElement, } from './link.js';
63
+ export { VideoPlayer, YouTubeEmbed, } from './video.js';
61
64
  //# 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,126 @@
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.LinkElement = exports.MDXLink = exports.useLink = exports.Link = void 0;
38
+ const jsx_runtime_1 = require("react/jsx-runtime");
39
+ /**
40
+ * Links.
41
+ *
42
+ * This package imports no framework — `next` is an optional peer and nothing in
43
+ * `src` reaches for it. But an internal link in a routed app has to go through
44
+ * that router, or every in-app navigation becomes a full page load. Both facts
45
+ * hold at once by letting the HOST name the component once:
46
+ *
47
+ * import Next from 'next/link'
48
+ * <Link value={Next}>{app}</Link>
49
+ *
50
+ * Everything below reads that value, so one line at the root fixes routing for
51
+ * every link the library renders. Unset, it is `'a'` — correct output, just
52
+ * without client-side navigation, which is also the right answer for a Vite or
53
+ * Tauri host that has no router to offer.
54
+ *
55
+ * The 5.x originals imported `next/link` directly, which is why they could only
56
+ * ever live in a `primitives/next/` folder that a non-Next host could not touch.
57
+ */
58
+ const React = __importStar(require("react"));
59
+ const cn_1 = require("../../core/cn.cjs");
60
+ const button_1 = require("./button.cjs");
61
+ /**
62
+ * The component every link renders through. `<Link value={NextLink}>` at the
63
+ * root of a routed app; left alone it is a plain anchor.
64
+ */
65
+ exports.Link = React.createContext('a');
66
+ const useLink = () => React.useContext(exports.Link);
67
+ exports.useLink = useLink;
68
+ /** True when the href leaves the app, and so must not go through a router. */
69
+ const external = (href) => /^(https?:|mailto:|tel:)/.test(href);
70
+ /**
71
+ * A link in authored content — the `a` an .mdx file produces.
72
+ *
73
+ * Internal hrefs go through the host's link so navigation stays client-side;
74
+ * anything external opens in a new tab, with `rel` set because `target=_blank`
75
+ * without it hands the opened page a live reference back to this one.
76
+ */
77
+ const MDXLink = ({ href, children, ...rest }) => {
78
+ const Comp = (0, exports.useLink)();
79
+ if (href && href.startsWith('/')) {
80
+ return ((0, jsx_runtime_1.jsx)(Comp, { href: href, ...rest, children: children }));
81
+ }
82
+ return ((0, jsx_runtime_1.jsx)("a", { href: href, target: "_blank", rel: "noreferrer noopener", ...rest, children: children }));
83
+ };
84
+ exports.MDXLink = MDXLink;
85
+ /**
86
+ * A link wearing a button's clothes, described by a {@link LinkDef}.
87
+ *
88
+ * Given children, they replace the whole label — `title`, `icon` and
89
+ * `iconAfter` are then ignored, since the caller has said what to render.
90
+ */
91
+ const LinkElement = ({ def,
92
+ // No defaults on anything that also appears in `def` — a default here would
93
+ // outrank the def it is supposed to fall back to.
94
+ onClick, size, variant, icon, iconAfter, className, style, children, }) => {
95
+ const Comp = (0, exports.useLink)();
96
+ const { href, newTab, title } = def;
97
+ const nav = {};
98
+ if (external(href)) {
99
+ nav.rel = 'noreferrer noopener';
100
+ // An external link opens in a new tab unless the def says otherwise.
101
+ if (newTab ?? true)
102
+ nav.target = '_blank';
103
+ }
104
+ else if (newTab) {
105
+ nav.target = '_blank';
106
+ }
107
+ const label = () => {
108
+ if (React.Children.count(children) > 0)
109
+ return children;
110
+ // Props beat def fields beat defaults.
111
+ const mark = icon ?? def.icon;
112
+ const after = iconAfter ?? def.iconAfter ?? false;
113
+ // `title` is optional: an icon-only link is a legal one.
114
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [mark && !after && (0, jsx_runtime_1.jsx)("span", { style: { paddingRight: 4 }, children: mark }), title && (0, jsx_runtime_1.jsx)("span", { children: title }), mark && after && (0, jsx_runtime_1.jsx)("span", { style: { paddingLeft: 4 }, children: mark })] }));
115
+ };
116
+ return ((0, jsx_runtime_1.jsx)(Comp, { href: href, className: (0, cn_1.cn)((0, button_1.buttonVariants)({
117
+ variant: variant ?? def.variant ?? 'link',
118
+ size: size ?? def.size ?? 'default',
119
+ }), className),
120
+ // A def with no href and no handler is a LABEL, not a link. Written as a
121
+ // style rather than a utility class because this renders a bare `<a>` and
122
+ // nothing in the shipped stylesheet defines `pointer-events-none` — the
123
+ // class would have been three dead tokens and a clickable label.
124
+ style: href.length > 0 || onClick ? style : { ...style, pointerEvents: 'none' }, ...(onClick ? { onClick } : {}), ...nav, children: label() }));
125
+ };
126
+ exports.LinkElement = LinkElement;
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Links.
3
+ *
4
+ * This package imports no framework — `next` is an optional peer and nothing in
5
+ * `src` reaches for it. But an internal link in a routed app has to go through
6
+ * that router, or every in-app navigation becomes a full page load. Both facts
7
+ * hold at once by letting the HOST name the component once:
8
+ *
9
+ * import Next from 'next/link'
10
+ * <Link value={Next}>{app}</Link>
11
+ *
12
+ * Everything below reads that value, so one line at the root fixes routing for
13
+ * every link the library renders. Unset, it is `'a'` — correct output, just
14
+ * without client-side navigation, which is also the right answer for a Vite or
15
+ * Tauri host that has no router to offer.
16
+ *
17
+ * The 5.x originals imported `next/link` directly, which is why they could only
18
+ * ever live in a `primitives/next/` folder that a non-Next host could not touch.
19
+ */
20
+ import * as React from 'react';
21
+ import type { LinkDef } from '../../types.js';
22
+ import { type ButtonSize, type ButtonVariant } from './button.js';
23
+ /** Anything that takes an `href` and renders children. */
24
+ export type LinkComponent = React.ElementType;
25
+ /**
26
+ * The component every link renders through. `<Link value={NextLink}>` at the
27
+ * root of a routed app; left alone it is a plain anchor.
28
+ */
29
+ export declare const Link: React.Context<LinkComponent>;
30
+ export declare const useLink: () => LinkComponent;
31
+ /**
32
+ * A link in authored content — the `a` an .mdx file produces.
33
+ *
34
+ * Internal hrefs go through the host's link so navigation stays client-side;
35
+ * anything external opens in a new tab, with `rel` set because `target=_blank`
36
+ * without it hands the opened page a live reference back to this one.
37
+ */
38
+ export declare const MDXLink: ({ href, children, ...rest }: React.AnchorHTMLAttributes<HTMLAnchorElement>) => import("react/jsx-runtime").JSX.Element;
39
+ export type LinkElementProps = React.PropsWithChildren<{
40
+ def: LinkDef;
41
+ /** Fires alongside the navigation — e.g. to close the drawer it sits in. */
42
+ onClick?: () => void;
43
+ /** Overrides `def`. */
44
+ variant?: ButtonVariant | null;
45
+ /** Overrides `def`. */
46
+ size?: ButtonSize | null;
47
+ /** Overrides `def`. */
48
+ icon?: React.ReactNode;
49
+ /** Overrides `def`. */
50
+ iconAfter?: boolean;
51
+ /**
52
+ * Only classes that carry a rule — this renders a host anchor, so whatever
53
+ * arrives here reaches the document verbatim. Layout goes in `style`.
54
+ */
55
+ className?: string;
56
+ style?: React.CSSProperties;
57
+ }>;
58
+ /**
59
+ * A link wearing a button's clothes, described by a {@link LinkDef}.
60
+ *
61
+ * Given children, they replace the whole label — `title`, `icon` and
62
+ * `iconAfter` are then ignored, since the caller has said what to render.
63
+ */
64
+ export declare const LinkElement: ({ def, onClick, size, variant, icon, iconAfter, className, style, children, }: LinkElementProps) => import("react/jsx-runtime").JSX.Element;
65
+ //# sourceMappingURL=link.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,88 @@
1
+ 'use client';
2
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ /**
4
+ * Links.
5
+ *
6
+ * This package imports no framework — `next` is an optional peer and nothing in
7
+ * `src` reaches for it. But an internal link in a routed app has to go through
8
+ * that router, or every in-app navigation becomes a full page load. Both facts
9
+ * hold at once by letting the HOST name the component once:
10
+ *
11
+ * import Next from 'next/link'
12
+ * <Link value={Next}>{app}</Link>
13
+ *
14
+ * Everything below reads that value, so one line at the root fixes routing for
15
+ * every link the library renders. Unset, it is `'a'` — correct output, just
16
+ * without client-side navigation, which is also the right answer for a Vite or
17
+ * Tauri host that has no router to offer.
18
+ *
19
+ * The 5.x originals imported `next/link` directly, which is why they could only
20
+ * ever live in a `primitives/next/` folder that a non-Next host could not touch.
21
+ */
22
+ import * as React from 'react';
23
+ import { cn } from '../../core/cn.js';
24
+ import { buttonVariants } from './button.js';
25
+ /**
26
+ * The component every link renders through. `<Link value={NextLink}>` at the
27
+ * root of a routed app; left alone it is a plain anchor.
28
+ */
29
+ export const Link = /* @__PURE__ */ React.createContext('a');
30
+ export const useLink = () => React.useContext(Link);
31
+ /** True when the href leaves the app, and so must not go through a router. */
32
+ const external = (href) => /^(https?:|mailto:|tel:)/.test(href);
33
+ /**
34
+ * A link in authored content — the `a` an .mdx file produces.
35
+ *
36
+ * Internal hrefs go through the host's link so navigation stays client-side;
37
+ * anything external opens in a new tab, with `rel` set because `target=_blank`
38
+ * without it hands the opened page a live reference back to this one.
39
+ */
40
+ export const MDXLink = ({ href, children, ...rest }) => {
41
+ const Comp = useLink();
42
+ if (href && href.startsWith('/')) {
43
+ return (_jsx(Comp, { href: href, ...rest, children: children }));
44
+ }
45
+ return (_jsx("a", { href: href, target: "_blank", rel: "noreferrer noopener", ...rest, children: children }));
46
+ };
47
+ /**
48
+ * A link wearing a button's clothes, described by a {@link LinkDef}.
49
+ *
50
+ * Given children, they replace the whole label — `title`, `icon` and
51
+ * `iconAfter` are then ignored, since the caller has said what to render.
52
+ */
53
+ export const LinkElement = ({ def,
54
+ // No defaults on anything that also appears in `def` — a default here would
55
+ // outrank the def it is supposed to fall back to.
56
+ onClick, size, variant, icon, iconAfter, className, style, children, }) => {
57
+ const Comp = useLink();
58
+ const { href, newTab, title } = def;
59
+ const nav = {};
60
+ if (external(href)) {
61
+ nav.rel = 'noreferrer noopener';
62
+ // An external link opens in a new tab unless the def says otherwise.
63
+ if (newTab ?? true)
64
+ nav.target = '_blank';
65
+ }
66
+ else if (newTab) {
67
+ nav.target = '_blank';
68
+ }
69
+ const label = () => {
70
+ if (React.Children.count(children) > 0)
71
+ return children;
72
+ // Props beat def fields beat defaults.
73
+ const mark = icon ?? def.icon;
74
+ const after = iconAfter ?? def.iconAfter ?? false;
75
+ // `title` is optional: an icon-only link is a legal one.
76
+ return (_jsxs(_Fragment, { children: [mark && !after && _jsx("span", { style: { paddingRight: 4 }, children: mark }), title && _jsx("span", { children: title }), mark && after && _jsx("span", { style: { paddingLeft: 4 }, children: mark })] }));
77
+ };
78
+ return (_jsx(Comp, { href: href, className: cn(buttonVariants({
79
+ variant: variant ?? def.variant ?? 'link',
80
+ size: size ?? def.size ?? 'default',
81
+ }), className),
82
+ // A def with no href and no handler is a LABEL, not a link. Written as a
83
+ // style rather than a utility class because this renders a bare `<a>` and
84
+ // nothing in the shipped stylesheet defines `pointer-events-none` — the
85
+ // class would have been three dead tokens and a clickable label.
86
+ style: href.length > 0 || onClick ? style : { ...style, pointerEvents: 'none' }, ...(onClick ? { onClick } : {}), ...nav, children: label() }));
87
+ };
88
+ //# sourceMappingURL=link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/backends/gui/link.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC,OAAO,EAAuC,cAAc,EAAE,MAAM,UAAU,CAAA;AAK9E;;;GAGG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,aAAa,CAAgB,GAAG,CAAC,CAAA;AAE3E,MAAM,CAAC,MAAM,OAAO,GAAG,GAAkB,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AAElE,8EAA8E;AAC9E,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEvE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EACtB,IAAI,EACJ,QAAQ,EACR,GAAG,IAAI,EACuC,EAAE,EAAE;IAClD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,CACL,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,KAAM,IAAI,YACvB,QAAQ,GACJ,CACR,CAAA;IACH,CAAC;IACD,OAAO,CACL,YAAG,IAAI,EAAE,IAAI,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,KAAK,IAAI,YAC9D,QAAQ,GACP,CACL,CAAA;AACH,CAAC,CAAA;AAsBD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,GAAG;AACH,4EAA4E;AAC5E,kDAAkD;AAClD,OAAO,EACP,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,SAAS,EACT,SAAS,EACT,KAAK,EACL,QAAQ,GACS,EAAE,EAAE;IACrB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA;IAEnC,MAAM,GAAG,GAA4B,EAAE,CAAA;IACvC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,GAAG,CAAC,GAAG,GAAG,qBAAqB,CAAA;QAC/B,qEAAqE;QACrE,IAAI,MAAM,IAAI,IAAI;YAAE,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAA;IAC3C,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QAClB,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAA;IACvB,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,QAAQ,CAAA;QACvD,uCAAuC;QACvC,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,CAAC,IAAI,CAAA;QAC7B,MAAM,KAAK,GAAG,SAAS,IAAI,GAAG,CAAC,SAAS,IAAI,KAAK,CAAA;QACjD,yDAAyD;QACzD,OAAO,CACL,8BACG,IAAI,IAAI,CAAC,KAAK,IAAI,eAAM,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,YAAG,IAAI,GAAQ,EACjE,KAAK,IAAI,yBAAO,KAAK,GAAQ,EAC7B,IAAI,IAAI,KAAK,IAAI,eAAM,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAG,IAAI,GAAQ,IAC/D,CACJ,CAAA;IACH,CAAC,CAAA;IAED,OAAO,CACL,KAAC,IAAI,IACH,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CACX,cAAc,CAAC;YACb,OAAO,EAAE,OAAO,IAAI,GAAG,CAAC,OAAO,IAAI,MAAM;YACzC,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,SAAS;SACpC,CAAC,EACF,SAAS,CACV;QACD,yEAAyE;QACzE,0EAA0E;QAC1E,wEAAwE;QACxE,iEAAiE;QACjE,KAAK,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,KAC3E,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAC5B,GAAG,YAEN,KAAK,EAAE,GACH,CACR,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,33 @@
1
+ 'use client';"use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApplyTypography = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const box_1 = require("../../box.cjs");
6
+ const cn_1 = require("../../core/cn.cjs");
7
+ /**
8
+ * Namespaced, and this family especially: `.prose` is what Tailwind's own
9
+ * typography plugin claims. A site part-way through leaving that engine would
10
+ * otherwise have two stylesheets fighting over the same selector, and which one
11
+ * won would depend on import order.
12
+ */
13
+ const RUNG = {
14
+ responsive: 'hz-prose-responsive',
15
+ // `base` is the unmodified `.hz-prose` rung, so it adds nothing.
16
+ base: '',
17
+ sm: 'hz-prose-sm',
18
+ lg: 'hz-prose-lg',
19
+ xl: 'hz-prose-xl',
20
+ };
21
+ /**
22
+ * Through `Box`, so a caller's layout classes are converted rather than
23
+ * emitted: `<ApplyTypography className="flex w-full">` used to put two dead
24
+ * tokens on the element, since nothing here defines them. `Box` with a `tag`
25
+ * renders that one element and nothing around it, so the `>` child selectors
26
+ * the prose rules depend on still reach the content.
27
+ *
28
+ * `hz-prose*` survives the conversion and stays on the element — it is real
29
+ * css in theme.css, which is exactly what `tw` leaves alone.
30
+ */
31
+ const ApplyTypography = ({ children, className, asTag = 'div', size = 'responsive', ...rest }) => ((0, jsx_runtime_1.jsx)(box_1.Box, { tag: asTag, className: (0, cn_1.cn)('hz-prose', RUNG[size], className), ...rest, children: children }));
32
+ exports.ApplyTypography = ApplyTypography;
33
+ exports.default = exports.ApplyTypography;
@@ -0,0 +1,39 @@
1
+ /**
2
+ * ApplyTypography — turn on running-text styling for a subtree.
3
+ *
4
+ * Authored content (a CMS field, an .mdx file, a block's `content`) arrives as
5
+ * bare tags: `<h1>`, `<p>`, `<ul>`. Nothing inside it can carry a class, so the
6
+ * styling has to come from an ancestor and reach down by TAG. That is what this
7
+ * does, and it is the reason it exists rather than each block styling its own
8
+ * heading.
9
+ *
10
+ * The rules live in `theme.css` under `.prose`; this component only chooses
11
+ * which rung and which element. It is a plain host element on purpose — the
12
+ * rules select `>` children, and a gui `styled()` frame would insert one.
13
+ *
14
+ * `size` is 'responsive' by default and is the only rung that moves with the
15
+ * viewport. A t-shirt size is a decision the caller already made, so it stays
16
+ * put — asking for 'sm' and getting 'lg' on a wide screen would make the prop a
17
+ * suggestion.
18
+ */
19
+ import * as React from 'react';
20
+ export type TypographySize = 'responsive' | 'sm' | 'base' | 'lg' | 'xl';
21
+ /** The tags a prose container is allowed to be — all of them block-level. */
22
+ export type ProseTag = 'div' | 'section' | 'nav' | 'main' | 'article' | 'aside';
23
+ export type ApplyTypographyProps = React.ComponentProps<'div'> & {
24
+ asTag?: ProseTag;
25
+ size?: TypographySize;
26
+ };
27
+ /**
28
+ * Through `Box`, so a caller's layout classes are converted rather than
29
+ * emitted: `<ApplyTypography className="flex w-full">` used to put two dead
30
+ * tokens on the element, since nothing here defines them. `Box` with a `tag`
31
+ * renders that one element and nothing around it, so the `>` child selectors
32
+ * the prose rules depend on still reach the content.
33
+ *
34
+ * `hz-prose*` survives the conversion and stays on the element — it is real
35
+ * css in theme.css, which is exactly what `tw` leaves alone.
36
+ */
37
+ export declare const ApplyTypography: ({ children, className, asTag, size, ...rest }: ApplyTypographyProps) => import("react/jsx-runtime").JSX.Element;
38
+ export default ApplyTypography;
39
+ //# sourceMappingURL=prose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prose.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/prose.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAA;AAEvE,6EAA6E;AAC7E,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;AAE/E,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/D,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,IAAI,CAAC,EAAE,cAAc,CAAA;CACtB,CAAA;AAiBD;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,kDAMzB,oBAAoB,4CAMtB,CAAA;eAEc,eAAe"}
@@ -0,0 +1,30 @@
1
+ 'use client';import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box } from '../../box.js';
3
+ import { cn } from '../../core/cn.js';
4
+ /**
5
+ * Namespaced, and this family especially: `.prose` is what Tailwind's own
6
+ * typography plugin claims. A site part-way through leaving that engine would
7
+ * otherwise have two stylesheets fighting over the same selector, and which one
8
+ * won would depend on import order.
9
+ */
10
+ const RUNG = {
11
+ responsive: 'hz-prose-responsive',
12
+ // `base` is the unmodified `.hz-prose` rung, so it adds nothing.
13
+ base: '',
14
+ sm: 'hz-prose-sm',
15
+ lg: 'hz-prose-lg',
16
+ xl: 'hz-prose-xl',
17
+ };
18
+ /**
19
+ * Through `Box`, so a caller's layout classes are converted rather than
20
+ * emitted: `<ApplyTypography className="flex w-full">` used to put two dead
21
+ * tokens on the element, since nothing here defines them. `Box` with a `tag`
22
+ * renders that one element and nothing around it, so the `>` child selectors
23
+ * the prose rules depend on still reach the content.
24
+ *
25
+ * `hz-prose*` survives the conversion and stays on the element — it is real
26
+ * css in theme.css, which is exactly what `tw` leaves alone.
27
+ */
28
+ export const ApplyTypography = ({ children, className, asTag = 'div', size = 'responsive', ...rest }) => (_jsx(Box, { tag: asTag, className: cn('hz-prose', RUNG[size], className), ...rest, children: children }));
29
+ export default ApplyTypography;
30
+ //# sourceMappingURL=prose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prose.js","sourceRoot":"","sources":["../../../src/backends/gui/prose.tsx"],"names":[],"mappings":";AAmBA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAYlC;;;;;GAKG;AACH,MAAM,IAAI,GAAmC;IAC3C,UAAU,EAAE,qBAAqB;IACjC,iEAAiE;IACjE,IAAI,EAAE,EAAE;IACR,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,aAAa;CAClB,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,QAAQ,EACR,SAAS,EACT,KAAK,GAAG,KAAK,EACb,IAAI,GAAG,YAAY,EACnB,GAAG,IAAI,EACc,EAAE,EAAE,CAAC,CAG1B,KAAC,GAAG,IAAC,GAAG,EAAE,KAAc,EAAE,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,KAAO,IAAe,YAC7F,QAAQ,GACL,CACP,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -0,0 +1,89 @@
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.YouTubeEmbed = exports.VideoPlayer = void 0;
38
+ const jsx_runtime_1 = require("react/jsx-runtime");
39
+ /**
40
+ * Video.
41
+ *
42
+ * `VideoPlayer` is a `<video>` that takes its sources as an array, because a
43
+ * block describes them that way and every caller was otherwise writing the same
44
+ * `<source>` map.
45
+ *
46
+ * `YouTubeEmbed` shows the poster first and mounts the iframe on click. That is
47
+ * not a nicety: an embed loads ~1MB and sets cookies on sight, so a page with
48
+ * several of them pays for all of them before anyone watches one. The
49
+ * `-nocookie` host is the same trade — YouTube's own domain for embeds that
50
+ * defers its cookie until playback starts.
51
+ */
52
+ const React = __importStar(require("react"));
53
+ exports.VideoPlayer = React.forwardRef(({ sources, ...rest }, ref) => ((0, jsx_runtime_1.jsx)("video", { ref: ref, ...rest, children: sources.map((src, i) => ((0, jsx_runtime_1.jsx)("source", { src: src }, i))) })));
54
+ exports.VideoPlayer.displayName = 'VideoPlayer';
55
+ /** YouTube's own play mark, drawn rather than imported so this pulls no icon set. */
56
+ const Play = ({ size }) => ((0, jsx_runtime_1.jsxs)("svg", { width: size, height: size * 0.7, viewBox: "0 0 68 48", role: "img", "aria-hidden": true, style: { transition: 'transform .15s ease' }, children: [(0, jsx_runtime_1.jsx)("path", { d: "M66.5 7.7a8.6 8.6 0 0 0-6-6C55.2 0 34 0 34 0S12.8 0 7.5 1.6a8.6 8.6 0 0 0-6 6A89.7 89.7 0 0 0 0 24a89.7 89.7 0 0 0 1.5 16.3 8.6 8.6 0 0 0 6 6C12.8 48 34 48 34 48s21.2 0 26.5-1.6a8.6 8.6 0 0 0 6-6A89.7 89.7 0 0 0 68 24a89.7 89.7 0 0 0-1.5-16.3z", fill: "#f00" }), (0, jsx_runtime_1.jsx)("path", { d: "M27 34V14l18 10-18 10z", fill: "#fff" })] }));
57
+ const YouTubeEmbed = ({ youtubeID, width, height, buttonSize = 100, timeAt, title, caption, className, }) => {
58
+ const [playing, setPlaying] = React.useState(false);
59
+ if (playing) {
60
+ // autoplay is honoured because the iframe mounts inside a click.
61
+ const q = `${timeAt ? `?t=${timeAt}&` : '?'}rel=0&autoplay=1`;
62
+ return ((0, jsx_runtime_1.jsx)("div", { className: className, children: (0, jsx_runtime_1.jsx)("iframe", { width: width, height: height, src: `https://www.youtube-nocookie.com/embed/${youtubeID}${q}`, allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture", allowFullScreen: true, title: title || 'YouTube video', style: { aspectRatio: '16 / 9', width: '100%', height: '100%', border: 0, padding: 0 } }) }));
63
+ }
64
+ return ((0, jsx_runtime_1.jsx)("div", { className: className, children: (0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => setPlaying(true), "aria-label": title ? `Play ${title}` : 'Play video', style: {
65
+ position: 'relative',
66
+ aspectRatio: '16 / 9',
67
+ width: '100%',
68
+ padding: 0,
69
+ border: 0,
70
+ background: 'transparent',
71
+ cursor: 'pointer',
72
+ }, children: [(0, jsx_runtime_1.jsx)("img", { src: `https://img.youtube.com/vi/${youtubeID}/maxresdefault.jpg`, alt: "", width: width, height: height, loading: "lazy", style: { width: '100%', height: '100%', objectFit: 'cover' } }), (0, jsx_runtime_1.jsx)("span", { style: {
73
+ position: 'absolute',
74
+ left: '50%',
75
+ top: '50%',
76
+ transform: 'translate(-50%, -50%)',
77
+ display: 'grid',
78
+ placeItems: 'center',
79
+ opacity: 0.9,
80
+ }, children: (0, jsx_runtime_1.jsx)(Play, { size: buttonSize }) }), caption && ((0, jsx_runtime_1.jsx)("p", { className: "hz-prose", style: {
81
+ position: 'absolute',
82
+ left: '50%',
83
+ top: 20,
84
+ transform: 'translateX(-50%)',
85
+ whiteSpace: 'nowrap',
86
+ margin: 0,
87
+ }, children: caption }))] }) }));
88
+ };
89
+ exports.YouTubeEmbed = YouTubeEmbed;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Video.
3
+ *
4
+ * `VideoPlayer` is a `<video>` that takes its sources as an array, because a
5
+ * block describes them that way and every caller was otherwise writing the same
6
+ * `<source>` map.
7
+ *
8
+ * `YouTubeEmbed` shows the poster first and mounts the iframe on click. That is
9
+ * not a nicety: an embed loads ~1MB and sets cookies on sight, so a page with
10
+ * several of them pays for all of them before anyone watches one. The
11
+ * `-nocookie` host is the same trade — YouTube's own domain for embeds that
12
+ * defers its cookie until playback starts.
13
+ */
14
+ import * as React from 'react';
15
+ export type VideoPlayerProps = Omit<React.ComponentPropsWithoutRef<'video'>, 'src'> & {
16
+ sources: string[];
17
+ };
18
+ export declare const VideoPlayer: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.VideoHTMLAttributes<HTMLVideoElement>, HTMLVideoElement>, "ref">, "src"> & {
19
+ sources: string[];
20
+ } & React.RefAttributes<HTMLVideoElement>>;
21
+ export type YouTubeEmbedProps = {
22
+ youtubeID: string;
23
+ width: number;
24
+ height: number;
25
+ buttonSize?: number;
26
+ /** Start offset, e.g. `'5s'`. */
27
+ timeAt?: string;
28
+ title?: string;
29
+ caption?: string;
30
+ className?: string;
31
+ };
32
+ export declare const YouTubeEmbed: ({ youtubeID, width, height, buttonSize, timeAt, title, caption, className, }: YouTubeEmbedProps) => import("react/jsx-runtime").JSX.Element;
33
+ //# sourceMappingURL=video.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/video.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG;IACpF,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,WAAW;aAHb,MAAM,EAAE;0CAWlB,CAAA;AAqBD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,YAAY,iFAStB,iBAAiB,4CA4EnB,CAAA"}