# @lightning-out/application

Lightning Out 2.0 for Salesforce - embed Lightning components in any web application.

## Installation

```bash
npm install @lightning-out/application
```

## Module Formats

This package is distributed in multiple formats:

- **ES Modules**: `import { initialize } from '@lightning-out/application';`
- **CommonJS**: `const { initialize } = require('@lightning-out/application');`
- **UMD**: `<script src="https://unpkg.com/@lightning-out/application/dist/index.umd.min.js"></script>`

## Tree Shaking Support

This package supports tree shaking, allowing bundlers to eliminate unused code for smaller bundle sizes.

## Usage

### Basic Usage

```javascript
import { LOApplication, LOComponent } from '@lightning-out/application';

// Create and configure a Lightning Out application
const app = new LOApplication();
app.setAttribute('endpoint', 'https://your-salesforce-community-url');
app.setAttribute('namespace', 'your-namespace');
document.body.appendChild(app);

// Create a Lightning component with attributes
const component = new LOComponent();
component.setAttribute('name', 'namespace:componentName');
component.setAttribute('attribute1', 'value1');
component.setAttribute('attribute2', 'value2');
app.appendChild(component);
```

### Using Custom Elements

```javascript
// Create Lightning Out application using custom elements
const app = document.createElement('lightning-out-application');
app.setAttribute('endpoint', 'https://your-salesforce-community-url');
app.setAttribute('namespace', 'your-namespace');

// Add to a specific target element
document.getElementById('target-element-id').appendChild(app);

// Create a component inside the application
const component = document.createElement('lightning-out-component');
component.setAttribute('name', 'namespace:componentName');
component.setAttribute('attribute1', 'value1');
app.appendChild(component);
```

## API Documentation

See the full documentation at [https://developer.salesforce.com/docs/lightning-out](https://developer.salesforce.com/docs/lightning-out)