/// // entropy-ui — shared React Native UI primitives, hooks, services, and auth // screens for Entropy Softworks Expo apps. // // This barrel re-exports the public API surface. Sub-paths // (`@entropy-softworks/ui/screens/auth`, `@entropy-softworks/ui/hooks`, …) are // declared in package.json `exports` for tree-shaking and code-splitting. // // The triple-slash reference above ensures NativeWind's react-native // module augmentation (which adds `className` to View/Text/…) is loaded // when consumers type-check through the package, even when their // project's own `nativewind-env.d.ts` is outside the entropy-ui module // graph (the case under `preserveSymlinks: true`). // Re-exports are deliberately split between the root barrel and the // `screens` sub-path. The root barrel covers everything a typical // consumer needs to render UI (primitives, helpers, hooks, services, // theming, AppConfig context). Auth screens — which transitively // import expo-router, expo-status-bar, expo-haptics and other native- // only Expo modules — are NOT re-exported here. Consumers that render // a full-page auth screen import directly from // `@entropy-softworks/ui/screens/auth`. This split keeps the package // usable in non-Expo bundlers (e.g. WXT/Vite-built browser extensions) // where pulling the screens layer drags an unworkable RN/Expo native // graph into the production bundle. // Re-export wildcards from sub-barrels. The sub-barrels themselves // use explicit named exports (see `components/index.ts`, // `services/index.ts`, etc.) — that is the source of truth for the // package's public surface. Renaming an internal symbol must be a // deliberate edit in the relevant sub-barrel; the root aggregator // follows by definition. // // A future 1.0 release should freeze the public API by snapshotting // `tsc --emitDeclarationOnly` output into `api-snapshot.d.ts` and // gating CI on that snapshot rather than restructuring this barrel // — `export *` + named sub-barrels is the most-common convention in // the React Native ecosystem and switching off it would not improve // drift detection (it would just move drift to the root file). export * from "./components"; export * from "./components/auth"; export * from "./components/settings"; export * from "./context"; export * from "./flags"; export * from "./forms"; export * from "./hooks"; export * from "./services"; export * from "./utils";