@hanzo/ui 8.16.0 → 8.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -124,12 +124,11 @@ onClick, size, variant, icon, iconAfter, className, style, children, 'aria-curre
|
|
|
124
124
|
variant: variant ?? def.variant ?? 'link',
|
|
125
125
|
size: size ?? def.size ?? 'default',
|
|
126
126
|
}), className);
|
|
127
|
-
|
|
127
|
+
const anchor = ((0, jsx_runtime_1.jsx)(Comp, { href: href,
|
|
128
128
|
// The host's link component takes a `style` and forwards everything else
|
|
129
129
|
// to the anchor, so notation is CONVERTED here rather than handed over:
|
|
130
130
|
// `w-full` on an <a> is two characters of nothing otherwise. What tw does
|
|
131
|
-
// not read stays a class, which is how
|
|
132
|
-
// our stylesheet — keep working.
|
|
131
|
+
// not read stays a class, which is how a host's own selectors keep working.
|
|
133
132
|
className: (0, tw_1.tw)(classes).rest || undefined,
|
|
134
133
|
// A def with no href and no handler is a LABEL, not a link. Written as a
|
|
135
134
|
// style rather than a utility class because this renders a bare `<a>` and
|
|
@@ -140,5 +139,19 @@ onClick, size, variant, icon, iconAfter, className, style, children, 'aria-curre
|
|
|
140
139
|
...style,
|
|
141
140
|
...(href.length > 0 || onClick ? null : { pointerEvents: 'none' }),
|
|
142
141
|
}, ...(onClick ? { onClick } : {}), ...nav, children: label() }));
|
|
142
|
+
// A link that LOOKS like a button IS one, rendering an anchor.
|
|
143
|
+
//
|
|
144
|
+
// `buttonVariants` names a variant — `btn btn-primary` — and nothing defines
|
|
145
|
+
// those selectors: they are a handle for a host to hook, not a rule. So a def
|
|
146
|
+
// asking for `variant: 'primary'` used to come out as underlined body text,
|
|
147
|
+
// measured on every call-to-action across the lux sites. Appearance is decided
|
|
148
|
+
// in exactly one place, the Button, and `asChild` hands it this anchor.
|
|
149
|
+
//
|
|
150
|
+
// `link` and its two relatives are the exception on purpose: they mean "look
|
|
151
|
+
// like a link", which is what the bare anchor already is.
|
|
152
|
+
const look = variant ?? def.variant ?? 'link';
|
|
153
|
+
if (look === 'link' || look === 'linkFG' || look === 'linkMuted')
|
|
154
|
+
return anchor;
|
|
155
|
+
return ((0, jsx_runtime_1.jsx)(button_1.Button, { asChild: true, variant: look, size: size ?? def.size ?? 'default', children: anchor }));
|
|
143
156
|
};
|
|
144
157
|
exports.LinkElement = LinkElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/link.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/link.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAU,KAAK,UAAU,EAAE,KAAK,aAAa,EAAkB,MAAM,UAAU,CAAA;AAEtF,0DAA0D;AAC1D,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAA;AAE7C;;;GAGG;AACH,eAAO,MAAM,IAAI,8BAA0D,CAAA;AAE3E,eAAO,MAAM,OAAO,QAAO,aAAuC,CAAA;AAKlE;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,gCAIjB,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,4CAc/C,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACrD,GAAG,EAAE,OAAO,CAAA;IACZ,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,uBAAuB;IACvB,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA;IAC9B,uBAAuB;IACvB,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IACxB,uBAAuB;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,uBAAuB;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;CACzC,CAAC,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,2GAarB,gBAAgB,4CAkFlB,CAAA"}
|
|
@@ -23,7 +23,7 @@ import * as React from 'react';
|
|
|
23
23
|
import { css } from '../../css.js';
|
|
24
24
|
import { tw } from '../../tw.js';
|
|
25
25
|
import { cn } from '../../core/cn.js';
|
|
26
|
-
import { buttonVariants } from './button.js';
|
|
26
|
+
import { Button, buttonVariants } from './button.js';
|
|
27
27
|
/**
|
|
28
28
|
* The component every link renders through. `<Link value={NextLink}>` at the
|
|
29
29
|
* root of a routed app; left alone it is a plain anchor.
|
|
@@ -86,12 +86,11 @@ onClick, size, variant, icon, iconAfter, className, style, children, 'aria-curre
|
|
|
86
86
|
variant: variant ?? def.variant ?? 'link',
|
|
87
87
|
size: size ?? def.size ?? 'default',
|
|
88
88
|
}), className);
|
|
89
|
-
|
|
89
|
+
const anchor = (_jsx(Comp, { href: href,
|
|
90
90
|
// The host's link component takes a `style` and forwards everything else
|
|
91
91
|
// to the anchor, so notation is CONVERTED here rather than handed over:
|
|
92
92
|
// `w-full` on an <a> is two characters of nothing otherwise. What tw does
|
|
93
|
-
// not read stays a class, which is how
|
|
94
|
-
// our stylesheet — keep working.
|
|
93
|
+
// not read stays a class, which is how a host's own selectors keep working.
|
|
95
94
|
className: tw(classes).rest || undefined,
|
|
96
95
|
// A def with no href and no handler is a LABEL, not a link. Written as a
|
|
97
96
|
// style rather than a utility class because this renders a bare `<a>` and
|
|
@@ -102,5 +101,19 @@ onClick, size, variant, icon, iconAfter, className, style, children, 'aria-curre
|
|
|
102
101
|
...style,
|
|
103
102
|
...(href.length > 0 || onClick ? null : { pointerEvents: 'none' }),
|
|
104
103
|
}, ...(onClick ? { onClick } : {}), ...nav, children: label() }));
|
|
104
|
+
// A link that LOOKS like a button IS one, rendering an anchor.
|
|
105
|
+
//
|
|
106
|
+
// `buttonVariants` names a variant — `btn btn-primary` — and nothing defines
|
|
107
|
+
// those selectors: they are a handle for a host to hook, not a rule. So a def
|
|
108
|
+
// asking for `variant: 'primary'` used to come out as underlined body text,
|
|
109
|
+
// measured on every call-to-action across the lux sites. Appearance is decided
|
|
110
|
+
// in exactly one place, the Button, and `asChild` hands it this anchor.
|
|
111
|
+
//
|
|
112
|
+
// `link` and its two relatives are the exception on purpose: they mean "look
|
|
113
|
+
// like a link", which is what the bare anchor already is.
|
|
114
|
+
const look = variant ?? def.variant ?? 'link';
|
|
115
|
+
if (look === 'link' || look === 'linkFG' || look === 'linkMuted')
|
|
116
|
+
return anchor;
|
|
117
|
+
return (_jsx(Button, { asChild: true, variant: look, size: size ?? def.size ?? 'default', children: anchor }));
|
|
105
118
|
};
|
|
106
119
|
//# sourceMappingURL=link.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/backends/gui/link.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC,OAAO,EAAuC,cAAc,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/backends/gui/link.tsx"],"names":[],"mappings":"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"}
|
package/dist/gallery.html
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!doctype html><html lang="en" class="t_dark"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>@hanzo/ui 8.16.
|
|
1
|
+
<!doctype html><html lang="en" class="t_dark"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>@hanzo/ui 8.16.1</title><style>/* @hanzo/ui — generated by scripts/gen-css.mjs. Do not edit. */
|
|
2
2
|
:root { --hanzo-ui-styles: 1; }
|
|
3
3
|
/* Hanzo Design System — the entry point. Import THIS one file.
|
|
4
4
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hanzo/ui",
|
|
3
|
-
"version": "8.16.
|
|
3
|
+
"version": "8.16.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Hanzo UI — the one canonical Hanzo component library, on @hanzo/gui + @hanzo/design. ONE substrate: every component renders through @hanzo/gui primitives, so the same import works on web, native (expo) and desktop (Tauri). Self-contained (theme.css), presentational, host-agnostic, clean-room.",
|
|
6
6
|
"exports": {
|