@hanzo/ui 8.27.44 → 8.27.46

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 (149) hide show
  1. package/dist/backends/gui/animated-testimonials.cjs +2 -2
  2. package/dist/backends/gui/animated-testimonials.js +2 -2
  3. package/dist/backends/gui/animated-testimonials.js.map +1 -1
  4. package/dist/backends/gui/animated-tooltip.cjs +2 -2
  5. package/dist/backends/gui/animated-tooltip.js +2 -2
  6. package/dist/backends/gui/animated-tooltip.js.map +1 -1
  7. package/dist/backends/gui/carousel.cjs +2 -2
  8. package/dist/backends/gui/carousel.d.ts.map +1 -1
  9. package/dist/backends/gui/carousel.js +2 -2
  10. package/dist/backends/gui/carousel.js.map +1 -1
  11. package/dist/backends/gui/index.cjs +4 -5
  12. package/dist/backends/gui/index.d.ts +1 -1
  13. package/dist/backends/gui/index.d.ts.map +1 -1
  14. package/dist/backends/gui/index.js +1 -1
  15. package/dist/backends/gui/index.js.map +1 -1
  16. package/dist/backends/gui/input-otp.cjs +2 -1
  17. package/dist/backends/gui/input-otp.d.ts.map +1 -1
  18. package/dist/backends/gui/input-otp.js +2 -1
  19. package/dist/backends/gui/input-otp.js.map +1 -1
  20. package/dist/backends/gui/navigation-menu.cjs +24 -6
  21. package/dist/backends/gui/navigation-menu.d.ts +0 -6
  22. package/dist/backends/gui/navigation-menu.d.ts.map +1 -1
  23. package/dist/backends/gui/navigation-menu.js +23 -5
  24. package/dist/backends/gui/navigation-menu.js.map +1 -1
  25. package/dist/backends/gui/popover.cjs +7 -2
  26. package/dist/backends/gui/popover.d.ts +8 -1
  27. package/dist/backends/gui/popover.d.ts.map +1 -1
  28. package/dist/backends/gui/popover.js +7 -2
  29. package/dist/backends/gui/popover.js.map +1 -1
  30. package/dist/backends/gui/prose.cjs +4 -18
  31. package/dist/backends/gui/prose.d.ts +8 -5
  32. package/dist/backends/gui/prose.d.ts.map +1 -1
  33. package/dist/backends/gui/prose.js +4 -18
  34. package/dist/backends/gui/prose.js.map +1 -1
  35. package/dist/backends/gui/skeleton.cjs +1 -1
  36. package/dist/backends/gui/skeleton.d.ts.map +1 -1
  37. package/dist/backends/gui/skeleton.js +1 -1
  38. package/dist/backends/gui/skeleton.js.map +1 -1
  39. package/dist/backends/gui/timeline.cjs +2 -2
  40. package/dist/backends/gui/timeline.d.ts +1 -1
  41. package/dist/backends/gui/timeline.js +2 -2
  42. package/dist/backends/gui/timeline.js.map +1 -1
  43. package/dist/backends/gui/video.cjs +1 -1
  44. package/dist/backends/gui/video.js +1 -1
  45. package/dist/backends/gui/video.js.map +1 -1
  46. package/dist/chat/Chat.cjs +7 -2
  47. package/dist/chat/Chat.d.ts +14 -1
  48. package/dist/chat/Chat.d.ts.map +1 -1
  49. package/dist/chat/Chat.js +7 -2
  50. package/dist/chat/Chat.js.map +1 -1
  51. package/dist/chat/Composer.cjs +6 -1
  52. package/dist/chat/Composer.d.ts.map +1 -1
  53. package/dist/chat/Composer.js +6 -1
  54. package/dist/chat/Composer.js.map +1 -1
  55. package/dist/chat/SessionRail.cjs +1 -4
  56. package/dist/chat/SessionRail.js +1 -4
  57. package/dist/chat/SessionRail.js.map +1 -1
  58. package/dist/core/cn.cjs +1 -1
  59. package/dist/core/cn.d.ts +1 -1
  60. package/dist/core/cn.js +1 -1
  61. package/dist/gallery.html +495 -598
  62. package/dist/glass.cjs +2 -24
  63. package/dist/glass.css +14 -196
  64. package/dist/glass.d.ts +2 -26
  65. package/dist/glass.d.ts.map +1 -1
  66. package/dist/glass.js +1 -22
  67. package/dist/glass.js.map +1 -1
  68. package/dist/grid.cjs +60 -10
  69. package/dist/grid.d.ts +20 -24
  70. package/dist/grid.d.ts.map +1 -1
  71. package/dist/grid.js +60 -10
  72. package/dist/grid.js.map +1 -1
  73. package/dist/index.cjs +6 -2
  74. package/dist/index.d.ts +2 -1
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +4 -1
  77. package/dist/index.js.map +1 -1
  78. package/dist/index.node.cjs +6 -2
  79. package/dist/index.node.js +4 -1
  80. package/dist/masthead/index.cjs +3 -12
  81. package/dist/masthead/index.d.ts +3 -6
  82. package/dist/masthead/index.d.ts.map +1 -1
  83. package/dist/masthead/index.js +3 -6
  84. package/dist/masthead/index.js.map +1 -1
  85. package/dist/motion.cjs +20 -0
  86. package/dist/motion.d.ts +17 -0
  87. package/dist/motion.d.ts.map +1 -0
  88. package/dist/motion.js +16 -0
  89. package/dist/motion.js.map +1 -0
  90. package/dist/product/DataTable.cjs +24 -4
  91. package/dist/product/DataTable.d.ts +0 -16
  92. package/dist/product/DataTable.d.ts.map +1 -1
  93. package/dist/product/DataTable.js +24 -4
  94. package/dist/product/DataTable.js.map +1 -1
  95. package/dist/product/FadeIn.cjs +1 -1
  96. package/dist/product/FadeIn.js +1 -1
  97. package/dist/product/FadeIn.js.map +1 -1
  98. package/dist/product/Metric.cjs +19 -2
  99. package/dist/product/Metric.d.ts +0 -16
  100. package/dist/product/Metric.d.ts.map +1 -1
  101. package/dist/product/Metric.js +19 -2
  102. package/dist/product/Metric.js.map +1 -1
  103. package/dist/product/Reorder.cjs +1 -1
  104. package/dist/product/Reorder.js +1 -1
  105. package/dist/product/Reorder.js.map +1 -1
  106. package/dist/product/Skeleton.cjs +5 -5
  107. package/dist/product/Skeleton.d.ts +4 -4
  108. package/dist/product/Skeleton.d.ts.map +1 -1
  109. package/dist/product/Skeleton.js +5 -5
  110. package/dist/product/Skeleton.js.map +1 -1
  111. package/dist/product/SlideOver.cjs +2 -10
  112. package/dist/product/SlideOver.d.ts.map +1 -1
  113. package/dist/product/SlideOver.js +2 -10
  114. package/dist/product/SlideOver.js.map +1 -1
  115. package/dist/product/figures.cjs +16 -0
  116. package/dist/product/figures.d.ts +16 -0
  117. package/dist/product/figures.d.ts.map +1 -0
  118. package/dist/product/figures.js +14 -0
  119. package/dist/product/figures.js.map +1 -0
  120. package/dist/product/social/SocialResource.cjs +2 -1
  121. package/dist/product/social/SocialResource.d.ts.map +1 -1
  122. package/dist/product/social/SocialResource.js +2 -1
  123. package/dist/product/social/SocialResource.js.map +1 -1
  124. package/dist/product/social/SocialSummaryBar.cjs +2 -1
  125. package/dist/product/social/SocialSummaryBar.d.ts.map +1 -1
  126. package/dist/product/social/SocialSummaryBar.js +2 -1
  127. package/dist/product/social/SocialSummaryBar.js.map +1 -1
  128. package/dist/style.cjs +1 -4
  129. package/dist/style.d.ts +0 -2
  130. package/dist/style.d.ts.map +1 -1
  131. package/dist/style.js +0 -2
  132. package/dist/style.js.map +1 -1
  133. package/dist/styles/motion.css +61 -283
  134. package/dist/styles.css +492 -595
  135. package/dist/sx.cjs +1 -1
  136. package/dist/sx.js +1 -1
  137. package/dist/theme.css +383 -292
  138. package/package.json +3 -4
  139. package/dist/masthead/Masthead.cjs +0 -168
  140. package/dist/masthead/Masthead.d.ts +0 -54
  141. package/dist/masthead/Masthead.d.ts.map +0 -1
  142. package/dist/masthead/Masthead.js +0 -162
  143. package/dist/masthead/Masthead.js.map +0 -1
  144. package/dist/masthead.css +0 -502
  145. package/dist/primitives/navigationMenuTriggerStyle.cjs +0 -8
  146. package/dist/primitives/navigationMenuTriggerStyle.d.ts +0 -2
  147. package/dist/primitives/navigationMenuTriggerStyle.d.ts.map +0 -1
  148. package/dist/primitives/navigationMenuTriggerStyle.js +0 -5
  149. package/dist/primitives/navigationMenuTriggerStyle.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-menu.js","sourceRoot":"","sources":["../../../src/backends/gui/navigation-menu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigation-menu.js","sourceRoot":"","sources":["../../../src/backends/gui/navigation-menu.tsx"],"names":[],"mappings":"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"}
@@ -23,6 +23,9 @@ const slot_1 = require("./slot.cjs");
23
23
  const DEFAULT_OFFSET = 4;
24
24
  const DEFAULT_SIDE = 'bottom';
25
25
  const Publish = /* @__PURE__ */ (0, react_1.createContext)(null);
26
+ /** Whether the panel this one opened from is solid. A list opened inside a solid
27
+ * panel stands on the same ground, so the pair reads as one surface. */
28
+ const Solid = /* @__PURE__ */ (0, react_1.createContext)(false);
26
29
  function Popover({ offset = DEFAULT_OFFSET, placement, ...props }) {
27
30
  const [placed, setPlaced] = (0, react_1.useState)({});
28
31
  const publish = (0, react_1.useCallback)((p) => setPlaced((prev) => ({ ...prev, ...p })), []);
@@ -34,10 +37,12 @@ const PopoverAnchor = gui_1.Popover.Anchor;
34
37
  exports.PopoverAnchor = PopoverAnchor;
35
38
  const PopoverClose = gui_1.Popover.Close;
36
39
  exports.PopoverClose = PopoverClose;
37
- const PopoverContent = ({ sideOffset = DEFAULT_OFFSET, align, ...props }) => {
40
+ const PopoverContent = ({ sideOffset = DEFAULT_OFFSET, align, solid, ...props }) => {
38
41
  const themeName = (0, portal_theme_1.useThemeName)();
39
42
  const publish = (0, react_1.useContext)(Publish);
43
+ const inherited = (0, react_1.useContext)(Solid);
44
+ const opaque = solid ?? inherited;
40
45
  (0, react_1.useEffect)(() => publish?.({ offset: sideOffset, align }), [publish, sideOffset, align]);
41
- return ((0, jsx_runtime_1.jsx)(portal_theme_1.PortalTheme, { name: themeName, children: (0, jsx_runtime_1.jsx)(gui_1.Popover.Content, { ...(0, slot_1.slot)('popover-content'), bg: "$panel", borderWidth: 1, borderColor: "$borderColor", rounded: "$4", p: "$4", width: 288, ...props }) }));
46
+ return ((0, jsx_runtime_1.jsx)(Solid.Provider, { value: opaque, children: (0, jsx_runtime_1.jsx)(portal_theme_1.PortalTheme, { name: themeName, children: (0, jsx_runtime_1.jsx)(gui_1.Popover.Content, { ...(0, slot_1.slot)('popover-content'), ...(opaque ? { 'data-material': 'solid' } : null), bg: opaque ? 'var(--popover)' : '$panel', borderWidth: 1, borderColor: "$borderColor", rounded: "$4", p: "$4", width: 288, ...props }) }) }));
42
47
  };
43
48
  exports.PopoverContent = PopoverContent;
@@ -23,7 +23,14 @@ declare const PopoverClose: typeof GuiPopover.Close;
23
23
  export type PopoverContentProps = ComponentProps<typeof GuiPopover.Content> & {
24
24
  sideOffset?: number;
25
25
  align?: Align;
26
+ /**
27
+ * Stand on the opaque `--popover` ground instead of glass. For a panel over
28
+ * something that moves, such as a menu over a streaming transcript, where the
29
+ * text behind would read through the frost. It keeps the rung's shadow and
30
+ * lit edge, and any popover opened from inside it is solid too.
31
+ */
32
+ solid?: boolean;
26
33
  };
27
- declare const PopoverContent: ({ sideOffset, align, ...props }: PopoverContentProps) => import("react").JSX.Element;
34
+ declare const PopoverContent: ({ sideOffset, align, solid, ...props }: PopoverContentProps) => import("react").JSX.Element;
28
35
  export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor, PopoverClose };
29
36
  //# sourceMappingURL=popover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/popover.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,OAAO,CAAA;AAEd,OAAO,EAAS,KAAK,KAAK,EAAE,MAAM,SAAS,CAAA;AAM3C,YAAY,EAAE,KAAK,EAAE,CAAA;AAOrB,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,UAAU,CAAC,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAElG,iBAAS,OAAO,CAAC,EAAE,MAAuB,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,+BAY9E;AAED,QAAA,MAAM,cAAc,EAAE,OAAO,UAAU,CAAC,OAA4B,CAAA;AACpE,QAAA,MAAM,aAAa,EAAE,OAAO,UAAU,CAAC,MAA0B,CAAA;AACjE,QAAA,MAAM,YAAY,EAAE,OAAO,UAAU,CAAC,KAAwB,CAAA;AAE9D,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,UAAU,CAAC,OAAO,CAAC,GAAG;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,QAAA,MAAM,cAAc,oCAAsD,mBAAmB,gCAkB5F,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/popover.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,OAAO,CAAA;AAEd,OAAO,EAAS,KAAK,KAAK,EAAE,MAAM,SAAS,CAAA;AAM3C,YAAY,EAAE,KAAK,EAAE,CAAA;AAWrB,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,UAAU,CAAC,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAElG,iBAAS,OAAO,CAAC,EAAE,MAAuB,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,+BAY9E;AAED,QAAA,MAAM,cAAc,EAAE,OAAO,UAAU,CAAC,OAA4B,CAAA;AACpE,QAAA,MAAM,aAAa,EAAE,OAAO,UAAU,CAAC,MAA0B,CAAA;AACjE,QAAA,MAAM,YAAY,EAAE,OAAO,UAAU,CAAC,KAAwB,CAAA;AAE9D,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,OAAO,UAAU,CAAC,OAAO,CAAC,GAAG;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,QAAA,MAAM,cAAc,2CAA6D,mBAAmB,gCAuBnG,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,CAAA"}
@@ -19,6 +19,9 @@ import { slot } from './slot.js';
19
19
  const DEFAULT_OFFSET = 4;
20
20
  const DEFAULT_SIDE = 'bottom';
21
21
  const Publish = /* @__PURE__ */ createContext(null);
22
+ /** Whether the panel this one opened from is solid. A list opened inside a solid
23
+ * panel stands on the same ground, so the pair reads as one surface. */
24
+ const Solid = /* @__PURE__ */ createContext(false);
22
25
  function Popover({ offset = DEFAULT_OFFSET, placement, ...props }) {
23
26
  const [placed, setPlaced] = useState({});
24
27
  const publish = useCallback((p) => setPlaced((prev) => ({ ...prev, ...p })), []);
@@ -27,11 +30,13 @@ function Popover({ offset = DEFAULT_OFFSET, placement, ...props }) {
27
30
  const PopoverTrigger = GuiPopover.Trigger;
28
31
  const PopoverAnchor = GuiPopover.Anchor;
29
32
  const PopoverClose = GuiPopover.Close;
30
- const PopoverContent = ({ sideOffset = DEFAULT_OFFSET, align, ...props }) => {
33
+ const PopoverContent = ({ sideOffset = DEFAULT_OFFSET, align, solid, ...props }) => {
31
34
  const themeName = useThemeName();
32
35
  const publish = useContext(Publish);
36
+ const inherited = useContext(Solid);
37
+ const opaque = solid ?? inherited;
33
38
  useEffect(() => publish?.({ offset: sideOffset, align }), [publish, sideOffset, align]);
34
- return (_jsx(PortalTheme, { name: themeName, children: _jsx(GuiPopover.Content, { ...slot('popover-content'), bg: "$panel", borderWidth: 1, borderColor: "$borderColor", rounded: "$4", p: "$4", width: 288, ...props }) }));
39
+ return (_jsx(Solid.Provider, { value: opaque, children: _jsx(PortalTheme, { name: themeName, children: _jsx(GuiPopover.Content, { ...slot('popover-content'), ...(opaque ? { 'data-material': 'solid' } : null), bg: opaque ? 'var(--popover)' : '$panel', borderWidth: 1, borderColor: "$borderColor", rounded: "$4", p: "$4", width: 288, ...props }) }) }));
35
40
  };
36
41
  export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor, PopoverClose };
37
42
  //# sourceMappingURL=popover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"popover.js","sourceRoot":"","sources":["../../../src/backends/gui/popover.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;GAUG;AACH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,EACT,QAAQ,GAET,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC3E,OAAO,EAAE,KAAK,EAAc,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,cAAc,GAAG,CAAC,CAAA;AACxB,MAAM,YAAY,GAAG,QAAQ,CAAA;AAO7B,MAAM,OAAO,GAAG,eAAe,CAAC,aAAa,CAA+B,IAAI,CAAC,CAAA;AAIjF,SAAS,OAAO,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,SAAS,EAAE,GAAG,KAAK,EAAgB;IAC7E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAA;IAChD,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACxF,OAAO,CACL,KAAC,OAAO,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YAC9B,KAAC,UAAU,IACT,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,EAC/B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,YAAY,EAAE,MAAM,CAAC,KAAK,CAAqB,KACzE,KAAK,GACT,GACe,CACpB,CAAA;AACH,CAAC;AAED,MAAM,cAAc,GAA8B,UAAU,CAAC,OAAO,CAAA;AACpE,MAAM,aAAa,GAA6B,UAAU,CAAC,MAAM,CAAA;AACjE,MAAM,YAAY,GAA4B,UAAU,CAAC,KAAK,CAAA;AAO9D,MAAM,cAAc,GAAG,CAAC,EAAE,UAAU,GAAG,cAAc,EAAE,KAAK,EAAE,GAAG,KAAK,EAAuB,EAAE,EAAE;IAC/F,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IACnC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;IACvF,OAAO,CACL,KAAC,WAAW,IAAC,IAAI,EAAE,SAAS,YAC1B,KAAC,UAAU,CAAC,OAAO,OACb,IAAI,CAAC,iBAAiB,CAAC,EAC3B,EAAE,EAAC,QAAQ,EACX,WAAW,EAAE,CAAC,EACd,WAAW,EAAC,cAAc,EAC1B,OAAO,EAAC,IAAI,EACZ,CAAC,EAAC,IAAI,EACN,KAAK,EAAE,GAAG,KACN,KAAK,GACT,GACU,CACf,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"popover.js","sourceRoot":"","sources":["../../../src/backends/gui/popover.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;GAUG;AACH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,EACT,QAAQ,GAET,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC3E,OAAO,EAAE,KAAK,EAAc,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,cAAc,GAAG,CAAC,CAAA;AACxB,MAAM,YAAY,GAAG,QAAQ,CAAA;AAO7B,MAAM,OAAO,GAAG,eAAe,CAAC,aAAa,CAA+B,IAAI,CAAC,CAAA;AAEjF;yEACyE;AACzE,MAAM,KAAK,GAAG,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AAIlD,SAAS,OAAO,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,SAAS,EAAE,GAAG,KAAK,EAAgB;IAC7E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAA;IAChD,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACxF,OAAO,CACL,KAAC,OAAO,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YAC9B,KAAC,UAAU,IACT,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,EAC/B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,YAAY,EAAE,MAAM,CAAC,KAAK,CAAqB,KACzE,KAAK,GACT,GACe,CACpB,CAAA;AACH,CAAC;AAED,MAAM,cAAc,GAA8B,UAAU,CAAC,OAAO,CAAA;AACpE,MAAM,aAAa,GAA6B,UAAU,CAAC,MAAM,CAAA;AACjE,MAAM,YAAY,GAA4B,UAAU,CAAC,KAAK,CAAA;AAc9D,MAAM,cAAc,GAAG,CAAC,EAAE,UAAU,GAAG,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAuB,EAAE,EAAE;IACtG,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IACnC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACnC,MAAM,MAAM,GAAG,KAAK,IAAI,SAAS,CAAA;IACjC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;IACvF,OAAO,CACL,KAAC,KAAK,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,YAC3B,KAAC,WAAW,IAAC,IAAI,EAAE,SAAS,YAC1B,KAAC,UAAU,CAAC,OAAO,OACb,IAAI,CAAC,iBAAiB,CAAC,KACvB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAClD,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,EACxC,WAAW,EAAE,CAAC,EACd,WAAW,EAAC,cAAc,EAC1B,OAAO,EAAC,IAAI,EACZ,CAAC,EAAC,IAAI,EACN,KAAK,EAAE,GAAG,KACN,KAAK,GACT,GACU,GACC,CAClB,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,CAAA"}
@@ -4,21 +4,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.ApplyTypography = void 0;
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const box_1 = require("../../box.cjs");
7
- const cn_1 = require("../../core/cn.cjs");
8
- /**
9
- * Namespaced, and this family especially: `.prose` is what Tailwind's own
10
- * typography plugin claims. A site part-way through leaving that engine would
11
- * otherwise have two stylesheets fighting over the same selector, and which one
12
- * won would depend on import order.
13
- */
14
- const RUNG = {
15
- responsive: 'hz-prose-responsive',
16
- // `base` is the unmodified `.hz-prose` rung, so it adds nothing.
17
- base: '',
18
- sm: 'hz-prose-sm',
19
- lg: 'hz-prose-lg',
20
- xl: 'hz-prose-xl',
21
- };
22
7
  /**
23
8
  * Through `Box`, so a caller's layout classes are converted rather than
24
9
  * emitted: `<ApplyTypography className="flex w-full">` used to put two dead
@@ -26,9 +11,10 @@ const RUNG = {
26
11
  * renders that one element and nothing around it, so the `>` child selectors
27
12
  * the prose rules depend on still reach the content.
28
13
  *
29
- * `hz-prose*` survives the conversion and stays on the element — it is real
30
- * css in theme.css, which is exactly what `tw` leaves alone.
14
+ * The hook is a data attribute rather than a class, so nothing here competes
15
+ * with the `.prose` Tailwind's typography plugin claims, and `tw` has nothing
16
+ * to convert.
31
17
  */
32
- 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 }));
18
+ const ApplyTypography = ({ children, className, asTag = 'div', size = 'responsive', ...rest }) => ((0, jsx_runtime_1.jsx)(box_1.Box, { tag: asTag, "data-slot": "prose", "data-size": size === 'base' ? undefined : size, className: className, ...rest, children: children }));
33
19
  exports.ApplyTypography = ApplyTypography;
34
20
  exports.default = exports.ApplyTypography;
@@ -7,9 +7,11 @@
7
7
  * does, and it is the reason it exists rather than each block styling its own
8
8
  * heading.
9
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.
10
+ * The rules live in `theme.css` under `[data-slot='prose']`; this component
11
+ * only chooses which rung (`data-size`) and which element. It is a plain host
12
+ * element on purpose — the rules select `>` children by tag, because authored
13
+ * content is bare tags no prop can reach, and a gui `styled()` frame would
14
+ * insert an element between them.
13
15
  *
14
16
  * `size` is 'responsive' by default and is the only rung that moves with the
15
17
  * viewport. A t-shirt size is a decision the caller already made, so it stays
@@ -31,8 +33,9 @@ export type ApplyTypographyProps = React.ComponentProps<'div'> & {
31
33
  * renders that one element and nothing around it, so the `>` child selectors
32
34
  * the prose rules depend on still reach the content.
33
35
  *
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
+ * The hook is a data attribute rather than a class, so nothing here competes
37
+ * with the `.prose` Tailwind's typography plugin claims, and `tw` has nothing
38
+ * to convert.
36
39
  */
37
40
  export declare const ApplyTypography: ({ children, className, asTag, size, ...rest }: ApplyTypographyProps) => React.JSX.Element;
38
41
  export default ApplyTypography;
@@ -1 +1 @@
1
- {"version":3,"file":"prose.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/prose.tsx"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;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,sBAMtB,CAAA;eAEc,eAAe"}
1
+ {"version":3,"file":"prose.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/prose.tsx"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,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;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,kDAMzB,oBAAoB,sBAYtB,CAAA;eAEc,eAAe"}
@@ -1,21 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { Box } from '../../box.js';
4
- import { cn } from '../../core/cn.js';
5
- /**
6
- * Namespaced, and this family especially: `.prose` is what Tailwind's own
7
- * typography plugin claims. A site part-way through leaving that engine would
8
- * otherwise have two stylesheets fighting over the same selector, and which one
9
- * won would depend on import order.
10
- */
11
- const RUNG = {
12
- responsive: 'hz-prose-responsive',
13
- // `base` is the unmodified `.hz-prose` rung, so it adds nothing.
14
- base: '',
15
- sm: 'hz-prose-sm',
16
- lg: 'hz-prose-lg',
17
- xl: 'hz-prose-xl',
18
- };
19
4
  /**
20
5
  * Through `Box`, so a caller's layout classes are converted rather than
21
6
  * emitted: `<ApplyTypography className="flex w-full">` used to put two dead
@@ -23,9 +8,10 @@ const RUNG = {
23
8
  * renders that one element and nothing around it, so the `>` child selectors
24
9
  * the prose rules depend on still reach the content.
25
10
  *
26
- * `hz-prose*` survives the conversion and stays on the element — it is real
27
- * css in theme.css, which is exactly what `tw` leaves alone.
11
+ * The hook is a data attribute rather than a class, so nothing here competes
12
+ * with the `.prose` Tailwind's typography plugin claims, and `tw` has nothing
13
+ * to convert.
28
14
  */
29
- export const ApplyTypography = ({ children, className, asTag = 'div', size = 'responsive', ...rest }) => (_jsx(Box, { tag: asTag, className: cn('hz-prose', RUNG[size], className), ...rest, children: children }));
15
+ export const ApplyTypography = ({ children, className, asTag = 'div', size = 'responsive', ...rest }) => (_jsx(Box, { tag: asTag, "data-slot": "prose", "data-size": size === 'base' ? undefined : size, className: className, ...rest, children: children }));
30
16
  export default ApplyTypography;
31
17
  //# sourceMappingURL=prose.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prose.js","sourceRoot":"","sources":["../../../src/backends/gui/prose.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAoBZ,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"}
1
+ {"version":3,"file":"prose.js","sourceRoot":"","sources":["../../../src/backends/gui/prose.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAsBZ,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAY/B;;;;;;;;;;GAUG;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,IACF,GAAG,EAAE,KAAc,eACT,OAAO,eACN,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAC7C,SAAS,EAAE,SAAS,KACf,IAAe,YAEnB,QAAQ,GACL,CACP,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -10,5 +10,5 @@ const Skeleton = ({ className, ...props }) => ((0, jsx_runtime_1.jsx)(box_1.Box
10
10
  // out an empty box, or nothing at all. A boolean, not the string "true":
11
11
  // gui types the ARIA states as booleans and React writes the attribute out
12
12
  // either way.
13
- , { "aria-busy": true, "aria-live": "polite", className: (0, cn_1.cn)('hz-pulse rounded-md bg-muted', className), ...props }));
13
+ , { "aria-busy": true, "aria-live": "polite", "data-motion": "pulse", className: (0, cn_1.cn)('rounded-md bg-muted', className), ...props }));
14
14
  exports.Skeleton = Skeleton;
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/skeleton.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAG/B,eAAO,MAAM,QAAQ,4BAA6B,KAAK,CAAC,cAAc,CAAC,OAAO,GAAG,CAAC,sBAWjF,CAAA"}
1
+ {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/skeleton.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAG/B,eAAO,MAAM,QAAQ,4BAA6B,KAAK,CAAC,cAAc,CAAC,OAAO,GAAG,CAAC,sBAYjF,CAAA"}
@@ -7,5 +7,5 @@ export const Skeleton = ({ className, ...props }) => (_jsx(Box
7
7
  // out an empty box, or nothing at all. A boolean, not the string "true":
8
8
  // gui types the ARIA states as booleans and React writes the attribute out
9
9
  // either way.
10
- , { "aria-busy": true, "aria-live": "polite", className: cn('hz-pulse rounded-md bg-muted', className), ...props }));
10
+ , { "aria-busy": true, "aria-live": "polite", "data-motion": "pulse", className: cn('rounded-md bg-muted', className), ...props }));
11
11
  //# sourceMappingURL=skeleton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.js","sourceRoot":"","sources":["../../../src/backends/gui/skeleton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAYZ,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAoC,EAAE,EAAE,CAAC,CACrF,KAAC,GAAG;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,2EAA2E;AAC3E,cAAc;iBACH,IAAI,eACL,QAAQ,EAClB,SAAS,EAAE,EAAE,CAAC,8BAA8B,EAAE,SAAS,CAAC,KACpD,KAAK,GACT,CACH,CAAA"}
1
+ {"version":3,"file":"skeleton.js","sourceRoot":"","sources":["../../../src/backends/gui/skeleton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAYZ,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAoC,EAAE,EAAE,CAAC,CACrF,KAAC,GAAG;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,2EAA2E;AAC3E,cAAc;iBACH,IAAI,eACL,QAAQ,iBACN,OAAO,EACnB,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,KAC3C,KAAK,GACT,CACH,CAAA"}
@@ -48,7 +48,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
48
48
  * `status` — a check for `completed`, a clock for `active`, nothing (a bare
49
49
  * dot) for `pending` or unset — unless the event supplies its own `icon`.
50
50
  *
51
- * `animated` reveals each row with `hz-fade-up` (styles/motion.css) the first
51
+ * `animated` reveals each row with `data-motion="rise"` (styles/motion.css) the first
52
52
  * time it scrolls into view, via one shared `IntersectionObserver`; once
53
53
  * revealed a row stays that way. Web only — there is nothing to observe
54
54
  * scrolling into on native, so there `animated` has no effect and every row
@@ -141,7 +141,7 @@ const Simple = ({ items, reveal }) => ((0, jsx_runtime_1.jsx)(gui_1.YStack, { bo
141
141
  const revealProps = (id, seen, register, animated) => animated
142
142
  ? {
143
143
  ref: register,
144
- className: seen.has(id) ? 'hz-fade-up' : undefined,
144
+ 'data-motion': seen.has(id) ? 'rise' : undefined,
145
145
  style: seen.has(id) ? undefined : { opacity: 0 },
146
146
  }
147
147
  : {};
@@ -10,7 +10,7 @@
10
10
  * `status` — a check for `completed`, a clock for `active`, nothing (a bare
11
11
  * dot) for `pending` or unset — unless the event supplies its own `icon`.
12
12
  *
13
- * `animated` reveals each row with `hz-fade-up` (styles/motion.css) the first
13
+ * `animated` reveals each row with `data-motion="rise"` (styles/motion.css) the first
14
14
  * time it scrolls into view, via one shared `IntersectionObserver`; once
15
15
  * revealed a row stays that way. Web only — there is nothing to observe
16
16
  * scrolling into on native, so there `animated` has no effect and every row
@@ -12,7 +12,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
12
  * `status` — a check for `completed`, a clock for `active`, nothing (a bare
13
13
  * dot) for `pending` or unset — unless the event supplies its own `icon`.
14
14
  *
15
- * `animated` reveals each row with `hz-fade-up` (styles/motion.css) the first
15
+ * `animated` reveals each row with `data-motion="rise"` (styles/motion.css) the first
16
16
  * time it scrolls into view, via one shared `IntersectionObserver`; once
17
17
  * revealed a row stays that way. Web only — there is nothing to observe
18
18
  * scrolling into on native, so there `animated` has no effect and every row
@@ -105,7 +105,7 @@ const Simple = ({ items, reveal }) => (_jsx(YStack, { borderLeftWidth: 2, border
105
105
  const revealProps = (id, seen, register, animated) => animated
106
106
  ? {
107
107
  ref: register,
108
- className: seen.has(id) ? 'hz-fade-up' : undefined,
108
+ 'data-motion': seen.has(id) ? 'rise' : undefined,
109
109
  style: seen.has(id) ? undefined : { opacity: 0 },
110
110
  }
111
111
  : {};
@@ -1 +1 @@
1
- {"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../../src/backends/gui/timeline.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../../src/backends/gui/timeline.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EACL,WAAW,EACX,MAAM,EACN,MAAM,EACN,KAAK,EACL,MAAM,GAEP,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAyB7B,kFAAkF;AAClF,MAAM,SAAS,GAAG,CAAC,GAAa,EAAE,QAAiB,EAAE,EAAE;IACrD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAc,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACvF,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAA8B,IAAI,CAAC,CAAA;IAEhE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACtC,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAA;IAEnB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,OAAO,oBAAoB,KAAK,WAAW;YAAE,OAAM;QAC9E,QAAQ,CAAC,OAAO,GAAG,IAAI,oBAAoB,CACzC,CAAC,OAAO,EAAE,EAAE;YACV,MAAM,OAAO,GAAG,OAAO;iBACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;iBAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,MAAsB,CAAC,OAAO,CAAC,UAAU,CAAC;iBACxD,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YACrC,IAAI,CAAC,OAAO,CAAC,MAAM;gBAAE,OAAM;YAC3B,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QACnD,CAAC,EACD,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,CACvC,CAAA;QACD,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAA;QAC3B,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,CAAA;IAC9B,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAChC,CAAC,EAAkB,EAAE,EAAE;QACrB,IAAI,EAAE;YAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;IACvC,CAAC,EACD,EAAE,CACH,CAAA;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;AAC3B,CAAC,CAAA;AAQD,MAAM,UAAU,GAAG;IACjB,SAAS,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IAC9C,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;IAC1C,OAAO,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;CAClC,CAAA;AACV,MAAM,WAAW,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAW,CAAA;AAE7D,MAAM,OAAO,GAAG,CAAC,MAAuB,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;AAIxF,MAAM,QAAQ,GAAG,CAAC,MAAkC,EAAE,IAAY,EAAE,KAAgB,EAAE,EAAE;IACtF,IAAI,MAAM,KAAK,WAAW;QAAE,OAAO,KAAC,KAAK,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAI,CAAA;IACtE,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAC,KAAK,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAI,CAAA;IACnE,OAAO,KAAC,MAAM,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAI,CAAA;AAC7C,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAwC,EAAE,EAAE;IACtE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC1C,OAAO,CACL,KAAC,MAAM,OACD,IAAI,CAAC,iBAAiB,CAAC,iBACd,IAAI,CAAC,MAAM,IAAI,SAAS,EACrC,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,IAAI,EACb,KAAK,EAAC,QAAQ,EACd,OAAO,EAAC,QAAQ,EAChB,WAAW,EAAE,CAAC,EACd,WAAW,EAAC,aAAa,EACzB,EAAE,EAAE,EAAE,EACN,QAAQ,EAAC,UAAU,EACnB,CAAC,EAAE,CAAC,YAEH,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,GAC5D,CACV,CAAA;AACH,CAAC,CAAA;AAED,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;AAC/E,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE;IACtC,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,QAAQ;IACf,EAAE,EAAE,IAAI;CACT,CAAC,CAAA;AACF,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;AACjG,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE;IAC/B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,cAAc;IAC3B,OAAO,EAAE,IAAI;IACb,EAAE,EAAE,aAAa;IACjB,CAAC,EAAE,IAAI;CACR,CAAC,CAAA;AACF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAA;AAChH,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAA;AAEjH,MAAM,QAAQ,GAAG,CAAC,EAAE,IAAI,EAA0B,EAAE,EAAE;IACpD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/D,OAAO,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,OAAK,IAAI,CAAC,eAAe,CAAC,YAAG,IAAI,GAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;AACrE,CAAC,CAAA;AAED,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,EAA+D,EAAE,EAAE,CAAC,CACtG,MAAC,MAAM,IAAC,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,aAC1F,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,GAAI,EACxB,KAAC,KAAK,OAAK,IAAI,CAAC,gBAAgB,CAAC,YAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAS,EAC3D,IAAI,CAAC,WAAW,IAAI,KAAC,WAAW,OAAK,IAAI,CAAC,sBAAsB,CAAC,YAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAe,EACxG,IAAI,CAAC,OAAO,IAAI,KAAC,MAAM,IAAC,EAAE,EAAC,IAAI,YAAE,IAAI,CAAC,OAAO,GAAU,IACjD,CACV,CAAA;AAID,MAAM,UAAU,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAU,EAAE,EAAE,CAAC,CAChD,KAAC,MAAM,IAAC,QAAQ,EAAC,QAAQ,EAAC,EAAE,EAAC,IAAI,YAC/B,KAAC,MAAM,IAAC,KAAK,EAAC,YAAY,EAAC,GAAG,EAAC,IAAI,YAChC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,MAAC,MAAM,wBAEa,IAAI,CAAC,EAAE,KACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EACnB,QAAQ,EAAC,UAAU,EACnB,KAAK,EAAC,QAAQ,EACd,IAAI,EAAE,GAAG,aAER,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAC,KAAK,IAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,mBAAmB,GAAG,EAC3E,KAAC,MAAM,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAI,EAChC,KAAC,MAAM,IAAC,EAAE,EAAC,IAAI,YACb,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,QAAQ,GAAG,GAC5B,KAXJ,IAAI,CAAC,EAAE,CAYL,CACV,CAAC,GACK,GACF,CACV,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAU,EAAE,EAAE,CAAC,CAC7C,KAAC,MAAM,IAAC,GAAG,EAAC,IAAI,YACb,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,MAAC,MAAM,wBAAiC,IAAI,CAAC,EAAE,KAAM,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAC,UAAU,EAAC,GAAG,EAAC,IAAI,aAC/F,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAC,KAAK,IAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAI,EACxD,KAAC,MAAM,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAI,EAChC,KAAC,MAAM,IAAC,IAAI,EAAE,CAAC,YACb,KAAC,SAAS,cACR,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,GAAI,GACV,GACL,KAPE,IAAI,CAAC,EAAE,CAQX,CACV,CAAC,GACK,CACV,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAU,EAAE,EAAE,CAAC,CAC/C,MAAC,MAAM,IAAC,QAAQ,EAAC,UAAU,EAAC,GAAG,EAAC,IAAI,aAClC,KAAC,KAAK,IAAC,CAAC,EAAC,KAAK,EAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAI,EACnC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACrB,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACzB,OAAO,CACL,KAAC,MAAM,wBAEa,IAAI,CAAC,EAAE,KACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EACnB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,YAE1C,MAAC,MAAM,IAAC,KAAK,EAAC,kBAAkB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,EAAC,IAAI,aACjF,KAAC,MAAM,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAI,EAChC,KAAC,SAAS,IAAC,KAAK,EAAC,MAAM,YACrB,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAI,GAC3C,IACL,IAVJ,IAAI,CAAC,EAAE,CAWL,CACV,CAAA;QACH,CAAC,CAAC,IACK,CACV,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAU,EAAE,EAAE,CAAC,CAC7C,KAAC,MAAM,IAAC,GAAG,EAAC,IAAI,YACb,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,MAAC,MAAM,wBAEa,IAAI,CAAC,EAAE,KACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EACnB,KAAK,EAAC,QAAQ,EACd,GAAG,EAAC,IAAI,EACR,CAAC,EAAC,IAAI,EACN,OAAO,EAAC,IAAI,EACZ,UAAU,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,aAE5B,KAAC,MAAM,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAI,EAChC,MAAC,MAAM,IAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAC,UAAU,EAAC,OAAO,EAAC,eAAe,EAAC,GAAG,EAAC,IAAI,aAChE,MAAC,MAAM,IAAC,KAAK,EAAC,UAAU,EAAC,GAAG,EAAC,IAAI,aAC/B,KAAC,KAAK,OAAK,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAC,IAAI,YAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAS,EACrE,IAAI,CAAC,WAAW,IAAI,CACnB,KAAC,WAAW,OAAK,IAAI,CAAC,sBAAsB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAC,IAAI,YAC5D,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GACV,CACf,IACM,EACT,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,GAAI,IACjB,KApBJ,IAAI,CAAC,EAAE,CAqBL,CACV,CAAC,GACK,CACV,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAU,EAAE,EAAE,CAAC,CAC5C,KAAC,MAAM,IAAC,eAAe,EAAE,CAAC,EAAE,WAAW,EAAC,cAAc,EAAC,EAAE,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,YACpE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,MAAC,MAAM,wBAAiC,IAAI,CAAC,EAAE,KAAM,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAC,UAAU,aACvF,KAAC,MAAM,IAAC,QAAQ,EAAC,UAAU,EAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,YACtC,KAAC,MAAM,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAI,GACzB,EACT,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,GAAI,KAJT,IAAI,CAAC,EAAE,CAKX,CACV,CAAC,GACK,CACV,CAAA;AAED,uEAAuE;AACvE,MAAM,WAAW,GAAG,CAClB,EAAU,EACV,IAAiB,EACjB,QAAsC,EACtC,QAAiB,EACG,EAAE,CACtB,QAAQ;IACN,CAAC,CAAC;QACE,GAAG,EAAE,QAA4B;QACjC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAChD,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;KACjD;IACH,CAAC,CAAC,EAAE,CAAA;AAER,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EACvB,KAAK,EACL,WAAW,GAAG,UAAU,EACxB,OAAO,GAAG,SAAS,EACnB,QAAQ,GAAG,IAAI,EACf,GAAG,KAAK,EACM,EAAE,EAAE;IAClB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IACtE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IACnD,MAAM,MAAM,GAAW,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAExE,OAAO,CACL,KAAC,MAAM,OACD,IAAI,CAAC,UAAU,CAAC,sBACF,WAAW,kBACf,OAAO,mBACN,QAAQ,EACvB,QAAQ,EAAC,UAAU,KACf,KAAK,YAER,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,CAC9B,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,CAC7C,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,CAC5B,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,CAC5C,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAC1B,KAAC,OAAO,IAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,CAC1C,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CACzB,KAAC,MAAM,IAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,CACzC,CAAC,CAAC,CAAC,CACF,KAAC,OAAO,IAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,CAC1C,GACM,CACV,CAAA;AACH,CAAC,CAAA"}
@@ -78,7 +78,7 @@ const YouTubeEmbed = ({ youtubeID, width, height, buttonSize = 100, timeAt, titl
78
78
  display: 'grid',
79
79
  placeItems: 'center',
80
80
  opacity: 0.9,
81
- }, children: (0, jsx_runtime_1.jsx)(Play, { size: buttonSize }) }), caption && ((0, jsx_runtime_1.jsx)("p", { className: "hz-prose", style: {
81
+ }, children: (0, jsx_runtime_1.jsx)(Play, { size: buttonSize }) }), caption && ((0, jsx_runtime_1.jsx)("p", { "data-slot": "prose", style: {
82
82
  position: 'absolute',
83
83
  left: '50%',
84
84
  top: 20,
@@ -42,7 +42,7 @@ export const YouTubeEmbed = ({ youtubeID, width, height, buttonSize = 100, timeA
42
42
  display: 'grid',
43
43
  placeItems: 'center',
44
44
  opacity: 0.9,
45
- }, children: _jsx(Play, { size: buttonSize }) }), caption && (_jsx("p", { className: "hz-prose", style: {
45
+ }, children: _jsx(Play, { size: buttonSize }) }), caption && (_jsx("p", { "data-slot": "prose", style: {
46
46
  position: 'absolute',
47
47
  left: '50%',
48
48
  top: 20,
@@ -1 +1 @@
1
- {"version":3,"file":"video.js","sourceRoot":"","sources":["../../../src/backends/gui/video.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video.js","sourceRoot":"","sources":["../../../src/backends/gui/video.tsx"],"names":[],"mappings":"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"}
@@ -63,7 +63,7 @@ const words_1 = require("./words.cjs");
63
63
  * in exactly that direction: `Parts` reads `type` before it reads anything else.
64
64
  */
65
65
  const draw = (said) => typeof said === 'string' || said == null ? ((0, ink_1.ink)((0, words_1.words)(said))) : ((0, jsx_runtime_1.jsx)(Parts_1.Parts, { parts: said }));
66
- function Chat({ messages, streaming = false, send: onSend, stop: onStop, body, empty, composer, onFiles, ...thread }) {
66
+ function Chat({ messages, streaming = false, send: onSend, stop: onStop, body, empty, center = false, composer, onFiles, ...thread }) {
67
67
  const [draft, setDraft] = (0, react_1.useState)('');
68
68
  // The ONE window-level drop, off the shared primitive. Enabled only when a
69
69
  // host passed `onFiles` — a surface that cannot route a file leaves the
@@ -80,6 +80,11 @@ function Chat({ messages, streaming = false, send: onSend, stop: onStop, body, e
80
80
  onSend(text);
81
81
  }, [draft, onSend]);
82
82
  const last = messages.length - 1;
83
+ const opening = messages.length === 0 && Boolean(empty);
84
+ // The spacers hold their places in the child list whether or not they draw,
85
+ // so the composer keeps its position and its field keeps focus when the
86
+ // first turn arrives.
87
+ const centred = center && opening;
83
88
  // No `minHeight: 0` on the frame: rnw's View base and gui's stack base both
84
89
  // set it already, measured on the rendered element — and gui publishes no
85
90
  // such prop, so writing it type-errors rather than silently doing nothing,
@@ -90,7 +95,7 @@ function Chat({ messages, streaming = false, send: onSend, stop: onStop, body, e
90
95
  // from the composer lands on a `display: contents` wrapper or on the page,
91
96
  // and then reports a component that is fine as broken, or one that is broken
92
97
  // as fine.
93
- return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { flex: 1, width: "100%", ...(0, slot_1.slot)('chat'), children: [messages.length === 0 && empty ? (empty) : ((0, jsx_runtime_1.jsx)(Thread_1.Thread, { flex: 1, ...thread, children: messages.map((turn, i) => ((0, jsx_runtime_1.jsx)(Message_1.Message, { role: turn.role, busy: streaming && i === last && turn.role === 'assistant', children: body ? body(turn) : draw(turn.content) }, turn.id))) })), (0, jsx_runtime_1.jsx)(Composer_1.Composer, { value: draft, onChange: setDraft, onSend: send, busy: streaming, ...(onStop ? { onStop } : {}), ...composer }), dropping ? ((0, jsx_runtime_1.jsx)("div", { "aria-hidden": true, style: {
98
+ return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { flex: 1, width: "100%", ...(0, slot_1.slot)('chat'), children: [centred ? (0, jsx_runtime_1.jsx)(gui_1.YStack, { ...(0, slot_1.slot)('chat-space'), flex: 1 }) : null, opening ? (empty) : ((0, jsx_runtime_1.jsx)(Thread_1.Thread, { flex: 1, ...thread, children: messages.map((turn, i) => ((0, jsx_runtime_1.jsx)(Message_1.Message, { role: turn.role, busy: streaming && i === last && turn.role === 'assistant', children: body ? body(turn) : draw(turn.content) }, turn.id))) })), (0, jsx_runtime_1.jsx)(Composer_1.Composer, { value: draft, onChange: setDraft, onSend: send, busy: streaming, ...(onStop ? { onStop } : {}), ...composer }), centred ? (0, jsx_runtime_1.jsx)(gui_1.YStack, { ...(0, slot_1.slot)('chat-space'), flex: 1 }) : null, dropping ? ((0, jsx_runtime_1.jsx)("div", { "aria-hidden": true, style: {
94
99
  position: 'fixed',
95
100
  inset: 0,
96
101
  zIndex: 50,
@@ -58,6 +58,19 @@ export interface ChatProps extends Omit<ThreadProps, 'children' | 'ref'> {
58
58
  body?: (turn: Turn) => ReactNode;
59
59
  /** Shown instead of the thread while nothing has been said. */
60
60
  empty?: ReactNode;
61
+ /**
62
+ * While nothing has been said, `empty` and the composer sit together in the
63
+ * middle of the height, the free space split evenly above and below them.
64
+ * Once a turn exists the thread takes the height and the composer docks under
65
+ * it.
66
+ *
67
+ * The space is two spacers around the pair, not margins on it. With a `head`
68
+ * or `foot` the composer is a shell around its frame, and a margin passed in
69
+ * `composer` lands on the frame inside that shell, where it moves nothing.
70
+ * The spacers shrink to nothing when the pair is taller than the window, so
71
+ * the heading is never pushed above the top.
72
+ */
73
+ center?: boolean;
61
74
  /** The composer's own props — placeholder, hint, the send control, the field. */
62
75
  composer?: Partial<ComposerProps>;
63
76
  /**
@@ -72,5 +85,5 @@ export interface ChatProps extends Omit<ThreadProps, 'children' | 'ref'> {
72
85
  */
73
86
  onFiles?: (files: File[]) => void;
74
87
  }
75
- export declare function Chat({ messages, streaming, send: onSend, stop: onStop, body, empty, composer, onFiles, ...thread }: ChatProps): import("react").JSX.Element;
88
+ export declare function Chat({ messages, streaming, send: onSend, stop: onStop, body, empty, center, composer, onFiles, ...thread }: ChatProps): import("react").JSX.Element;
76
89
  //# sourceMappingURL=Chat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../src/chat/Chat.tsx"],"names":[],"mappings":"AAoCA,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAK7D,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAW,KAAK,IAAI,EAAE,MAAM,WAAW,CAAA;AAE9C,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,SAAS,CAAA;AAE1C;;;;;;;GAOG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;IACV;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,IAAI,CAAA;CACf;AAED,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,KAAK,CAAC;IACtE,sCAAsC;IACtC,QAAQ,EAAE,IAAI,EAAE,CAAA;IAChB,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;;;;;;;OAUG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5B,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,IAAI,CAAA;IACjB;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAA;IAChC,+DAA+D;IAC/D,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IACjC;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;CAClC;AAyBD,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,SAAiB,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,OAAO,EACP,GAAG,MAAM,EACV,EAAE,SAAS,+BA6EX"}
1
+ {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../src/chat/Chat.tsx"],"names":[],"mappings":"AAoCA,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAK7D,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAW,KAAK,IAAI,EAAE,MAAM,WAAW,CAAA;AAE9C,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,SAAS,CAAA;AAE1C;;;;;;;GAOG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;IACV;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,IAAI,CAAA;CACf;AAED,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,KAAK,CAAC;IACtE,sCAAsC;IACtC,QAAQ,EAAE,IAAI,EAAE,CAAA;IAChB,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;;;;;;;OAUG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5B,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,IAAI,CAAA;IACjB;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAA;IAChC,+DAA+D;IAC/D,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IACjC;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;CAClC;AAyBD,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,SAAiB,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EACJ,KAAK,EACL,MAAc,EACd,QAAQ,EACR,OAAO,EACP,GAAG,MAAM,EACV,EAAE,SAAS,+BAoFX"}
package/dist/chat/Chat.js CHANGED
@@ -60,7 +60,7 @@ import { words } from './words.js';
60
60
  * in exactly that direction: `Parts` reads `type` before it reads anything else.
61
61
  */
62
62
  const draw = (said) => typeof said === 'string' || said == null ? (ink(words(said))) : (_jsx(Parts, { parts: said }));
63
- export function Chat({ messages, streaming = false, send: onSend, stop: onStop, body, empty, composer, onFiles, ...thread }) {
63
+ export function Chat({ messages, streaming = false, send: onSend, stop: onStop, body, empty, center = false, composer, onFiles, ...thread }) {
64
64
  const [draft, setDraft] = useState('');
65
65
  // The ONE window-level drop, off the shared primitive. Enabled only when a
66
66
  // host passed `onFiles` — a surface that cannot route a file leaves the
@@ -77,6 +77,11 @@ export function Chat({ messages, streaming = false, send: onSend, stop: onStop,
77
77
  onSend(text);
78
78
  }, [draft, onSend]);
79
79
  const last = messages.length - 1;
80
+ const opening = messages.length === 0 && Boolean(empty);
81
+ // The spacers hold their places in the child list whether or not they draw,
82
+ // so the composer keeps its position and its field keeps focus when the
83
+ // first turn arrives.
84
+ const centred = center && opening;
80
85
  // No `minHeight: 0` on the frame: rnw's View base and gui's stack base both
81
86
  // set it already, measured on the rendered element — and gui publishes no
82
87
  // such prop, so writing it type-errors rather than silently doing nothing,
@@ -87,7 +92,7 @@ export function Chat({ messages, streaming = false, send: onSend, stop: onStop,
87
92
  // from the composer lands on a `display: contents` wrapper or on the page,
88
93
  // and then reports a component that is fine as broken, or one that is broken
89
94
  // as fine.
90
- return (_jsxs(YStack, { flex: 1, width: "100%", ...slot('chat'), children: [messages.length === 0 && empty ? (empty) : (_jsx(Thread, { flex: 1, ...thread, children: messages.map((turn, i) => (_jsx(Message, { role: turn.role, busy: streaming && i === last && turn.role === 'assistant', children: body ? body(turn) : draw(turn.content) }, turn.id))) })), _jsx(Composer, { value: draft, onChange: setDraft, onSend: send, busy: streaming, ...(onStop ? { onStop } : {}), ...composer }), dropping ? (_jsx("div", { "aria-hidden": true, style: {
95
+ return (_jsxs(YStack, { flex: 1, width: "100%", ...slot('chat'), children: [centred ? _jsx(YStack, { ...slot('chat-space'), flex: 1 }) : null, opening ? (empty) : (_jsx(Thread, { flex: 1, ...thread, children: messages.map((turn, i) => (_jsx(Message, { role: turn.role, busy: streaming && i === last && turn.role === 'assistant', children: body ? body(turn) : draw(turn.content) }, turn.id))) })), _jsx(Composer, { value: draft, onChange: setDraft, onSend: send, busy: streaming, ...(onStop ? { onStop } : {}), ...composer }), centred ? _jsx(YStack, { ...slot('chat-space'), flex: 1 }) : null, dropping ? (_jsx("div", { "aria-hidden": true, style: {
91
96
  position: 'fixed',
92
97
  inset: 0,
93
98
  zIndex: 50,
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.js","sourceRoot":"","sources":["../../src/chat/Chat.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chat.js","sourceRoot":"","sources":["../../src/chat/Chat.tsx"],"names":[],"mappings":"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"}
@@ -102,7 +102,12 @@ function Composer({ value, onChange, onSend, onStop, busy = false, disabled = fa
102
102
  onStop?.();
103
103
  else if (sendable)
104
104
  onSend();
105
- }, children: busy ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Square, { size: 12, color: "$soft" }) : (0, jsx_runtime_1.jsx)(lucide_icons_2_1.CornerDownLeft, { size: 14, color: "$soft" }) }))] })) : ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('composer'), width: "100%", rounded: "$5", borderWidth: 1, borderColor: "$borderColor", bg: "$background", p: PAD, gap: PAD, ...props, children: [input, (0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: PAD, children: [children, (0, jsx_runtime_1.jsx)(gui_1.XStack, { flex: 1 }), said, send ?? ((0, jsx_runtime_1.jsx)(gui_2.Button, { ...(0, slot_1.slot)('composer-send'), size: "sm", disabled: busy ? !onStop : !sendable, onPress: busy ? onStop : onSend, "aria-label": busy ? 'Stop' : 'Send', children: busy ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Square, { size: 14 }) : (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ArrowUp, { size: 16 }) }))] })] }));
105
+ }, children: busy ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Square, { size: 12, color: "$soft" }) : (0, jsx_runtime_1.jsx)(lucide_icons_2_1.CornerDownLeft, { size: 14, color: "$soft" }) }))] })) : ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('composer'), width: "100%", rounded: "$5", borderWidth: 1, borderColor: "$borderColor", bg: "$background", p: PAD, gap: PAD, ...props, children: [input, (0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: PAD, children: [children, (0, jsx_runtime_1.jsx)(gui_1.XStack, { flex: 1 }), said, send ?? ((0, jsx_runtime_1.jsx)(gui_2.Button, { ...(0, slot_1.slot)('composer-send'), size: "sm", disabled: busy ? !onStop : !sendable, onPress: busy ? onStop : onSend, "aria-label": busy ? 'Stop' : 'Send',
106
+ // A circle, and the room's one primary control. The height is the
107
+ // size's; `aspectRatio` takes the width from it, so no second number
108
+ // is written down. `--primary` is the accent a reader picks, and at
109
+ // rest it is the ink pair Send already paints in both themes.
110
+ px: 0, aspectRatio: 1, rounded: 'var(--radius-full, 9999px)', bg: "var(--primary)", borderWidth: 0, hoverStyle: { bg: 'var(--primary)', opacity: 0.9 }, pressStyle: { bg: 'var(--primary)', opacity: 0.85 }, children: busy ? ((0, jsx_runtime_1.jsx)(lucide_icons_2_1.Square, { size: 14, color: 'var(--primary-foreground)' })) : ((0, jsx_runtime_1.jsx)(lucide_icons_2_1.ArrowUp, { size: 16, color: 'var(--primary-foreground)' })) }))] })] }));
106
111
  // With nothing above or below it the composer IS the frame, exactly as it
107
112
  // was before either existed — no wrapper, so every caller's tree is unchanged.
108
113
  if (!head && !foot)
@@ -1 +1 @@
1
- {"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../../src/chat/Composer.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAe,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtD,OAAO,EAAU,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAIlD,gFAAgF;AAChF,KAAK,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC,CAAA;AACzE,KAAK,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC,CAAA;AAyBjF;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,iBAAiB,CAAA;AAEjC,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,8EAA8E;IAC9E,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gFAAgF;IAChF,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB;qDACiD;IACjD,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,MAAM,EACN,MAAM,EACN,IAAY,EACZ,QAAgB,EAChB,WAAiB,EACjB,IAAe,EACf,SAAmB,EACnB,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,MAAc,EACd,GAAG,KAAK,EACT,EAAE,aAAa,+BA4Jf;AAED,KAAK,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,UAAU,CAAC,CAAA;AAE1D,MAAM,WAAW,iBAAkB,SAAQ,GAAG;IAC5C,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,2CAA2C;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,KAAa,EACb,OAAO,EACP,QAAgB,EAChB,GAAG,IAAI,EACR,EAAE,iBAAiB,+BA0CnB"}
1
+ {"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../../src/chat/Composer.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAe,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtD,OAAO,EAAU,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAIlD,gFAAgF;AAChF,KAAK,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC,CAAA;AACzE,KAAK,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC,CAAA;AAyBjF;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,iBAAiB,CAAA;AAEjC,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,8EAA8E;IAC9E,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gFAAgF;IAChF,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB;qDACiD;IACjD,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,MAAM,EACN,MAAM,EACN,IAAY,EACZ,QAAgB,EAChB,WAAiB,EACjB,IAAe,EACf,SAAmB,EACnB,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,MAAc,EACd,GAAG,KAAK,EACT,EAAE,aAAa,+BA2Kf;AAED,KAAK,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,UAAU,CAAC,CAAA;AAE1D,MAAM,WAAW,iBAAkB,SAAQ,GAAG;IAC5C,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,2CAA2C;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,KAAa,EACb,OAAO,EACP,QAAgB,EAChB,GAAG,IAAI,EACR,EAAE,iBAAiB,+BA0CnB"}
@@ -97,7 +97,12 @@ export function Composer({ value, onChange, onSend, onStop, busy = false, disabl
97
97
  onStop?.();
98
98
  else if (sendable)
99
99
  onSend();
100
- }, children: busy ? _jsx(Square, { size: 12, color: "$soft" }) : _jsx(CornerDownLeft, { size: 14, color: "$soft" }) }))] })) : (_jsxs(YStack, { ...slot('composer'), width: "100%", rounded: "$5", borderWidth: 1, borderColor: "$borderColor", bg: "$background", p: PAD, gap: PAD, ...props, children: [input, _jsxs(XStack, { items: "center", gap: PAD, children: [children, _jsx(XStack, { flex: 1 }), said, send ?? (_jsx(Button, { ...slot('composer-send'), size: "sm", disabled: busy ? !onStop : !sendable, onPress: busy ? onStop : onSend, "aria-label": busy ? 'Stop' : 'Send', children: busy ? _jsx(Square, { size: 14 }) : _jsx(ArrowUp, { size: 16 }) }))] })] }));
100
+ }, children: busy ? _jsx(Square, { size: 12, color: "$soft" }) : _jsx(CornerDownLeft, { size: 14, color: "$soft" }) }))] })) : (_jsxs(YStack, { ...slot('composer'), width: "100%", rounded: "$5", borderWidth: 1, borderColor: "$borderColor", bg: "$background", p: PAD, gap: PAD, ...props, children: [input, _jsxs(XStack, { items: "center", gap: PAD, children: [children, _jsx(XStack, { flex: 1 }), said, send ?? (_jsx(Button, { ...slot('composer-send'), size: "sm", disabled: busy ? !onStop : !sendable, onPress: busy ? onStop : onSend, "aria-label": busy ? 'Stop' : 'Send',
101
+ // A circle, and the room's one primary control. The height is the
102
+ // size's; `aspectRatio` takes the width from it, so no second number
103
+ // is written down. `--primary` is the accent a reader picks, and at
104
+ // rest it is the ink pair Send already paints in both themes.
105
+ px: 0, aspectRatio: 1, rounded: 'var(--radius-full, 9999px)', bg: "var(--primary)", borderWidth: 0, hoverStyle: { bg: 'var(--primary)', opacity: 0.9 }, pressStyle: { bg: 'var(--primary)', opacity: 0.85 }, children: busy ? (_jsx(Square, { size: 14, color: 'var(--primary-foreground)' })) : (_jsx(ArrowUp, { size: 16, color: 'var(--primary-foreground)' })) }))] })] }));
101
106
  // With nothing above or below it the composer IS the frame, exactly as it
102
107
  // was before either existed — no wrapper, so every caller's tree is unchanged.
103
108
  if (!head && !foot)