Skip to content

Releases

HIG 0.3.0 — market colours, touch-safe CSS and import fixes

Choose a tag to compare

@joeblau joeblau released this 09 Nov 02:17
5e75c3d
  • Every JS export now has a default condition beside import. Jest/jest-expo, require() and Metro's CommonJS resolution can import HIG entries instead of failing with ERR_PACKAGE_PATH_NOT_EXPORTED.
  • @bloxwap/hig/react/css is touch-safe. Every :hover rule now sits behind (hover: hover) and (pointer: fine), so taps no longer leave buttons dimmed or ghost buttons filled. Hosts can delete their sticky-hover overrides, and tests/touch-css.test.ts keeps the gate in place. HIG controls also get no tap highlight, touch-action: manipulation, no long-press selection, :active press feedback, 16px text fields on touch, overscroll containment, and safe-area padding on edge sheets and dialogs.
  • Native market-direction colours: useColors() adds up and down (defaulting to buy/sell), HIGProvider marketColors overrides them and is inherited, and NumberReadout, Usd, Percent and AnimatedNumberReadout accept tone="up" | "down". New types: HIGMarketColors, HIGMarketColorRole and HIGTableColorRole. colorTable() and useBrandColors() now return the table roles only. This replaces the mobile app's local patch of 0.2.0.
  • Native AnimatedNumberReadout hides its underlying reading with clear white (#ffffff00) instead of transparent. Android Fabric reads 0x00000000 as unset and drew that reading in black under the reels.
  • Motion: web button presses ease over 160ms on the standard curve instead of snapping. AnimatedNumberReadout uses the standard HIG curve (tokens.easing.standard) on web and native. Native digit reels mount 20 rows instead of 30, a third less to render per animated place.
  • Native test consumers track Expo SDK 58.0.23, which expects react-native-safe-area-context ~5.11.1, and the peer range now accepts it.
  • Accept @bloxwap/chart 0.4.0: the required peer is now ^0.3.0 || ^0.4.0, and HIG develops, smoke-tests and documents against 0.4.0. Chart 0.4.0 only adds indicator APIs, so PriceChart and chartTheme are unchanged.
  • Pin @bloxwap/font 0.1.4. Its web CSS now loads unicode-range subsets, so pages download only the scripts they render. The variable sources behind @bloxwap/hig/native-fonts and @bloxwap/hig/og-fonts are byte-identical to 0.1.2, so the generated TTFs and their SHA-256 hashes are unchanged; only the manifests' source version changes.
  • The docs site now installs @bloxwap/haptic 0.3.0 and @bloxwap/sfx 0.2.1, inside HIG's supported peer ranges, instead of the older 0.1.0 builds.

HIG 0.1.2 — React Native 0.88 compatibility

Choose a tag to compare

@joeblau joeblau released this 27 Oct 23:19
75f59e0

HIG 0.1.2 adds React Native 0.88 / Expo 58 compatibility while retaining RN 0.81 / Expo 54 and RN 0.83 / Expo 55 support. Native component and focus refs use host-derived ComponentRef types so consumers can remove compatibility casts. All eight packages use the coordinated 0.1.2 version.

Validation includes independent packed TypeScript ref consumers, declared peers, registered font hashes, and regular/gesture/adoption Android and iOS exports on all three profiles. Local package/docs build, lint, type checks, quality, 224 web tests and 180 native tests pass; exact-source GitHub checks provide the release gate.

The owner's 2026-10-27 acceptance record names Joe Blau for adoption and accepts the documented parity, density, motion, routing and historical cost decisions. Six non-English glossary entries remain unapproved under a scoped exception through 2027-01-15. Wallet-session execution and rollback retirement remain HIG #110. Existing physical-device evidence remains a dated owner attestation, not new automated hardware observation.

The eight npm trusted publishers are configured for bloxwap/hig, publish.yml and npm-release. The publication workflow verifies the exact source/tag/package set and hashes, publishes with provenance, and independently checks registry signatures and web/SSR, Next and all three native profiles. Publication and verification completed successfully in run 40601323124. All eight npm publisher identities match the configured GitHub OIDC IDs; exact tarball hashes, registry/provenance signatures, web/SSR, Next hydration/fonts and all three native profiles pass. The unchanged-tag second attempt verified packages after the initial registry visibility delay. registry-verification.json and oidc-publishers.json are attached.

Source: 75f59e0. Previous 0.1.0 and 0.1.1 releases remain immutable.

HIG 0.1.1 — registry adoption and reliable release checks

Choose a tag to compare

@joeblau joeblau released this 24 Oct 05:43
6f4dd06

HIG 0.1.1 is a coordinated patch release of all eight packages: contracts, tokens, React, React Native, feedback, chart, native fonts and OG fonts.

  • Includes the updated Node/dependency toolchain and PostCSS/Brotli security fixes.
  • Derives tarball names, generated documentation and validation reports from the coordinated release version.
  • Isolates browser preview ports, detects preview-process exits and makes keyboard checks consistent across macOS runner preferences.
  • Updates npm installation guidance and records completed consumer migrations and feedback acceptance.

Install matching versions, for example:

npm install @bloxwap/hig-tokens@0.1.1 @bloxwap/hig-contracts@0.1.1 @bloxwap/hig-react@0.1.1

Release gates validate the immutable source, all eight package versions, tarball hashes and independent registry web/SSR, Next and both supported React Native/Expo consumers. Publication uses the existing organization-token workflow; npm trusted publishing remains pending in #147.

This pre-1.0 release retains the owner exceptions through 2027-01-15. Physical acceptance is the existing owner attestation, not a new recorded device test. Product owner decisions and rollback retirement remain tracked by #57 and #110; remaining registry consumer work is #56.

Verification passed: publication and registry-consumer workflow. Release assets include all eight registry tarballs, SHA-256 checksums, the reviewed artifact manifest and the final registry-verification receipt.

Full changes: v0.1.0...v0.1.1

HIG 0.1.0 — configurable primary colors

Choose a tag to compare

@joeblau joeblau released this 23 Oct 14:32
bdf8d07

The first coordinated HIG npm release includes configurable brand accents on web and React Native.

import {HIGProvider} from '@bloxwap/hig-react/provider';
// Native: import {HIGProvider} from '@bloxwap/hig-native/provider';

<HIGProvider primaryColor='#ff0000'>
  <App />
</HIGProvider>

primaryColor accepts opaque sRGB hex (#RGB or #RRGGBB). Bloxwap green remains the default. Nested providers inherit the accent; buttons, links, selection controls, focus rings, portalled overlays and chart crosshair labels follow it. Primary fills receive contrasting black or white labels. Native iOS Display P3 hosts convert the sRGB input into P3 channels.

Status and trading direction colours retain their meanings, and the approved Bloxwap mark keeps its original colours. Includes pink negative/sell and neon-yellow warning roles, plus severity-based callout strokes and glows.

Install the renderer you use:

npm install @bloxwap/hig-react@0.1.0
# or
npm install @bloxwap/hig-native@0.1.0

All eight packages share version 0.1.0: contracts, tokens, React, native, feedback, chart, native fonts and OG fonts. Web hosts import the token and component CSS as documented; native hosts retain their existing peer and font-registration setup.

Validation includes 364 web/native tests, package budgets, independent packed consumers, SSR, browser/visual/accessibility checks, Next builds, and both supported native stacks. The publishing workflow verifies the immutable tag, complete package set and tarball SHA-256 values, then validates independent registry installs.

This is a pre-1.0 release. Review a custom accent's link and focus contrast against the surfaces where it appears; automatic foreground selection applies to primary fills. Remaining v1 parity and production adoption work stays tracked in #57 and #110. Physical-device and font-rasterization acceptance uses the existing owner attestation, separately labelled from automated observations. See release authorization and scoped exceptions.