@akairos/myno 0.2.4 → 0.3.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.
- package/CHANGELOG.md +8 -0
- package/LICENSE +21 -0
- package/README.md +79 -2
- package/dist/.vite/manifest.json +74 -37
- package/dist/adapter.d.ts +20 -0
- package/dist/adapter.d.ts.map +1 -0
- package/dist/adapter.js +31 -0
- package/dist/adapter.js.map +1 -0
- package/dist/assets/index-76YuLxi3.js +1 -0
- package/dist/assets/index-B7RyVmkn.js +1 -0
- package/dist/assets/index-BFqVGrx5.js +1 -0
- package/dist/assets/index-BWCTJYba.js +1 -0
- package/dist/assets/index-BafFtz6v.js +1 -0
- package/dist/assets/index-BbBk60Ij.js +1 -0
- package/dist/assets/index-Be5b0nfK.js +7 -0
- package/dist/assets/index-BsFL19fO.js +1 -0
- package/dist/assets/index-BvNjhitP.js +1 -0
- package/dist/assets/index-C4U9J6mP.js +1 -0
- package/dist/assets/index-C6M3EF2u.js +1 -0
- package/dist/assets/index-CFRD2Kea.js +13 -0
- package/dist/assets/index-CMxKN2ug.js +1 -0
- package/dist/assets/{index-CddMuxp_.js → index-CYmRM47f.js} +2 -2
- package/dist/assets/index-CbDkmZGJ.js +1 -0
- package/dist/assets/index-CgHZBsFk.js +3 -0
- package/dist/assets/index-CkuA2-Dq.js +1 -0
- package/dist/assets/index-DAD2d4p9.js +1 -0
- package/dist/assets/index-Dap3LTeU.js +1 -0
- package/dist/assets/index-N1oAD1df.js +1 -0
- package/dist/assets/{index-CDgREgYC.js → index-geduL7if.js} +2 -2
- package/dist/assets/style-Dbq6kayK.css +1 -0
- package/dist/assets/syntax-presets-CoA-zUgk.js +1263 -0
- package/dist/editor/myno-editor.d.ts +2 -2
- package/dist/editor/myno-editor.d.ts.map +1 -1
- package/dist/editor/myno-editor.js +2 -2
- package/dist/editor/myno-editor.js.map +1 -1
- package/dist/editor-export.js +3 -0
- package/dist/src/studio/studio.html +8 -7
- package/dist/studio/editor-export.d.ts +22 -0
- package/dist/studio/editor-export.d.ts.map +1 -0
- package/dist/studio/editor-export.js +42 -0
- package/dist/studio/editor-export.js.map +1 -0
- package/dist/studio/studio-config.d.ts +32 -0
- package/dist/studio/studio-config.d.ts.map +1 -0
- package/dist/studio/studio-config.js +70 -0
- package/dist/studio/studio-config.js.map +1 -0
- package/dist/studio/studio.js +56 -36
- package/dist/studio/studio.js.map +1 -1
- package/dist/studio.js +107 -1353
- package/dist/styles/article.css +646 -0
- package/dist/styles/index.css +2 -0
- package/dist/styles/tokens-default.css +30 -0
- package/package.json +12 -4
- package/dist/assets/index-6xZjfNBY.js +0 -1
- package/dist/assets/index-7jqFg9Mv.js +0 -13
- package/dist/assets/index-AdP2vXVD.js +0 -1
- package/dist/assets/index-BHPv-A3N.js +0 -1
- package/dist/assets/index-BL9wSBtZ.js +0 -1
- package/dist/assets/index-BjawAflQ.js +0 -1
- package/dist/assets/index-C0JZnjgf.js +0 -3
- package/dist/assets/index-C1vHAMos.js +0 -1
- package/dist/assets/index-CIYtVPt-.js +0 -1
- package/dist/assets/index-CmlqrlxY.js +0 -7
- package/dist/assets/index-Crr2UUqW.js +0 -1
- package/dist/assets/index-D3-l1kuh.js +0 -1
- package/dist/assets/index-D5AbviI1.js +0 -1
- package/dist/assets/index-D8eibMZn.js +0 -1
- package/dist/assets/index-DLh7eEmr.js +0 -1
- package/dist/assets/index-Q5rzr3Yl.js +0 -1
- package/dist/assets/index-RrNfwOco.js +0 -1
- package/dist/assets/index-kgpju2R2.js +0 -1
- package/dist/assets/index-qjQPn-9r.js +0 -1
- package/dist/assets/style-Cif_gYUW.css +0 -1
- package/dist/assets/style-DG6dI-L6.css +0 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## v0.3.1
|
|
4
|
+
|
|
5
|
+
- Own article typography and default theme tokens in `src/styles/`.
|
|
6
|
+
- Export pure CSS through `@akairos/myno/article.css`, `@akairos/myno/tokens-default.css`, and `@akairos/myno/style`.
|
|
7
|
+
- Keep table headers on one line and allow horizontal scrolling while body cells wrap.
|
|
8
|
+
- Remove the standalone article-style package dependency.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 aatrooox
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -2,11 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
> 🎨 WeChat article WYSIWYG editor & visual typography studio.
|
|
4
4
|
|
|
5
|
-
`myno` 是面向微信公众号文章的所见即所得编辑器引擎与现代排版工作台。基于 `@milkdown/crepe`
|
|
5
|
+
`myno` 是面向微信公众号文章的所见即所得编辑器引擎与现代排版工作台。基于 `@milkdown/crepe` 封装,集成 `@akairos/milkdown-article-plugins`,统一维护正文 CSS、默认主题变量与微信导出样式。
|
|
6
|
+
|
|
7
|
+
## 生态与使用者
|
|
8
|
+
|
|
9
|
+
| 项目 | 与 myno 的关系 |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| [zzhub-pipeline](https://github.com/k7airos/zzhub-pipeline) · [`@akairos/pipeline`](https://www.npmjs.com/package/@akairos/pipeline) | 从 0.19.0 起可选安装 myno,通过 `plugins.markdownRenderer` 使用本包的排版和工作台资源,负责浏览器运行、文件输出和草稿发布 |
|
|
12
|
+
| [Milkdown Article Plugins](https://github.com/k7airos/milkdown-article-plugins) | myno 的直接依赖,提供扩展语法、输入转换、Markdown 序列化和微信组件渲染 |
|
|
13
|
+
| [Milkdown Article Style](https://github.com/k7airos/milkdown-article-style) | 旧版兼容包;从 myno 0.3.1 起,正文 CSS 与默认主题变量收归 myno |
|
|
14
|
+
| [Typeset Studio](https://github.com/k7airos/typeset-studio) | 配套的封面、卡片和多页 PNG 设计器,可与 myno 同时作为 Pipeline 插件;两者互不依赖 |
|
|
15
|
+
| [Kairos Skills](https://github.com/k7airos/kairos-skills) | 供 Agent 使用的写作语法与发布编排说明 |
|
|
16
|
+
|
|
17
|
+
Nezus 写作编辑器也是现有消费方,通过 `@akairos/myno/editor` 封装 Vue 接线。自己的 Web 应用也可直接复用该入口,无需安装 Pipeline;仅需调样式和复制文章时使用下面的独立工作台即可。
|
|
6
18
|
|
|
7
19
|
## 特色能力
|
|
8
20
|
|
|
9
|
-
-
|
|
21
|
+
- **排版工作台**:提供预设风格套系与配色,支持字号、行距、主色与 H2 风格快速调节。
|
|
10
22
|
- **斜杠菜单 (`/`)**:一键插入导读卡片 (`[!INTRO]`)、文末互动卡片 (`[!CTA]`)、5 种标准提示卡片 (`[!NOTE]` ~ `[!CAUTION]`) 与状态徽章。
|
|
11
23
|
- **选区气泡工具栏**:划词浮现格式工具,支持文章专属高亮、按键、徽章标记。
|
|
12
24
|
- **双模实时同步**:所见即所得编辑与 Markdown 源码模式无缝双向互转。
|
|
@@ -20,10 +32,75 @@ bun add @akairos/myno
|
|
|
20
32
|
npm install @akairos/myno
|
|
21
33
|
```
|
|
22
34
|
|
|
35
|
+
在自己的编辑器应用中使用时,还需提供同一套兼容的 `@milkdown/crepe`、`@milkdown/kit`(peer dependencies,当前范围 `^7.21.2`),避免重复的 Milkdown/ProseMirror 实例。
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
import { MynoEditor } from "@akairos/myno/editor";
|
|
39
|
+
|
|
40
|
+
const editor = new MynoEditor({
|
|
41
|
+
root: document.getElementById("editor")!,
|
|
42
|
+
defaultValue: "## 开始写作\n\n正文内容。",
|
|
43
|
+
onMarkdownChange: markdown => console.log(markdown),
|
|
44
|
+
});
|
|
45
|
+
await editor.create();
|
|
46
|
+
// 页面卸载时调用 await editor.destroy()
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
`uploadImage` 由宿主注入上传函数;`plugins`、`featureConfigs`、`onCreated` 用于宿主扩展。`styleConfig` / `applyStyleConfig()` 接收 `editorVars`、`exportTheme` 和 `syntaxPresets`,不代表支持完整导出配置中的自定义 CSS 或页首结构。Node 测试只测菜单时使用 `@akairos/myno/menu`,避免编辑器 CSS 导入。
|
|
50
|
+
|
|
51
|
+
### 仅复用正文样式
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
import "@akairos/myno/tokens-default.css";
|
|
55
|
+
import "@akairos/myno/article.css";
|
|
56
|
+
// 或一次加载两者:import "@akairos/myno/style";
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
以上为纯 CSS 入口,不加载编辑器 JavaScript。样式源文件位于 `src/styles/`,编辑器、Studio 和导出共用。表格表头保持单行,超出正文宽度时左右滚动,正文单元格允许换行。更新 CSS 后需重建 myno;Pipeline 内置导出也需更新依赖并重建浏览器资源。
|
|
60
|
+
|
|
23
61
|
## 独立启动工作台
|
|
24
62
|
|
|
63
|
+
下面的命令在克隆本仓库后执行,npm 包没有独立 Studio CLI:
|
|
64
|
+
|
|
25
65
|
```bash
|
|
66
|
+
git clone https://github.com/k7airos/myno.git
|
|
67
|
+
cd myno
|
|
68
|
+
bun install
|
|
26
69
|
bun run dev
|
|
27
70
|
```
|
|
28
71
|
|
|
29
72
|
浏览器打开 `http://localhost:5173/src/studio/studio.html`。
|
|
73
|
+
|
|
74
|
+
工作台无需 pipeline 即可启动:本地默认主题、语法说明和示例正文随包提供,可调样式、导入/导出 JSON 配置,并一键复制富文本到公众号。独立模式隐藏账号保存和历史记录,样式通过「导出配置」保存;「重置」恢复本地默认样式。
|
|
75
|
+
|
|
76
|
+
当 `/api/studio/config` 可用时,优先采用 pipeline 的账号配置;账号保存和历史记录随之启用,「重置」恢复当前账号配置。接口失败时仍可使用本地模式,并显示配置未加载提示。浏览器剪贴板需允许复制权限,推荐在 localhost 或 HTTPS 页面使用。
|
|
77
|
+
|
|
78
|
+
## Pipeline 插件
|
|
79
|
+
|
|
80
|
+
从 0.3.0 起提供 `@akairos/myno/adapter`。插件仅提供本包构建的排版工作台和浏览器端排版入口,工作台支持调样式、导出 config。Chrome 启动、超时和 HTML 文件输出由 pipeline 现有运行时管理。myno 不携带浏览器自动化依赖,不启动浏览器或独立 HTTP 服务。
|
|
81
|
+
|
|
82
|
+
在 Pipeline 配置中启用 npm 入口:
|
|
83
|
+
|
|
84
|
+
```json
|
|
85
|
+
{
|
|
86
|
+
"plugins": {
|
|
87
|
+
"markdownRenderer": {
|
|
88
|
+
"module": "@akairos/myno/adapter",
|
|
89
|
+
"options": {}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Pipeline 0.19.0 起将 myno 作为可选依赖提供;省略可选依赖安装时,可自行安装到 Pipeline 可解析的依赖目录。源码联调先执行 `bun run build`,再把 `module` 指向本仓库 `dist/adapter.js` 的绝对路径。
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
zzp wechat-preview studio
|
|
99
|
+
zzp wechat-export --markdown ./article.md --out ./article.html --no-preview
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
- `doctor()` 仅检查本包浏览器资源是否齐全。
|
|
103
|
+
- `browser()` 返回 `{ scriptPath }`,由 pipeline 现有 Chrome 导出运行时加载。Markdown 读取、样式校验、本地图片、输出文件和预览文件由宿主处理。
|
|
104
|
+
- `studio()` 返回 `{ root, entry }`,由 pipeline 在 `/studio` 提供页面,并将静态资源挂到 `/studio-assets/`。账号配置读写和历史记录接口由 pipeline 提供。
|
|
105
|
+
|
|
106
|
+
在支持该契约的 pipeline 中,`wechat-export`、公众号文章发布和 `wechat-preview studio` 使用同一个已配置插件;未配置插件仍使用 pipeline 原有实现。更新排版实现后需重建并更新插件包;仅调整样式时导出 config 即可。
|
package/dist/.vite/manifest.json
CHANGED
|
@@ -10,8 +10,12 @@
|
|
|
10
10
|
"file": "assets/simple-mode-GW_nhZxv.js",
|
|
11
11
|
"name": "simple-mode"
|
|
12
12
|
},
|
|
13
|
+
"_syntax-presets-CoA-zUgk.js": {
|
|
14
|
+
"file": "assets/syntax-presets-CoA-zUgk.js",
|
|
15
|
+
"name": "syntax-presets"
|
|
16
|
+
},
|
|
13
17
|
"node_modules/@codemirror/lang-angular/dist/index.js": {
|
|
14
|
-
"file": "assets/index-
|
|
18
|
+
"file": "assets/index-C4U9J6mP.js",
|
|
15
19
|
"name": "index",
|
|
16
20
|
"src": "node_modules/@codemirror/lang-angular/dist/index.js",
|
|
17
21
|
"isDynamicEntry": true,
|
|
@@ -20,41 +24,45 @@
|
|
|
20
24
|
"node_modules/@codemirror/lang-html/dist/index.js",
|
|
21
25
|
"node_modules/@codemirror/lang-javascript/dist/index.js",
|
|
22
26
|
"_index-CAXLlEvK.js",
|
|
27
|
+
"_syntax-presets-CoA-zUgk.js",
|
|
23
28
|
"node_modules/@codemirror/lang-css/dist/index.js"
|
|
24
29
|
]
|
|
25
30
|
},
|
|
26
31
|
"node_modules/@codemirror/lang-cpp/dist/index.js": {
|
|
27
|
-
"file": "assets/index-
|
|
32
|
+
"file": "assets/index-CMxKN2ug.js",
|
|
28
33
|
"name": "index",
|
|
29
34
|
"src": "node_modules/@codemirror/lang-cpp/dist/index.js",
|
|
30
35
|
"isDynamicEntry": true,
|
|
31
36
|
"imports": [
|
|
32
37
|
"_index-CAXLlEvK.js",
|
|
33
|
-
"src/studio/studio.html"
|
|
38
|
+
"src/studio/studio.html",
|
|
39
|
+
"_syntax-presets-CoA-zUgk.js"
|
|
34
40
|
]
|
|
35
41
|
},
|
|
36
42
|
"node_modules/@codemirror/lang-css/dist/index.js": {
|
|
37
|
-
"file": "assets/index-
|
|
43
|
+
"file": "assets/index-76YuLxi3.js",
|
|
38
44
|
"name": "index",
|
|
39
45
|
"src": "node_modules/@codemirror/lang-css/dist/index.js",
|
|
40
46
|
"isDynamicEntry": true,
|
|
41
47
|
"imports": [
|
|
42
48
|
"_index-CAXLlEvK.js",
|
|
43
|
-
"src/studio/studio.html"
|
|
49
|
+
"src/studio/studio.html",
|
|
50
|
+
"_syntax-presets-CoA-zUgk.js"
|
|
44
51
|
]
|
|
45
52
|
},
|
|
46
53
|
"node_modules/@codemirror/lang-go/dist/index.js": {
|
|
47
|
-
"file": "assets/index-
|
|
54
|
+
"file": "assets/index-Be5b0nfK.js",
|
|
48
55
|
"name": "index",
|
|
49
56
|
"src": "node_modules/@codemirror/lang-go/dist/index.js",
|
|
50
57
|
"isDynamicEntry": true,
|
|
51
58
|
"imports": [
|
|
52
59
|
"_index-CAXLlEvK.js",
|
|
53
|
-
"src/studio/studio.html"
|
|
60
|
+
"src/studio/studio.html",
|
|
61
|
+
"_syntax-presets-CoA-zUgk.js"
|
|
54
62
|
]
|
|
55
63
|
},
|
|
56
64
|
"node_modules/@codemirror/lang-html/dist/index.js": {
|
|
57
|
-
"file": "assets/index-
|
|
65
|
+
"file": "assets/index-B7RyVmkn.js",
|
|
58
66
|
"name": "index",
|
|
59
67
|
"src": "node_modules/@codemirror/lang-html/dist/index.js",
|
|
60
68
|
"isDynamicEntry": true,
|
|
@@ -62,31 +70,34 @@
|
|
|
62
70
|
"_index-CAXLlEvK.js",
|
|
63
71
|
"src/studio/studio.html",
|
|
64
72
|
"node_modules/@codemirror/lang-css/dist/index.js",
|
|
65
|
-
"node_modules/@codemirror/lang-javascript/dist/index.js"
|
|
73
|
+
"node_modules/@codemirror/lang-javascript/dist/index.js",
|
|
74
|
+
"_syntax-presets-CoA-zUgk.js"
|
|
66
75
|
]
|
|
67
76
|
},
|
|
68
77
|
"node_modules/@codemirror/lang-java/dist/index.js": {
|
|
69
|
-
"file": "assets/index-
|
|
78
|
+
"file": "assets/index-BbBk60Ij.js",
|
|
70
79
|
"name": "index",
|
|
71
80
|
"src": "node_modules/@codemirror/lang-java/dist/index.js",
|
|
72
81
|
"isDynamicEntry": true,
|
|
73
82
|
"imports": [
|
|
74
83
|
"_index-CAXLlEvK.js",
|
|
75
|
-
"src/studio/studio.html"
|
|
84
|
+
"src/studio/studio.html",
|
|
85
|
+
"_syntax-presets-CoA-zUgk.js"
|
|
76
86
|
]
|
|
77
87
|
},
|
|
78
88
|
"node_modules/@codemirror/lang-javascript/dist/index.js": {
|
|
79
|
-
"file": "assets/index-
|
|
89
|
+
"file": "assets/index-CFRD2Kea.js",
|
|
80
90
|
"name": "index",
|
|
81
91
|
"src": "node_modules/@codemirror/lang-javascript/dist/index.js",
|
|
82
92
|
"isDynamicEntry": true,
|
|
83
93
|
"imports": [
|
|
84
94
|
"_index-CAXLlEvK.js",
|
|
85
|
-
"src/studio/studio.html"
|
|
95
|
+
"src/studio/studio.html",
|
|
96
|
+
"_syntax-presets-CoA-zUgk.js"
|
|
86
97
|
]
|
|
87
98
|
},
|
|
88
99
|
"node_modules/@codemirror/lang-jinja/dist/index.js": {
|
|
89
|
-
"file": "assets/index-
|
|
100
|
+
"file": "assets/index-BvNjhitP.js",
|
|
90
101
|
"name": "index",
|
|
91
102
|
"src": "node_modules/@codemirror/lang-jinja/dist/index.js",
|
|
92
103
|
"isDynamicEntry": true,
|
|
@@ -94,33 +105,36 @@
|
|
|
94
105
|
"src/studio/studio.html",
|
|
95
106
|
"node_modules/@codemirror/lang-html/dist/index.js",
|
|
96
107
|
"_index-CAXLlEvK.js",
|
|
108
|
+
"_syntax-presets-CoA-zUgk.js",
|
|
97
109
|
"node_modules/@codemirror/lang-css/dist/index.js",
|
|
98
110
|
"node_modules/@codemirror/lang-javascript/dist/index.js"
|
|
99
111
|
]
|
|
100
112
|
},
|
|
101
113
|
"node_modules/@codemirror/lang-json/dist/index.js": {
|
|
102
|
-
"file": "assets/index-
|
|
114
|
+
"file": "assets/index-CkuA2-Dq.js",
|
|
103
115
|
"name": "index",
|
|
104
116
|
"src": "node_modules/@codemirror/lang-json/dist/index.js",
|
|
105
117
|
"isDynamicEntry": true,
|
|
106
118
|
"imports": [
|
|
107
119
|
"_index-CAXLlEvK.js",
|
|
108
|
-
"src/studio/studio.html"
|
|
120
|
+
"src/studio/studio.html",
|
|
121
|
+
"_syntax-presets-CoA-zUgk.js"
|
|
109
122
|
]
|
|
110
123
|
},
|
|
111
124
|
"node_modules/@codemirror/lang-less/dist/index.js": {
|
|
112
|
-
"file": "assets/index-
|
|
125
|
+
"file": "assets/index-C6M3EF2u.js",
|
|
113
126
|
"name": "index",
|
|
114
127
|
"src": "node_modules/@codemirror/lang-less/dist/index.js",
|
|
115
128
|
"isDynamicEntry": true,
|
|
116
129
|
"imports": [
|
|
117
130
|
"src/studio/studio.html",
|
|
118
131
|
"node_modules/@codemirror/lang-css/dist/index.js",
|
|
119
|
-
"_index-CAXLlEvK.js"
|
|
132
|
+
"_index-CAXLlEvK.js",
|
|
133
|
+
"_syntax-presets-CoA-zUgk.js"
|
|
120
134
|
]
|
|
121
135
|
},
|
|
122
136
|
"node_modules/@codemirror/lang-liquid/dist/index.js": {
|
|
123
|
-
"file": "assets/index-
|
|
137
|
+
"file": "assets/index-BWCTJYba.js",
|
|
124
138
|
"name": "index",
|
|
125
139
|
"src": "node_modules/@codemirror/lang-liquid/dist/index.js",
|
|
126
140
|
"isDynamicEntry": true,
|
|
@@ -128,25 +142,27 @@
|
|
|
128
142
|
"src/studio/studio.html",
|
|
129
143
|
"node_modules/@codemirror/lang-html/dist/index.js",
|
|
130
144
|
"_index-CAXLlEvK.js",
|
|
145
|
+
"_syntax-presets-CoA-zUgk.js",
|
|
131
146
|
"node_modules/@codemirror/lang-css/dist/index.js",
|
|
132
147
|
"node_modules/@codemirror/lang-javascript/dist/index.js"
|
|
133
148
|
]
|
|
134
149
|
},
|
|
135
150
|
"node_modules/@codemirror/lang-markdown/dist/index.js": {
|
|
136
|
-
"file": "assets/index-
|
|
151
|
+
"file": "assets/index-CYmRM47f.js",
|
|
137
152
|
"name": "index",
|
|
138
153
|
"src": "node_modules/@codemirror/lang-markdown/dist/index.js",
|
|
139
154
|
"isDynamicEntry": true,
|
|
140
155
|
"imports": [
|
|
141
156
|
"src/studio/studio.html",
|
|
142
157
|
"node_modules/@codemirror/lang-html/dist/index.js",
|
|
158
|
+
"_syntax-presets-CoA-zUgk.js",
|
|
143
159
|
"_index-CAXLlEvK.js",
|
|
144
160
|
"node_modules/@codemirror/lang-css/dist/index.js",
|
|
145
161
|
"node_modules/@codemirror/lang-javascript/dist/index.js"
|
|
146
162
|
]
|
|
147
163
|
},
|
|
148
164
|
"node_modules/@codemirror/lang-php/dist/index.js": {
|
|
149
|
-
"file": "assets/index-
|
|
165
|
+
"file": "assets/index-BsFL19fO.js",
|
|
150
166
|
"name": "index",
|
|
151
167
|
"src": "node_modules/@codemirror/lang-php/dist/index.js",
|
|
152
168
|
"isDynamicEntry": true,
|
|
@@ -154,53 +170,58 @@
|
|
|
154
170
|
"_index-CAXLlEvK.js",
|
|
155
171
|
"src/studio/studio.html",
|
|
156
172
|
"node_modules/@codemirror/lang-html/dist/index.js",
|
|
173
|
+
"_syntax-presets-CoA-zUgk.js",
|
|
157
174
|
"node_modules/@codemirror/lang-css/dist/index.js",
|
|
158
175
|
"node_modules/@codemirror/lang-javascript/dist/index.js"
|
|
159
176
|
]
|
|
160
177
|
},
|
|
161
178
|
"node_modules/@codemirror/lang-python/dist/index.js": {
|
|
162
|
-
"file": "assets/index-
|
|
179
|
+
"file": "assets/index-CgHZBsFk.js",
|
|
163
180
|
"name": "index",
|
|
164
181
|
"src": "node_modules/@codemirror/lang-python/dist/index.js",
|
|
165
182
|
"isDynamicEntry": true,
|
|
166
183
|
"imports": [
|
|
167
184
|
"_index-CAXLlEvK.js",
|
|
168
|
-
"src/studio/studio.html"
|
|
185
|
+
"src/studio/studio.html",
|
|
186
|
+
"_syntax-presets-CoA-zUgk.js"
|
|
169
187
|
]
|
|
170
188
|
},
|
|
171
189
|
"node_modules/@codemirror/lang-rust/dist/index.js": {
|
|
172
|
-
"file": "assets/index-
|
|
190
|
+
"file": "assets/index-BFqVGrx5.js",
|
|
173
191
|
"name": "index",
|
|
174
192
|
"src": "node_modules/@codemirror/lang-rust/dist/index.js",
|
|
175
193
|
"isDynamicEntry": true,
|
|
176
194
|
"imports": [
|
|
177
195
|
"_index-CAXLlEvK.js",
|
|
178
|
-
"src/studio/studio.html"
|
|
196
|
+
"src/studio/studio.html",
|
|
197
|
+
"_syntax-presets-CoA-zUgk.js"
|
|
179
198
|
]
|
|
180
199
|
},
|
|
181
200
|
"node_modules/@codemirror/lang-sass/dist/index.js": {
|
|
182
|
-
"file": "assets/index-
|
|
201
|
+
"file": "assets/index-Dap3LTeU.js",
|
|
183
202
|
"name": "index",
|
|
184
203
|
"src": "node_modules/@codemirror/lang-sass/dist/index.js",
|
|
185
204
|
"isDynamicEntry": true,
|
|
186
205
|
"imports": [
|
|
187
206
|
"_index-CAXLlEvK.js",
|
|
188
207
|
"src/studio/studio.html",
|
|
189
|
-
"node_modules/@codemirror/lang-css/dist/index.js"
|
|
208
|
+
"node_modules/@codemirror/lang-css/dist/index.js",
|
|
209
|
+
"_syntax-presets-CoA-zUgk.js"
|
|
190
210
|
]
|
|
191
211
|
},
|
|
192
212
|
"node_modules/@codemirror/lang-sql/dist/index.js": {
|
|
193
|
-
"file": "assets/index-
|
|
213
|
+
"file": "assets/index-geduL7if.js",
|
|
194
214
|
"name": "index",
|
|
195
215
|
"src": "node_modules/@codemirror/lang-sql/dist/index.js",
|
|
196
216
|
"isDynamicEntry": true,
|
|
197
217
|
"imports": [
|
|
198
218
|
"src/studio/studio.html",
|
|
199
|
-
"_index-CAXLlEvK.js"
|
|
219
|
+
"_index-CAXLlEvK.js",
|
|
220
|
+
"_syntax-presets-CoA-zUgk.js"
|
|
200
221
|
]
|
|
201
222
|
},
|
|
202
223
|
"node_modules/@codemirror/lang-vue/dist/index.js": {
|
|
203
|
-
"file": "assets/index-
|
|
224
|
+
"file": "assets/index-DAD2d4p9.js",
|
|
204
225
|
"name": "index",
|
|
205
226
|
"src": "node_modules/@codemirror/lang-vue/dist/index.js",
|
|
206
227
|
"isDynamicEntry": true,
|
|
@@ -209,37 +230,41 @@
|
|
|
209
230
|
"node_modules/@codemirror/lang-html/dist/index.js",
|
|
210
231
|
"node_modules/@codemirror/lang-javascript/dist/index.js",
|
|
211
232
|
"_index-CAXLlEvK.js",
|
|
233
|
+
"_syntax-presets-CoA-zUgk.js",
|
|
212
234
|
"node_modules/@codemirror/lang-css/dist/index.js"
|
|
213
235
|
]
|
|
214
236
|
},
|
|
215
237
|
"node_modules/@codemirror/lang-wast/dist/index.js": {
|
|
216
|
-
"file": "assets/index-
|
|
238
|
+
"file": "assets/index-BafFtz6v.js",
|
|
217
239
|
"name": "index",
|
|
218
240
|
"src": "node_modules/@codemirror/lang-wast/dist/index.js",
|
|
219
241
|
"isDynamicEntry": true,
|
|
220
242
|
"imports": [
|
|
221
243
|
"src/studio/studio.html",
|
|
222
|
-
"_index-CAXLlEvK.js"
|
|
244
|
+
"_index-CAXLlEvK.js",
|
|
245
|
+
"_syntax-presets-CoA-zUgk.js"
|
|
223
246
|
]
|
|
224
247
|
},
|
|
225
248
|
"node_modules/@codemirror/lang-xml/dist/index.js": {
|
|
226
|
-
"file": "assets/index-
|
|
249
|
+
"file": "assets/index-N1oAD1df.js",
|
|
227
250
|
"name": "index",
|
|
228
251
|
"src": "node_modules/@codemirror/lang-xml/dist/index.js",
|
|
229
252
|
"isDynamicEntry": true,
|
|
230
253
|
"imports": [
|
|
231
254
|
"_index-CAXLlEvK.js",
|
|
232
|
-
"src/studio/studio.html"
|
|
255
|
+
"src/studio/studio.html",
|
|
256
|
+
"_syntax-presets-CoA-zUgk.js"
|
|
233
257
|
]
|
|
234
258
|
},
|
|
235
259
|
"node_modules/@codemirror/lang-yaml/dist/index.js": {
|
|
236
|
-
"file": "assets/index-
|
|
260
|
+
"file": "assets/index-CbDkmZGJ.js",
|
|
237
261
|
"name": "index",
|
|
238
262
|
"src": "node_modules/@codemirror/lang-yaml/dist/index.js",
|
|
239
263
|
"isDynamicEntry": true,
|
|
240
264
|
"imports": [
|
|
241
265
|
"_index-CAXLlEvK.js",
|
|
242
|
-
"src/studio/studio.html"
|
|
266
|
+
"src/studio/studio.html",
|
|
267
|
+
"_syntax-presets-CoA-zUgk.js"
|
|
243
268
|
]
|
|
244
269
|
},
|
|
245
270
|
"node_modules/@codemirror/legacy-modes/mode/apl.js": {
|
|
@@ -1054,11 +1079,23 @@
|
|
|
1054
1079
|
"file": "assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2",
|
|
1055
1080
|
"src": "node_modules/katex/dist/fonts/KaTeX_Typewriter-Regular.woff2"
|
|
1056
1081
|
},
|
|
1082
|
+
"src/studio/editor-export.ts": {
|
|
1083
|
+
"file": "editor-export.js",
|
|
1084
|
+
"name": "editor-export",
|
|
1085
|
+
"src": "src/studio/editor-export.ts",
|
|
1086
|
+
"isEntry": true,
|
|
1087
|
+
"imports": [
|
|
1088
|
+
"_syntax-presets-CoA-zUgk.js"
|
|
1089
|
+
]
|
|
1090
|
+
},
|
|
1057
1091
|
"src/studio/studio.html": {
|
|
1058
1092
|
"file": "studio.js",
|
|
1059
1093
|
"name": "studio",
|
|
1060
1094
|
"src": "src/studio/studio.html",
|
|
1061
1095
|
"isEntry": true,
|
|
1096
|
+
"imports": [
|
|
1097
|
+
"_syntax-presets-CoA-zUgk.js"
|
|
1098
|
+
],
|
|
1062
1099
|
"dynamicImports": [
|
|
1063
1100
|
"node_modules/@codemirror/lang-sql/dist/index.js",
|
|
1064
1101
|
"node_modules/@codemirror/lang-cpp/dist/index.js",
|
|
@@ -1260,7 +1297,7 @@
|
|
|
1260
1297
|
]
|
|
1261
1298
|
},
|
|
1262
1299
|
"style.css": {
|
|
1263
|
-
"file": "assets/style-
|
|
1300
|
+
"file": "assets/style-Dbq6kayK.css",
|
|
1264
1301
|
"src": "style.css"
|
|
1265
1302
|
}
|
|
1266
1303
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** pipeline 浏览器排版插件入口,不启动 Chrome 或独立服务。 */
|
|
2
|
+
export declare const mynoAdapter: {
|
|
3
|
+
name: string;
|
|
4
|
+
doctor(): Promise<{
|
|
5
|
+
name: string;
|
|
6
|
+
ok: boolean;
|
|
7
|
+
message: string;
|
|
8
|
+
}[]>;
|
|
9
|
+
/** 浏览器端排版入口,交给 pipeline 现有导出运行时执行。 */
|
|
10
|
+
browser(): Promise<{
|
|
11
|
+
scriptPath: string;
|
|
12
|
+
}>;
|
|
13
|
+
/** 工作台资源由宿主挂载,沿用宿主配置读写接口。 */
|
|
14
|
+
studio(): Promise<{
|
|
15
|
+
root: string;
|
|
16
|
+
entry: string;
|
|
17
|
+
}>;
|
|
18
|
+
};
|
|
19
|
+
export default mynoAdapter;
|
|
20
|
+
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAOA,2CAA2C;AAC3C,eAAO,MAAM,WAAW;;;;;;;IAYtB,sCAAsC;;;;IAOtC,6BAA6B;;;;;CAK9B,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
package/dist/adapter.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { access } from "node:fs/promises";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
// npm 包仅提供已构建资源,浏览器执行和配置持久化由宿主负责。
|
|
5
|
+
const root = fileURLToPath(new URL("../dist/", import.meta.url));
|
|
6
|
+
/** pipeline 浏览器排版插件入口,不启动 Chrome 或独立服务。 */
|
|
7
|
+
export const mynoAdapter = {
|
|
8
|
+
name: "myno",
|
|
9
|
+
async doctor() {
|
|
10
|
+
try {
|
|
11
|
+
await Promise.all(["editor-export.js", "studio.js", "src/studio/studio.html"].map(file => access(join(root, file))));
|
|
12
|
+
return [{ name: "myno-browser-assets", ok: true, message: root }];
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return [{ name: "myno-browser-assets", ok: false, message: "myno 浏览器资源缺失,请重新安装已构建的包" }];
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
/** 浏览器端排版入口,交给 pipeline 现有导出运行时执行。 */
|
|
19
|
+
async browser() {
|
|
20
|
+
const scriptPath = join(root, "editor-export.js");
|
|
21
|
+
await access(scriptPath);
|
|
22
|
+
return { scriptPath };
|
|
23
|
+
},
|
|
24
|
+
/** 工作台资源由宿主挂载,沿用宿主配置读写接口。 */
|
|
25
|
+
async studio() {
|
|
26
|
+
await access(join(root, "src/studio/studio.html"));
|
|
27
|
+
return { root, entry: "src/studio/studio.html" };
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
export default mynoAdapter;
|
|
31
|
+
//# sourceMappingURL=adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,kCAAkC;AAClC,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAEjE,2CAA2C;AAC3C,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,MAAM;IAEZ,KAAK,CAAC,MAAM;QACV,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,kBAAkB,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACrH,OAAO,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,OAAO;QACX,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QAClD,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QACzB,OAAO,EAAE,UAAU,EAAE,CAAC;IACxB,CAAC;IAED,6BAA6B;IAC7B,KAAK,CAAC,MAAM;QACV,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAC;QACnD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;IACnD,CAAC;CACF,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{L as k,E as c,a as x}from"./index-CAXLlEvK.js";import{s as Y,t,a as R,L as W,i as q,c as Z,f as G,j as T,e as _,N as F,I as E}from"../studio.js";import"./syntax-presets-CoA-zUgk.js";const U=148,S=1,N=149,C=150,y=2,V=151,I=3,D=4,B=152,b=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],A=58,K=40,v=95,L=91,d=45,J=46,H=35,M=37,ee=38,Oe=92,ae=10,re=42;function Q(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}function p(e){return e>=48&&e<=57}function g(e){return p(e)||e>=97&&e<=102||e>=65&&e<=70}const z=(e,a,i)=>(O,r)=>{for(let o=!1,l=0,n=0;;n++){let{next:s}=O;if(Q(s)||s==d||s==v||o&&p(s))!o&&(s!=d||n>0)&&(o=!0),l===n&&s==d&&l++,O.advance();else if(s==Oe&&O.peek(1)!=ae){if(O.advance(),g(O.next)){do O.advance();while(g(O.next));O.next==32&&O.advance()}else O.next>-1&&O.advance();o=!0}else{o&&O.acceptToken(l>=2&&r.canShift(y)?a:s==K?i:e);break}}},te=new c(z(N,y,C),{contextual:!0}),oe=new c(z(V,I,D),{contextual:!0}),le=new c(e=>{if(b.includes(e.peek(-1))){let{next:a}=e;(Q(a)||a==v||a==H||a==J||a==re||a==L||a==A&&Q(e.peek(1))||a==d||a==ee)&&e.acceptToken(U)}}),ie=new c(e=>{if(!b.includes(e.peek(-1))){let{next:a}=e;if(a==M&&(e.advance(),e.acceptToken(S)),Q(a)){do e.advance();while(Q(e.next)||p(e.next));e.acceptToken(S)}}});function j(e){let a=e.length;return(a==4||a==5||a==7||a==9)&&/^#[a-f\d]+$/i.test(e)?B:-1}const ne=Y({"AtKeyword import charset namespace keyframes media supports font-feature-values":t.definitionKeyword,"from to selector scope MatchFlag":t.keyword,NamespaceName:t.namespace,KeyframeName:t.labelName,KeyframeRangeName:t.operatorKeyword,TagName:t.tagName,ClassName:t.className,PseudoClassName:t.constant(t.className),IdName:t.labelName,"FeatureName PropertyName":t.propertyName,AttributeName:t.attributeName,NumberLiteral:t.number,KeywordQuery:t.keyword,UnaryQueryOp:t.operatorKeyword,"CallTag ValueName FontName":t.atom,VariableName:t.variableName,Callee:t.operatorKeyword,Unit:t.unit,"UniversalSelector NestingSelector":t.definitionOperator,"MatchOp CompareOp":t.compareOperator,"ChildOp SiblingOp, LogicOp":t.logicOperator,BinOp:t.arithmeticOperator,Important:t.modifier,Comment:t.blockComment,ColorLiteral:t.color,"ParenthesizedContent StringLiteral":t.string,":":t.punctuation,PseudoOp:t.derefOperator,"; , |":t.separator,"( )":t.paren,"[ ]":t.squareBracket,"{ }":t.brace}),se={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:88,url:158,"url-prefix":158,domain:158,regexp:158},$e={__proto__:null,or:102,and:102,not:112,only:112,layer:212},Qe={__proto__:null,selector:118,style:124,layer:208},de={__proto__:null,"@import":204,"@media":216,"@charset":220,"@namespace":224,"@keyframes":230,"@supports":242,"@scope":246,"@font-feature-values":252},ce={__proto__:null,to:249},ue=k.deserialize({version:14,states:"MrQYQdOOO$TQdOOP$[O`OOO%XQaO'#CfOOQP'#Ce'#CeO%`QdO'#CgO%eQ`O'#CgO%jQaO'#FrO&eQdO'#CkO'XQaO'#CcO'cQdO'#CnOOQP'#ES'#ESOOQP'#ER'#ERO'nQdO'#ETO'yQdO'#E[O'yQdO'#E_OOQP'#Fr'#FrO)`QhO'#FQOOQS'#Fq'#FqOOQS'#FT'#FTQYQdOOO)gQdO'#EeO*vQhO'#EkO)gQdO'#EmO*}QdO'#EoO+YQdO'#ErO*[QhO'#ExO+bQdO'#EzO+mQdO'#E}O+rQaO'#CfO+yQ`O'#EbO,OQ`O'#GPO,ZQdO'#GPQOQ`OOP,eO&jO'#CaPOOO)CAa)CAaOOQP'#Ci'#CiOOQP,59R,59RO%`QdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&eQdO,59VO,pQdO,59YOOQP,5:m,5:mO'nQdO,5:oO'yQdO,5:vO'yQdO,5:xO'yQdO,5:yO'yQdO'#F[O,{Q`O,58}O-TQdO'#EaOOQS,58},58}OOQP'#Cq'#CqOOQO'#EP'#EPOOQP,59Y,59YO-[Q`O,59YO-aQ`O,59YO-fQpO'#EUO-qQdO'#EVO-vQ`O'#EVO-{QpO,5:oO.iQaO,5:vO/PQaO,5:yOOQW'#D]'#D]O0OQhO'#DgO0cQhO,5;lO*[QhO'#DeO0pQ`O'#DnO0uQhO'#D{OOQW'#Fx'#FxOOQS,5;l,5;lO0zQ`O'#DhO1PQ`O'#DkOOQS-E9R-E9ROOQ['#Cv'#CvO1UQdO'#CwO1iQdO'#C|O1|QdO'#DPOOQ['#DQ'#DQO2aQ!pO'#DRO4jQ!jO,5;POOQO'#DW'#DWO-aQ`O'#DVO4zQ!nO'#FuO6}Q`O'#DXO7SQ`O'#D|OOQ['#Fu'#FuO7XQhO'#GSO7gQ`O,5;VO7lQ!bO,5;XOOQS'#Eq'#EqO7tQ`O,5;ZO7yQdO,5;ZOOQO'#Et'#EtO8RQ`O,5;^O8WQhO,5;dO'yQdO'#DjOOQS,5;f,5;fO0zQ`O,5;fO8`QdO,5;fOOQS'#Fc'#FcO8hQdO'#FPO7gQ`O,5;iO8pQdO,5:|O9QQdO'#F^O9_Q`O,5<kO9_Q`O,5<kPOOO'#FS'#FSP9jO&jO,58{POOO,58{,58{OOQP1G.m1G.mOOQP1G.q1G.qOOQP1G.t1G.tO-[Q`O1G.tO-aQ`O1G.tO9uQpO1G0ZO9}QaO1G0bO:eQaO1G0dO:{QaO1G0eO;cQaO,5;vOOQO-E9Y-E9YOOQS1G.i1G.iO;mQ`O,5:{O;rQdO'#EQO;yQdO'#CuOOQO'#EX'#EXOOQO,5:q,5:qO-qQdO,5:qOOQP1G0Z1G0ZO)gQdO1G0ZO<QQ!jO'#D]O<`Q!bO,59xO<hQhO,5:ROOQO'#Dc'#DcOOQO'#Fy'#FyO<cQ!bO,59|O<pQhO'#FdO*[QhO,59zO*[QhO'#FdO=hQhO1G1WOOQS1G1W1G1WO=rQhO,5:PO>mQhO'#DoOOQW,5:Y,5:YOOQW,5:g,5:gOOQW,5:S,5:SO>wQhO,5:VO?cQ!fO'#FvOOQS'#Fv'#FvOOQS'#FV'#FVO@pQdO,59cOOQ[,59c,59cOATQdO,59hOOQ[,59h,59hOAhQdO,59kOOQ[,59k,59kOOQ[,59m,59mO)gQdO,59oOA{QhO'#EgOOQW'#Eg'#EgOBjQ`O1G0kO4sQhO1G0kOOQ[,59q,59qO*[QhO'#DZOOQ[,59s,59sOBoQ#tO,5:hOBzQhO'#F`OCXQ`O,5<nOOQS1G0q1G0qOOQS1G0s1G0sOOQS1G0u1G0uOCdQ`O1G0uOCiQdO'#EuOOQS1G0x1G0xOOQS1G1O1G1OOCtQaO,5:UO7gQ`O1G1QOOQS1G1Q1G1QO0zQ`O1G1QOOQS-E9a-E9aOOQS1G1T1G1TOC{Q!fO1G0hODcQ`O'#EdOOQO1G0h1G0hOOQO,5;x,5;xODhQdO,5;xOOQO-E9[-E9[ODuQ`O1G2VPOOO-E9Q-E9QPOOO1G.g1G.gOOQP7+$`7+$`OOQP7+%u7+%uO)gQdO7+%uOOQS1G0g1G0gOEQQaO'#F}OE[Q`O,5:lOEaQ!fO'#FUOF_QdO'#FtOFiQ`O,59aOOQO1G0]1G0]OFnQ!bO7+%uO)gQdO1G/dOFyQhO1G/hOOQW1G/m1G/mOOQW1G/f1G/fOG[QhO,5<OOOQW-E9b-E9bOOQS7+&r7+&rOHSQhO'#D]OHbQhO'#F|OHmQ`O'#F|OHrQ`O,5:ZOHwQ!bO'#D_O>wQhO'#DmOISQhO'#DsOI[QhO'#DuOIaQ!jO'#F{OOQO'#F{'#F{OIlQ`O'#DxOItQ!bO'#DzOOQO'#Fz'#FzOIyQ`O1G/qOOQS-E9T-E9TOOQ[1G.}1G.}OOQ[1G/S1G/SOOQ[1G/V1G/VOOQ[1G/Z1G/ZOJOQdO,5;ROOQS7+&V7+&VOJTQ`O7+&VOJYQhO'#D[OJbQ`O,59uO*[QhO,59uOOQ[1G0S1G0SOJjQ`O1G0SOJoQhO,5;zOOQO-E9^-E9^OOQS7+&a7+&aOJ}QbO'#DROOQO'#Ew'#EwOK]Q`O'#EvOOQO'#Ev'#EvOKhQ`O'#FaOKpQdO,5;aOOQS,5;a,5;aOOQ[1G/p1G/pOOQS7+&l7+&lO7gQ`O7+&lOK{Q!fO'#F]O)gQdO'#F]OMSQdO7+&SOOQO7+&S7+&SOOQO,5;O,5;OOOQO1G1d1G1dOMgQ!bO<<IaOMrQdO'#FZOM|Q`O,5<iOOQP1G0W1G0WOOQS-E9S-E9SONUQdO'#FYON`Q`O,5<`OOQ]1G.{1G.{OOQP<<Ia<<IaONhQ`O<<IaONmQdO7+%OOOQO'#D_'#D_ONtQ!bO7+%SON|QhO'#FXO! ZQ`O,5<hO)gQdO,5<hOOQW1G/u1G/uO! cQ`O,5:XO>wQhO'#DtOOQO,5:_,5:_O! hQhO,5:aO! pQhO,5:fO)gQdO,5:dOOQW7+%]7+%]OOQO'#Ei'#EiO! wQ`O1G0mOOQS<<Iq<<IqO)gQdO,59vO!!kQhO1G/aOOQ[1G/a1G/aO!!rQ`O1G/aOOQW-E9U-E9UOOQ[7+%n7+%nOOQO,5;b,5;bOClQdO'#FbOKhQ`O,5;{OOQS,5;{,5;{OOQS-E9_-E9_OOQS1G0{1G0{OOQS<<JW<<JWO!!zQ!fO,5;wOOQS-E9Z-E9ZOOQO<<In<<InOOQPAN>{AN>{O!$RQ`OAN>{O!$WQaO,5;uOOQO-E9X-E9XO!$bQdO,5;tOOQO-E9W-E9WOOQW<<Hj<<HjOOQW<<Hn<<HnO!$lQhO<<HnO!$}QhO'#D]O!%]QhO,5;sO!%hQ`O,5;sOOQO-E9V-E9VO!%mQdO1G2SO!%wQhO1G/sO!&PQ`O,5:`O>wQhO'#DwOOQO1G/{1G/{O!&UQ!bO1G0QO!&^QdO1G0OOJOQdO'#F_O!&eQ`O7+&XOOQW7+&X7+&XO!&mQ!bO1G/bOOQ[7+${7+${O!&xQhO7+${P!'PQ`O'#FWOOQO,5;|,5;|OOQO-E9`-E9`OOQS1G1g1G1gOOQPG24gG24gO!'UQ`OAN>YO)gQdO1G1_O!'ZQ`O7+'nOOQO1G/z1G/zO!'cQ`O,5:cO!'hQhO7+%lOOQO,5;y,5;yOOQO-E9]-E9]OOQW<<Is<<IsOOQ[<<Hg<<HgPOQW,5;r,5;rOOQWG23tG23tO!'oQdO7+&yOOQO1G/}1G/}OOQO<<IW<<IW",stateData:"!(R~O$`OS$aQQ~OWVO^`O`WOcYOdYOlaOo]O#P^O#S_O#YeO#`fO#bgO#dhO#giO#mjO#okO#rlO$ZRO$^ZO$gTO$rZO~OQnOWVO^`O`WOcYOdYOlaOo]O#P^O#S_O#YeO#`fO#bgO#dhO#giO#mjO#okO#rlO$ZmO$^ZO$gTO$rZO~O$X$sP~P!mO$arO~O`YXcYXdYXoYXrYX!eYX#PYX#SYX$YYX$^YX$g[X$rYX~OgYX~P$aO$ZtO~O$gvO~O$gvO`$fXc$fXd$fXo$fXr$fX!e$fX#P$fX#S$fX$Y$fX$^$fX$r$fXg$fX~O$ZwO~O`yOczOdzOo|O#P}O#S!PO$Y!OO$^ZO$rZO~Or!SO!e!QO~P&jOf!YO$Z!UO$[!VO~OW!]O$Z!ZO$g![O~OWVO^`O`WOcYOdYOo]O#P^O#S_O$ZRO$^ZO$gTO$rZO~OS!eOc!fOd!fOh!bOr!SO!Y!dO!]!iO!`!jO$]!aO~Om!hO~P(qOQ!uOh!mOo!nOr!oOv!xO|!vO!q!wO$Z!lO$[!sO$^!pO$k!qO~OS!eOc!fOd!fOh!bO!Y!dO!]!iO!`!jO$]!aO~Or$vP~P*[Ov!}O!q!wO$Z!|O~Ov#PO$Z#PO~Oh#SOr!SO#p#UO~O$Z#WO~Oc#VX~P$aOc#ZO~Om#[O$X$sXq$sX~O$X$sXq$sX~P!mO$b#_O$c#_O$d#aO~Of#fO$Z!UO$[!VO~Or!SO!e!QO~Oq$sP~P!mOh#oO~Oh#pO~On!xX!|!xX$g!zX~O$Z#qO~O$g#sO~On#tO!|#uO~O`yOczOdzOo|O$^ZO$rZO~Or#Oa!e#Oa#P#Oa#S#Oa$Y#Oag#Oa~P.TOr#Ra!e#Ra#P#Ra#S#Ra$Y#Rag#Ra~P.TOS!eOc!fOd!fOh!bO!Y!dO!]!iO!`!jO~OR#zOv#zO$]#vO$^#yO$k!qO~P/gOm$QO!T#}O!e$OO~P(qOh$SO~O$]$UO~Oh#SO~Oh$WO~O`$YOc$YOg$]Ol$YOm$YO~P)gO`$YOc$YOl$YOm$YOn$_O~P)gO`$YOc$YOl$YOm$YOq$aO~P)gOP$bOSuXcuXduXhuXmuXxuX!YuX!]uX!`uX#[uX#^uX$]uX!WuXQuX`uXguXluXouXruXvuX|uX!quX$ZuX$[uX$^uX$kuXnuXquX!euX$XuX$uuX!}uX~Ox$cO#[$dO#^$eOm$vP~P*[Oh#pOS$iXc$iXd$iXm$iXx$iX!Y$iX!]$iX!`$iX#[$iX#^$iX$]$iXQ$iX`$iXg$iXl$iXo$iXr$iXv$iX|$iX!q$iX$Z$iX$[$iX$^$iX$k$iXn$iXq$iX!e$iX$X$iX$u$iX!}$iX~Oh$iO~Oh$kO~O!T#}O!e$lOr$vXm$vX~Or!SO~Om$oOx$cO~Om$pO~Ov$qO!q!wO~Or$rO~Or!SO!T#}O~Or!SO#p$xO~O$Z#WOr#sX~O$u$|Om#Ua$X#Uaq#Ua~P)gOm$QX$X$QXq$QX~P!mOm#[O$X$saq$sa~O$b#_O$c#_O$d%TO~On%VO!|%WO~Or#Oi!e#Oi#P#Oi#S#Oi$Y#Oig#Oi~P.TOr#Qi!e#Qi#P#Qi#S#Qi$Y#Qig#Qi~P.TOr#Ri!e#Ri#P#Ri#S#Ri$Y#Rig#Ri~P.TOr$Oa!e$Oa~P&jOq%XO~Og$qP~P'yOg$hP~P)gOc!RXg!PX!T!PX!W!RX~Oc%aO!W%bO~Og%cO!T#}O~O!T#}OS$WXc$WXd$WXh$WXm$WXr$WX!Y$WX!]$WX!`$WX!e$WX$]$WX~Om%gO!e$OO~P(qO!T#}OS!Xac!Xad!Xah!Xam!Xar!Xa!Y!Xa!]!Xa!`!Xa!e!Xa$]!Xag!Xa~O$]%hOg$pP~P/gOR#zOS!eOh%mOv#zO!Y%nO$]%lO$^#yO$k!qO~Ox$cOQ$jX`$jXc$jXg$jXh$jXl$jXm$jXo$jXr$jXv$jX|$jX!q$jX$Z$jX$[$jX$^$jX$k$jXn$jXq$jX~O`$YOc$YOg%wOl$YOm$YO~P)gO`$YOc$YOl$YOm$YOn%xO~P)gO`$YOc$YOl$YOm$YOq%yO~P)gOh%{OS#ZXc#ZXd#ZXm#ZX!Y#ZX!]#ZX!`#ZX$]#ZX~Om%|O~Og&ROv&SO!r&SO~Or$SX!e$SXm$SX~P*[O!e$lOr$vam$va~Om&VO~Oq&^O$Z&XO$k&WO~Og&_O~P&jOx$cO!e&cO$u$|Om#Ui$X#Uiq#Ui~P)gO$t&fO~Om$Qa$X$Qaq$Qa~P!mOm#[O$X$siq$si~O!e&iOg$qX~P&jOg&kO~Ox$cOQ#xXg#xXh#xXo#xXr#xXv#xX|#xX!e#xX!q#xX$Z#xX$[#xX$^#xX$k#xX~O!e&mOg$hX~P)gOg&oO~On&pOx$cO!}&qO~OR#zOv#zO$]&sO$^#yO$k!qO~O!T#}OS$Wac$Wad$Wah$Wam$War$Wa!Y$Wa!]$Wa!`$Wa!e$Wa$]$Wa~Oc!dXg!PX!T!PX!e!PX~O!T#}O!e&uOg$pX~Oc&wO~Og&xO~Oc!mXg!mX!W!RX~OS!eOh&zO~O!T&|O~O!T&|O!W&}Og$oX~Oc'OOg!lX~O!W&}O~Og'PO~O$Z'QO~Om'SO~Oc'TO!T#}O~Og'VOm'UO~Og'YO~O!T#}Or$Sa!e$Sam$Sa~OP$bOruX!euXguX~O$k&WOr#jX!e#jX~Or!SO!e'[O~Oq'`O$Z&XO$k&WO~Ox$cOQ$PXh$PXm$PXo$PXr$PXv$PX|$PX!e$PX!q$PX$X$PX$Z$PX$[$PX$^$PX$k$PX$u$PXq$PX~O!e&cO$u$|Om#Uq$X#Uqq#Uq~P)gOn'eOx$cO!}'fO~Og#}X!e#}X~P'yO!e&iOg$qa~Og#|X!e#|X~P)gO!e&mOg$ha~On'eO~Og'kO~P)gOg'lO!W'mO~O$]'nOg#{X!e#{X~P/gO!e&uOg$pa~Og'sO~OS!eOh'uO~OS!eO~PFyO`'yOg'{O~OS#zac#zad#zah#za!Y#za!]#za!`#za$]#za~Og'}O~P!!POg'}Om(OO~Ox$cOQ$Pah$Pam$Pao$Par$Pav$Pa|$Pa!e$Pa!q$Pa$X$Pa$Z$Pa$[$Pa$^$Pa$k$Pa$u$Paq$Pa~On(TO~Og#}a!e#}a~P&jOg#|a!e#|a~P)gOR#zOv#zO$]&sO$^#yO$k&WO~Oc!fXg!PX!T!PX!e!PX~O!T#}Og#{a!e#{a~Oc(VO~O!e&uOg$pi~P)gOg!ai!T!ji~Og(XO~O!W(ZOg!ni~Og!li~P)gO`'yOg(^O~Ox$cOg!Oim!Oi~Og(_O~P!!POm(`O~Og(aO~O!e&uOg$pq~Og(cO~OS!eO~P!$lOg#{q!e#{q~P)gO$`!r$a$k`x#S~",goto:"8^$wPPPPP$xP${P%U%h%U%z&^P%UP&d%UPP&jPPP&p&z&zPPPP&zPP&z&z'jP&zP&z(m&zP)])`)f)f)x)fP)f*_P)fP)f)fP*j)fP*v*|+r+uP+x*v+{*v,O,U,X,_,X)f,ePP-Z-a%U-g%U.V.V.].aPP%UP%U%UP.g/c/p/w${P0QP0TP${P${P${P0Z${P0^0a0d0k${P${PP${P0p${P0s0y1Y1t2S2Y2d2j2p2v2|3W3^3d3j3p3vPPPPPPPPPPPP3|4VP4{5O6SP6[7U7k,X7w7zP7}PP8TRsQ_bOPdp!S#[%Pq`OP^_dp}!O!P!Q!S#S#[#o%P&iqSOP^_dp}!O!P!Q!S#S#[#o%P&iqUOP^_dp}!O!P!Q!S#S#[#o%P&iQuTR#bvQxWR#cyQ!WYR#dzQ#d!YS$h!t!uR%U#f!Z!xeg!m!n!o#Z#p#u$[$^$`$c${%W%]%a&c&d&m&r&w'O'T'i'r'x(V(b!Y!xeg!m!n!o#Z#p#u$[$^$`$c${%W%]%a&c&d&m&r&w'O'T'i'r'x(V(bb#z!b$W%b%m&z&}'m'u(ZU&Z$r&]'[R'Z&Y!Z!teg!m!n!o#Z#p#u$[$^$`$c${%W%]%a&c&d&m&r&w'O'T'i'r'x(V(bR$j!vQ&P$iR'W&Qq!gafj!b!c!d!r#}$O$P$S$g$i$l&Q&uQ#w!bW%s$W%m&z'uQ&t%bQ'w&}Q(U'mR(d(Zc#z!b$W%b%m&z&}'m'u(ZQ#VkQ$V!iQ$v#UR&a$xX%q$W%m&z'up!gafj!b!c!d!r#}$O$P$S$g$i$l&Q&uW%p$W%m&z'uQ&{%nQ'v&|Q'w&}R(d(ZR$T!eR%j$SR'p&uR&{%nX%o$W%m&z'uR'v&|X%t$W%m&z'uX%r$W%m&z'u!Y!xeg!m!n!o#Z#p#u$[$^$`$c${%W%]%a&c&d&m&r&w'O'T'i'r'x(V(bQ!}hR$q#OQ!XYR#ezQ#d!XR%U#ep[OP^_dp}!O!P!Q!S#S#[#o%P&ie{X!_!`#h#i#j#k$u%Y'gQ!^]R#g|T!]]|Q#r![R%_#sQ!TXQ!haQ#TkQ#m!RQ$Q!cQ$n!zQ$t#RQ$w#VQ$z#YQ%g$PQ&`$vQ'^&[Q'a&aR(S']SoP!SQ#^pQ%O#[R&g%PZnPp!S#[%PQ$}#ZQ&e${R'd&dR$g!rQ'R%{R(['yR#OhR#QiR$s#QS&[$r&]R(Q'[V&Y$r&]'[R#YlQ#`rR%S#`QdOSpP!SU!kdp%PR%P#[Q%]#p[&l%]&r'i'r'x(bQ&r%aQ'i&mQ'r&wQ'x'OR(b(VQ$[!mQ$^!nQ$`!oV%v$[$^$`Q&Q$iR'X&QQ&v%iS'q&v(WR(W'rQ&n%]R'j&nQ&j%YR'h&jQ!RXR#l!RQ&d${R'c&dQ#]oS%Q#]%RR%R#^Q'z'RR(]'zQ$m!yR&U$mQ&]$rR'_&]Q']&[R(R']Q#XlR$y#XQ$P!cR%f$P_cOPdp!S#[%P^XOPdp!S#[%PQ!_^Q!`_Q#h}Q#i!OQ#j!PQ#k!QQ$u#SQ%Y#oR'g&iR%^#pQ!reQ!{g[$X!m!n!o$[$^$`Q${#Zh%[#p%]%a&m&r&w'O'i'r'x(V(bQ%`#uQ%z$cS&b${&dQ&h%WQ'b&cR'|'T]$Z!m!n!o$[$^$`Q!caU!yf!r$gQ#RjQ#x!bS#|!c$PQ$R!dQ%d#}Q%e$OQ%i$SS&O$i&QQ&T$lR'o&uQ#{!bW%s$W%m&z'uQ&t%bQ'w&}Q(U'mR(d(ZQ%u$WQ&y%mQ't&zR(Y'uR%k$SR%Z#oQqPR#n!SQ!zfQ$f!rR%}$g",nodeNames:"⚠ Unit VariableName VariableName QueryCallee Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NamespacedTagSelector NamespaceName TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue AtKeyword ; ] [ BracketedValue } { BracedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee IfExpression if ArgList IfBranch KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp ComparisonQuery ColorLiteral CompareOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector ParenthesizedSelector StyleQuery style ParenthesedQuery CallQuery ArgList PropertyName , PropertyName UnaryQuery ParenthesedQuery BinaryQuery ParenthesedQuery ParenthesedQuery StyleFeature PropertyName StyleRange PseudoQuery CallLiteral CallTag ParenthesizedContent PseudoClassName ArgList IdSelector IdName AttributeSelector AttributeName NamespacedAttribute NamespaceName AttributeName MatchOp MatchFlag ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp Block Declaration PropertyName Important ImportStatement import Layer layer LayerName layer MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports ScopeStatement scope to FontFeatureStatement font-feature-values FontName AtRule Styles",maxTerm:176,nodeProps:[["isolate",-2,5,38,""],["openedBy",23,"(",30,"[",33,"{"],["closedBy",24,")",31,"]",34,"}"]],propSources:[ne],skippedNodes:[0,5,130],repeatNodeCount:17,tokenData:"IO~R!bOX%ZX^&R^p%Zpq&Rqr)ers)vst+jtu/wuv%Zvw0qwx1Sxy2qyz3Sz{3X{|3r|}8e}!O8v!O!P9e!P!Q9|!Q![:u![!];p!]!^<l!^!_<}!_!`=y!`!a>^!a!b%Z!b!c?_!c!k%Z!k!lAl!l!u%Z!u!vAl!v!}%Z!}#OA}#O#P%Z#P#QB`#Q#R/w#R#]%Z#]#^Bq#^#g%Z#g#hAl#h#o%Z#o#pGU#p#qGg#q#rHO#r#sHa#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`Hx<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!r`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$`~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$`~!r`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$uYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOv~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+maOy%jz}%j}!O,r!O!Q%j!Q![,r![!c%j!c!},r!}#O%j#O#P.O#P#R%j#R#S,r#S#T%j#T#o,r#o$g%j$g;'S,r;'S;=`/q<%lO,rj,ya$rY!r`Oy%jz}%j}!O,r!O!Q%j!Q![,r![!c%j!c!},r!}#O%j#O#P.O#P#R%j#R#S,r#S#T%j#T#o,r#o$g%j$g;'S,r;'S;=`/q<%lO,rj.TV!r`OY,rYZ%jZy,ryz.jz;'S,r;'S;=`/q<%lO,rY.oX$rY}!O.j!Q![.j!c!}.j#O#P/[#R#S.j#T#o.j$g;'S.j;'S;=`/k<%lO.jY/_SOY.jZ;'S.j;'S;=`/k<%lO.jY/nP;=`<%l.jj/tP;=`<%l,rd/zUOy%jz!_%j!_!`0^!`;'S%j;'S;=`%{<%lO%jd0eS!|S!r`Oy%jz;'S%j;'S;=`%{<%lO%jb0vS^QOy%jz;'S%j;'S;=`%{<%lO%j~1VWOY1SZw1Swx*cx#O1S#O#P1o#P;'S1S;'S;=`2k<%lO1S~1rRO;'S1S;'S;=`1{;=`O1S~2OXOY1SZw1Swx*cx#O1S#O#P1o#P;'S1S;'S;=`2k;=`<%l1S<%lO1S~2nP;=`<%l1Sj2vShYOy%jz;'S%j;'S;=`%{<%lO%j~3XOg~n3`UWQxWOy%jz!_%j!_!`0^!`;'S%j;'S;=`%{<%lO%jj3yWxW#SQOy%jz!O%j!O!P4c!P!Q%j!Q![7h![;'S%j;'S;=`%{<%lO%jj4hU!r`Oy%jz!Q%j!Q![4z![;'S%j;'S;=`%{<%lO%jj5RY!r`$kYOy%jz!Q%j!Q![4z![!g%j!g!h5q!h#X%j#X#Y5q#Y;'S%j;'S;=`%{<%lO%jj5vY!r`Oy%jz{%j{|6f|}%j}!O6f!O!Q%j!Q![6}![;'S%j;'S;=`%{<%lO%jj6kU!r`Oy%jz!Q%j!Q![6}![;'S%j;'S;=`%{<%lO%jj7UU!r`$kYOy%jz!Q%j!Q![6}![;'S%j;'S;=`%{<%lO%jj7o[!r`$kYOy%jz!O%j!O!P4z!P!Q%j!Q![7h![!g%j!g!h5q!h#X%j#X#Y5q#Y;'S%j;'S;=`%{<%lO%jj8jS!eYOy%jz;'S%j;'S;=`%{<%lO%jj8{WxWOy%jz!O%j!O!P4c!P!Q%j!Q![7h![;'S%j;'S;=`%{<%lO%jj9jU`YOy%jz!Q%j!Q![4z![;'S%j;'S;=`%{<%lO%j~:RTxWOy%jz{:b{;'S%j;'S;=`%{<%lO%j~:iS!r`$a~Oy%jz;'S%j;'S;=`%{<%lO%jj:z[$kYOy%jz!O%j!O!P4z!P!Q%j!Q![7h![!g%j!g!h5q!h#X%j#X#Y5q#Y;'S%j;'S;=`%{<%lO%jj;uUcYOy%jz![%j![!]<X!];'S%j;'S;=`%{<%lO%jj<`SdY!r`Oy%jz;'S%j;'S;=`%{<%lO%jj<qSmYOy%jz;'S%j;'S;=`%{<%lO%jh=SU!WWOy%jz!_%j!_!`=f!`;'S%j;'S;=`%{<%lO%jh=mS!WW!r`Oy%jz;'S%j;'S;=`%{<%lO%jl>QS!WW!|SOy%jz;'S%j;'S;=`%{<%lO%jj>eV#PQ!WWOy%jz!_%j!_!`=f!`!a>z!a;'S%j;'S;=`%{<%lO%jb?RS#PQ!r`Oy%jz;'S%j;'S;=`%{<%lO%jj?bYOy%jz}%j}!O@Q!O!c%j!c!}@o!}#T%j#T#o@o#o;'S%j;'S;=`%{<%lO%jj@VW!r`Oy%jz!c%j!c!}@o!}#T%j#T#o@o#o;'S%j;'S;=`%{<%lO%jj@v[lY!r`Oy%jz}%j}!O@o!O!Q%j!Q![@o![!c%j!c!}@o!}#T%j#T#o@o#o;'S%j;'S;=`%{<%lO%jhAqS!}WOy%jz;'S%j;'S;=`%{<%lO%jjBSSoYOy%jz;'S%j;'S;=`%{<%lO%jnBeSn^Oy%jz;'S%j;'S;=`%{<%lO%jjBvU!}WOy%jz#a%j#a#bCY#b;'S%j;'S;=`%{<%lO%jbC_U!r`Oy%jz#d%j#d#eCq#e;'S%j;'S;=`%{<%lO%jbCvU!r`Oy%jz#c%j#c#dDY#d;'S%j;'S;=`%{<%lO%jbD_U!r`Oy%jz#f%j#f#gDq#g;'S%j;'S;=`%{<%lO%jbDvU!r`Oy%jz#h%j#h#iEY#i;'S%j;'S;=`%{<%lO%jbE_U!r`Oy%jz#T%j#T#UEq#U;'S%j;'S;=`%{<%lO%jbEvU!r`Oy%jz#b%j#b#cFY#c;'S%j;'S;=`%{<%lO%jbF_U!r`Oy%jz#h%j#h#iFq#i;'S%j;'S;=`%{<%lO%jbFxS$tQ!r`Oy%jz;'S%j;'S;=`%{<%lO%jjGZSrYOy%jz;'S%j;'S;=`%{<%lO%jfGlU$gUOy%jz!_%j!_!`0^!`;'S%j;'S;=`%{<%lO%jjHTSqYOy%jz;'S%j;'S;=`%{<%lO%jfHfU#SQOy%jz!_%j!_!`0^!`;'S%j;'S;=`%{<%lO%j`H{P;=`<%l%Z",tokenizers:[le,ie,te,oe,1,2,3,4,new x("m~RRYZ[z{a~~g~aO$c~~dP!P!Qg~lO$d~~",28,156)],topRules:{StyleSheet:[0,6],Styles:[1,129]},dynamicPrecedences:{97:1},specialized:[{term:172,get:(e,a)=>j(e)<<1,external:j},{term:150,get:e=>se[e]||-1},{term:151,get:e=>$e[e]||-1},{term:4,get:e=>Qe[e]||-1},{term:28,get:e=>de[e]||-1},{term:149,get:e=>ce[e]||-1}],tokenPrec:2433});let u=null;function m(){if(!u&&typeof document=="object"&&document.body){let{style:e}=document.body,a=[],i=new Set;for(let O in e)O!="cssText"&&O!="cssFloat"&&typeof e[O]=="string"&&(/[A-Z]/.test(O)&&(O=O.replace(/[A-Z]/g,r=>"-"+r.toLowerCase())),i.has(O)||(a.push(O),i.add(O)));u=a.sort().map(O=>({type:"property",label:O,apply:O+": "}))}return u||[]}const h=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(e=>({type:"class",label:e})),P=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(e=>({type:"keyword",label:e})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(e=>({type:"constant",label:e}))),me=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(e=>({type:"type",label:e})),pe=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(e=>({type:"keyword",label:e})),$=/^(\w[\w-]*|-\w[\w-]*|)$/,Se=/^-(-[\w-]*)?$/;function ge(e,a){var i;if((e.name=="("||e.type.isError)&&(e=e.parent||e),e.name!="ArgList")return!1;let O=(i=e.parent)===null||i===void 0?void 0:i.firstChild;return O?.name!="Callee"?!1:a.sliceString(O.from,O.to)=="var"}const f=new F,je=["Declaration"];function he(e){for(let a=e;;){if(a.type.isTop)return a;if(!(a=a.parent))return e}}function w(e,a,i){if(a.to-a.from>4096){let O=f.get(a);if(O)return O;let r=[],o=new Set,l=a.cursor(E.IncludeAnonymous);if(l.firstChild())do for(let n of w(e,l.node,i))o.has(n.label)||(o.add(n.label),r.push(n));while(l.nextSibling());return f.set(a,r),r}else{let O=[],r=new Set;return a.cursor().iterate(o=>{var l;if(i(o)&&o.matchContext(je)&&((l=o.node.nextSibling)===null||l===void 0?void 0:l.name)==":"){let n=e.sliceString(o.from,o.to);r.has(n)||(r.add(n),O.push({label:n,type:"variable"}))}}),O}}const Pe=e=>a=>{let{state:i,pos:O}=a,r=_(i).resolveInner(O,-1),o=r.type.isError&&r.from==r.to-1&&i.doc.sliceString(r.from,r.to)=="-";if(r.name=="PropertyName"||(o||r.name=="TagName")&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:m(),validFor:$};if(r.name=="ValueName")return{from:r.from,options:P,validFor:$};if(r.name=="PseudoClassName")return{from:r.from,options:h,validFor:$};if(e(r)||(a.explicit||o)&&ge(r,i.doc))return{from:e(r)||o?r.from:O,options:w(i.doc,he(r),e),validFor:Se};if(r.name=="TagName"){for(let{parent:s}=r;s;s=s.parent)if(s.name=="Block")return{from:r.from,options:m(),validFor:$};return{from:r.from,options:me,validFor:$}}if(r.name=="AtKeyword")return{from:r.from,options:pe,validFor:$};if(!a.explicit)return null;let l=r.resolve(O),n=l.childBefore(O);return n&&n.name==":"&&l.name=="PseudoClassSelector"?{from:O,options:h,validFor:$}:n&&n.name==":"&&l.name=="Declaration"||l.name=="ArgList"?{from:O,options:P,validFor:$}:l.name=="Block"||l.name=="Styles"?{from:O,options:m(),validFor:$}:null},fe=Pe(e=>e.name=="VariableName"),X=W.define({name:"css",parser:ue.configure({props:[q.add({Declaration:Z()}),G.add({"Block KeyframeList":T})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function ve(){return new R(X,X.data.of({autocomplete:fe}))}export{ve as css,fe as cssCompletionSource,X as cssLanguage,Pe as defineCSSCompletionSource};
|