open-index/open-npm huggingface dataset:
npm package: @hadyd/bo-core
Description: Backoffice-first UI library built on top of Mantine. It ships a shared theme, a provider to wire it up, and a single import surface for components.
Latest version: 0.1.2

# Backoffice UI Library

Backoffice-first UI library built on top of Mantine. It ships a shared theme, a provider to wire it up, and a single import surface for components.

## Features
- Components for internal backoffice apps.
- `CoreProvider` merges the base backoffice theme with optional project overrides.
- One-line style entry: `import '@hadyd/bo-core/styles'`.
- You can import everything from `@hadyd/bo-core`.

## Installation
```bash
npm install @hadyd/bo-core \
  @mantine/core @mantine/hooks @mantine/notifications @mantine/code-highlight \
  react react-dom
```

## Usage
Import the bundled styles once, wrap your app with the provider, and consume Mantine components from this package.

```tsx
import '@hadyd/bo-core/styles';
import { CoreProvider, Button, Text } from '@hadyd/bo-core';

export function App() {
  return (
    <CoreProvider>
      <Button variant="filled">Save changes</Button>
      <Text c="dimmed">Backoffice UI stays consistent out of the box.</Text>
    </CoreProvider>
  );
}
```

### Theme overrides
The default theme is with an orange primary color. You can extend or override it with any theme values:

```tsx
import { CoreProvider, type MantineThemeOverride } from '@hadyd/bo-core';

const theme: MantineThemeOverride = {
  primaryColor: 'brand',
  colors: {
    brand: ['#FFF4E6', '#FFD8A8', '#FF922B', '#F76707', '#D9480F', '#BF360C'],
  },
};

export function App() {
  return <CoreProvider theme={theme}>{/* routes */}</CoreProvider>;
}
```

### Exports
- Components, hooks, and utilities (`@mantine/core`, `@mantine/hooks`, `@mantine/notifications`, `@mantine/code-highlight`).
- `CoreProvider` and `coreTheme` for consistent theming.
- `@hadyd/bo-core/styles` to pull in all required CSS.

## Local development
- Install deps at the repo root: `npm install`
- Develop this package: `npm run dev:bo-core`
- Build this package: `npm run build:bo-core`