@corti/dictation-web 0.5.2 → 0.6.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,9 @@
1
- import type { Corti } from "@corti/sdk";
1
+ import type { CortiAuth } from "@corti/sdk";
2
2
  /**
3
3
  * Extracts the initial access token from auth config
4
4
  * @throws Error if token is missing or invalid
5
5
  */
6
- export declare function getInitialToken(config: Corti.BearerOptions): Promise<{
6
+ export declare function getInitialToken(config: CortiAuth.AuthTokenDerivable): Promise<{
7
7
  accessToken: string;
8
8
  refreshToken?: string;
9
9
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/utils/auth.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAA2B;IAE3B,MAAM,YAAY,GAChB,aAAa,IAAI,MAAM;QACrB,CAAC,CAAC;YACE,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC;QACH,CAAC,CAAC,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC;IAExC,IACE,CAAC,YAAY,EAAE,WAAW;QAC1B,OAAO,YAAY,CAAC,WAAW,KAAK,QAAQ,EAC5C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,OAAO;QACL,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,YAAY,EAAE,YAAY,CAAC,YAAY;KACxC,CAAC;AACJ,CAAC","sourcesContent":["import type { Corti } from \"@corti/sdk\";\n\n/**\n * Extracts the initial access token from auth config\n * @throws Error if token is missing or invalid\n */\nexport async function getInitialToken(\n config: Corti.BearerOptions,\n): Promise<{ accessToken: string; refreshToken?: string }> {\n const initialToken =\n \"accessToken\" in config\n ? {\n accessToken: config.accessToken,\n refreshToken: config.refreshToken,\n }\n : await config.refreshAccessToken();\n\n if (\n !initialToken?.accessToken ||\n typeof initialToken.accessToken !== \"string\"\n ) {\n throw new Error(\"Access token is required and must be a string\");\n }\n\n return {\n accessToken: initialToken.accessToken,\n refreshToken: initialToken.refreshToken,\n };\n}\n"]}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/utils/auth.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAoC;IAEpC,MAAM,YAAY,GAChB,aAAa,IAAI,MAAM;QACrB,CAAC,CAAC;YACE,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC;QACH,CAAC,CAAC,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC;IAExC,IACE,CAAC,YAAY,EAAE,WAAW;QAC1B,OAAO,YAAY,CAAC,WAAW,KAAK,QAAQ,EAC5C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,OAAO;QACL,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,YAAY,EAAE,YAAY,CAAC,YAAY;KACxC,CAAC;AACJ,CAAC","sourcesContent":["import type { CortiAuth } from \"@corti/sdk\";\n\n/**\n * Extracts the initial access token from auth config\n * @throws Error if token is missing or invalid\n */\nexport async function getInitialToken(\n config: CortiAuth.AuthTokenDerivable,\n): Promise<{ accessToken: string; refreshToken?: string }> {\n const initialToken =\n \"accessToken\" in config\n ? {\n accessToken: config.accessToken,\n refreshToken: config.refreshToken,\n }\n : await config.refreshAccessToken();\n\n if (\n !initialToken?.accessToken ||\n typeof initialToken.accessToken !== \"string\"\n ) {\n throw new Error(\"Access token is required and must be a string\");\n }\n\n return {\n accessToken: initialToken.accessToken,\n refreshToken: initialToken.refreshToken,\n };\n}\n"]}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@corti/dictation-web",
3
3
  "description": "Web component for Corti Dictation",
4
4
  "author": "Corti ApS",
5
- "version": "0.5.2",
5
+ "version": "0.6.0-rc.1",
6
6
  "license": "MIT",
7
7
  "type": "module",
8
8
  "main": "dist/index.js",
@@ -44,7 +44,6 @@
44
44
  "build": "tsc && npm run analyze -- --exclude dist",
45
45
  "build:bundle": "esbuild dist/index.js --bundle --outfile=dist/bundle.js --format=esm --platform=browser",
46
46
  "release": "npm run build && npm run build:bundle && npm publish --access public",
47
- "start": "npm run build && npm run build:bundle && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"web-dev-server\"",
48
47
  "prepublish": "tsc && npm run analyze -- --exclude dist",
49
48
  "lint": "biome check .",
50
49
  "format": "biome format --write .",
@@ -52,13 +51,13 @@
52
51
  "biome:format": "biome format --write .",
53
52
  "biome:fix": "biome check --write .",
54
53
  "prepare": "husky && husky install",
55
- "test": "tsc && wtr --coverage",
54
+ "test": "tsc -p tsconfig.test.json && wtr --coverage",
56
55
  "test:watch": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wtr --watch\"",
57
56
  "storybook": "npm run analyze -- --exclude dist && storybook dev -p 8080",
58
57
  "storybook:build": "tsc && tsc -p tsconfig.stories.json && npm run analyze -- --exclude dist && storybook build"
59
58
  },
60
59
  "dependencies": {
61
- "@corti/sdk": "^0.10.1",
60
+ "@corti/sdk": "^1.0.0-rc.5",
62
61
  "@lit/context": "^1.1.6",
63
62
  "lit": "^3.3.1"
64
63
  },
@@ -72,7 +71,6 @@
72
71
  "@storybook/web-components": "10.1.5",
73
72
  "@storybook/web-components-vite": "^10.1.5",
74
73
  "@types/mocha": "^10.0.7",
75
- "@web/dev-server": "^0.4.6",
76
74
  "@web/storybook-builder": "^0.1.16",
77
75
  "@web/storybook-framework-web-components": "^0.1.2",
78
76
  "@web/test-runner": "^0.18.2",
@@ -1,14 +0,0 @@
1
- import { LitElement } from "lit";
2
- import type { DictationMode } from "../types.js";
3
- export declare class DictationModeSelector extends LitElement {
4
- #private;
5
- _mode: DictationMode;
6
- disabled: boolean;
7
- static styles: import("lit").CSSResult[];
8
- render(): import("lit-html").TemplateResult<1>;
9
- }
10
- declare global {
11
- interface HTMLElementTagNameMap {
12
- "dictation-mode-selector": DictationModeSelector;
13
- }
14
- }
@@ -1,73 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
- };
12
- var _DictationModeSelector_instances, _DictationModeSelector_handleModeChange;
13
- import { consume } from "@lit/context";
14
- import { html, LitElement } from "lit";
15
- import { customElement, property, state } from "lit/decorators.js";
16
- import { classMap } from "lit/directives/class-map.js";
17
- import { modeContext } from "../contexts/dictation-context.js";
18
- import ModeSelectorStyles from "../styles/mode-selector.js";
19
- import { modeChangedEvent } from "../utils/events.js";
20
- let DictationModeSelector = class DictationModeSelector extends LitElement {
21
- constructor() {
22
- super(...arguments);
23
- _DictationModeSelector_instances.add(this);
24
- this._mode = "toggle-to-talk";
25
- this.disabled = false;
26
- }
27
- render() {
28
- return html `
29
- <div>
30
- <label>Dictation Mode</label>
31
- <div class="mode-selector-tabs">
32
- <button
33
- class=${classMap({
34
- active: this._mode === "toggle-to-talk",
35
- "mode-selector-tab": true,
36
- })}
37
- @click=${() => __classPrivateFieldGet(this, _DictationModeSelector_instances, "m", _DictationModeSelector_handleModeChange).call(this, "toggle-to-talk")}
38
- ?disabled=${this.disabled}
39
- >
40
- Toggle-to-Talk
41
- </button>
42
- <button
43
- class=${classMap({
44
- active: this._mode === "push-to-talk",
45
- "mode-selector-tab": true,
46
- })}
47
- @click=${() => __classPrivateFieldGet(this, _DictationModeSelector_instances, "m", _DictationModeSelector_handleModeChange).call(this, "push-to-talk")}
48
- ?disabled=${this.disabled}
49
- >
50
- Push-to-Talk
51
- </button>
52
- </div>
53
- </div>
54
- `;
55
- }
56
- };
57
- _DictationModeSelector_instances = new WeakSet();
58
- _DictationModeSelector_handleModeChange = function _DictationModeSelector_handleModeChange(mode) {
59
- this.dispatchEvent(modeChangedEvent(mode));
60
- };
61
- DictationModeSelector.styles = ModeSelectorStyles;
62
- __decorate([
63
- consume({ context: modeContext, subscribe: true }),
64
- state()
65
- ], DictationModeSelector.prototype, "_mode", void 0);
66
- __decorate([
67
- property({ type: Boolean })
68
- ], DictationModeSelector.prototype, "disabled", void 0);
69
- DictationModeSelector = __decorate([
70
- customElement("dictation-mode-selector")
71
- ], DictationModeSelector);
72
- export { DictationModeSelector };
73
- //# sourceMappingURL=mode-selector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mode-selector.js","sourceRoot":"","sources":["../../src/components/mode-selector.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG/C,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,UAAU;IAA9C;;;QAGL,UAAK,GAAkB,gBAAgB,CAAC;QAGxC,aAAQ,GAAY,KAAK,CAAC;IAqC5B,CAAC;IA7BC,MAAM;QACJ,OAAO,IAAI,CAAA;;;;;oBAKK,QAAQ,CAAC;YACf,MAAM,EAAE,IAAI,CAAC,KAAK,KAAK,gBAAgB;YACvC,mBAAmB,EAAE,IAAI;SAC1B,CAAC;qBACO,GAAG,EAAE,CAAC,uBAAA,IAAI,iFAAkB,MAAtB,IAAI,EAAmB,gBAAgB,CAAC;wBAC3C,IAAI,CAAC,QAAQ;;;;;oBAKjB,QAAQ,CAAC;YACf,MAAM,EAAE,IAAI,CAAC,KAAK,KAAK,cAAc;YACrC,mBAAmB,EAAE,IAAI;SAC1B,CAAC;qBACO,GAAG,EAAE,CAAC,uBAAA,IAAI,iFAAkB,MAAtB,IAAI,EAAmB,cAAc,CAAC;wBACzC,IAAI,CAAC,QAAQ;;;;;;KAMhC,CAAC;IACJ,CAAC;;;2FAhCiB,IAAmB;IACnC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7C,CAAC;AAJM,4BAAM,GAAG,kBAAkB,AAArB,CAAsB;AALnC;IAFC,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAClD,KAAK,EAAE;oDACgC;AAGxC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uDACF;AANf,qBAAqB;IADjC,aAAa,CAAC,yBAAyB,CAAC;GAC5B,qBAAqB,CA2CjC","sourcesContent":["import { consume } from \"@lit/context\";\nimport { html, LitElement } from \"lit\";\nimport { customElement, property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { modeContext } from \"../contexts/dictation-context.js\";\nimport ModeSelectorStyles from \"../styles/mode-selector.js\";\nimport type { DictationMode } from \"../types.js\";\nimport { modeChangedEvent } from \"../utils/events.js\";\n\n@customElement(\"dictation-mode-selector\")\nexport class DictationModeSelector extends LitElement {\n @consume({ context: modeContext, subscribe: true })\n @state()\n _mode: DictationMode = \"toggle-to-talk\";\n\n @property({ type: Boolean })\n disabled: boolean = false;\n\n static styles = ModeSelectorStyles;\n\n #handleModeChange(mode: DictationMode): void {\n this.dispatchEvent(modeChangedEvent(mode));\n }\n\n render() {\n return html`\n <div>\n <label>Dictation Mode</label>\n <div class=\"mode-selector-tabs\">\n <button\n class=${classMap({\n active: this._mode === \"toggle-to-talk\",\n \"mode-selector-tab\": true,\n })}\n @click=${() => this.#handleModeChange(\"toggle-to-talk\")}\n ?disabled=${this.disabled}\n >\n Toggle-to-Talk\n </button>\n <button\n class=${classMap({\n active: this._mode === \"push-to-talk\",\n \"mode-selector-tab\": true,\n })}\n @click=${() => this.#handleModeChange(\"push-to-talk\")}\n ?disabled=${this.disabled}\n >\n Push-to-Talk\n </button>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"dictation-mode-selector\": DictationModeSelector;\n }\n}\n"]}
package/dist/package.json DELETED
@@ -1,94 +0,0 @@
1
- {
2
- "name": "@corti/dictation-web",
3
- "description": "Web component for Corti Dictation",
4
- "author": "Corti ApS",
5
- "version": "0.0.0-test.571.1",
6
- "license": "MIT",
7
- "type": "module",
8
- "main": "dist/index.js",
9
- "module": "dist/index.js",
10
- "types": "dist/index.d.ts",
11
- "exports": {
12
- ".": {
13
- "types": "./dist/index.d.ts",
14
- "import": "./dist/index.js",
15
- "browser": "./dist/bundle.js",
16
- "default": "./dist/bundle.js"
17
- }
18
- },
19
- "jsdelivr": "./dist/bundle.js",
20
- "browser": "./dist/bundle.js",
21
- "files": [
22
- "dist"
23
- ],
24
- "bugs": {
25
- "url": "https://docs.corti.ai",
26
- "email": "help@corti.ai"
27
- },
28
- "repository": "github:corticph/dictation-web",
29
- "homepage": "https://docs.corti.ai/stt/dictation-web",
30
- "keywords": [
31
- "corti",
32
- "dictation",
33
- "web",
34
- "sdk",
35
- "speech",
36
- "recognition",
37
- "transcription",
38
- "audio",
39
- "medical",
40
- "healthcare"
41
- ],
42
- "scripts": {
43
- "analyze": "cem analyze --litelement",
44
- "build": "tsc && npm run analyze -- --exclude dist",
45
- "build:bundle": "esbuild dist/index.js --bundle --outfile=dist/bundle.js --format=esm --platform=browser",
46
- "release": "npm run build && npm run build:bundle && npm publish --access public",
47
- "start": "npm run build && npm run build:bundle && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"web-dev-server\"",
48
- "prepublish": "tsc && npm run analyze -- --exclude dist",
49
- "lint": "biome check .",
50
- "format": "biome format --write .",
51
- "biome:check": "biome check .",
52
- "biome:format": "biome format --write .",
53
- "biome:fix": "biome check --write .",
54
- "prepare": "husky && husky install",
55
- "test": "tsc && wtr --coverage",
56
- "test:watch": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wtr --watch\"",
57
- "storybook": "npm run analyze -- --exclude dist && storybook dev -p 8080",
58
- "storybook:build": "tsc && tsc -p tsconfig.stories.json && npm run analyze -- --exclude dist && storybook build"
59
- },
60
- "dependencies": {
61
- "@corti/sdk": "^0.8.0",
62
- "@lit/context": "^1.1.6",
63
- "lit": "^3.3.1"
64
- },
65
- "devDependencies": {
66
- "@biomejs/biome": "^2.3.6",
67
- "@custom-elements-manifest/analyzer": "^0.10.3",
68
- "@open-wc/testing": "^4.0.0",
69
- "@storybook/addon-a11y": "10.1.5",
70
- "@storybook/addon-docs": "^10.1.5",
71
- "@storybook/addon-links": "10.1.5",
72
- "@storybook/web-components": "10.1.5",
73
- "@storybook/web-components-vite": "^10.1.5",
74
- "@types/mocha": "^10.0.7",
75
- "@web/dev-server": "^0.4.6",
76
- "@web/storybook-builder": "^0.1.16",
77
- "@web/storybook-framework-web-components": "^0.1.2",
78
- "@web/test-runner": "^0.18.2",
79
- "concurrently": "^8.2.2",
80
- "esbuild": "^0.25.0",
81
- "husky": "^8.0.0",
82
- "lint-staged": "^15.2.7",
83
- "sinon": "^19.0.2",
84
- "storybook": "10.1.5",
85
- "tslib": "^2.6.3",
86
- "typescript": "^5.5.3"
87
- },
88
- "customElements": "custom-elements.json",
89
- "lint-staged": {
90
- "*.ts": [
91
- "biome check --write"
92
- ]
93
- }
94
- }
@@ -1,2 +0,0 @@
1
- declare const ModeSelectorStyles: import("lit").CSSResult[];
2
- export default ModeSelectorStyles;
@@ -1,56 +0,0 @@
1
- import { css } from "lit";
2
- import { LabelStyles } from "./component-styles.js";
3
- const ModeSelectorStyles = [
4
- LabelStyles,
5
- css `
6
- :host {
7
- display: block;
8
- }
9
- .mode-selector-tabs {
10
- display: flex;
11
- background: var(--muted-background, light-dark(#fafafa, #2a2a2a));
12
- border: 1px solid var(--card-border-color, light-dark(#ddd, #555));
13
- border-radius: var(--card-inner-border-radius, 6px);
14
- padding: 0;
15
- overflow: hidden;
16
- align-items: center;
17
- justify-content: center;
18
- text-wrap: nowrap;
19
- gap: 2px;
20
- }
21
- .mode-selector-tab {
22
- flex: 1;
23
- padding: 4px 8px;
24
- border: 1px solid transparent;
25
- background: transparent;
26
- font-size: 14px;
27
- font-weight: 500;
28
- line-height: 24px;
29
- color: var(--component-text-color, light-dark(#333, #eee));
30
- opacity: 0.6;
31
- cursor: pointer;
32
- transition: all 0.2s;
33
- height: 32px;
34
- display: flex;
35
- align-items: center;
36
- justify-content: center;
37
- border-radius: var(--card-inner-border-radius, 6px);
38
- margin: -1px;
39
- }
40
- .mode-selector-tab:hover:not(:disabled) {
41
- opacity: 1;
42
- }
43
- .mode-selector-tab.active {
44
- background: var(--card-background, light-dark(#fff, #333));
45
- border-color: var(--card-border-color, light-dark(#ddd, #555));
46
- box-shadow: var(--card-box-shadow, 0 2px 5px rgba(0, 0, 0, 0.1));
47
- opacity: 1;
48
- }
49
- .mode-selector-tab:disabled {
50
- opacity: 0.5;
51
- cursor: not-allowed;
52
- }
53
- `,
54
- ];
55
- export default ModeSelectorStyles;
56
- //# sourceMappingURL=mode-selector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mode-selector.js","sourceRoot":"","sources":["../../src/styles/mode-selector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,kBAAkB,GAAG;IACzB,WAAW;IACX,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDJ;CACA,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import { css } from \"lit\";\nimport { LabelStyles } from \"./component-styles.js\";\n\nconst ModeSelectorStyles = [\n LabelStyles,\n css`\n :host {\n display: block;\n }\n .mode-selector-tabs {\n display: flex;\n background: var(--muted-background, light-dark(#fafafa, #2a2a2a));\n border: 1px solid var(--card-border-color, light-dark(#ddd, #555));\n border-radius: var(--card-inner-border-radius, 6px);\n padding: 0;\n overflow: hidden;\n align-items: center;\n justify-content: center;\n text-wrap: nowrap;\n gap: 2px;\n }\n .mode-selector-tab {\n flex: 1;\n padding: 4px 8px;\n border: 1px solid transparent;\n background: transparent;\n font-size: 14px;\n font-weight: 500;\n line-height: 24px;\n color: var(--component-text-color, light-dark(#333, #eee));\n opacity: 0.6;\n cursor: pointer;\n transition: all 0.2s;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--card-inner-border-radius, 6px);\n margin: -1px;\n }\n .mode-selector-tab:hover:not(:disabled) {\n opacity: 1;\n }\n .mode-selector-tab.active {\n background: var(--card-background, light-dark(#fff, #333));\n border-color: var(--card-border-color, light-dark(#ddd, #555));\n box-shadow: var(--card-box-shadow, 0 2px 5px rgba(0, 0, 0, 0.1));\n opacity: 1;\n }\n .mode-selector-tab:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n`,\n];\n\nexport default ModeSelectorStyles;\n"]}