@hanzo/ui 8.4.11 → 8.4.13

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 (61) hide show
  1. package/dist/backends/gui/band.cjs +46 -0
  2. package/dist/backends/gui/band.d.ts +43 -0
  3. package/dist/backends/gui/band.d.ts.map +1 -0
  4. package/dist/backends/gui/band.js +44 -0
  5. package/dist/backends/gui/band.js.map +1 -0
  6. package/dist/backends/gui/index.cjs +4 -5
  7. package/dist/backends/gui/index.d.ts +2 -3
  8. package/dist/backends/gui/index.d.ts.map +1 -1
  9. package/dist/backends/gui/index.js +2 -3
  10. package/dist/backends/gui/index.js.map +1 -1
  11. package/dist/backends/gui/layout.cjs +12 -2
  12. package/dist/backends/gui/layout.d.ts +1 -1
  13. package/dist/backends/gui/layout.d.ts.map +1 -1
  14. package/dist/backends/gui/layout.js +11 -2
  15. package/dist/backends/gui/layout.js.map +1 -1
  16. package/dist/gallery.cjs +1 -1
  17. package/dist/gallery.html +3 -7
  18. package/dist/gallery.js +2 -2
  19. package/dist/gallery.js.map +1 -1
  20. package/dist/index.cjs +3 -3
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +2 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/index.node.js +65 -0
  26. package/dist/primitives/{Section.cjs → Band.cjs} +3 -3
  27. package/dist/primitives/Band.d.ts +2 -0
  28. package/dist/primitives/Band.d.ts.map +1 -0
  29. package/dist/primitives/{Section.js → Band.js} +2 -2
  30. package/dist/primitives/Band.js.map +1 -0
  31. package/dist/primitives/Fill.cjs +8 -0
  32. package/dist/primitives/Fill.d.ts +2 -0
  33. package/dist/primitives/Fill.d.ts.map +1 -0
  34. package/dist/primitives/Fill.js +5 -0
  35. package/dist/primitives/Fill.js.map +1 -0
  36. package/dist/primitives/Screen.cjs +8 -0
  37. package/dist/primitives/Screen.d.ts +2 -0
  38. package/dist/primitives/Screen.d.ts.map +1 -0
  39. package/dist/primitives/Screen.js +5 -0
  40. package/dist/primitives/Screen.js.map +1 -0
  41. package/dist/primitives/Separator.cjs +2 -2
  42. package/dist/primitives/Separator.d.ts +1 -1
  43. package/dist/primitives/Separator.d.ts.map +1 -1
  44. package/dist/primitives/Separator.js +1 -1
  45. package/dist/primitives/Separator.js.map +1 -1
  46. package/dist/root.node.js +98 -0
  47. package/dist/styles.css +0 -4
  48. package/package.json +18 -17
  49. package/dist/backends/gui/section.cjs +0 -39
  50. package/dist/backends/gui/section.d.ts +0 -29
  51. package/dist/backends/gui/section.d.ts.map +0 -1
  52. package/dist/backends/gui/section.js +0 -37
  53. package/dist/backends/gui/section.js.map +0 -1
  54. package/dist/backends/gui/separator.cjs +0 -10
  55. package/dist/backends/gui/separator.d.ts +0 -11
  56. package/dist/backends/gui/separator.d.ts.map +0 -1
  57. package/dist/backends/gui/separator.js +0 -8
  58. package/dist/backends/gui/separator.js.map +0 -1
  59. package/dist/primitives/Section.d.ts +0 -2
  60. package/dist/primitives/Section.d.ts.map +0 -1
  61. package/dist/primitives/Section.js.map +0 -1
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@hanzo/ui",
3
- "version": "8.4.11",
3
+ "version": "8.4.13",
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": {
7
7
  ".": {
8
8
  "types": "./dist/index.d.ts",
9
+ "node": "./dist/index.node.js",
9
10
  "import": "./dist/index.js",
10
11
  "require": "./dist/index.cjs",
11
12
  "default": "./dist/index.js"
@@ -222,14 +223,14 @@
222
223
  "@hanzo/cd": ">=0.1.0",
223
224
  "@hanzo/dashboard": ">=0.1.0",
224
225
  "@hanzo/data": ">=1.2.3",
225
- "@hanzo/gui": ">=8.1.0",
226
+ "@hanzo/gui": ">=8.2.1",
226
227
  "@hanzo/usage": ">=0.1.0",
227
- "@hanzogui/animations-css": ">=8.1.0",
228
- "@hanzogui/config": ">=8.1.0",
229
- "@hanzogui/lucide-icons-2": ">=8.1.0",
230
- "@hanzogui/next-theme": ">=8.1.0",
231
- "@hanzogui/telemetry": ">=8.1.0",
232
- "@hanzogui/toast": ">=8.1.0",
228
+ "@hanzogui/animations-css": ">=8.2.1",
229
+ "@hanzogui/config": ">=8.2.1",
230
+ "@hanzogui/lucide-icons-2": ">=8.2.1",
231
+ "@hanzogui/next-theme": ">=8.2.1",
232
+ "@hanzogui/telemetry": ">=8.2.1",
233
+ "@hanzogui/toast": ">=8.2.1",
233
234
  "next": ">=14",
234
235
  "next-themes": ">=0.2.1",
235
236
  "react": ">=19",
@@ -265,16 +266,16 @@
265
266
  "devDependencies": {
266
267
  "@hanzo/dashboard": "^0.2.0",
267
268
  "@hanzo/data": "1.2.3",
268
- "@hanzo/gui": "8.1.0",
269
+ "@hanzo/gui": "8.2.1",
269
270
  "@hanzo/usage": "^0.1.6",
270
- "@hanzogui/animations-css": "^8.1.1",
271
- "@hanzogui/config": "8.1.0",
272
- "@hanzogui/core": "8.1.0",
273
- "@hanzogui/lucide-icons-2": "8.1.0",
274
- "@hanzogui/next-theme": "8.1.0",
275
- "@hanzogui/telemetry": "8.1.0",
276
- "@hanzogui/toast": "8.1.0",
277
- "@hanzogui/web": "8.1.0",
271
+ "@hanzogui/animations-css": "8.2.1",
272
+ "@hanzogui/config": "8.2.1",
273
+ "@hanzogui/core": "8.2.1",
274
+ "@hanzogui/lucide-icons-2": "8.2.1",
275
+ "@hanzogui/next-theme": "8.2.1",
276
+ "@hanzogui/telemetry": "8.2.1",
277
+ "@hanzogui/toast": "8.2.1",
278
+ "@hanzogui/web": "8.2.1",
278
279
  "@playwright/test": "^1.61.0",
279
280
  "@types/node": "^22.10.2",
280
281
  "@types/react": "^19.1.10",
@@ -1,39 +0,0 @@
1
- 'use client';"use strict";
2
- 'use client';
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Section = void 0;
5
- const jsx_runtime_1 = require("react/jsx-runtime");
6
- /**
7
- * Section — the page's vertical rhythm, in one place.
8
- *
9
- * Components kept inventing their own vertical story: a margin here, a padding
10
- * there, a `<div style={{marginTop: 64}}>` somewhere else. The result is a page
11
- * whose spacing is the sum of everyone's guesses, and which is never the same
12
- * twice on a phone.
13
- *
14
- * So the page-level spacing decision is made once, from the space scale, and it
15
- * is mobile-first: phone values by default, stepping up past `$gtSm`. A caller
16
- * that writes nothing gets the right answer at every width, which is the point —
17
- * the failure mode being designed out is "had to remember something".
18
- *
19
- * Two boxes, because they do two different jobs and merging them is what breaks:
20
- * the OUTER runs full-bleed and owns the vertical rhythm and the side gutter, so
21
- * a background set on it reaches both edges; the INNER is the centred measure and
22
- * owns `maxWidth`. Put `maxWidth` on the outer box instead and a section can
23
- * never have a full-width background.
24
- */
25
- const gui_1 = require("@hanzo/gui");
26
- const slot_1 = require("./slot.cjs");
27
- const Section = ({ maxWidth = 1200, children, innerProps, ...props }) => ((0, jsx_runtime_1.jsx)(gui_1.YStack, { ...(0, slot_1.slot)('section'), width: "100%",
28
- // Values come from the space scale, never literals — a section spaced in
29
- // raw px drifts from everything else on the page. `$md` is a MAX-width
30
- // query in this config, so the base is the roomy value and the phone steps
31
- // it down; that is the direction every other responsive prop in this
32
- // package is written in ($md/$sm in Field, PageHeader, SiteNav) and mixing
33
- // both directions in one codebase is how a breakpoint ends up applying
34
- // twice.
35
- py: "$11", px: "$6", $md: { py: '$8', px: '$4' }, ...props, children: (0, jsx_runtime_1.jsx)(gui_1.YStack, { ...(0, slot_1.slot)('section-inner'), width: "100%", ...(maxWidth === false ? {} : { maxWidth }),
36
- // The centring. `self: center` is the cross-axis rule a YStack understands
37
- // on web AND native, where `margin: auto` is web-only.
38
- self: "center", ...innerProps, children: children }) }));
39
- exports.Section = Section;
@@ -1,29 +0,0 @@
1
- /**
2
- * Section — the page's vertical rhythm, in one place.
3
- *
4
- * Components kept inventing their own vertical story: a margin here, a padding
5
- * there, a `<div style={{marginTop: 64}}>` somewhere else. The result is a page
6
- * whose spacing is the sum of everyone's guesses, and which is never the same
7
- * twice on a phone.
8
- *
9
- * So the page-level spacing decision is made once, from the space scale, and it
10
- * is mobile-first: phone values by default, stepping up past `$gtSm`. A caller
11
- * that writes nothing gets the right answer at every width, which is the point —
12
- * the failure mode being designed out is "had to remember something".
13
- *
14
- * Two boxes, because they do two different jobs and merging them is what breaks:
15
- * the OUTER runs full-bleed and owns the vertical rhythm and the side gutter, so
16
- * a background set on it reaches both edges; the INNER is the centred measure and
17
- * owns `maxWidth`. Put `maxWidth` on the outer box instead and a section can
18
- * never have a full-width background.
19
- */
20
- import { type YStackProps } from '@hanzo/gui';
21
- export interface SectionProps extends YStackProps {
22
- /** The centred measure. `false` lets the content run the full width. */
23
- maxWidth?: number | false;
24
- /** Props for the inner centred column. */
25
- innerProps?: YStackProps;
26
- }
27
- declare const Section: ({ maxWidth, children, innerProps, ...props }: SectionProps) => import("react/jsx-runtime").JSX.Element;
28
- export { Section };
29
- //# sourceMappingURL=section.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"section.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/section.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAGrD,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACzB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,WAAW,CAAA;CACzB;AAED,QAAA,MAAM,OAAO,iDAAyD,YAAY,4CA4BjF,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,CAAA"}
@@ -1,37 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- /**
4
- * Section — the page's vertical rhythm, in one place.
5
- *
6
- * Components kept inventing their own vertical story: a margin here, a padding
7
- * there, a `<div style={{marginTop: 64}}>` somewhere else. The result is a page
8
- * whose spacing is the sum of everyone's guesses, and which is never the same
9
- * twice on a phone.
10
- *
11
- * So the page-level spacing decision is made once, from the space scale, and it
12
- * is mobile-first: phone values by default, stepping up past `$gtSm`. A caller
13
- * that writes nothing gets the right answer at every width, which is the point —
14
- * the failure mode being designed out is "had to remember something".
15
- *
16
- * Two boxes, because they do two different jobs and merging them is what breaks:
17
- * the OUTER runs full-bleed and owns the vertical rhythm and the side gutter, so
18
- * a background set on it reaches both edges; the INNER is the centred measure and
19
- * owns `maxWidth`. Put `maxWidth` on the outer box instead and a section can
20
- * never have a full-width background.
21
- */
22
- import { YStack } from '@hanzo/gui';
23
- import { slot } from './slot.js';
24
- const Section = ({ maxWidth = 1200, children, innerProps, ...props }) => (_jsx(YStack, { ...slot('section'), width: "100%",
25
- // Values come from the space scale, never literals — a section spaced in
26
- // raw px drifts from everything else on the page. `$md` is a MAX-width
27
- // query in this config, so the base is the roomy value and the phone steps
28
- // it down; that is the direction every other responsive prop in this
29
- // package is written in ($md/$sm in Field, PageHeader, SiteNav) and mixing
30
- // both directions in one codebase is how a breakpoint ends up applying
31
- // twice.
32
- py: "$11", px: "$6", $md: { py: '$8', px: '$4' }, ...props, children: _jsx(YStack, { ...slot('section-inner'), width: "100%", ...(maxWidth === false ? {} : { maxWidth }),
33
- // The centring. `self: center` is the cross-axis rule a YStack understands
34
- // on web AND native, where `margin: auto` is web-only.
35
- self: "center", ...innerProps, children: children }) }));
36
- export { Section };
37
- //# sourceMappingURL=section.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"section.js","sourceRoot":"","sources":["../../../src/backends/gui/section.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,MAAM,EAAoB,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAS7B,MAAM,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,KAAK,EAAgB,EAAE,EAAE,CAAC,CACrF,KAAC,MAAM,OACD,IAAI,CAAC,SAAS,CAAC,EACnB,KAAK,EAAC,MAAM;IACZ,yEAAyE;IACzE,uEAAuE;IACvE,2EAA2E;IAC3E,qEAAqE;IACrE,2EAA2E;IAC3E,uEAAuE;IACvE,SAAS;IACT,EAAE,EAAC,KAAK,EACR,EAAE,EAAC,IAAI,EACP,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KACvB,KAAK,YAET,KAAC,MAAM,OACD,IAAI,CAAC,eAAe,CAAC,EACzB,KAAK,EAAC,MAAM,KACR,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC5C,2EAA2E;QAC3E,uDAAuD;QACvD,IAAI,EAAC,QAAQ,KACT,UAAU,YAEb,QAAQ,GACF,GACF,CACV,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,CAAA"}
@@ -1,10 +0,0 @@
1
- 'use client';"use strict";
2
- 'use client';
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Separator = void 0;
5
- const jsx_runtime_1 = require("react/jsx-runtime");
6
- /** Separator — a 1px rule on either axis. */
7
- const gui_1 = require("@hanzo/gui");
8
- const slot_1 = require("./slot.cjs");
9
- const Separator = ({ orientation = 'horizontal', decorative: _decorative, ...props }) => ((0, jsx_runtime_1.jsx)(gui_1.Separator, { ...(0, slot_1.slot)('separator'), "data-orientation": orientation, vertical: orientation === 'vertical', borderColor: "$borderColor", ...props }));
10
- exports.Separator = Separator;
@@ -1,11 +0,0 @@
1
- /** Separator — a 1px rule on either axis. */
2
- import { Separator as GuiSeparator } from '@hanzo/gui';
3
- import type { ComponentProps } from 'react';
4
- export type SeparatorProps = Omit<ComponentProps<typeof GuiSeparator>, 'vertical'> & {
5
- orientation?: 'horizontal' | 'vertical';
6
- /** Radix parity — gui separators are always presentational. */
7
- decorative?: boolean;
8
- };
9
- declare const Separator: ({ orientation, decorative: _decorative, ...props }: SeparatorProps) => import("react/jsx-runtime").JSX.Element;
10
- export { Separator };
11
- //# sourceMappingURL=separator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"separator.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/separator.tsx"],"names":[],"mappings":"AAEA,6CAA6C;AAC7C,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAG3C,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,EAAE,UAAU,CAAC,GAAG;IACnF,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACvC,+DAA+D;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,QAAA,MAAM,SAAS,uDAAuE,cAAc,4CAQnG,CAAA;AAED,OAAO,EAAE,SAAS,EAAE,CAAA"}
@@ -1,8 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- /** Separator — a 1px rule on either axis. */
4
- import { Separator as GuiSeparator } from '@hanzo/gui';
5
- import { slot } from './slot.js';
6
- const Separator = ({ orientation = 'horizontal', decorative: _decorative, ...props }) => (_jsx(GuiSeparator, { ...slot('separator'), "data-orientation": orientation, vertical: orientation === 'vertical', borderColor: "$borderColor", ...props }));
7
- export { Separator };
8
- //# sourceMappingURL=separator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"separator.js","sourceRoot":"","sources":["../../../src/backends/gui/separator.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,6CAA6C;AAC7C,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,YAAY,CAAA;AAEtD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAQ7B,MAAM,SAAS,GAAG,CAAC,EAAE,WAAW,GAAG,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,KAAK,EAAkB,EAAE,EAAE,CAAC,CACvG,KAAC,YAAY,OACP,IAAI,CAAC,WAAW,CAAC,sBACH,WAAW,EAC7B,QAAQ,EAAE,WAAW,KAAK,UAAU,EACpC,WAAW,EAAC,cAAc,KACtB,KAAK,GACT,CACH,CAAA;AAED,OAAO,EAAE,SAAS,EAAE,CAAA"}
@@ -1,2 +0,0 @@
1
- export { Section } from '../backends/gui/section.js';
2
- //# sourceMappingURL=Section.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../src/primitives/Section.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Section.js","sourceRoot":"","sources":["../../src/primitives/Section.tsx"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,kEAAkE;AAClE,qEAAqE;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA"}