@hanzo/ui 8.0.25 → 8.0.26

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 (54) hide show
  1. package/dist/ThemeToggleNext-AEDLHX5X.js +0 -1
  2. package/dist/ThemeToggleNext-N6ASYJ6J.cjs +0 -1
  3. package/dist/billing.cjs +0 -1
  4. package/dist/billing.js +0 -1
  5. package/dist/canvas.cjs +0 -1
  6. package/dist/canvas.js +0 -1
  7. package/dist/chunk-3NG33DV2.cjs +0 -1
  8. package/dist/chunk-5CZOYONP.js +0 -1
  9. package/dist/chunk-77AMCLN4.js +0 -1
  10. package/dist/chunk-7XDEUEWI.cjs +0 -1
  11. package/dist/chunk-7ZNK6JSS.js +0 -1
  12. package/dist/chunk-ARV3P4CE.cjs +0 -1
  13. package/dist/chunk-FVQXROBK.js +0 -1
  14. package/dist/chunk-GVCOAJLO.js +0 -1
  15. package/dist/chunk-GWNNLYX4.cjs +0 -1
  16. package/dist/chunk-MWBFAV3D.cjs +0 -1
  17. package/dist/chunk-ONVERVFG.cjs +0 -1
  18. package/dist/chunk-P2QU5MN5.js +0 -1
  19. package/dist/chunk-WHJR5S4L.cjs +0 -1
  20. package/dist/chunk-ZGTJCJ55.js +0 -1
  21. package/dist/dashboard.cjs +0 -1
  22. package/dist/dashboard.js +0 -1
  23. package/dist/data.cjs +0 -1
  24. package/dist/data.js +0 -1
  25. package/dist/framework/core.cjs +0 -1
  26. package/dist/framework/core.js +0 -1
  27. package/dist/framework/index.cjs +0 -1
  28. package/dist/framework/index.js +0 -1
  29. package/dist/gitops.cjs +0 -1
  30. package/dist/gitops.js +0 -1
  31. package/dist/gui-config.cjs +0 -1
  32. package/dist/gui-config.js +0 -1
  33. package/dist/index.cjs +0 -1
  34. package/dist/index.js +0 -1
  35. package/dist/network.cjs +0 -1
  36. package/dist/network.js +0 -1
  37. package/dist/oss.cjs +0 -1
  38. package/dist/oss.js +0 -1
  39. package/dist/primitives/bases/data/index.cjs +0 -1
  40. package/dist/primitives/bases/data/index.js +0 -1
  41. package/dist/product/index.cjs +0 -1
  42. package/dist/product/index.js +0 -1
  43. package/dist/product/social/api.cjs +0 -1
  44. package/dist/product/social/api.js +0 -1
  45. package/dist/product/social/index.cjs +0 -1
  46. package/dist/product/social/index.js +0 -1
  47. package/dist/telemetry.cjs +0 -1
  48. package/dist/telemetry.js +0 -1
  49. package/dist/usage.cjs +0 -1
  50. package/dist/usage.js +0 -1
  51. package/dist/wallet.cjs +0 -1
  52. package/dist/wallet.js +0 -1
  53. package/package.json +2 -14
  54. package/dist/styles/hanzo-motion.css +0 -188
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  export { ThemeToggleNext, ThemeToggleNext_default as default } from './chunk-77AMCLN4.js';
3
2
  import './chunk-FVQXROBK.js';
4
3
  //# sourceMappingURL=ThemeToggleNext-AEDLHX5X.js.map
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  Object.defineProperty(exports, '__esModule', { value: true });
package/dist/billing.cjs CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var billing = require('@hanzo/ui-shadcn/billing');
package/dist/billing.js CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  export * from '@hanzo/ui-shadcn/billing';
3
2
  //# sourceMappingURL=billing.js.map
4
3
  //# sourceMappingURL=billing.js.map
package/dist/canvas.cjs CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var canvas = require('@hanzo/canvas');
package/dist/canvas.js CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  export * from '@hanzo/canvas';
3
2
  //# sourceMappingURL=canvas.js.map
4
3
  //# sourceMappingURL=canvas.js.map
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  // src/framework/types.ts
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  import { useEmit, labelOf } from './chunk-FVQXROBK.js';
3
2
  import { YStack, XStack, Text, Theme, useThemeName, Portal, useControllableState, Button } from '@hanzo/gui';
4
3
  import { Check, ChevronRight, ChevronDown } from '@hanzogui/lucide-icons-2';
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  import { useEmit } from './chunk-FVQXROBK.js';
3
2
  import { useThemeSetting } from '@hanzogui/next-theme';
4
3
  import { lazy, useState, Suspense, Component } from 'react';
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var react = require('react');
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  import { PROVIDERS } from './chunk-ZGTJCJ55.js';
3
2
  import { EmptyState, FieldRow, FieldTextArea, FieldSelect, FieldText, PrimaryButton, classifyBackend, PageHeader, BackendStateCard } from './chunk-GVCOAJLO.js';
4
3
  import { useEmit } from './chunk-FVQXROBK.js';
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var chunk7XDEUEWI_cjs = require('./chunk-7XDEUEWI.cjs');
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  import { createContext, useContext, useCallback } from 'react';
3
2
  import { track, EVENTS } from '@hanzogui/telemetry';
4
3
 
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  import { useEmit, textSize, labelOf } from './chunk-FVQXROBK.js';
3
2
  import { createContext, useContext, useSyncExternalStore } from 'react';
4
3
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var chunk7XDEUEWI_cjs = require('./chunk-7XDEUEWI.cjs');
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  // src/product/social/api.ts
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var chunkMWBFAV3D_cjs = require('./chunk-MWBFAV3D.cjs');
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  // src/framework/types.ts
3
2
  var DRAFT = 0;
4
3
  var SUBMITTED = 1;
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var chunk7XDEUEWI_cjs = require('./chunk-7XDEUEWI.cjs');
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  // src/product/social/api.ts
3
2
  var enc = encodeURIComponent;
4
3
  var str = (v) => typeof v === "string" ? v : v == null ? "" : String(v);
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var dashboard = require('@hanzo/dashboard');
package/dist/dashboard.js CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  export * from '@hanzo/dashboard';
3
2
  //# sourceMappingURL=dashboard.js.map
4
3
  //# sourceMappingURL=dashboard.js.map
package/dist/data.cjs CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var data = require('@hanzo/data');
package/dist/data.js CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  export * from '@hanzo/data';
3
2
  //# sourceMappingURL=data.js.map
4
3
  //# sourceMappingURL=data.js.map
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var chunk3NG33DV2_cjs = require('../chunk-3NG33DV2.cjs');
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  export { BUILDER_FIELD_TYPES, CANCELLED, DRAFT, PROJECT_FIELD, REDACTED_MARKER, SUBMITTED, autonameSource, blankField, cardFields, createFrameworkClient, createMediaUploader, docTypeToFields, enrichLinks, fieldNameFromLabel, fieldNeedsOptions, fieldTypeLabel, fieldsFromDocType, hasProjectField, humanize, imageDimensions, isDraft, isMediaDoctype, isRef, isValidDoctypeName, joinKey, linkFields, listHiddenFields, listQuery, listedFieldNames, loadLinkOptions, looksLikeImage, makeFieldOptions, mediaDocPayload, mediaFileField, mediaKey, mediaRef, moduleDoctypes, moveField, newDraft, newKey, parseRef, rows, savePayload, slugify, starterFields, statusField, titleOf, toDocField, toDocType, toRecord, validateBuilder } from '../chunk-P2QU5MN5.js';
3
2
  //# sourceMappingURL=core.js.map
4
3
  //# sourceMappingURL=core.js.map
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var chunkGWNNLYX4_cjs = require('../chunk-GWNNLYX4.cjs');
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  import { SelectMenu } from '../chunk-5CZOYONP.js';
3
2
  import { PrimaryButton, classifyBackend, FieldSwitch, PageHeader, BackendStateCard, EmptyState } from '../chunk-GVCOAJLO.js';
4
3
  import '../chunk-FVQXROBK.js';
package/dist/gitops.cjs CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var cd = require('@hanzo/cd');
package/dist/gitops.js CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  export * from '@hanzo/cd';
3
2
  //# sourceMappingURL=gitops.js.map
4
3
  //# sourceMappingURL=gitops.js.map
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  import { defaultConfig } from '@hanzogui/config/v5';
3
2
  import { createGui } from '@hanzo/gui';
4
3
 
package/dist/index.cjs CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var AspectRatioPrimitive = require('@radix-ui/react-aspect-ratio');
package/dist/index.js CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
3
2
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
3
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
package/dist/network.cjs CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var network = require('@hanzo/ui-shadcn/network');
package/dist/network.js CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  export * from '@hanzo/ui-shadcn/network';
3
2
  //# sourceMappingURL=network.js.map
4
3
  //# sourceMappingURL=network.js.map
package/dist/oss.cjs CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  // src/oss/catalog.ts
package/dist/oss.js CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  // src/oss/catalog.ts
3
2
  var str = (v) => typeof v === "string" ? v : "";
4
3
  var strTrim = (v) => {
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var data = require('@hanzo/data');
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  export * from '@hanzo/data';
3
2
  //# sourceMappingURL=index.js.map
4
3
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var chunkARV3P4CE_cjs = require('../chunk-ARV3P4CE.cjs');
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  import { ThemeToggle } from '../chunk-77AMCLN4.js';
3
2
  export { AgnosticThemeToggle, ThemeToggle, ThemeToggleNext } from '../chunk-77AMCLN4.js';
4
3
  import { DataTable, asColor } from '../chunk-7ZNK6JSS.js';
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var chunkMWBFAV3D_cjs = require('../../chunk-MWBFAV3D.cjs');
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  export { ACCOUNT_STATUSES, POST_STATUSES, PROVIDERS, createSocialApi, normalizeAccount, normalizeAccounts, normalizePost, normalizePosts, normalizeProviderCapability, normalizeProviders, normalizeSummary } from '../../chunk-ZGTJCJ55.js';
3
2
  //# sourceMappingURL=api.js.map
4
3
  //# sourceMappingURL=api.js.map
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var chunkONVERVFG_cjs = require('../../chunk-ONVERVFG.cjs');
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  export { COMPOSE_MODES, CampaignCard, ChannelBadge, PostAgenda, PostCard, PostComposer, ProviderReadinessList, SocialResource, SocialSummaryBar, ViewToggle, formatPostTime, parsePostTime, postDayBucket, postPreview } from '../../chunk-7ZNK6JSS.js';
3
2
  export { ACCOUNT_STATUSES, POST_STATUSES, PROVIDERS, createSocialApi, normalizeAccount, normalizeAccounts, normalizePost, normalizePosts, normalizeProviderCapability, normalizeProviders, normalizeSummary } from '../../chunk-ZGTJCJ55.js';
4
3
  import '../../chunk-GVCOAJLO.js';
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var telemetry = require('@hanzogui/telemetry');
package/dist/telemetry.js CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  export * from '@hanzogui/telemetry';
3
2
  //# sourceMappingURL=telemetry.js.map
4
3
  //# sourceMappingURL=telemetry.js.map
package/dist/usage.cjs CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var usage = require('@hanzo/usage');
package/dist/usage.js CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  export * from '@hanzo/usage';
3
2
  //# sourceMappingURL=usage.js.map
4
3
  //# sourceMappingURL=usage.js.map
package/dist/wallet.cjs CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  'use strict';
3
2
 
4
3
  var wallet = require('@hanzo/ui-shadcn/wallet');
package/dist/wallet.js CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  export * from '@hanzo/ui-shadcn/wallet';
3
2
  //# sourceMappingURL=wallet.js.map
4
3
  //# sourceMappingURL=wallet.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hanzo/ui",
3
- "version": "8.0.25",
3
+ "version": "8.0.26",
4
4
  "type": "module",
5
5
  "description": "Hanzo UI — the one canonical, backend-flexible component library on @hanzo/gui + @hanzo/tokens. A shared design core (Hanzo dark-first tokens, Geist Sans/Mono typography) with per-backend implementations: the shadcn-compatible web surface (Radix + Tailwind, the API apps import) and the @hanzo/gui product layer (cross-platform web + native + desktop). Self-contained (theme.css), presentational, host-agnostic, clean-room.",
6
6
  "exports": {
@@ -18,11 +18,6 @@
18
18
  "types": "./src/backends/gui/index.ts",
19
19
  "default": "./src/backends/gui/index.ts"
20
20
  },
21
- "./svelte": {
22
- "svelte": "./src/backends/svelte/index.ts",
23
- "types": "./src/backends/svelte/index.ts",
24
- "default": "./src/backends/svelte/index.ts"
25
- },
26
21
  "./components": {
27
22
  "types": "./src/components.ts",
28
23
  "default": "./src/components.ts"
@@ -205,13 +200,9 @@
205
200
  "@hanzogui/next-theme": ">=7.3.0",
206
201
  "next-themes": ">=0.2.1",
207
202
  "react": ">=19",
208
- "react-dom": ">=19",
209
- "svelte": ">=5"
203
+ "react-dom": ">=19"
210
204
  },
211
205
  "peerDependenciesMeta": {
212
- "svelte": {
213
- "optional": true
214
- },
215
206
  "@hanzo/canvas": {
216
207
  "optional": true
217
208
  },
@@ -247,8 +238,6 @@
247
238
  "next-themes": "^0.4.6",
248
239
  "react": "^19.0.0",
249
240
  "react-dom": "^19.0.0",
250
- "svelte": "^4.2.20",
251
- "svelte-check": "^3.8.6",
252
241
  "typescript": "^5.7.2",
253
242
  "vitest": "^4.1.8",
254
243
  "react-native-web": "^0.21.2",
@@ -266,7 +255,6 @@
266
255
  "tc": "tsc --noEmit",
267
256
  "typecheck": "tsc --noEmit",
268
257
  "typecheck:ui": "tsc -p tsconfig.check.json",
269
- "check:svelte": "svelte-check --tsconfig ./tsconfig.svelte.json",
270
258
  "test": "vitest run",
271
259
  "test:watch": "vitest"
272
260
  }
@@ -1,188 +0,0 @@
1
- /* @hanzo/ui motion primitives — the calm, restrained animation vocabulary the
2
- Hanzo surfaces share. One place defines the easing; components apply the class.
3
- `className` forwards to the underlying DOM node on web, so the browser
4
- transitions the Gui-driven inline width/transform/opacity. Every animation is
5
- guarded by `prefers-reduced-motion: reduce`.
6
-
7
- Import once at the app root: import '@hanzo/ui/styles/motion.css' */
8
-
9
- /* Fade-up entrance — <FadeIn> applies the class + a per-item stagger delay.
10
- ~0.4s ease-out, small upward travel (matches the hanzo.ai marketing feel). */
11
- @keyframes hz-fade-up {
12
- from {
13
- opacity: 0;
14
- transform: translateY(10px);
15
- }
16
- to {
17
- opacity: 1;
18
- transform: translateY(0);
19
- }
20
- }
21
-
22
- .hz-fade-up {
23
- animation: hz-fade-up 0.4s cubic-bezier(0.16, 1, 0.3, 1) both;
24
- will-change: transform, opacity;
25
- }
26
-
27
- @media (prefers-reduced-motion: reduce) {
28
- .hz-fade-up {
29
- animation: none;
30
- }
31
- }
32
-
33
- /* Shell chrome motion — sidebar collapse (width) and the Linear-style two-level
34
- nav slide (transform); backdrop cross-fade behind a SlideOver / dialog. */
35
- .hz-collapse {
36
- transition: width 220ms cubic-bezier(0.16, 1, 0.3, 1);
37
- will-change: width;
38
- }
39
-
40
- .hz-slide {
41
- transition: transform 260ms cubic-bezier(0.16, 1, 0.3, 1);
42
- will-change: transform;
43
- }
44
-
45
- .hz-fade {
46
- transition: opacity 240ms cubic-bezier(0.16, 1, 0.3, 1);
47
- will-change: opacity;
48
- }
49
-
50
- /* Drag-to-reorder — a pinned row while it is being dragged (pointer DnD). The
51
- lifted row gets a subtle lift; siblings ease into place via `.hz-slide`. */
52
- .hz-drag-item {
53
- touch-action: none;
54
- transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1);
55
- }
56
- .hz-drag-item[data-dragging='true'] {
57
- transition: none;
58
- box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
59
- opacity: 0.96;
60
- cursor: grabbing;
61
- }
62
-
63
- @media (prefers-reduced-motion: reduce) {
64
- .hz-collapse,
65
- .hz-slide,
66
- .hz-fade,
67
- .hz-drag-item {
68
- transition: none;
69
- }
70
- }
71
-
72
- /* Living-overview motion — the "videogame-like" living dashboard. The count-up +
73
- live sparkline are driven in JS (rAF, gated by prefers-reduced-motion in the
74
- hooks); these are the pure-CSS bits: a loading shimmer, a live-feed pulse, and
75
- a brief highlight when a freshly-arrived row lands. */
76
-
77
- /* Skeleton shimmer — an honest "loading", never fabricated content. */
78
- @keyframes hz-shimmer {
79
- 0% {
80
- background-position: -160px 0;
81
- }
82
- 100% {
83
- background-position: 160px 0;
84
- }
85
- }
86
-
87
- .hz-skeleton {
88
- background-color: var(--color3, rgba(148, 163, 184, 0.14));
89
- background-image: linear-gradient(
90
- 90deg,
91
- transparent 0%,
92
- var(--color4, rgba(148, 163, 184, 0.22)) 50%,
93
- transparent 100%
94
- );
95
- background-size: 160px 100%;
96
- background-repeat: no-repeat;
97
- animation: hz-shimmer 1.2s ease-in-out infinite;
98
- }
99
-
100
- /* Live-feed pulse — the "Live" dot on a streaming panel. */
101
- @keyframes hz-pulse {
102
- 0%,
103
- 100% {
104
- opacity: 1;
105
- transform: scale(1);
106
- }
107
- 50% {
108
- opacity: 0.45;
109
- transform: scale(0.82);
110
- }
111
- }
112
-
113
- /* Entrance for a freshly-arrived activity row (staggerless — one row at a time). */
114
- @keyframes hz-row-in {
115
- from {
116
- opacity: 0;
117
- transform: translateY(-6px);
118
- }
119
- to {
120
- opacity: 1;
121
- transform: translateY(0);
122
- }
123
- }
124
-
125
- .hz-row-in {
126
- animation: hz-row-in 0.35s cubic-bezier(0.16, 1, 0.3, 1) both;
127
- }
128
-
129
- @media (prefers-reduced-motion: reduce) {
130
- .hz-skeleton {
131
- animation: none;
132
- }
133
- .hz-row-in {
134
- animation: none;
135
- }
136
- }
137
-
138
- /* ── Typography + surface classes the product layer's components reference ──────
139
- DataTable/Metric typeset numeric cells with `hz-mono`/`hz-tnum`; ComboBox and
140
- SelectMenu paint their popovers with `hz-paper hz-menu-in`; DataTable rows use
141
- `hz-row`. They travel WITH the components (this is the package's one stylesheet)
142
- so any host that imports `@hanzo/ui/styles/motion.css` renders them correctly.
143
- The elevation/ring variables fall back to sane values, so a host that defines its
144
- own `--hz-*` theme tokens (the console does) still wins. */
145
-
146
- .hz-tnum {
147
- font-variant-numeric: tabular-nums;
148
- font-feature-settings: 'tnum' 1;
149
- }
150
-
151
- /* Data/numeric face — Geist Mono + tabular figures for metric values, prices, IDs
152
- and counts, so numbers read as precise, column-aligned data. */
153
- .hz-mono {
154
- font-family: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
155
- font-variant-numeric: tabular-nums;
156
- font-feature-settings: 'tnum' 1;
157
- letter-spacing: -0.01em;
158
- }
159
-
160
- .hz-paper {
161
- box-shadow: var(--hz-ring, inset 0 0 0 1px rgba(255, 255, 255, 0.08)),
162
- var(--hz-paper-highlight, inset 0 1px 0 0 rgba(255, 255, 255, 0.05)),
163
- var(--hz-elevation-3, 0 8px 24px rgba(0, 0, 0, 0.36));
164
- }
165
-
166
- @keyframes hz-menu-in {
167
- from {
168
- opacity: 0;
169
- }
170
- to {
171
- opacity: 1;
172
- }
173
- }
174
-
175
- .hz-menu-in {
176
- animation: hz-menu-in 140ms ease-out both;
177
- will-change: opacity;
178
- }
179
-
180
- .hz-row {
181
- transition: background-color 140ms ease-out;
182
- }
183
-
184
- @media (prefers-reduced-motion: reduce) {
185
- .hz-menu-in {
186
- animation: none;
187
- }
188
- }