@hanzo/ui 8.4.6 → 8.4.8
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.
- package/dist/box.cjs +10 -1
- package/dist/box.d.ts +23 -3
- package/dist/box.d.ts.map +1 -1
- package/dist/box.js +10 -1
- package/dist/box.js.map +1 -1
- package/dist/gallery.html +1 -1
- package/package.json +1 -1
package/dist/box.cjs
CHANGED
|
@@ -49,7 +49,7 @@ const TEXT_PROPS = ['fontSize', 'lineHeight', 'fontWeight', 'letterSpacing',
|
|
|
49
49
|
// column going ragged — a 25px total measuring 27px, which no test asserting
|
|
50
50
|
// on text would notice.
|
|
51
51
|
'fontVariantNumeric'];
|
|
52
|
-
|
|
52
|
+
const BoxInner = (0, react_1.forwardRef)(function Box({ className, children, 'aria-hidden': hidden, tag, ...rest }, ref) {
|
|
53
53
|
const { props, rest: unread } = (0, tw_1.tw)(className);
|
|
54
54
|
// A View pins `min-height: 0`; a div's is `auto`, and auto is what gives a
|
|
55
55
|
// flex or grid child its automatic minimum size. Pinned, a converted child of
|
|
@@ -93,4 +93,13 @@ exports.Box = (0, react_1.forwardRef)(function Box({ className, children, 'aria-
|
|
|
93
93
|
: children }));
|
|
94
94
|
return frame;
|
|
95
95
|
});
|
|
96
|
+
/**
|
|
97
|
+
* `forwardRef` cannot carry a generic through, so the props of every element
|
|
98
|
+
* collapse into a UNION — and a union demands a prop be valid for ALL of them,
|
|
99
|
+
* which makes `href`, `type` and `onSubmit` errors on the very elements that
|
|
100
|
+
* own them. The cast is what restores inference from `tag`, and it is the
|
|
101
|
+
* standard shape for a polymorphic component: the implementation stays checked
|
|
102
|
+
* against the union, the CALLER gets the one element it named.
|
|
103
|
+
*/
|
|
104
|
+
exports.Box = BoxInner;
|
|
96
105
|
exports.default = exports.Box;
|
package/dist/box.d.ts
CHANGED
|
@@ -34,13 +34,23 @@
|
|
|
34
34
|
import { type ReactNode } from 'react';
|
|
35
35
|
import { YStack } from '@hanzo/gui';
|
|
36
36
|
import { type ClassValue } from './tw.js';
|
|
37
|
-
|
|
37
|
+
/**
|
|
38
|
+
* The props of the element being stood in for, ALONGSIDE gui's.
|
|
39
|
+
*
|
|
40
|
+
* A `<button>` carries `type` and `disabled`, a `<form>` carries `onSubmit`, a
|
|
41
|
+
* `<select>` carries `value` and `onChange`. None of those are gui props, so a
|
|
42
|
+
* Box typed only as a Stack rejects the very markup it exists to replace — and
|
|
43
|
+
* an app converting a form finds fifteen type errors that read as a broken
|
|
44
|
+
* component rather than as a missing generic. `style` and `ref` come from each
|
|
45
|
+
* side and are taken from gui's, which is the one that reaches the DOM.
|
|
46
|
+
*/
|
|
47
|
+
export type BoxProps<T extends keyof React.JSX.IntrinsicElements = 'div'> = Omit<React.ComponentProps<typeof YStack>, 'aria-hidden'> & Omit<React.JSX.IntrinsicElements[T], 'style' | 'ref' | 'children' | 'className' | 'color'> & {
|
|
38
48
|
className?: ClassValue;
|
|
39
49
|
children?: ReactNode;
|
|
40
50
|
/**
|
|
41
51
|
* The element to render. Omitted, Box is the `<div>` it has always been.
|
|
42
52
|
*/
|
|
43
|
-
tag?:
|
|
53
|
+
tag?: T;
|
|
44
54
|
/**
|
|
45
55
|
* ARIA states are strings in markup and gui types this one as a boolean, so
|
|
46
56
|
* both spellings are taken and normalised. Rejecting `"true"` would make a
|
|
@@ -48,6 +58,16 @@ export type BoxProps = Omit<React.ComponentProps<typeof YStack>, 'aria-hidden'>
|
|
|
48
58
|
*/
|
|
49
59
|
'aria-hidden'?: boolean | 'true' | 'false';
|
|
50
60
|
};
|
|
51
|
-
|
|
61
|
+
/**
|
|
62
|
+
* `forwardRef` cannot carry a generic through, so the props of every element
|
|
63
|
+
* collapse into a UNION — and a union demands a prop be valid for ALL of them,
|
|
64
|
+
* which makes `href`, `type` and `onSubmit` errors on the very elements that
|
|
65
|
+
* own them. The cast is what restores inference from `tag`, and it is the
|
|
66
|
+
* standard shape for a polymorphic component: the implementation stays checked
|
|
67
|
+
* against the union, the CALLER gets the one element it named.
|
|
68
|
+
*/
|
|
69
|
+
export declare const Box: <T extends keyof React.JSX.IntrinsicElements = 'div'>(props: BoxProps<T> & {
|
|
70
|
+
ref?: React.Ref<any>;
|
|
71
|
+
}) => React.ReactElement | null;
|
|
52
72
|
export default Box;
|
|
53
73
|
//# sourceMappingURL=box.d.ts.map
|
package/dist/box.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../src/box.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAM,KAAK,UAAU,EAAE,MAAM,MAAM,CAAA;AAa1C,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,aAAa,CAAC,GAAG;
|
|
1
|
+
{"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../src/box.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAM,KAAK,UAAU,EAAE,MAAM,MAAM,CAAA;AAa1C;;;;;;;;;GASG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,KAAK,CAAC,GAAG,CAAC,iBAAiB,GAAG,KAAK,IACtE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,aAAa,CAAC,GACxD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,GAAG;IAC3F,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,CAAA;IACP;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;CAC3C,CAAA;AA4DH;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,EAAe,CAAC,CAAC,SAAS,MAAM,KAAK,CAAC,GAAG,CAAC,iBAAiB,GAAG,KAAK,EACjF,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;CAAE,KAC1C,KAAK,CAAC,YAAY,GAAG,IAAI,CAAA;eAEf,GAAG"}
|
package/dist/box.js
CHANGED
|
@@ -46,7 +46,7 @@ const TEXT_PROPS = ['fontSize', 'lineHeight', 'fontWeight', 'letterSpacing',
|
|
|
46
46
|
// column going ragged — a 25px total measuring 27px, which no test asserting
|
|
47
47
|
// on text would notice.
|
|
48
48
|
'fontVariantNumeric'];
|
|
49
|
-
|
|
49
|
+
const BoxInner = forwardRef(function Box({ className, children, 'aria-hidden': hidden, tag, ...rest }, ref) {
|
|
50
50
|
const { props, rest: unread } = tw(className);
|
|
51
51
|
// A View pins `min-height: 0`; a div's is `auto`, and auto is what gives a
|
|
52
52
|
// flex or grid child its automatic minimum size. Pinned, a converted child of
|
|
@@ -90,5 +90,14 @@ export const Box = forwardRef(function Box({ className, children, 'aria-hidden':
|
|
|
90
90
|
: children }));
|
|
91
91
|
return frame;
|
|
92
92
|
});
|
|
93
|
+
/**
|
|
94
|
+
* `forwardRef` cannot carry a generic through, so the props of every element
|
|
95
|
+
* collapse into a UNION — and a union demands a prop be valid for ALL of them,
|
|
96
|
+
* which makes `href`, `type` and `onSubmit` errors on the very elements that
|
|
97
|
+
* own them. The cast is what restores inference from `tag`, and it is the
|
|
98
|
+
* standard shape for a polymorphic component: the implementation stays checked
|
|
99
|
+
* against the union, the CALLER gets the one element it named.
|
|
100
|
+
*/
|
|
101
|
+
export const Box = BoxInner;
|
|
93
102
|
export default Box;
|
|
94
103
|
//# sourceMappingURL=box.js.map
|
package/dist/box.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"box.js","sourceRoot":"","sources":["../src/box.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,EAAE,EAAmB,MAAM,MAAM,CAAA;AAE1C,2EAA2E;AAC3E,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe;IACzE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO;IAChE,oBAAoB,EAAE,YAAY;IAClC,8EAA8E;IAC9E,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,wBAAwB;IACxB,oBAAoB,CAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"box.js","sourceRoot":"","sources":["../src/box.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.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.4.8</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.4.
|
|
3
|
+
"version": "8.4.8",
|
|
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": {
|