@hanzo/ui 8.27.43 → 8.27.45

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 (153) 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/prose.cjs +4 -18
  26. package/dist/backends/gui/prose.d.ts +8 -5
  27. package/dist/backends/gui/prose.d.ts.map +1 -1
  28. package/dist/backends/gui/prose.js +4 -18
  29. package/dist/backends/gui/prose.js.map +1 -1
  30. package/dist/backends/gui/skeleton.cjs +1 -1
  31. package/dist/backends/gui/skeleton.d.ts.map +1 -1
  32. package/dist/backends/gui/skeleton.js +1 -1
  33. package/dist/backends/gui/skeleton.js.map +1 -1
  34. package/dist/backends/gui/timeline.cjs +2 -2
  35. package/dist/backends/gui/timeline.d.ts +1 -1
  36. package/dist/backends/gui/timeline.js +2 -2
  37. package/dist/backends/gui/timeline.js.map +1 -1
  38. package/dist/backends/gui/video.cjs +1 -1
  39. package/dist/backends/gui/video.js +1 -1
  40. package/dist/backends/gui/video.js.map +1 -1
  41. package/dist/chat/Composer.cjs +6 -1
  42. package/dist/chat/Composer.d.ts.map +1 -1
  43. package/dist/chat/Composer.js +6 -1
  44. package/dist/chat/Composer.js.map +1 -1
  45. package/dist/chat/SessionRail.cjs +1 -4
  46. package/dist/chat/SessionRail.js +1 -4
  47. package/dist/chat/SessionRail.js.map +1 -1
  48. package/dist/consent/Consent.cjs +43 -8
  49. package/dist/consent/Consent.d.ts.map +1 -1
  50. package/dist/consent/Consent.js +45 -10
  51. package/dist/consent/Consent.js.map +1 -1
  52. package/dist/core/cn.cjs +1 -1
  53. package/dist/core/cn.d.ts +1 -1
  54. package/dist/core/cn.js +1 -1
  55. package/dist/gallery.html +481 -600
  56. package/dist/glass.cjs +2 -24
  57. package/dist/glass.css +0 -196
  58. package/dist/glass.d.ts +2 -26
  59. package/dist/glass.d.ts.map +1 -1
  60. package/dist/glass.js +1 -22
  61. package/dist/glass.js.map +1 -1
  62. package/dist/grid.cjs +60 -10
  63. package/dist/grid.d.ts +20 -24
  64. package/dist/grid.d.ts.map +1 -1
  65. package/dist/grid.js +60 -10
  66. package/dist/grid.js.map +1 -1
  67. package/dist/index.cjs +6 -2
  68. package/dist/index.d.ts +2 -1
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +4 -1
  71. package/dist/index.js.map +1 -1
  72. package/dist/index.node.cjs +6 -2
  73. package/dist/index.node.js +4 -1
  74. package/dist/masthead/index.cjs +3 -12
  75. package/dist/masthead/index.d.ts +3 -6
  76. package/dist/masthead/index.d.ts.map +1 -1
  77. package/dist/masthead/index.js +3 -6
  78. package/dist/masthead/index.js.map +1 -1
  79. package/dist/motion.cjs +20 -0
  80. package/dist/motion.d.ts +17 -0
  81. package/dist/motion.d.ts.map +1 -0
  82. package/dist/motion.js +16 -0
  83. package/dist/motion.js.map +1 -0
  84. package/dist/onboarding/account.cjs +1 -1
  85. package/dist/onboarding/account.d.ts +3 -3
  86. package/dist/onboarding/account.d.ts.map +1 -1
  87. package/dist/onboarding/account.js +1 -1
  88. package/dist/onboarding/account.js.map +1 -1
  89. package/dist/onboarding/frame.cjs +1 -1
  90. package/dist/onboarding/frame.d.ts +1 -1
  91. package/dist/onboarding/frame.d.ts.map +1 -1
  92. package/dist/onboarding/frame.js +1 -1
  93. package/dist/onboarding/frame.js.map +1 -1
  94. package/dist/product/DataTable.cjs +24 -4
  95. package/dist/product/DataTable.d.ts +0 -16
  96. package/dist/product/DataTable.d.ts.map +1 -1
  97. package/dist/product/DataTable.js +24 -4
  98. package/dist/product/DataTable.js.map +1 -1
  99. package/dist/product/FadeIn.cjs +1 -1
  100. package/dist/product/FadeIn.js +1 -1
  101. package/dist/product/FadeIn.js.map +1 -1
  102. package/dist/product/Metric.cjs +19 -2
  103. package/dist/product/Metric.d.ts +0 -16
  104. package/dist/product/Metric.d.ts.map +1 -1
  105. package/dist/product/Metric.js +19 -2
  106. package/dist/product/Metric.js.map +1 -1
  107. package/dist/product/Reorder.cjs +1 -1
  108. package/dist/product/Reorder.js +1 -1
  109. package/dist/product/Reorder.js.map +1 -1
  110. package/dist/product/Skeleton.cjs +5 -5
  111. package/dist/product/Skeleton.d.ts +4 -4
  112. package/dist/product/Skeleton.d.ts.map +1 -1
  113. package/dist/product/Skeleton.js +5 -5
  114. package/dist/product/Skeleton.js.map +1 -1
  115. package/dist/product/SlideOver.cjs +2 -10
  116. package/dist/product/SlideOver.d.ts.map +1 -1
  117. package/dist/product/SlideOver.js +2 -10
  118. package/dist/product/SlideOver.js.map +1 -1
  119. package/dist/product/figures.cjs +16 -0
  120. package/dist/product/figures.d.ts +16 -0
  121. package/dist/product/figures.d.ts.map +1 -0
  122. package/dist/product/figures.js +14 -0
  123. package/dist/product/figures.js.map +1 -0
  124. package/dist/product/social/SocialResource.cjs +2 -1
  125. package/dist/product/social/SocialResource.d.ts.map +1 -1
  126. package/dist/product/social/SocialResource.js +2 -1
  127. package/dist/product/social/SocialResource.js.map +1 -1
  128. package/dist/product/social/SocialSummaryBar.cjs +2 -1
  129. package/dist/product/social/SocialSummaryBar.d.ts.map +1 -1
  130. package/dist/product/social/SocialSummaryBar.js +2 -1
  131. package/dist/product/social/SocialSummaryBar.js.map +1 -1
  132. package/dist/style.cjs +1 -4
  133. package/dist/style.d.ts +0 -2
  134. package/dist/style.d.ts.map +1 -1
  135. package/dist/style.js +0 -2
  136. package/dist/style.js.map +1 -1
  137. package/dist/styles/motion.css +61 -283
  138. package/dist/styles.css +478 -597
  139. package/dist/sx.cjs +1 -1
  140. package/dist/sx.js +1 -1
  141. package/dist/theme.css +369 -292
  142. package/package.json +3 -4
  143. package/dist/masthead/Masthead.cjs +0 -168
  144. package/dist/masthead/Masthead.d.ts +0 -54
  145. package/dist/masthead/Masthead.d.ts.map +0 -1
  146. package/dist/masthead/Masthead.js +0 -162
  147. package/dist/masthead/Masthead.js.map +0 -1
  148. package/dist/masthead.css +0 -502
  149. package/dist/primitives/navigationMenuTriggerStyle.cjs +0 -8
  150. package/dist/primitives/navigationMenuTriggerStyle.d.ts +0 -2
  151. package/dist/primitives/navigationMenuTriggerStyle.d.ts.map +0 -1
  152. package/dist/primitives/navigationMenuTriggerStyle.js +0 -5
  153. package/dist/primitives/navigationMenuTriggerStyle.js.map +0 -1
@@ -43,6 +43,31 @@ const KINDS = [
43
43
  { key: 'marketing', title: 'Marketing', body: 'Lets ad platforms measure the sign-ups and orders their ads led to.' },
44
44
  { key: 'ads', title: 'Personalized ads', body: 'Lets those platforms use your visit to show you ads elsewhere.' },
45
45
  ];
46
+ /** Where the banner sits: fixed to the foot of the window, inset 12px, centred. */
47
+ const frame = {
48
+ ...(0, slot_1.slot)('consent'),
49
+ role: 'dialog',
50
+ 'aria-label': 'Cookie preferences',
51
+ position: 'fixed',
52
+ b: 12,
53
+ l: 12,
54
+ r: 12,
55
+ mx: 'auto',
56
+ z: 2147483000,
57
+ py: '$2.5',
58
+ px: '$3.5',
59
+ rounded: '$5',
60
+ borderWidth: 1,
61
+ borderColor: '$borderColor',
62
+ bg: '$background',
63
+ shadowColor: 'rgba(0,0,0,0.25)',
64
+ shadowRadius: 24,
65
+ shadowOffset: { width: 0, height: 8 },
66
+ };
67
+ /** The bar is as wide as its line and buttons, up to the window less its inset. */
68
+ const FIT = { width: 'fit-content' };
69
+ /** A link in the banner's line: the line's own ink, underlined, never broken across lines. */
70
+ const INLINE = { color: 'inherit', textDecoration: 'underline', whiteSpace: 'nowrap' };
46
71
  const Consent = ({ privacy = 'https://hanzo.ai/privacy' }) => {
47
72
  const [shown, setShown] = (0, react_1.useState)(false);
48
73
  const [notice, setNotice] = (0, react_1.useState)(false);
@@ -82,14 +107,24 @@ const Consent = ({ privacy = 'https://hanzo.ai/privacy' }) => {
82
107
  };
83
108
  const link = (0, event_1.consentPolicy)()?.notice ?? 'Do not sell or share my personal information';
84
109
  const small = notice && !shown;
85
- return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('consent'), role: "dialog", "aria-label": "Cookie preferences", position: "fixed", b: 16, l: 16, r: 16, z: 2147483000, maxW: 560, gap: "$3", p: "$4", rounded: "$5", borderWidth: 1, borderColor: "$borderColor", bg: "$background", shadowColor: "rgba(0,0,0,0.25)", shadowRadius: 24, shadowOffset: { width: 0, height: 8 }, children: [(0, jsx_runtime_1.jsxs)(gui_1.Paragraph, { size: "$3", color: "$ink", m: 0, children: [choosing
86
- ? 'Choose what Hanzo may measure and share. You can change this at any time.'
87
- : small
88
- ? 'Hanzo uses cookies to count visits and to measure its ads. You can turn any of it off.'
89
- : 'Hanzo uses cookies to count visits and to measure its ads. Nothing from an advertiser loads until you accept.', ' ', (0, jsx_runtime_1.jsx)("a", { href: privacy, style: { color: 'inherit', textDecoration: 'underline' }, children: "Privacy policy" })] }), choosing ? ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$3", children: [locked ? ((0, jsx_runtime_1.jsx)(gui_1.Paragraph, { size: "$2", color: "$soft", m: 0, children: "Your browser sends Global Privacy Control, so marketing and personalized ads stay off." })) : null, KINDS.map((k) => {
90
- const off = locked && k.key !== 'analytics';
91
- return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { gap: "$3", items: "center", justify: "space-between", children: [(0, jsx_runtime_1.jsxs)(gui_1.YStack, { flex: 1, children: [(0, jsx_runtime_1.jsx)(gui_1.Paragraph, { size: "$3", color: "$ink", fontWeight: "500", m: 0, children: k.title }), (0, jsx_runtime_1.jsx)(gui_1.Paragraph, { size: "$2", color: "$soft", m: 0, children: k.body })] }), (0, jsx_runtime_1.jsx)(switch_1.Switch, { "aria-label": k.title, disabled: off, checked: off ? false : draft[k.key], onCheckedChange: (v) => setDraft({ ...draft, [k.key]: v === true }) })] }, k.key));
92
- }), (0, jsx_runtime_1.jsxs)(gui_1.XStack, { gap: "$3", justify: "flex-end", children: [(0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", variant: "secondary", onClick: done(event_1.rejectAll), children: "Reject all" }), (0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", onClick: done(() => (0, event_1.saveConsent)(draft)), children: "Save choices" })] })] })) : small ? ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { gap: "$3", flexWrap: "wrap", justify: "flex-end", children: [(0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", variant: "link", onClick: done(() => (0, event_1.saveConsent)({ ...(0, event_1.readConsent)(), marketing: false, ads: false })), children: link }), (0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", variant: "secondary", onClick: choose, children: "Manage" }), (0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", onClick: done(() => (0, event_1.saveConsent)((0, event_1.readConsent)())), children: "OK" })] })) : ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { gap: "$3", flexWrap: "wrap", justify: "flex-end", children: [(0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", variant: "link", onClick: choose, children: "Choose" }), (0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", variant: "secondary", onClick: done(event_1.rejectAll), children: "Reject all" }), (0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", onClick: done(event_1.acceptAll), children: "Accept all" })] }))] }));
110
+ const optOut = done(() => (0, event_1.saveConsent)({ ...(0, event_1.readConsent)(), marketing: false, ads: false }));
111
+ if (choosing)
112
+ return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...frame, maxW: 440, gap: "$3", children: [(0, jsx_runtime_1.jsxs)(gui_1.Paragraph, { size: "$2", color: "$ink", m: 0, children: ['Choose what Hanzo may measure and share. You can change this at any time. ', (0, jsx_runtime_1.jsx)("a", { href: privacy, style: INLINE, children: "Privacy policy" })] }), locked ? ((0, jsx_runtime_1.jsx)(gui_1.Paragraph, { size: "$2", color: "$soft", m: 0, children: "Your browser sends Global Privacy Control, so marketing and personalized ads stay off." })) : null, KINDS.map((k) => {
113
+ const off = locked && k.key !== 'analytics';
114
+ return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { gap: "$3", items: "center", justify: "space-between", children: [(0, jsx_runtime_1.jsxs)(gui_1.YStack, { flex: 1, children: [(0, jsx_runtime_1.jsx)(gui_1.Paragraph, { size: "$2", color: "$ink", fontWeight: "500", m: 0, children: k.title }), (0, jsx_runtime_1.jsx)(gui_1.Paragraph, { size: "$1", color: "$soft", m: 0, children: k.body })] }), (0, jsx_runtime_1.jsx)(switch_1.Switch, { "aria-label": k.title, disabled: off, checked: off ? false : draft[k.key], onCheckedChange: (v) => setDraft({ ...draft, [k.key]: v === true }) })] }, k.key));
115
+ }), (0, jsx_runtime_1.jsxs)(gui_1.XStack, { gap: "$2", justify: "flex-end", children: [(0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", size: "sm", variant: "secondary", onClick: done(event_1.rejectAll), children: "Reject all" }), (0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", size: "sm", onClick: done(() => (0, event_1.saveConsent)(draft)), children: "Save choices" })] })] }));
116
+ // One bar: the line and its links, then the buttons. They share a row where
117
+ // the line fits beside them and the buttons drop under it where it does not,
118
+ // so a phone shows the line over one row of buttons and nothing breaks mid-control.
119
+ return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...frame, style: FIT, maxW: 960, flexWrap: "wrap", items: "center", columnGap: "$4", rowGap: "$2", children: [(0, jsx_runtime_1.jsx)(gui_1.YStack, { shrink: 1, minW: 0, children: (0, jsx_runtime_1.jsxs)(gui_1.Paragraph, { size: "$2", color: "$ink", m: 0, children: [small ? 'Cookies measure visits and ads. ' : 'Cookies measure visits and ads once you accept. ', (0, jsx_runtime_1.jsx)("a", { href: privacy, style: INLINE, children: "Privacy policy" }), small ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(gui_1.Span, { display: "none", $sm: { display: 'inline' }, children: ' · ' }), (0, jsx_runtime_1.jsx)(gui_1.Span, { render: "br", display: "block", $sm: { display: 'none' } }), (0, jsx_runtime_1.jsx)("a", { href: "#", role: "button", style: INLINE, onClick: (e) => {
120
+ e.preventDefault();
121
+ optOut();
122
+ }, onKeyDown: (e) => {
123
+ if (e.key !== ' ')
124
+ return;
125
+ e.preventDefault();
126
+ optOut();
127
+ }, children: link })] })) : null] }) }), (0, jsx_runtime_1.jsx)(gui_1.XStack, { gap: "$2", ml: "auto", items: "center", children: small ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", size: "sm", variant: "secondary", onClick: choose, children: "Manage" }), (0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", size: "sm", onClick: done(() => (0, event_1.saveConsent)((0, event_1.readConsent)())), children: "OK" })] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", size: "sm", variant: "link", onClick: choose, children: "Choose" }), (0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", size: "sm", variant: "secondary", onClick: done(event_1.rejectAll), children: "Reject all" }), (0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", size: "sm", onClick: done(event_1.acceptAll), children: "Accept all" })] })) })] }));
93
128
  };
94
129
  exports.Consent = Consent;
95
130
  /** The footer link that reopens the choices, in every footer and every region. */
@@ -1 +1 @@
1
- {"version":3,"file":"Consent.d.ts","sourceRoot":"","sources":["../../src/consent/Consent.tsx"],"names":[],"mappings":"AAkCA,uCAAuC;AACvC,eAAO,MAAM,WAAW,QAAO,IAE9B,CAAA;AAQD,MAAM,MAAM,YAAY,GAAG;IACzB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,QAAA,MAAM,OAAO,gBAA8C,YAAY,uCA6ItE,CAAA;AAED,kFAAkF;AAClF,QAAA,MAAM,WAAW,cAAmC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,gCAIrE,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"Consent.d.ts","sourceRoot":"","sources":["../../src/consent/Consent.tsx"],"names":[],"mappings":"AAkCA,uCAAuC;AACvC,eAAO,MAAM,WAAW,QAAO,IAE9B,CAAA;AAoCD,MAAM,MAAM,YAAY,GAAG;IACzB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,QAAA,MAAM,OAAO,gBAA8C,YAAY,uCA0JtE,CAAA;AAED,kFAAkF;AAClF,QAAA,MAAM,WAAW,cAAmC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,gCAIrE,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  /**
4
4
  * Consent — the one cookie banner every Hanzo, Lux and Zoo site mounts.
5
5
  *
@@ -22,7 +22,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
22
22
  * `Consent` mounts once near the root; `ConsentLink` goes wherever a footer
23
23
  * link goes and opens the panel from anywhere.
24
24
  */
25
- import { Paragraph, XStack, YStack } from '@hanzo/gui';
25
+ import { Paragraph, Span, XStack, YStack } from '@hanzo/gui';
26
26
  import { acceptAll, asks, consentPolicy, gpc, notices, POLICY_EVENT, readConsent, rejectAll, saveConsent } from '@hanzo/event';
27
27
  import { useEffect, useState } from 'react';
28
28
  import { Button } from '../backends/gui/button.js';
@@ -39,6 +39,31 @@ const KINDS = [
39
39
  { key: 'marketing', title: 'Marketing', body: 'Lets ad platforms measure the sign-ups and orders their ads led to.' },
40
40
  { key: 'ads', title: 'Personalized ads', body: 'Lets those platforms use your visit to show you ads elsewhere.' },
41
41
  ];
42
+ /** Where the banner sits: fixed to the foot of the window, inset 12px, centred. */
43
+ const frame = {
44
+ ...slot('consent'),
45
+ role: 'dialog',
46
+ 'aria-label': 'Cookie preferences',
47
+ position: 'fixed',
48
+ b: 12,
49
+ l: 12,
50
+ r: 12,
51
+ mx: 'auto',
52
+ z: 2147483000,
53
+ py: '$2.5',
54
+ px: '$3.5',
55
+ rounded: '$5',
56
+ borderWidth: 1,
57
+ borderColor: '$borderColor',
58
+ bg: '$background',
59
+ shadowColor: 'rgba(0,0,0,0.25)',
60
+ shadowRadius: 24,
61
+ shadowOffset: { width: 0, height: 8 },
62
+ };
63
+ /** The bar is as wide as its line and buttons, up to the window less its inset. */
64
+ const FIT = { width: 'fit-content' };
65
+ /** A link in the banner's line: the line's own ink, underlined, never broken across lines. */
66
+ const INLINE = { color: 'inherit', textDecoration: 'underline', whiteSpace: 'nowrap' };
42
67
  const Consent = ({ privacy = 'https://hanzo.ai/privacy' }) => {
43
68
  const [shown, setShown] = useState(false);
44
69
  const [notice, setNotice] = useState(false);
@@ -78,14 +103,24 @@ const Consent = ({ privacy = 'https://hanzo.ai/privacy' }) => {
78
103
  };
79
104
  const link = consentPolicy()?.notice ?? 'Do not sell or share my personal information';
80
105
  const small = notice && !shown;
81
- return (_jsxs(YStack, { ...slot('consent'), role: "dialog", "aria-label": "Cookie preferences", position: "fixed", b: 16, l: 16, r: 16, z: 2147483000, maxW: 560, gap: "$3", p: "$4", rounded: "$5", borderWidth: 1, borderColor: "$borderColor", bg: "$background", shadowColor: "rgba(0,0,0,0.25)", shadowRadius: 24, shadowOffset: { width: 0, height: 8 }, children: [_jsxs(Paragraph, { size: "$3", color: "$ink", m: 0, children: [choosing
82
- ? 'Choose what Hanzo may measure and share. You can change this at any time.'
83
- : small
84
- ? 'Hanzo uses cookies to count visits and to measure its ads. You can turn any of it off.'
85
- : 'Hanzo uses cookies to count visits and to measure its ads. Nothing from an advertiser loads until you accept.', ' ', _jsx("a", { href: privacy, style: { color: 'inherit', textDecoration: 'underline' }, children: "Privacy policy" })] }), choosing ? (_jsxs(YStack, { gap: "$3", children: [locked ? (_jsx(Paragraph, { size: "$2", color: "$soft", m: 0, children: "Your browser sends Global Privacy Control, so marketing and personalized ads stay off." })) : null, KINDS.map((k) => {
86
- const off = locked && k.key !== 'analytics';
87
- return (_jsxs(XStack, { gap: "$3", items: "center", justify: "space-between", children: [_jsxs(YStack, { flex: 1, children: [_jsx(Paragraph, { size: "$3", color: "$ink", fontWeight: "500", m: 0, children: k.title }), _jsx(Paragraph, { size: "$2", color: "$soft", m: 0, children: k.body })] }), _jsx(Switch, { "aria-label": k.title, disabled: off, checked: off ? false : draft[k.key], onCheckedChange: (v) => setDraft({ ...draft, [k.key]: v === true }) })] }, k.key));
88
- }), _jsxs(XStack, { gap: "$3", justify: "flex-end", children: [_jsx(Button, { type: "button", variant: "secondary", onClick: done(rejectAll), children: "Reject all" }), _jsx(Button, { type: "button", onClick: done(() => saveConsent(draft)), children: "Save choices" })] })] })) : small ? (_jsxs(XStack, { gap: "$3", flexWrap: "wrap", justify: "flex-end", children: [_jsx(Button, { type: "button", variant: "link", onClick: done(() => saveConsent({ ...readConsent(), marketing: false, ads: false })), children: link }), _jsx(Button, { type: "button", variant: "secondary", onClick: choose, children: "Manage" }), _jsx(Button, { type: "button", onClick: done(() => saveConsent(readConsent())), children: "OK" })] })) : (_jsxs(XStack, { gap: "$3", flexWrap: "wrap", justify: "flex-end", children: [_jsx(Button, { type: "button", variant: "link", onClick: choose, children: "Choose" }), _jsx(Button, { type: "button", variant: "secondary", onClick: done(rejectAll), children: "Reject all" }), _jsx(Button, { type: "button", onClick: done(acceptAll), children: "Accept all" })] }))] }));
106
+ const optOut = done(() => saveConsent({ ...readConsent(), marketing: false, ads: false }));
107
+ if (choosing)
108
+ return (_jsxs(YStack, { ...frame, maxW: 440, gap: "$3", children: [_jsxs(Paragraph, { size: "$2", color: "$ink", m: 0, children: ['Choose what Hanzo may measure and share. You can change this at any time. ', _jsx("a", { href: privacy, style: INLINE, children: "Privacy policy" })] }), locked ? (_jsx(Paragraph, { size: "$2", color: "$soft", m: 0, children: "Your browser sends Global Privacy Control, so marketing and personalized ads stay off." })) : null, KINDS.map((k) => {
109
+ const off = locked && k.key !== 'analytics';
110
+ return (_jsxs(XStack, { gap: "$3", items: "center", justify: "space-between", children: [_jsxs(YStack, { flex: 1, children: [_jsx(Paragraph, { size: "$2", color: "$ink", fontWeight: "500", m: 0, children: k.title }), _jsx(Paragraph, { size: "$1", color: "$soft", m: 0, children: k.body })] }), _jsx(Switch, { "aria-label": k.title, disabled: off, checked: off ? false : draft[k.key], onCheckedChange: (v) => setDraft({ ...draft, [k.key]: v === true }) })] }, k.key));
111
+ }), _jsxs(XStack, { gap: "$2", justify: "flex-end", children: [_jsx(Button, { type: "button", size: "sm", variant: "secondary", onClick: done(rejectAll), children: "Reject all" }), _jsx(Button, { type: "button", size: "sm", onClick: done(() => saveConsent(draft)), children: "Save choices" })] })] }));
112
+ // One bar: the line and its links, then the buttons. They share a row where
113
+ // the line fits beside them and the buttons drop under it where it does not,
114
+ // so a phone shows the line over one row of buttons and nothing breaks mid-control.
115
+ return (_jsxs(XStack, { ...frame, style: FIT, maxW: 960, flexWrap: "wrap", items: "center", columnGap: "$4", rowGap: "$2", children: [_jsx(YStack, { shrink: 1, minW: 0, children: _jsxs(Paragraph, { size: "$2", color: "$ink", m: 0, children: [small ? 'Cookies measure visits and ads. ' : 'Cookies measure visits and ads once you accept. ', _jsx("a", { href: privacy, style: INLINE, children: "Privacy policy" }), small ? (_jsxs(_Fragment, { children: [_jsx(Span, { display: "none", $sm: { display: 'inline' }, children: ' · ' }), _jsx(Span, { render: "br", display: "block", $sm: { display: 'none' } }), _jsx("a", { href: "#", role: "button", style: INLINE, onClick: (e) => {
116
+ e.preventDefault();
117
+ optOut();
118
+ }, onKeyDown: (e) => {
119
+ if (e.key !== ' ')
120
+ return;
121
+ e.preventDefault();
122
+ optOut();
123
+ }, children: link })] })) : null] }) }), _jsx(XStack, { gap: "$2", ml: "auto", items: "center", children: small ? (_jsxs(_Fragment, { children: [_jsx(Button, { type: "button", size: "sm", variant: "secondary", onClick: choose, children: "Manage" }), _jsx(Button, { type: "button", size: "sm", onClick: done(() => saveConsent(readConsent())), children: "OK" })] })) : (_jsxs(_Fragment, { children: [_jsx(Button, { type: "button", size: "sm", variant: "link", onClick: choose, children: "Choose" }), _jsx(Button, { type: "button", size: "sm", variant: "secondary", onClick: done(rejectAll), children: "Reject all" }), _jsx(Button, { type: "button", size: "sm", onClick: done(acceptAll), children: "Accept all" })] })) })] }));
89
124
  };
90
125
  /** The footer link that reopens the choices, in every footer and every region. */
91
126
  const ConsentLink = ({ label = 'Cookie settings' }) => (_jsx(Button, { ...slot('consent-link'), type: "button", variant: "link", size: "sm", px: 0, minH: 0, onClick: openConsent, children: label }));
@@ -1 +1 @@
1
- {"version":3,"file":"Consent.js","sourceRoot":"","sources":["../../src/consent/Consent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Consent.js","sourceRoot":"","sources":["../../src/consent/Consent.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAe,MAAM,cAAc,CAAA;AAC3I,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,MAAM,IAAI,GAAG,gBAAgB,CAAA;AAE7B,uCAAuC;AACvC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAS,EAAE;IACpC,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AAC1E,CAAC,CAAA;AAED,MAAM,KAAK,GAAG;IACZ,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,kEAAkE,EAAE;IAClH,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,qEAAqE,EAAE;IACrH,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,gEAAgE,EAAE;CACzG,CAAA;AAEV,mFAAmF;AACnF,MAAM,KAAK,GAAG;IACZ,GAAG,IAAI,CAAC,SAAS,CAAC;IAClB,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,oBAAoB;IAClC,QAAQ,EAAE,OAAO;IACjB,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,EAAE,EAAE,MAAM;IACV,CAAC,EAAE,UAAU;IACb,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,MAAM;IACV,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,cAAc;IAC3B,EAAE,EAAE,aAAa;IACjB,WAAW,EAAE,kBAAkB;IAC/B,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;CAC7B,CAAA;AAEV,mFAAmF;AACnF,MAAM,GAAG,GAAG,EAAE,KAAK,EAAE,aAAa,EAAW,CAAA;AAE7C,8FAA8F;AAC9F,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAW,CAAA;AAO/F,MAAM,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,0BAA0B,EAAgB,EAAE,EAAE;IACzE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;IAC9F,MAAM,MAAM,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,GAAG,EAAE,CAAA;IAErD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;YAChB,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;QACtB,CAAC,CAAA;QACD,IAAI,EAAE,CAAA;QACN,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;YACvB,WAAW,CAAC,IAAI,CAAC,CAAA;YACjB,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChB,CAAC,CAAA;QACD,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACnC,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;QAC3C,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACtC,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;QAChD,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAElC,MAAM,IAAI,GAAG,CAAC,EAAc,EAAE,EAAE,CAAC,GAAG,EAAE;QACpC,EAAE,EAAE,CAAA;QACJ,QAAQ,CAAC,KAAK,CAAC,CAAA;QACf,SAAS,CAAC,KAAK,CAAC,CAAA;QAChB,WAAW,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;QACvB,WAAW,CAAC,IAAI,CAAC,CAAA;QACjB,QAAQ,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC,CAAA;IACD,MAAM,IAAI,GAAG,aAAa,EAAE,EAAE,MAAM,IAAI,8CAA8C,CAAA;IACtF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAA;IAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAE1F,IAAI,QAAQ;QACV,OAAO,CACL,MAAC,MAAM,OAAK,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAC,IAAI,aACpC,MAAC,SAAS,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,MAAM,EAAC,CAAC,EAAE,CAAC,aACnC,4EAA4E,EAC7E,YAAG,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,+BAE3B,IACM,EACX,MAAM,CAAC,CAAC,CAAC,CACR,KAAC,SAAS,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,OAAO,EAAC,CAAC,EAAE,CAAC,uGAE3B,CACb,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACf,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,CAAA;oBAC3C,OAAO,CACL,MAAC,MAAM,IAAa,GAAG,EAAC,IAAI,EAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,eAAe,aACjE,MAAC,MAAM,IAAC,IAAI,EAAE,CAAC,aACb,KAAC,SAAS,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,MAAM,EAAC,UAAU,EAAC,KAAK,EAAC,CAAC,EAAE,CAAC,YACpD,CAAC,CAAC,KAAK,GACE,EACZ,KAAC,SAAS,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,OAAO,EAAC,CAAC,EAAE,CAAC,YACpC,CAAC,CAAC,IAAI,GACG,IACL,EACT,KAAC,MAAM,kBACO,CAAC,CAAC,KAAK,EACnB,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EACnC,eAAe,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,GAC5E,KAdS,CAAC,CAAC,GAAG,CAeT,CACV,CAAA;gBACH,CAAC,CAAC,EACF,MAAC,MAAM,IAAC,GAAG,EAAC,IAAI,EAAC,OAAO,EAAC,UAAU,aACjC,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,2BAEnE,EACT,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,6BAE9D,IACF,IACF,CACV,CAAA;IAEH,4EAA4E;IAC5E,6EAA6E;IAC7E,oFAAoF;IACpF,OAAO,CACL,MAAC,MAAM,OAAK,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,EAAC,SAAS,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,aACjG,KAAC,MAAM,IAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,YACxB,MAAC,SAAS,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,MAAM,EAAC,CAAC,EAAE,CAAC,aACnC,KAAK,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,kDAAkD,EAChG,YAAG,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,+BAE3B,EACH,KAAK,CAAC,CAAC,CAAC,CACP,8BAEE,KAAC,IAAI,IAAC,OAAO,EAAC,MAAM,EAAC,GAAG,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,YAC5C,KAAK,GACD,EACP,KAAC,IAAI,IAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAI,EAE9D,YACE,IAAI,EAAC,GAAG,EACR,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;wCACb,CAAC,CAAC,cAAc,EAAE,CAAA;wCAClB,MAAM,EAAE,CAAA;oCACV,CAAC,EACD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;wCACf,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG;4CAAE,OAAM;wCACzB,CAAC,CAAC,cAAc,EAAE,CAAA;wCAClB,MAAM,EAAE,CAAA;oCACV,CAAC,YAEA,IAAI,GACH,IACH,CACJ,CAAC,CAAC,CAAC,IAAI,IACE,GACL,EACT,KAAC,MAAM,IAAC,GAAG,EAAC,IAAI,EAAC,EAAE,EAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,YACtC,KAAK,CAAC,CAAC,CAAC,CACP,8BACE,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,MAAM,uBAE1D,EACT,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,mBAEtE,IACR,CACJ,CAAC,CAAC,CAAC,CACF,8BACE,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAE,MAAM,uBAErD,EACT,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,2BAEnE,EACT,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,2BAE/C,IACR,CACJ,GACM,IACF,CACV,CAAA;AACH,CAAC,CAAA;AAED,kFAAkF;AAClF,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,GAAG,iBAAiB,EAAsB,EAAE,EAAE,CAAC,CACzE,KAAC,MAAM,OAAK,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,YAC1G,KAAK,GACC,CACV,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAA"}
package/dist/core/cn.cjs CHANGED
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * There is no Tailwind conflict-resolution step, because there are no Tailwind
6
6
  * utilities left to resolve: styling lives in gui style props and the token
7
- * scale, and a class name here is only a stable handle (`btn`, `hz-prose`) that
7
+ * scale, and a class name here is only a stable handle (`btn`, `badge`) that
8
8
  * a host may select on.
9
9
  *
10
10
  * `flatten` lives here rather than in tw.ts because BOTH need it and there can
package/dist/core/cn.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * There is no Tailwind conflict-resolution step, because there are no Tailwind
5
5
  * utilities left to resolve: styling lives in gui style props and the token
6
- * scale, and a class name here is only a stable handle (`btn`, `hz-prose`) that
6
+ * scale, and a class name here is only a stable handle (`btn`, `badge`) that
7
7
  * a host may select on.
8
8
  *
9
9
  * `flatten` lives here rather than in tw.ts because BOTH need it and there can
package/dist/core/cn.js CHANGED
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * There is no Tailwind conflict-resolution step, because there are no Tailwind
5
5
  * utilities left to resolve: styling lives in gui style props and the token
6
- * scale, and a class name here is only a stable handle (`btn`, `hz-prose`) that
6
+ * scale, and a class name here is only a stable handle (`btn`, `badge`) that
7
7
  * a host may select on.
8
8
  *
9
9
  * `flatten` lives here rather than in tw.ts because BOTH need it and there can