# @dexteel/mesf-core

A React component library for Dexteel Manufacturing Execution Systems (MES). Provides shared UI components, context providers, services, hooks, and utilities used across Dexteel frontend applications.

## Installation

```bash
npm install @dexteel/mesf-core
```

### Peer Dependencies

This library requires the consuming application to provide the following:

```json
{
  "@emotion/react": "^11.14.0",
  "@emotion/styled": "^11.14.1",
  "@mui/icons-material": "latest-v6",
  "@mui/lab": "latest-v6",
  "@mui/material": "latest-v6",
  "@mui/styles": "latest-v6",
  "@mui/x-data-grid": "latest-v7",
  "@mui/x-date-pickers": "latest-v7",
  "@mui/x-tree-view": "latest-v7",
  "@react-spring/web": "^9.7.5",
  "@reduxjs/toolkit": "^1.6.2",
  "ag-grid-community": "^33.3.1",
  "ag-grid-enterprise": "^33.3.1",
  "ag-grid-react": "^33.3.1",
  "date-fns": "^3.0.0 || ^4.0.0",
  "moment": "^2.29.1",
  "react": "^18.3.1",
  "react-dom": "^18.3.1",
  "react-router-dom": "^6.30.1"
}
```

## Development

```bash
# Install dependencies
npm install

# Build for production
npm run build

# Build in watch mode
npm run watch
# or
npm start

# Type checking
npm run type-check

# Format and organize imports
npx @biomejs/biome check --write ./src
```

## Deploying in Subfolders

When deploying a consuming application into a subfolder, edit the following file in the deployed build:

```
DEPLOY_FOLDER/ClientApp/dist/index.html
```

Change the `<base />` tag to the desired base URL.

**Important:** Always include a trailing slash.

Examples:
- `<base href="/" />` (default)
- `<base href="/old/" />`
- `<base href="/testing/" />`
- `<base href="/old/testing/" />`
