# arWebDesigner

## Content

# Variable: arWebDesigner

```ts
const arWebDesigner: object;
```

The main object exported by **WebDesigner** **ESM** module.

## Type Declaration

### addLanguage

```ts
addLanguage: (lng, resources) => void;
```

Adds language resources for all instances of **WebDesigner**

**Example:**
```javascript
// ESM usage
import { arWebDesigner } from './web-designer.js';
arWebDesigner.addLanguage('en', [
   {
       "ns": "app",
       "lng": "en",
       "resources": {
          "textAppTitleCompact": "",
       }
   },
]);
```
**

#### Parameters

##### lng

`string`

##### resources

[`ResourceBundle`](../type-aliases/ResourceBundle)[]

#### Returns

`void`

### apiOf

```ts
apiOf: (instanceId) => DesignerAPI;
```

Returns DesignerAPI of previously created instance of **WebDesigner**

**Example:**
```javascript
// ESM usage
import { arWebDesigner } from './web-designer.js';
const designer = arWebDesigner.apiOf('ar-web-designer');
```
**

#### Parameters

##### instanceId

`string`

#### Returns

[`DesignerAPI`](../type-aliases/DesignerAPI)

### create

```ts
create: (selector, settings) => Promise<DesignerAPI>;
```

Renders **Web Designer** to **<div>** element with given **selector** using the specified **DesignerSettings** object.

**Example:**
```javascript
// ESM usage
import { arWebDesigner } from './web-designer.js';
arWebDesigner.create('#ar-web-designer', {
	rpx: { enabled: true },
	appBar: { openButton: { visible: true } }
});
```

#### Parameters

##### selector

`string`

Designer container selector

##### settings

[`DesignerSettings`](../type-aliases/DesignerSettings)

DesignerSettings object

#### Returns

`Promise`&lt;[`DesignerAPI`](../type-aliases/DesignerAPI)&gt;

DesignerAPI of this instance

### destroy

```ts
destroy: (selector, instanceId?) => void;
```

Destroys Designer Application

**Example:**
```javascript
// ESM usage
import { arWebDesigner } from './web-designer.js';
arWebDesigner.create('#container-1', { ...settings, instanceId: 'instance-1' });
arWebDesigner.destroy('#container-1', 'instance-1');
```

#### Parameters

##### selector

`string`

Designer container selector

##### instanceId?

`string`

Optional parameter. Use only if Designer was created using DesignerSettings.instanceId.

#### Returns

`void`
