@hanzo/gui 8.1.0 → 8.2.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hanzo/gui",
3
- "version": "8.1.0",
3
+ "version": "8.2.0",
4
4
  "gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
5
5
  "description": "Style and UI for React (web and native) meet an optimizing compiler",
6
6
  "repository": {
@@ -101,73 +101,74 @@
101
101
  "test": "node --test css-check.test.mjs"
102
102
  },
103
103
  "dependencies": {
104
- "@hanzogui/accordion": "8.1.0",
105
- "@hanzogui/adapt": "8.1.0",
106
- "@hanzogui/alert-dialog": "8.1.0",
107
- "@hanzogui/animate": "8.1.0",
108
- "@hanzogui/animate-presence": "8.1.0",
109
- "@hanzogui/avatar": "8.1.0",
110
- "@hanzogui/button": "8.1.0",
111
- "@hanzogui/card": "8.1.0",
112
- "@hanzogui/checkbox": "8.1.0",
113
- "@hanzogui/collapsible": "8.1.0",
114
- "@hanzogui/component-helpers": "8.1.0",
115
- "@hanzogui/compose-refs": "8.1.0",
116
- "@hanzogui/constants": "8.1.0",
117
- "@hanzogui/context-menu": "8.1.0",
118
- "@hanzogui/core": "8.1.0",
119
- "@hanzogui/create-context": "8.1.0",
120
- "@hanzogui/create-menu": "8.1.0",
121
- "@hanzogui/dialog": "8.1.0",
122
- "@hanzogui/element": "8.1.0",
123
- "@hanzogui/elements": "8.1.0",
124
- "@hanzogui/fake-react-native": "8.1.0",
125
- "@hanzogui/focusable": "8.1.0",
126
- "@hanzogui/font-size": "8.1.0",
127
- "@hanzogui/form": "8.1.0",
128
- "@hanzogui/get-button-sized": "8.1.0",
129
- "@hanzogui/get-font-sized": "8.1.0",
130
- "@hanzogui/get-token": "8.1.0",
131
- "@hanzogui/group": "8.1.0",
132
- "@hanzogui/image": "8.1.0",
133
- "@hanzogui/input": "8.1.0",
134
- "@hanzogui/label": "8.1.0",
135
- "@hanzogui/linear-gradient": "8.1.0",
136
- "@hanzogui/list-item": "8.1.0",
137
- "@hanzogui/menu": "8.1.0",
138
- "@hanzogui/polyfill-dev": "8.1.0",
139
- "@hanzogui/popover": "8.1.0",
140
- "@hanzogui/popper": "8.1.0",
141
- "@hanzogui/portal": "8.1.0",
142
- "@hanzogui/progress": "8.1.0",
143
- "@hanzogui/radio-group": "8.1.0",
144
- "@hanzogui/react-native-media-driver": "8.1.0",
145
- "@hanzogui/scroll-view": "8.1.0",
146
- "@hanzogui/select": "8.1.0",
147
- "@hanzogui/separator": "8.1.0",
148
- "@hanzogui/shapes": "8.1.0",
149
- "@hanzogui/sheet": "8.1.0",
150
- "@hanzogui/slider": "8.1.0",
151
- "@hanzogui/spacer": "8.1.0",
152
- "@hanzogui/spinner": "8.1.0",
153
- "@hanzogui/stacks": "8.1.0",
154
- "@hanzogui/switch": "8.1.0",
155
- "@hanzogui/tabs": "8.1.0",
156
- "@hanzogui/text": "8.1.0",
157
- "@hanzogui/theme": "8.1.0",
158
- "@hanzogui/toast": "8.1.0",
159
- "@hanzogui/toggle-group": "8.1.0",
160
- "@hanzogui/tooltip": "8.1.0",
161
- "@hanzogui/use-controllable-state": "8.1.0",
162
- "@hanzogui/use-debounce": "8.1.0",
163
- "@hanzogui/use-force-update": "8.1.0",
164
- "@hanzogui/use-window-dimensions": "8.1.0",
165
- "@hanzogui/visually-hidden": "8.1.0",
166
- "@hanzogui/web": "8.1.0",
167
- "@hanzogui/z-index-stack": "8.1.0"
104
+ "@hanzogui/accordion": "8.2.0",
105
+ "@hanzogui/adapt": "8.2.0",
106
+ "@hanzogui/alert-dialog": "8.2.0",
107
+ "@hanzogui/animate": "8.2.0",
108
+ "@hanzogui/animate-presence": "8.2.0",
109
+ "@hanzogui/avatar": "8.2.0",
110
+ "@hanzogui/button": "8.2.0",
111
+ "@hanzogui/card": "8.2.0",
112
+ "@hanzogui/checkbox": "8.2.0",
113
+ "@hanzogui/collapsible": "8.2.0",
114
+ "@hanzogui/component-helpers": "8.2.0",
115
+ "@hanzogui/compose-refs": "8.2.0",
116
+ "@hanzogui/constants": "8.2.0",
117
+ "@hanzogui/context-menu": "8.2.0",
118
+ "@hanzogui/core": "8.2.0",
119
+ "@hanzogui/create-context": "8.2.0",
120
+ "@hanzogui/create-menu": "8.2.0",
121
+ "@hanzogui/dialog": "8.2.0",
122
+ "@hanzogui/element": "8.2.0",
123
+ "@hanzogui/elements": "8.2.0",
124
+ "@hanzogui/fake-react-native": "8.2.0",
125
+ "@hanzogui/focusable": "8.2.0",
126
+ "@hanzogui/font-size": "8.2.0",
127
+ "@hanzogui/form": "8.2.0",
128
+ "@hanzogui/get-button-sized": "8.2.0",
129
+ "@hanzogui/get-font-sized": "8.2.0",
130
+ "@hanzogui/get-token": "8.2.0",
131
+ "@hanzogui/group": "8.2.0",
132
+ "@hanzogui/image": "8.2.0",
133
+ "@hanzogui/input": "8.2.0",
134
+ "@hanzogui/label": "8.2.0",
135
+ "@hanzogui/linear-gradient": "8.2.0",
136
+ "@hanzogui/list-item": "8.2.0",
137
+ "@hanzogui/menu": "8.2.0",
138
+ "@hanzogui/polyfill-dev": "8.2.0",
139
+ "@hanzogui/popover": "8.2.0",
140
+ "@hanzogui/popper": "8.2.0",
141
+ "@hanzogui/portal": "8.2.0",
142
+ "@hanzogui/progress": "8.2.0",
143
+ "@hanzogui/radio-group": "8.2.0",
144
+ "@hanzogui/react-native-media-driver": "8.2.0",
145
+ "@hanzogui/scroll-view": "8.2.0",
146
+ "@hanzogui/select": "8.2.0",
147
+ "@hanzogui/separator": "8.2.0",
148
+ "@hanzogui/shapes": "8.2.0",
149
+ "@hanzogui/sheet": "8.2.0",
150
+ "@hanzogui/slider": "8.2.0",
151
+ "@hanzogui/spacer": "8.2.0",
152
+ "@hanzogui/spinner": "8.2.0",
153
+ "@hanzogui/stacks": "8.2.0",
154
+ "@hanzogui/switch": "8.2.0",
155
+ "@hanzogui/tabs": "8.2.0",
156
+ "@hanzogui/telemetry": "8.2.0",
157
+ "@hanzogui/text": "8.2.0",
158
+ "@hanzogui/theme": "8.2.0",
159
+ "@hanzogui/toast": "8.2.0",
160
+ "@hanzogui/toggle-group": "8.2.0",
161
+ "@hanzogui/tooltip": "8.2.0",
162
+ "@hanzogui/use-controllable-state": "8.2.0",
163
+ "@hanzogui/use-debounce": "8.2.0",
164
+ "@hanzogui/use-force-update": "8.2.0",
165
+ "@hanzogui/use-window-dimensions": "8.2.0",
166
+ "@hanzogui/visually-hidden": "8.2.0",
167
+ "@hanzogui/web": "8.2.0",
168
+ "@hanzogui/z-index-stack": "8.2.0"
168
169
  },
169
170
  "devDependencies": {
170
- "@hanzogui/build": "8.1.0",
171
+ "@hanzogui/build": "8.2.0",
171
172
  "react": ">=19",
172
173
  "react-native": "0.83.2",
173
174
  "react-native-web": "^0.21.0"
package/src/index.ts CHANGED
@@ -112,7 +112,10 @@ export type {
112
112
  GuiCustomConfig,
113
113
  GuiElement,
114
114
  GuiInternalConfig,
115
- GuiProviderProps,
115
+ // GuiProviderProps is NOT re-exported from core here: ./views/GuiProvider
116
+ // exports the one for THIS package's provider, which is the core props plus
117
+ // `telemetry`. Two exports of one name would silently hand callers the
118
+ // narrower type and make the telemetry prop look like a mistake.
116
119
  GuiSettings,
117
120
  GuiTextElement,
118
121
  TextNonStyleProps,
@@ -1,14 +1,54 @@
1
- import type { GuiProviderProps } from '@hanzogui/core'
1
+ import type { GuiProviderProps as CoreGuiProviderProps } from '@hanzogui/core'
2
2
  import { GuiProvider as OGProvider } from '@hanzogui/core'
3
3
  import { PortalProvider } from '@hanzogui/portal'
4
+ import { TelemetryProvider, type TelemetryConfig } from '@hanzogui/telemetry'
4
5
  import { ZIndexStackContext } from '@hanzogui/z-index-stack'
5
6
 
6
- export const GuiProvider = ({ children, ...props }: GuiProviderProps) => {
7
- return (
7
+ /** Telemetry posture for a gui app.
8
+ *
9
+ * Omit it and you get telemetry: pageviews, unhandled errors, React render
10
+ * errors and interaction capture, POSTed to the one Hanzo endpoint
11
+ * (`api.hanzo.ai/v1/event`), with the product name inferred from the runtime
12
+ * and the publishable ingest key read from the environment. Nothing to wire,
13
+ * on web, on desktop and on native alike.
14
+ *
15
+ * Pass an object to shape it (`product`, `ingestKey`, `host`, `consent`,
16
+ * `replay`, …), or `false` to mount nothing at all. */
17
+ export type GuiTelemetry = boolean | TelemetryConfig
18
+
19
+ /** An intersection, not `interface … extends`: the core props are a mapped
20
+ * `Omit<…> &` type, and extending that loses members (`children` among them). */
21
+ export type GuiProviderProps = CoreGuiProviderProps & {
22
+ /** See {@link GuiTelemetry}. Defaults to on. */
23
+ telemetry?: GuiTelemetry
24
+ }
25
+
26
+ export const GuiProvider = ({ children, telemetry, ...props }: GuiProviderProps) => {
27
+ const tree = (
8
28
  <OGProvider {...props}>
9
29
  <ZIndexStackContext.Provider value={1}>
10
30
  <PortalProvider shouldAddRootHost>{children}</PortalProvider>
11
31
  </ZIndexStackContext.Provider>
12
32
  </OGProvider>
13
33
  )
34
+
35
+ if (telemetry === false) return tree
36
+
37
+ // OUTSIDE the gui tree, deliberately: the boundary inside TelemetryProvider is
38
+ // the only thing that can observe a crash in gui's own render, and it re-throws
39
+ // afterwards so the app's error UI still decides what the user sees.
40
+ //
41
+ // `owner="gui"` is what makes this safe to mount for EVERY app. It collects
42
+ // only while nothing else is collecting: an app that mounts its own
43
+ // <AnalyticsProvider> or <TelemetryProvider> — above this or below it, at
44
+ // startup or on a lazy route — takes the stream, and this one goes inert. One
45
+ // client, one stream, never two.
46
+ return (
47
+ <TelemetryProvider
48
+ owner="gui"
49
+ {...(typeof telemetry === 'object' ? telemetry : null)}
50
+ >
51
+ {tree}
52
+ </TelemetryProvider>
53
+ )
14
54
  }
package/types/index.d.ts CHANGED
@@ -59,6 +59,6 @@ export * from './views/Fieldset';
59
59
  export * from '@hanzogui/input';
60
60
  export * from '@hanzogui/spinner';
61
61
  export * from './views/Text';
62
- export type { TransitionKeys, TransitionProp, ColorTokens, CreateGuiConfig, CreateGuiProps, FontColorTokens, FontLanguages, FontLetterSpacingTokens, FontLineHeightTokens, FontFamilyTokens, FontSizeTokens, FontStyleTokens, FontTokens, FontTransformTokens, FontWeightTokens, GenericFont, GenericStackVariants, GenericGuiConfig, GenericTextVariants, GetAnimationKeys, GetProps, GetRef, GetThemeValueForKey, GroupNames, Longhands, Media, MediaPropKeys, MediaQueries, MediaQueryState, RadiusTokens, Shorthands, SizeTokens, SpaceTokens, SpecificTokens, StackNonStyleProps, ViewProps, StaticConfig, Styleable, GuiBaseTheme, GuiBuildOptions, GuiComponent, GuiConfig, GuiCustomConfig, GuiElement, GuiInternalConfig, GuiProviderProps, GuiSettings, GuiTextElement, TextNonStyleProps, TextProps, ThemeKeys, ThemeName, ThemeParsed, ThemeProps, Themes, ThemeTokens, ThemeValueFallback, Token, Tokens, TypeOverride, Variable, VariantSpreadExtras, VariantSpreadFunction, ZIndexTokens, ViewStyle, TextStyle, } from '@hanzogui/core';
62
+ export type { TransitionKeys, TransitionProp, ColorTokens, CreateGuiConfig, CreateGuiProps, FontColorTokens, FontLanguages, FontLetterSpacingTokens, FontLineHeightTokens, FontFamilyTokens, FontSizeTokens, FontStyleTokens, FontTokens, FontTransformTokens, FontWeightTokens, GenericFont, GenericStackVariants, GenericGuiConfig, GenericTextVariants, GetAnimationKeys, GetProps, GetRef, GetThemeValueForKey, GroupNames, Longhands, Media, MediaPropKeys, MediaQueries, MediaQueryState, RadiusTokens, Shorthands, SizeTokens, SpaceTokens, SpecificTokens, StackNonStyleProps, ViewProps, StaticConfig, Styleable, GuiBaseTheme, GuiBuildOptions, GuiComponent, GuiConfig, GuiCustomConfig, GuiElement, GuiInternalConfig, GuiSettings, GuiTextElement, TextNonStyleProps, TextProps, ThemeKeys, ThemeName, ThemeParsed, ThemeProps, Themes, ThemeTokens, ThemeValueFallback, Token, Tokens, TypeOverride, Variable, VariantSpreadExtras, VariantSpreadFunction, ZIndexTokens, ViewStyle, TextStyle, } from '@hanzogui/core';
63
63
  export { ClientOnly, Configuration, ComponentContext, GroupContext, FontLanguage, Theme, View, createComponent, createFont, createShorthands, createStyledContext, createTokens, createVariable, getConfig, getMedia, getCSSStylesAtomic, getThemes, getToken, getTokenValue, getTokens, getVariable, getVariableName, getVariableValue, insertFont, setConfig, setupDev, _withStableStyle, isBrowser, isChrome, isClient, isServer, isGuiComponent, isGuiElement, isTouchable, isVariable, isWeb, isWebTouchable, matchMedia, mediaObjectToString, mediaQueryConfig, mediaState, setOnLayoutStrategy, styled, themeable, useClientValue, useDidFinishSSR, useEvent, useGet, useIsTouchDevice, useIsomorphicLayoutEffect, useMedia, useProps, usePropsAndStyle, useStyle, useConfiguration, useTheme, useThemeName, variableToString, withStaticProperties, } from '@hanzogui/core';
64
64
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,21 @@
1
- import type { GuiProviderProps } from '@hanzogui/core';
2
- export declare const GuiProvider: ({ children, ...props }: GuiProviderProps) => import("react/jsx-runtime").JSX.Element;
1
+ import type { GuiProviderProps as CoreGuiProviderProps } from '@hanzogui/core';
2
+ import { type TelemetryConfig } from '@hanzogui/telemetry';
3
+ /** Telemetry posture for a gui app.
4
+ *
5
+ * Omit it and you get telemetry: pageviews, unhandled errors, React render
6
+ * errors and interaction capture, POSTed to the one Hanzo endpoint
7
+ * (`api.hanzo.ai/v1/event`), with the product name inferred from the runtime
8
+ * and the publishable ingest key read from the environment. Nothing to wire,
9
+ * on web, on desktop and on native alike.
10
+ *
11
+ * Pass an object to shape it (`product`, `ingestKey`, `host`, `consent`,
12
+ * `replay`, …), or `false` to mount nothing at all. */
13
+ export type GuiTelemetry = boolean | TelemetryConfig;
14
+ /** An intersection, not `interface … extends`: the core props are a mapped
15
+ * `Omit<…> &` type, and extending that loses members (`children` among them). */
16
+ export type GuiProviderProps = CoreGuiProviderProps & {
17
+ /** See {@link GuiTelemetry}. Defaults to on. */
18
+ telemetry?: GuiTelemetry;
19
+ };
20
+ export declare const GuiProvider: ({ children, telemetry, ...props }: GuiProviderProps) => import("react/jsx-runtime").JSX.Element;
3
21
  //# sourceMappingURL=GuiProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GuiProvider.d.ts","sourceRoot":"","sources":["../../src/views/GuiProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAKtD,eAAO,MAAM,WAAW,GAAI,wBAAwB,gBAAgB,4CAQnE,CAAA"}
1
+ {"version":3,"file":"GuiProvider.d.ts","sourceRoot":"","sources":["../../src/views/GuiProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAG9E,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAG7E;;;;;;;;;wDASwD;AACxD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,eAAe,CAAA;AAEpD;kFACkF;AAClF,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG;IACpD,gDAAgD;IAChD,SAAS,CAAC,EAAE,YAAY,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,mCAAmC,gBAAgB,4CA4B9E,CAAA"}