# Provider

The provider surface composes the shared Elevasis service, system, appearance, notification, and UI providers.

## Exports

The following are exported from `published.ts`, which is the external consumer surface for `@elevasis/ui/provider`:

- `ElevasisCoreProvider`
- `ElevasisSystemsProvider`
- `useElevasisSystems`
- `useOptionalElevasisSystems`
- `SystemShell`
- `AppearanceProvider`
- `useAppearance`
- `ElevasisServiceProvider`
- `useElevasisServices`
- `NotificationProvider`
- `useNotificationAdapter`
- Related provider and service types

Note: `ElevasisUIProvider` (the Mantine-facing visual layer) is available internally via `@repo/ui` but is NOT exported from the published `@elevasis/ui/provider` subpath. It is only available via the internal `./provider/ui` monorepo subpath.

## Related Published Subpaths

- `./provider` - headless providers (points to `published.ts`; no Mantine dependency)
- `./provider/ui` - full provider including Mantine-dependent `ElevasisUIProvider` (internal monorepo use; also published for consumers that opt in)

## Notes

- `published.ts` is the external consumer surface for `@elevasis/ui/provider`.
- `ElevasisUIProvider` is Mantine-dependent and available only via `@repo/ui` internally or `@elevasis/ui/provider/ui`; it is not included in the headless `./provider` published export.
