@fecommunity/reactpress-web 4.0.0-beta.0 → 4.0.0-beta.2

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/README.md CHANGED
@@ -1,46 +1,44 @@
1
1
  # @fecommunity/reactpress-web
2
2
 
3
- ReactPress **管理后台** SPA(Vite + TanStack Router)。Monorepo 内为 `web/` 工作区;也可作为独立 npm 包接入,提供预构建静态资源与 Node 静态服务工具。
3
+ ReactPress **Admin** SPA (Vite + TanStack Router). In the monorepo this is the `web/` workspace; also published as a standalone npm package with prebuilt static assets and Node static-server helpers.
4
4
 
5
- ## 通过 npm 接入
6
-
7
- 安装:
5
+ ## Install via npm
8
6
 
9
7
  ```bash
10
8
  npm install @fecommunity/reactpress-web
11
- # 或
9
+ # or
12
10
  pnpm add @fecommunity/reactpress-web
13
11
  ```
14
12
 
15
- ### 快速启动(静态服务)
13
+ ### Quick start (static server)
16
14
 
17
- 默认监听 `3000`,挂载路径 `/admin/`(与生产 nginx 一致):
15
+ Listens on `3000` by default, mounted at `/admin/` (matches production nginx):
18
16
 
19
17
  ```bash
20
18
  npx @fecommunity/reactpress-web
21
- # 等价
19
+ # equivalent
22
20
  npx reactpress-web start --port 3000 --base /admin/
23
21
  ```
24
22
 
25
- 需配合 API(同源 `/api` 或 nginx 反代)。本地联调示例:
23
+ Requires an API (same-origin `/api` or nginx reverse proxy). Local dev example:
26
24
 
27
25
  ```bash
28
- # 终端 1:API
26
+ # Terminal 1: API
29
27
  reactpress dev --api-only
30
28
 
31
- # 终端 2:Admin 静态包
29
+ # Terminal 2: Admin static package
32
30
  npx @fecommunity/reactpress-web --port 3000
33
- # 打开 http://localhost:3000/admin/
31
+ # open http://localhost:3000/admin/
34
32
  ```
35
33
 
36
- ### 获取 dist 路径(nginx / Docker)
34
+ ### Get dist path (nginx / Docker)
37
35
 
38
36
  ```bash
39
37
  npx @fecommunity/reactpress-web path
40
38
  # → .../node_modules/@fecommunity/reactpress-web/dist
41
39
  ```
42
40
 
43
- nginx 示例(与仓库 `docker-compose.prod.yml` 一致):
41
+ nginx example (matches repo `docker-compose.prod.yml`):
44
42
 
45
43
  ```nginx
46
44
  location /admin/ {
@@ -52,14 +50,14 @@ location = /admin {
52
50
  }
53
51
  ```
54
52
 
55
- Docker volume:
53
+ Docker volume:
56
54
 
57
55
  ```yaml
58
56
  volumes:
59
57
  - ./node_modules/@fecommunity/reactpress-web/dist:/usr/share/reactpress-admin:ro
60
58
  ```
61
59
 
62
- ### 程序化接入(Express / Connect / 自定义 Node 服务)
60
+ ### Programmatic integration (Express / Connect / custom Node)
63
61
 
64
62
  ```javascript
65
63
  import express from "express";
@@ -67,16 +65,16 @@ import { createAdminStaticMiddleware, resolveDistDir } from "@fecommunity/reactp
67
65
 
68
66
  const app = express();
69
67
 
70
- // 挂载在 /admin/(默认 basePath)
68
+ // Mount at /admin/ (default basePath)
71
69
  app.use(createAdminStaticMiddleware({ basePath: "/admin/" }));
72
70
 
73
- // 或仅取 dist 目录自行托管
71
+ // Or resolve dist dir and host yourself
74
72
  console.log(resolveDistDir()); // .../node_modules/@fecommunity/reactpress-web/dist
75
73
 
76
74
  app.listen(3000);
77
75
  ```
78
76
 
79
- 也可直接使用内置 HTTP 服务:
77
+ Built-in HTTP server:
80
78
 
81
79
  ```javascript
82
80
  import { serveAdmin } from "@fecommunity/reactpress-web";
@@ -84,32 +82,32 @@ import { serveAdmin } from "@fecommunity/reactpress-web";
84
82
  serveAdmin({ port: 3000, basePath: "/admin/" });
85
83
  ```
86
84
 
87
- ### 导出 API
85
+ ### Exported API
88
86
 
89
- | 导出 | 说明 |
90
- | ------------------------------- | ---------------------------------------- |
91
- | `resolveDistDir()` | 解析包内 `dist/` 绝对路径 |
92
- | `createAdminStaticMiddleware()` | Connect/Express 中间件,含 SPA fallback |
93
- | `createAdminStaticHandler()` | 原生 `http` 请求处理器 |
94
- | `serveAdmin()` | 启动独立静态服务器 |
95
- | `syncAdminDistToPublic()` | 复制 dist 到 Next.js `public/`(Vercel) |
96
- | `createAdminVercelRedirects()` | Next.js:`/admin` → `/admin/` |
97
- | `createAdminVercelRewrites()` | Next.js:Admin SPA fallback |
98
- | `DEFAULT_ADMIN_BASE` | 默认 `/admin/` |
87
+ | Export | Description |
88
+ | ------------------------------- | -------------------------------------------- |
89
+ | `resolveDistDir()` | Resolve absolute path to package `dist/` |
90
+ | `createAdminStaticMiddleware()` | Connect/Express middleware with SPA fallback |
91
+ | `createAdminStaticHandler()` | Native `http` request handler |
92
+ | `serveAdmin()` | Start standalone static server |
93
+ | `syncAdminDistToPublic()` | Copy dist to Next.js `public/` (Vercel) |
94
+ | `createAdminVercelRedirects()` | Next.js: `/admin` → `/admin/` |
95
+ | `createAdminVercelRewrites()` | Next.js: Admin SPA fallback |
96
+ | `DEFAULT_ADMIN_BASE` | Default `/admin/` |
99
97
 
100
- ## Next.js 应用接入
98
+ ## Next.js integration
101
99
 
102
- Admin 是独立 Vite SPA(`base: /admin/`),**不能**只复制到 Next.js `public/`(缺少 SPA fallback,客户端路由会 404)。推荐三种方式:
100
+ Admin is a standalone Vite SPA (`base: /admin/`). **Do not** copy it into Next.js `public/` alone — client routes will 404 without SPA fallback. Three recommended patterns:
103
101
 
104
- ### 方式 A:Custom Server(同域,推荐生产)
102
+ ### Option A: Custom server (same origin, recommended for production)
105
103
 
106
- 访客站与 `/admin/` 共用一个 Node 进程、同一端口(与 ReactPress 官方 nginx 统一入口效果一致):
104
+ Visitor site and `/admin/` share one Node process and port (same effect as ReactPress nginx unified entry):
107
105
 
108
106
  ```bash
109
107
  pnpm add @fecommunity/reactpress-web next
110
108
  ```
111
109
 
112
- `server.mjs`(在 `package.json` 中 `"start": "node server.mjs"`):
110
+ `server.mjs` (set `"start": "node server.mjs"` in `package.json`):
113
111
 
114
112
  ```javascript
115
113
  import { createServer } from "node:http";
@@ -129,11 +127,11 @@ createServer(
129
127
  handle(req, res, parse(req.url, true));
130
128
  }),
131
129
  ).listen(port, () => {
132
- console.log(`> http://localhost:${port} (访客站 + /admin/)`);
130
+ console.log(`> http://localhost:${port} (visitor site + /admin/)`);
133
131
  });
134
132
  ```
135
133
 
136
- `next.config.mjs` 中把 API 反代到 ReactPress 后端(Admin 默认同源请求 `/api`):
134
+ Proxy API in `next.config.mjs` (Admin defaults to same-origin `/api`):
137
135
 
138
136
  ```javascript
139
137
  const apiOrigin = (process.env.SERVER_API_URL ?? "http://localhost:3002").replace(/\/api\/?$/, "");
@@ -149,52 +147,52 @@ export default {
149
147
  };
150
148
  ```
151
149
 
152
- 访问:`http://localhost:3001/`(主题) · `http://localhost:3001/admin/`(后台)。
150
+ Visit: `http://localhost:3001/` (theme) · `http://localhost:3001/admin/` (admin).
153
151
 
154
- ### 方式 B:Next rewrites 反代(开发 / 进程拆分)
152
+ ### Option B: Next rewrites proxy (dev / split processes)
155
153
 
156
- Admin 单独跑在 `:3000`,Next 只做反代(适合 `next dev` 不想写 custom server 时):
154
+ Admin runs on `:3000`, Next proxies only (handy when avoiding custom server during `next dev`):
157
155
 
158
156
  ```bash
159
- # 终端 1
157
+ # Terminal 1
160
158
  npx @fecommunity/reactpress-web --port 3000
161
159
 
162
- # 终端 2 — next.config.mjs
160
+ # Terminal 2 — next.config.mjs
163
161
  import { createAdminRewrites } from "@fecommunity/reactpress-web/next";
164
162
 
165
163
  export default {
166
164
  async rewrites() {
167
165
  return [
168
166
  ...createAdminRewrites({ adminOrigin: "http://localhost:3000" }),
169
- // 再加上 /api 反代,见方式 A
167
+ // add /api proxy — see Option A
170
168
  ];
171
169
  },
172
170
  };
173
171
  ```
174
172
 
175
- 环境变量:`REACTPRESS_ADMIN_ORIGIN=http://localhost:3000`。
173
+ Env: `REACTPRESS_ADMIN_ORIGIN=http://localhost:3000`.
176
174
 
177
- ### 方式 C:nginx 统一入口(与 Monorepo 部署一致)
175
+ ### Option C: nginx unified entry (matches monorepo deploy)
178
176
 
179
- Next.js(`:3001`)、Admin(`:3000` 或静态目录)、API(`:3002`)分进程,由 nginx 路由:
177
+ Next.js (`:3001`), Admin (`:3000` or static dir), API (`:3002`) as separate processes, routed by nginx:
180
178
 
181
- | 路径 | 上游 |
182
- | --------- | -------------------------------------- |
183
- | `/` | Next.js 访客站 |
184
- | `/admin/` | `@fecommunity/reactpress-web` 静态目录 |
185
- | `/api` | ReactPress API |
179
+ | Path | Upstream |
180
+ | --------- | ---------------------------------------- |
181
+ | `/` | Next.js visitor site |
182
+ | `/admin/` | `@fecommunity/reactpress-web` static dir |
183
+ | `/api` | ReactPress API |
186
184
 
187
- 静态目录:`npx @fecommunity/reactpress-web path`。
185
+ Static dir: `npx @fecommunity/reactpress-web path`.
188
186
 
189
- ### 方式 D:Vercel 同域静态托管(无 custom server)
187
+ ### Option D: Vercel same-origin static (no custom server)
190
188
 
191
- Vercel 无法跑 custom server,需把 Admin 构建产物放进 Next.js `public/admin/`,并用 rewrites 做 SPA fallback:
189
+ Vercel cannot run a custom server. Put Admin build output in Next.js `public/admin/` and use rewrites for SPA fallback:
192
190
 
193
191
  ```bash
194
192
  pnpm add @fecommunity/reactpress-web
195
193
  ```
196
194
 
197
- `package.json`:
195
+ `package.json`:
198
196
 
199
197
  ```json
200
198
  {
@@ -204,7 +202,7 @@ pnpm add @fecommunity/reactpress-web
204
202
  }
205
203
  ```
206
204
 
207
- `next.config.js`(`themes/hello-world/next.config.js` 已内置,独立项目可复制):
205
+ `next.config.js` (built into `themes/hello-world/next.config.js`; copy for standalone projects):
208
206
 
209
207
  ```javascript
210
208
  const { createAdminVercelRewrites } = require("@fecommunity/reactpress-web/next");
@@ -213,7 +211,7 @@ module.exports = {
213
211
  async rewrites() {
214
212
  return {
215
213
  beforeFiles: [
216
- // /api 等反代规则放这里
214
+ // /api and other proxy rules here
217
215
  ],
218
216
  afterFiles: createAdminVercelRewrites().afterFiles,
219
217
  };
@@ -221,27 +219,27 @@ module.exports = {
221
219
  };
222
220
  ```
223
221
 
224
- Monorepo 内构建主题前需先 `pnpm build:web`(或发布 npm 包自带 dist)。Vercel 构建示例:
222
+ In monorepo, run `pnpm build:web` before theme build (or use published npm package with bundled dist). Vercel build example:
225
223
 
226
224
  ```bash
227
- # installCommand(仓库根)
225
+ # installCommand (repo root)
228
226
  pnpm install --frozen-lockfile && pnpm run build:web
229
227
 
230
- # buildCommand(主题目录)
228
+ # buildCommand (theme directory)
231
229
  pnpm run build
232
230
  ```
233
231
 
234
- 访问:`https://your-site.vercel.app/admin/`。
232
+ Visit: `https://your-site.vercel.app/admin/`.
235
233
 
236
- ### 注意
234
+ ### Notes
237
235
 
238
- - Admin 生产构建默认 `VITE_API_BASE_URL=/api`,需保证浏览器能访问同源 `/api`(Next rewrites 或 nginx)。
239
- - **Vercel / 纯 Serverless** 无法跑 custom server;请用[方式 D](#方式-dvercel-同域静态托管无-custom-server)(`sync-public` + `createAdminVercelRewrites`),或单独部署 Admin 后再 rewrite(方式 B/C)。
240
- - 使用 `@fecommunity/reactpress-toolkit/theme/next-config` 的主题可参考 `themes/hello-world/next.config.js` 的 API rewrites 写法。
236
+ - Admin production build defaults to `VITE_API_BASE_URL=/api`; ensure the browser can reach same-origin `/api` (Next rewrites or nginx).
237
+ - **Vercel / pure Serverless** cannot run a custom server; use [Option D](#option-d-vercel-same-origin-static-no-custom-server) (`sync-public` + `createAdminVercelRewrites`), or deploy Admin separately and rewrite (Options B/C).
238
+ - Themes using `@fecommunity/reactpress-toolkit/theme/next-config` can reference `themes/hello-world/next.config.js` for API rewrite patterns.
241
239
 
242
- ## 在 Monorepo 内开发
240
+ ## Monorepo development
243
241
 
244
- 依赖与锁文件在仓库根目录统一管理。
242
+ Dependencies and lockfile are managed at repository root.
245
243
 
246
244
  ```bash
247
245
  pnpm install
@@ -249,16 +247,16 @@ pnpm dev:web # Admin + API
249
247
  pnpm build:web # toolkit + web/dist
250
248
  ```
251
249
 
252
- 目录约定见根目录 [`design.md`](../design.md)。环境变量见 [`.env.example`](./.env.example)。
250
+ Directory conventions: root [ARCHITECTURE.md](../ARCHITECTURE.md). Environment variables: [`.env.example`](./.env.example).
253
251
 
254
- ## 发布
252
+ ## Publishing
255
253
 
256
- 在仓库根目录:
254
+ From repository root:
257
255
 
258
256
  ```bash
259
257
  pnpm publish:packages
260
- # 或
258
+ # or
261
259
  reactpress publish --publish
262
260
  ```
263
261
 
264
- 选择 `@fecommunity/reactpress-web` 时会先构建 `toolkit` 与 `web/dist`,再发布到 npm。
262
+ Selecting `@fecommunity/reactpress-web` builds `toolkit` and `web/dist` first, then publishes to npm.
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-Cyuzqnbw.js";import{H as t,_ as n,p as r,pt as i,q as a}from"./vendor-antd-854Wnkhp.js";import{N as o}from"./vendor-tanstack-CUgEbs6-.js";import{i as s}from"./index-BQgl5DUJ.js";var c=e(i()),l=`/api`;function u(){if(typeof localStorage>`u`)return null;try{let e=localStorage.getItem(`auth-storage`);return e?JSON.parse(e).state?.tokens?.accessToken??null:null}catch{return null}}function d(e,t){return e instanceof Error&&e.message.trim()?e.message:t}async function f(e,t){let n=(await s(l)).replace(/\/$/,``),r=u(),i=await fetch(`${n}${e}`,{...t,headers:{"Content-Type":`application/json`,...r?{Authorization:`Bearer ${r}`}:{},...t?.headers}}),a=await i.json();if(i.status===401)throw Error(`SESSION_EXPIRED`);if(!i.ok)throw Error(a.msg??a.message??`Request failed: ${i.status}`);if(typeof a.code==`number`&&a.code!==0)throw Error(a.message??`Request failed`);if(a.success===!1)throw Error(a.msg??`Request failed`);return a.data}function p(){return f(`/file/optimize/report`)}function m(e){return f(`/file/optimize/run`,{method:`POST`,body:JSON.stringify(e)})}function h(e){return f(`/file/optimize/job/${encodeURIComponent(e)}`)}function g(e,t){let n=t.split(`.`),r=e;for(let e of n){if(!r||typeof r!=`object`)return;r=r[e]}return typeof r==`string`?r:void 0}function _(){return typeof document>`u`?`en`:(document.documentElement.lang||navigator.language||`en`).toLowerCase().startsWith(`zh`)?`zh`:`en`}async function v(e,t){let n=(await s(`/api`)).replace(/\/$/,``),r=(()=>{try{let e=localStorage.getItem(`auth-storage`);return e?JSON.parse(e).state?.tokens?.accessToken??null:null}catch{return null}})(),i=await fetch(`${n}/extension/plugins/${encodeURIComponent(e)}/locales/${encodeURIComponent(t)}`,{headers:{...r?{Authorization:`Bearer ${r}`}:{}}});return i.ok?(await i.json()).data?.messages??{}:{}}function y(e){let t=_(),[n,r]=(0,c.useState)({});return(0,c.useEffect)(()=>{let n=!1;return v(e,t).then(e=>{n||r(e)}),()=>{n=!0}},[t,e]),(0,c.useMemo)(()=>(e,t)=>g(n,`dashboard.${e}`)??t,[n])}var b={optimizeDashboard:`_optimizeDashboard_4fi8g_1`,sectionTitle:`_sectionTitle_4fi8g_7`,statsGrid:`_statsGrid_4fi8g_14`,statCard:`_statCard_4fi8g_21`,statLabel:`_statLabel_4fi8g_28`,statValue:`_statValue_4fi8g_34`,actions:`_actions_4fi8g_42`,progressBlock:`_progressBlock_4fi8g_49`,hint:`_hint_4fi8g_53`,emptyJob:`_emptyJob_4fi8g_59`,warn:`_warn_4fi8g_65`,errorList:`_errorList_4fi8g_75`},x=o();function S(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(2)} MB`}function C(e){let t=Number(e.batchSize);return{batchSize:Number.isFinite(t)?Math.min(Math.max(t,1),200):50,skipGif:e.skipGif!==!1,rewriteContent:e.rewriteContent===!0,cleanupOriginals:e.cleanupOriginals===!0}}function w({pluginId:e,pluginActive:i,config:o}){let{message:s}=a.useApp(),l=y(e),[u,f]=(0,c.useState)(null),[g,_]=(0,c.useState)(null),[v,w]=(0,c.useState)(!1),[T,E]=(0,c.useState)(!1),D=(0,c.useRef)(null),O=useCallback(()=>{D.current&&=(clearInterval(D.current),null)},[]),k=useCallback(async()=>{w(!0);try{f(await p())}catch(e){s.error(d(e,l(`analyzeFailed`,`分析失败`)))}finally{w(!1)}},[s,l]),A=useCallback(e=>{O();let t=()=>{h(e).then(e=>{_(e),(e.status===`completed`||e.status===`failed`)&&(O(),k())}).catch(e=>{O(),s.error(d(e,l(`jobPollFailed`,`获取任务进度失败`)))})};t(),D.current=setInterval(t,800)},[k,s,O,l]);(0,c.useEffect)(()=>{i&&k()},[k,i]),(0,c.useEffect)(()=>()=>O(),[O]);let j=async e=>{if(!i)return;let t=C(o);E(!0);try{let n=await m({dryRun:e,batchSize:t.batchSize,limit:t.batchSize,skipGif:t.skipGif,rewriteContent:t.rewriteContent,cleanupOriginals:t.cleanupOriginals});_(n),n.status===`completed`||n.status===`failed`?(k(),n.total===0?s.info(l(`jobEmpty`,`没有待优化的图片(可能已全部优化,或原文件已不存在)。`)):e&&s.success(l(`dryRunDone`,`试运行完成(未写入数据库)。`))):(A(n.id),e&&s.info(l(`dryRun`,`试运行(不写入)`)))}catch(e){s.error(d(e,l(`runFailed`,`启动任务失败`)))}finally{E(!1)}};if(!i)return(0,x.jsx)(`div`,{className:b.warn,"data-testid":`image-optimizer-inactive`,children:l(`inactiveHint`,`请先在插件列表中启用本插件,才能执行分析与优化。`)});let M=g?.status===`pending`||g?.status===`running`,N=g?.status===`completed`||g?.status===`failed`,P=g&&g.total>0?Math.round(g.processed/g.total*100):void 0,F=g?.items.filter(e=>e.status===`failed`).slice(0,5)??[];return(0,x.jsxs)(`div`,{className:b.optimizeDashboard,"data-testid":`image-optimizer-dashboard`,children:[(0,x.jsx)(`h2`,{className:b.sectionTitle,children:l(`title`,`资源分析`)}),(0,x.jsxs)(`div`,{className:b.actions,children:[(0,x.jsx)(t,{loading:v,onClick:()=>void k(),children:l(`analyze`,`分析现状`)}),(0,x.jsx)(t,{loading:T,onClick:()=>void j(!0),children:l(`dryRun`,`试运行(不写入)`)}),(0,x.jsx)(t,{type:`primary`,loading:T||M,onClick:()=>void j(!1),children:l(`run`,`开始批量优化`)})]}),v&&!u?(0,x.jsx)(n,{}):u?(0,x.jsxs)(`div`,{className:b.statsGrid,children:[(0,x.jsxs)(`div`,{className:b.statCard,children:[(0,x.jsx)(`p`,{className:b.statLabel,children:l(`total`,`素材总数`)}),(0,x.jsx)(`p`,{className:b.statValue,children:u.total})]}),(0,x.jsxs)(`div`,{className:b.statCard,children:[(0,x.jsx)(`p`,{className:b.statLabel,children:l(`optimized`,`已优化`)}),(0,x.jsx)(`p`,{className:b.statValue,children:u.alreadyOptimized})]}),(0,x.jsxs)(`div`,{className:b.statCard,children:[(0,x.jsx)(`p`,{className:b.statLabel,children:l(`pending`,`待优化`)}),(0,x.jsx)(`p`,{className:b.statValue,children:u.needsOptimization})]}),(0,x.jsxs)(`div`,{className:b.statCard,children:[(0,x.jsx)(`p`,{className:b.statLabel,children:l(`estimatedSaved`,`预估可节省`)}),(0,x.jsx)(`p`,{className:b.statValue,children:S(u.storageBytes.estimatedSaved)})]}),(0,x.jsxs)(`div`,{className:b.statCard,children:[(0,x.jsx)(`p`,{className:b.statLabel,children:l(`contentRefs`,`内容引用`)}),(0,x.jsxs)(`p`,{className:b.statValue,children:[u.contentRefs.articles,` `,l(`articles`,`文章`),` / `,u.contentRefs.pages,` `,l(`pages`,`页面`)]})]}),(0,x.jsxs)(`div`,{className:b.statCard,children:[(0,x.jsx)(`p`,{className:b.statLabel,children:l(`skipped`,`已跳过`)}),(0,x.jsx)(`p`,{className:b.statValue,children:u.skipped.nonImage+u.skipped.svg+u.skipped.gif+u.skipped.missing})]})]}):null,g?(0,x.jsxs)(`div`,{className:b.progressBlock,children:[(0,x.jsx)(r,{percent:P,status:g.status===`failed`?`exception`:M?`active`:g.total===0?`normal`:`success`,showInfo:g.total>0}),(0,x.jsxs)(`p`,{className:b.hint,children:[g.status===`failed`?`${l(`jobFailed`,`任务失败`)}: ${g.error??``}`:M?g.total===0?l(`jobScanning`,`正在扫描待优化素材…`):l(`jobRunning`,`优化任务进行中…`):l(`jobDone`,`任务已完成`),` · `,l(`processed`,`已处理`),` `,g.processed,`/`,g.total,` · `,l(`succeeded`,`成功`),` `,g.succeeded,` · `,l(`failed`,`失败`),` `,g.failed,g.savedBytes>0?` · ${l(`savedBytes`,`已节省空间`)} ${S(g.savedBytes)}`:``]}),N&&g.total===0?(0,x.jsx)(`p`,{className:b.emptyJob,children:l(`jobEmpty`,`没有待优化的图片(可能已全部优化,或原文件已不存在)。`)}):null,g.contentRewrite?(0,x.jsxs)(`p`,{className:b.hint,children:[`URL 回写:`,g.contentRewrite.articles,` `,l(`articles`,`文章`),`、`,g.contentRewrite.pages,` `,l(`pages`,`页面`),`、`,g.contentRewrite.revisions,` 修订`]}):null,F.length>0?(0,x.jsx)(`ul`,{className:b.errorList,children:F.map(e=>(0,x.jsxs)(`li`,{children:[e.originalname,`: `,e.error]},e.fileId))}):null]}):null]})}function T(){}var E={registerAdmin:T,SettingsPanel:w};export{w as SettingsPanel,E as default,T as registerAdmin};
1
+ import{a as e}from"./rolldown-runtime-Cyuzqnbw.js";import{H as t,_ as n,p as r,pt as i,q as a}from"./vendor-antd-854Wnkhp.js";import{N as o}from"./vendor-tanstack-CUgEbs6-.js";import{i as s}from"./index-BjaJa7N5.js";var c=e(i()),l=`/api`;function u(){if(typeof localStorage>`u`)return null;try{let e=localStorage.getItem(`auth-storage`);return e?JSON.parse(e).state?.tokens?.accessToken??null:null}catch{return null}}function d(e,t){return e instanceof Error&&e.message.trim()?e.message:t}async function f(e,t){let n=(await s(l)).replace(/\/$/,``),r=u(),i=await fetch(`${n}${e}`,{...t,headers:{"Content-Type":`application/json`,...r?{Authorization:`Bearer ${r}`}:{},...t?.headers}}),a=await i.json();if(i.status===401)throw Error(`SESSION_EXPIRED`);if(!i.ok)throw Error(a.msg??a.message??`Request failed: ${i.status}`);if(typeof a.code==`number`&&a.code!==0)throw Error(a.message??`Request failed`);if(a.success===!1)throw Error(a.msg??`Request failed`);return a.data}function p(){return f(`/file/optimize/report`)}function m(e){return f(`/file/optimize/run`,{method:`POST`,body:JSON.stringify(e)})}function h(e){return f(`/file/optimize/job/${encodeURIComponent(e)}`)}function g(e,t){let n=t.split(`.`),r=e;for(let e of n){if(!r||typeof r!=`object`)return;r=r[e]}return typeof r==`string`?r:void 0}function _(){return typeof document>`u`?`en`:(document.documentElement.lang||navigator.language||`en`).toLowerCase().startsWith(`zh`)?`zh`:`en`}async function v(e,t){let n=(await s(`/api`)).replace(/\/$/,``),r=(()=>{try{let e=localStorage.getItem(`auth-storage`);return e?JSON.parse(e).state?.tokens?.accessToken??null:null}catch{return null}})(),i=await fetch(`${n}/extension/plugins/${encodeURIComponent(e)}/locales/${encodeURIComponent(t)}`,{headers:{...r?{Authorization:`Bearer ${r}`}:{}}});return i.ok?(await i.json()).data?.messages??{}:{}}function y(e){let t=_(),[n,r]=(0,c.useState)({});return(0,c.useEffect)(()=>{let n=!1;return v(e,t).then(e=>{n||r(e)}),()=>{n=!0}},[t,e]),(0,c.useMemo)(()=>(e,t)=>g(n,`dashboard.${e}`)??t,[n])}var b={optimizeDashboard:`_optimizeDashboard_4fi8g_1`,sectionTitle:`_sectionTitle_4fi8g_7`,statsGrid:`_statsGrid_4fi8g_14`,statCard:`_statCard_4fi8g_21`,statLabel:`_statLabel_4fi8g_28`,statValue:`_statValue_4fi8g_34`,actions:`_actions_4fi8g_42`,progressBlock:`_progressBlock_4fi8g_49`,hint:`_hint_4fi8g_53`,emptyJob:`_emptyJob_4fi8g_59`,warn:`_warn_4fi8g_65`,errorList:`_errorList_4fi8g_75`},x=o();function S(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(2)} MB`}function C(e){let t=Number(e.batchSize);return{batchSize:Number.isFinite(t)?Math.min(Math.max(t,1),200):50,skipGif:e.skipGif!==!1,rewriteContent:e.rewriteContent===!0,cleanupOriginals:e.cleanupOriginals===!0}}function w({pluginId:e,pluginActive:i,config:o}){let{message:s}=a.useApp(),l=y(e),[u,f]=(0,c.useState)(null),[g,_]=(0,c.useState)(null),[v,w]=(0,c.useState)(!1),[T,E]=(0,c.useState)(!1),D=(0,c.useRef)(null),O=useCallback(()=>{D.current&&=(clearInterval(D.current),null)},[]),k=useCallback(async()=>{w(!0);try{f(await p())}catch(e){s.error(d(e,l(`analyzeFailed`,`分析失败`)))}finally{w(!1)}},[s,l]),A=useCallback(e=>{O();let t=()=>{h(e).then(e=>{_(e),(e.status===`completed`||e.status===`failed`)&&(O(),k())}).catch(e=>{O(),s.error(d(e,l(`jobPollFailed`,`获取任务进度失败`)))})};t(),D.current=setInterval(t,800)},[k,s,O,l]);(0,c.useEffect)(()=>{i&&k()},[k,i]),(0,c.useEffect)(()=>()=>O(),[O]);let j=async e=>{if(!i)return;let t=C(o);E(!0);try{let n=await m({dryRun:e,batchSize:t.batchSize,limit:t.batchSize,skipGif:t.skipGif,rewriteContent:t.rewriteContent,cleanupOriginals:t.cleanupOriginals});_(n),n.status===`completed`||n.status===`failed`?(k(),n.total===0?s.info(l(`jobEmpty`,`没有待优化的图片(可能已全部优化,或原文件已不存在)。`)):e&&s.success(l(`dryRunDone`,`试运行完成(未写入数据库)。`))):(A(n.id),e&&s.info(l(`dryRun`,`试运行(不写入)`)))}catch(e){s.error(d(e,l(`runFailed`,`启动任务失败`)))}finally{E(!1)}};if(!i)return(0,x.jsx)(`div`,{className:b.warn,"data-testid":`image-optimizer-inactive`,children:l(`inactiveHint`,`请先在插件列表中启用本插件,才能执行分析与优化。`)});let M=g?.status===`pending`||g?.status===`running`,N=g?.status===`completed`||g?.status===`failed`,P=g&&g.total>0?Math.round(g.processed/g.total*100):void 0,F=g?.items.filter(e=>e.status===`failed`).slice(0,5)??[];return(0,x.jsxs)(`div`,{className:b.optimizeDashboard,"data-testid":`image-optimizer-dashboard`,children:[(0,x.jsx)(`h2`,{className:b.sectionTitle,children:l(`title`,`资源分析`)}),(0,x.jsxs)(`div`,{className:b.actions,children:[(0,x.jsx)(t,{loading:v,onClick:()=>void k(),children:l(`analyze`,`分析现状`)}),(0,x.jsx)(t,{loading:T,onClick:()=>void j(!0),children:l(`dryRun`,`试运行(不写入)`)}),(0,x.jsx)(t,{type:`primary`,loading:T||M,onClick:()=>void j(!1),children:l(`run`,`开始批量优化`)})]}),v&&!u?(0,x.jsx)(n,{}):u?(0,x.jsxs)(`div`,{className:b.statsGrid,children:[(0,x.jsxs)(`div`,{className:b.statCard,children:[(0,x.jsx)(`p`,{className:b.statLabel,children:l(`total`,`素材总数`)}),(0,x.jsx)(`p`,{className:b.statValue,children:u.total})]}),(0,x.jsxs)(`div`,{className:b.statCard,children:[(0,x.jsx)(`p`,{className:b.statLabel,children:l(`optimized`,`已优化`)}),(0,x.jsx)(`p`,{className:b.statValue,children:u.alreadyOptimized})]}),(0,x.jsxs)(`div`,{className:b.statCard,children:[(0,x.jsx)(`p`,{className:b.statLabel,children:l(`pending`,`待优化`)}),(0,x.jsx)(`p`,{className:b.statValue,children:u.needsOptimization})]}),(0,x.jsxs)(`div`,{className:b.statCard,children:[(0,x.jsx)(`p`,{className:b.statLabel,children:l(`estimatedSaved`,`预估可节省`)}),(0,x.jsx)(`p`,{className:b.statValue,children:S(u.storageBytes.estimatedSaved)})]}),(0,x.jsxs)(`div`,{className:b.statCard,children:[(0,x.jsx)(`p`,{className:b.statLabel,children:l(`contentRefs`,`内容引用`)}),(0,x.jsxs)(`p`,{className:b.statValue,children:[u.contentRefs.articles,` `,l(`articles`,`文章`),` / `,u.contentRefs.pages,` `,l(`pages`,`页面`)]})]}),(0,x.jsxs)(`div`,{className:b.statCard,children:[(0,x.jsx)(`p`,{className:b.statLabel,children:l(`skipped`,`已跳过`)}),(0,x.jsx)(`p`,{className:b.statValue,children:u.skipped.nonImage+u.skipped.svg+u.skipped.gif+u.skipped.missing})]})]}):null,g?(0,x.jsxs)(`div`,{className:b.progressBlock,children:[(0,x.jsx)(r,{percent:P,status:g.status===`failed`?`exception`:M?`active`:g.total===0?`normal`:`success`,showInfo:g.total>0}),(0,x.jsxs)(`p`,{className:b.hint,children:[g.status===`failed`?`${l(`jobFailed`,`任务失败`)}: ${g.error??``}`:M?g.total===0?l(`jobScanning`,`正在扫描待优化素材…`):l(`jobRunning`,`优化任务进行中…`):l(`jobDone`,`任务已完成`),` · `,l(`processed`,`已处理`),` `,g.processed,`/`,g.total,` · `,l(`succeeded`,`成功`),` `,g.succeeded,` · `,l(`failed`,`失败`),` `,g.failed,g.savedBytes>0?` · ${l(`savedBytes`,`已节省空间`)} ${S(g.savedBytes)}`:``]}),N&&g.total===0?(0,x.jsx)(`p`,{className:b.emptyJob,children:l(`jobEmpty`,`没有待优化的图片(可能已全部优化,或原文件已不存在)。`)}):null,g.contentRewrite?(0,x.jsxs)(`p`,{className:b.hint,children:[`URL 回写:`,g.contentRewrite.articles,` `,l(`articles`,`文章`),`、`,g.contentRewrite.pages,` `,l(`pages`,`页面`),`、`,g.contentRewrite.revisions,` 修订`]}):null,F.length>0?(0,x.jsx)(`ul`,{className:b.errorList,children:F.map(e=>(0,x.jsxs)(`li`,{children:[e.originalname,`: `,e.error]},e.fileId))}):null]}):null]})}function T(){}var E={registerAdmin:T,SettingsPanel:w};export{w as SettingsPanel,E as default,T as registerAdmin};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-Cyuzqnbw.js";import{pt as t}from"./vendor-antd-854Wnkhp.js";import{N as n}from"./vendor-tanstack-CUgEbs6-.js";import{r}from"./index-BQgl5DUJ.js";var i=e(t()),a={panel:`_panel_kuhrp_1`,header:`_header_kuhrp_7`,title:`_title_kuhrp_17`,toggle:`_toggle_kuhrp_23`,body:`_body_kuhrp_28`,label:`_label_kuhrp_35`,hint:`_hint_kuhrp_44`,input:`_input_kuhrp_51`,textarea:`_textarea_kuhrp_52`},o=n();function s({context:e,config:t}){if(t.enabled===!1)return null;let{draft:n,patch:r,translate:s}=e,[c,l]=(0,i.useState)(!0);return(0,o.jsxs)(`section`,{className:a.panel,children:[(0,o.jsxs)(`header`,{className:a.header,onClick:()=>l(e=>!e),children:[(0,o.jsx)(`span`,{className:a.title,children:s(`article.seoTitle`)}),(0,o.jsx)(`span`,{className:a.toggle,"aria-hidden":!0,children:c?`▲`:`▼`})]}),c?(0,o.jsxs)(`div`,{className:a.body,children:[(0,o.jsx)(`label`,{className:a.label,htmlFor:`article-seo-slug`,children:s(`article.seoSlug`)}),(0,o.jsx)(`input`,{id:`article-seo-slug`,className:a.input,value:n.slug,placeholder:s(`article.seoSlugPlaceholder`),onChange:e=>r(`slug`,e.target.value)}),(0,o.jsx)(`p`,{className:a.hint,children:s(`article.seoSlugHint`)}),(0,o.jsx)(`label`,{className:a.label,htmlFor:`article-seo-keywords`,children:s(`article.seoKeywords`)}),(0,o.jsx)(`input`,{id:`article-seo-keywords`,className:a.input,value:n.seoKeywords,placeholder:s(`article.seoKeywordsPlaceholder`),onChange:e=>r(`seoKeywords`,e.target.value)}),(0,o.jsx)(`p`,{className:a.hint,children:s(`article.seoKeywordsHint`)}),(0,o.jsx)(`label`,{className:a.label,htmlFor:`article-seo-description`,children:s(`article.seoDescription`)}),(0,o.jsx)(`textarea`,{id:`article-seo-description`,className:a.textarea,value:n.seoDescription,rows:4,placeholder:s(`article.seoDescriptionPlaceholder`),onChange:e=>r(`seoDescription`,e.target.value)}),(0,o.jsx)(`p`,{className:a.hint,children:s(`article.seoDescriptionHint`)})]}):null]})}function c(e,t){e.registerSlot(r.ARTICLE_EDITOR_META_AFTER_SUMMARY,s,{priority:10})}var l={registerAdmin:c};export{l as default,c as registerAdmin};
1
+ import{a as e}from"./rolldown-runtime-Cyuzqnbw.js";import{pt as t}from"./vendor-antd-854Wnkhp.js";import{N as n}from"./vendor-tanstack-CUgEbs6-.js";import{r}from"./index-BjaJa7N5.js";var i=e(t()),a={panel:`_panel_kuhrp_1`,header:`_header_kuhrp_7`,title:`_title_kuhrp_17`,toggle:`_toggle_kuhrp_23`,body:`_body_kuhrp_28`,label:`_label_kuhrp_35`,hint:`_hint_kuhrp_44`,input:`_input_kuhrp_51`,textarea:`_textarea_kuhrp_52`},o=n();function s({context:e,config:t}){if(t.enabled===!1)return null;let{draft:n,patch:r,translate:s}=e,[c,l]=(0,i.useState)(!0);return(0,o.jsxs)(`section`,{className:a.panel,children:[(0,o.jsxs)(`header`,{className:a.header,onClick:()=>l(e=>!e),children:[(0,o.jsx)(`span`,{className:a.title,children:s(`article.seoTitle`)}),(0,o.jsx)(`span`,{className:a.toggle,"aria-hidden":!0,children:c?`▲`:`▼`})]}),c?(0,o.jsxs)(`div`,{className:a.body,children:[(0,o.jsx)(`label`,{className:a.label,htmlFor:`article-seo-slug`,children:s(`article.seoSlug`)}),(0,o.jsx)(`input`,{id:`article-seo-slug`,className:a.input,value:n.slug,placeholder:s(`article.seoSlugPlaceholder`),onChange:e=>r(`slug`,e.target.value)}),(0,o.jsx)(`p`,{className:a.hint,children:s(`article.seoSlugHint`)}),(0,o.jsx)(`label`,{className:a.label,htmlFor:`article-seo-keywords`,children:s(`article.seoKeywords`)}),(0,o.jsx)(`input`,{id:`article-seo-keywords`,className:a.input,value:n.seoKeywords,placeholder:s(`article.seoKeywordsPlaceholder`),onChange:e=>r(`seoKeywords`,e.target.value)}),(0,o.jsx)(`p`,{className:a.hint,children:s(`article.seoKeywordsHint`)}),(0,o.jsx)(`label`,{className:a.label,htmlFor:`article-seo-description`,children:s(`article.seoDescription`)}),(0,o.jsx)(`textarea`,{id:`article-seo-description`,className:a.textarea,value:n.seoDescription,rows:4,placeholder:s(`article.seoDescriptionPlaceholder`),onChange:e=>r(`seoDescription`,e.target.value)}),(0,o.jsx)(`p`,{className:a.hint,children:s(`article.seoDescriptionHint`)})]}):null]})}function c(e,t){e.registerSlot(r.ARTICLE_EDITOR_META_AFTER_SUMMARY,s,{priority:10})}var l={registerAdmin:c};export{l as default,c as registerAdmin};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./index-BQgl5DUJ.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c=120*1e3,l=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>c&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=s.editor.createWebWorker({moduleId:`vs/language/css/cssWorker`,label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}},u;(function(e){function t(e){return typeof e==`string`}e.is=t})(u||={});var d;(function(e){function t(e){return typeof e==`string`}e.is=t})(d||={});var f;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(f||={});var p;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(p||={});var m;(function(e){function t(e,t){return e===Number.MAX_VALUE&&(e=p.MAX_VALUE),t===Number.MAX_VALUE&&(t=p.MAX_VALUE),{line:e,character:t}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&V.uinteger(t.line)&&V.uinteger(t.character)}e.is=n})(m||={});var h;(function(e){function t(e,t,n,r){if(V.uinteger(e)&&V.uinteger(t)&&V.uinteger(n)&&V.uinteger(r))return{start:m.create(e,t),end:m.create(n,r)};if(m.is(e)&&m.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${n}, ${r}]`)}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&m.is(t.start)&&m.is(t.end)}e.is=n})(h||={});var g;(function(e){function t(e,t){return{uri:e,range:t}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&h.is(t.range)&&(V.string(t.uri)||V.undefined(t.uri))}e.is=n})(g||={});var ee;(function(e){function t(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&h.is(t.targetRange)&&V.string(t.targetUri)&&h.is(t.targetSelectionRange)&&(h.is(t.originSelectionRange)||V.undefined(t.originSelectionRange))}e.is=n})(ee||={});var _;(function(e){function t(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&V.numberRange(t.red,0,1)&&V.numberRange(t.green,0,1)&&V.numberRange(t.blue,0,1)&&V.numberRange(t.alpha,0,1)}e.is=n})(_||={});var te;(function(e){function t(e,t){return{range:e,color:t}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&h.is(t.range)&&_.is(t.color)}e.is=n})(te||={});var ne;(function(e){function t(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&V.string(t.label)&&(V.undefined(t.textEdit)||C.is(t))&&(V.undefined(t.additionalTextEdits)||V.typedArray(t.additionalTextEdits,C.is))}e.is=n})(ne||={});var v;(function(e){e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`})(v||={});var re;(function(e){function t(e,t,n,r,i,a){let o={startLine:e,endLine:t};return V.defined(n)&&(o.startCharacter=n),V.defined(r)&&(o.endCharacter=r),V.defined(i)&&(o.kind=i),V.defined(a)&&(o.collapsedText=a),o}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&V.uinteger(t.startLine)&&V.uinteger(t.startLine)&&(V.undefined(t.startCharacter)||V.uinteger(t.startCharacter))&&(V.undefined(t.endCharacter)||V.uinteger(t.endCharacter))&&(V.undefined(t.kind)||V.string(t.kind))}e.is=n})(re||={});var y;(function(e){function t(e,t){return{location:e,message:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&g.is(t.location)&&V.string(t.message)}e.is=n})(y||={});var b;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(b||={});var ie;(function(e){e.Unnecessary=1,e.Deprecated=2})(ie||={});var ae;(function(e){function t(e){let t=e;return V.objectLiteral(t)&&V.string(t.href)}e.is=t})(ae||={});var x;(function(e){function t(e,t,n,r,i,a){let o={range:e,message:t};return V.defined(n)&&(o.severity=n),V.defined(r)&&(o.code=r),V.defined(i)&&(o.source=i),V.defined(a)&&(o.relatedInformation=a),o}e.create=t;function n(e){let t=e;return V.defined(t)&&h.is(t.range)&&V.string(t.message)&&(V.number(t.severity)||V.undefined(t.severity))&&(V.integer(t.code)||V.string(t.code)||V.undefined(t.code))&&(V.undefined(t.codeDescription)||V.string(t.codeDescription?.href))&&(V.string(t.source)||V.undefined(t.source))&&(V.undefined(t.relatedInformation)||V.typedArray(t.relatedInformation,y.is))}e.is=n})(x||={});var S;(function(e){function t(e,t,...n){let r={title:e,command:t};return V.defined(n)&&n.length>0&&(r.arguments=n),r}e.create=t;function n(e){let t=e;return V.defined(t)&&V.string(t.title)&&V.string(t.command)}e.is=n})(S||={});var C;(function(e){function t(e,t){return{range:e,newText:t}}e.replace=t;function n(e,t){return{range:{start:e,end:e},newText:t}}e.insert=n;function r(e){return{range:e,newText:``}}e.del=r;function i(e){let t=e;return V.objectLiteral(t)&&V.string(t.newText)&&h.is(t.range)}e.is=i})(C||={});var w;(function(e){function t(e,t,n){let r={label:e};return t!==void 0&&(r.needsConfirmation=t),n!==void 0&&(r.description=n),r}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&V.string(t.label)&&(V.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&(V.string(t.description)||t.description===void 0)}e.is=n})(w||={});var T;(function(e){function t(e){let t=e;return V.string(t)}e.is=t})(T||={});var oe;(function(e){function t(e,t,n){return{range:e,newText:t,annotationId:n}}e.replace=t;function n(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}}e.insert=n;function r(e,t){return{range:e,newText:``,annotationId:t}}e.del=r;function i(e){let t=e;return C.is(t)&&(w.is(t.annotationId)||T.is(t.annotationId))}e.is=i})(oe||={});var se;(function(e){function t(e,t){return{textDocument:e,edits:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&A.is(t.textDocument)&&Array.isArray(t.edits)}e.is=n})(se||={});var E;(function(e){function t(e,t,n){let r={kind:`create`,uri:e};return t!==void 0&&(t.overwrite!==void 0||t.ignoreIfExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`create`&&V.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||V.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||V.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||T.is(t.annotationId))}e.is=n})(E||={});var D;(function(e){function t(e,t,n,r){let i={kind:`rename`,oldUri:e,newUri:t};return n!==void 0&&(n.overwrite!==void 0||n.ignoreIfExists!==void 0)&&(i.options=n),r!==void 0&&(i.annotationId=r),i}e.create=t;function n(e){let t=e;return t&&t.kind===`rename`&&V.string(t.oldUri)&&V.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||V.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||V.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||T.is(t.annotationId))}e.is=n})(D||={});var O;(function(e){function t(e,t,n){let r={kind:`delete`,uri:e};return t!==void 0&&(t.recursive!==void 0||t.ignoreIfNotExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`delete`&&V.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||V.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||V.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||T.is(t.annotationId))}e.is=n})(O||={});var k;(function(e){function t(e){let t=e;return t&&(t.changes!==void 0||t.documentChanges!==void 0)&&(t.documentChanges===void 0||t.documentChanges.every(e=>V.string(e.kind)?E.is(e)||D.is(e)||O.is(e):se.is(e)))}e.is=t})(k||={});var ce;(function(e){function t(e){return{uri:e}}e.create=t;function n(e){let t=e;return V.defined(t)&&V.string(t.uri)}e.is=n})(ce||={});var le;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&V.string(t.uri)&&V.integer(t.version)}e.is=n})(le||={});var A;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&V.string(t.uri)&&(t.version===null||V.integer(t.version))}e.is=n})(A||={});var ue;(function(e){function t(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}}e.create=t;function n(e){let t=e;return V.defined(t)&&V.string(t.uri)&&V.string(t.languageId)&&V.integer(t.version)&&V.string(t.text)}e.is=n})(ue||={});var j;(function(e){e.PlainText=`plaintext`,e.Markdown=`markdown`;function t(t){let n=t;return n===e.PlainText||n===e.Markdown}e.is=t})(j||={});var M;(function(e){function t(e){let t=e;return V.objectLiteral(e)&&j.is(t.kind)&&V.string(t.value)}e.is=t})(M||={});var N;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(N||={});var P;(function(e){e.PlainText=1,e.Snippet=2})(P||={});var de;(function(e){e.Deprecated=1})(de||={});var fe;(function(e){function t(e,t,n){return{newText:e,insert:t,replace:n}}e.create=t;function n(e){let t=e;return t&&V.string(t.newText)&&h.is(t.insert)&&h.is(t.replace)}e.is=n})(fe||={});var pe;(function(e){e.asIs=1,e.adjustIndentation=2})(pe||={});var me;(function(e){function t(e){let t=e;return t&&(V.string(t.detail)||t.detail===void 0)&&(V.string(t.description)||t.description===void 0)}e.is=t})(me||={});var he;(function(e){function t(e){return{label:e}}e.create=t})(he||={});var ge;(function(e){function t(e,t){return{items:e||[],isIncomplete:!!t}}e.create=t})(ge||={});var F;(function(e){function t(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}e.fromPlainText=t;function n(e){let t=e;return V.string(t)||V.objectLiteral(t)&&V.string(t.language)&&V.string(t.value)}e.is=n})(F||={});var _e;(function(e){function t(e){let t=e;return!!t&&V.objectLiteral(t)&&(M.is(t.contents)||F.is(t.contents)||V.typedArray(t.contents,F.is))&&(e.range===void 0||h.is(e.range))}e.is=t})(_e||={});var ve;(function(e){function t(e,t){return t?{label:e,documentation:t}:{label:e}}e.create=t})(ve||={});var ye;(function(e){function t(e,t,...n){let r={label:e};return V.defined(t)&&(r.documentation=t),V.defined(n)?r.parameters=n:r.parameters=[],r}e.create=t})(ye||={});var I;(function(e){e.Text=1,e.Read=2,e.Write=3})(I||={});var be;(function(e){function t(e,t){let n={range:e};return V.number(t)&&(n.kind=t),n}e.create=t})(be||={});var L;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(L||={});var xe;(function(e){e.Deprecated=1})(xe||={});var Se;(function(e){function t(e,t,n,r,i){let a={name:e,kind:t,location:{uri:r,range:n}};return i&&(a.containerName=i),a}e.create=t})(Se||={});var Ce;(function(e){function t(e,t,n,r){return r===void 0?{name:e,kind:t,location:{uri:n}}:{name:e,kind:t,location:{uri:n,range:r}}}e.create=t})(Ce||={});var we;(function(e){function t(e,t,n,r,i,a){let o={name:e,detail:t,kind:n,range:r,selectionRange:i};return a!==void 0&&(o.children=a),o}e.create=t;function n(e){let t=e;return t&&V.string(t.name)&&V.number(t.kind)&&h.is(t.range)&&h.is(t.selectionRange)&&(t.detail===void 0||V.string(t.detail))&&(t.deprecated===void 0||V.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=n})(we||={});var Te;(function(e){e.Empty=``,e.QuickFix=`quickfix`,e.Refactor=`refactor`,e.RefactorExtract=`refactor.extract`,e.RefactorInline=`refactor.inline`,e.RefactorRewrite=`refactor.rewrite`,e.Source=`source`,e.SourceOrganizeImports=`source.organizeImports`,e.SourceFixAll=`source.fixAll`})(Te||={});var R;(function(e){e.Invoked=1,e.Automatic=2})(R||={});var Ee;(function(e){function t(e,t,n){let r={diagnostics:e};return t!=null&&(r.only=t),n!=null&&(r.triggerKind=n),r}e.create=t;function n(e){let t=e;return V.defined(t)&&V.typedArray(t.diagnostics,x.is)&&(t.only===void 0||V.typedArray(t.only,V.string))&&(t.triggerKind===void 0||t.triggerKind===R.Invoked||t.triggerKind===R.Automatic)}e.is=n})(Ee||={});var De;(function(e){function t(e,t,n){let r={title:e},i=!0;return typeof t==`string`?(i=!1,r.kind=t):S.is(t)?r.command=t:r.edit=t,i&&n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return t&&V.string(t.title)&&(t.diagnostics===void 0||V.typedArray(t.diagnostics,x.is))&&(t.kind===void 0||V.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||S.is(t.command))&&(t.isPreferred===void 0||V.boolean(t.isPreferred))&&(t.edit===void 0||k.is(t.edit))}e.is=n})(De||={});var Oe;(function(e){function t(e,t){let n={range:e};return V.defined(t)&&(n.data=t),n}e.create=t;function n(e){let t=e;return V.defined(t)&&h.is(t.range)&&(V.undefined(t.command)||S.is(t.command))}e.is=n})(Oe||={});var ke;(function(e){function t(e,t){return{tabSize:e,insertSpaces:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&V.uinteger(t.tabSize)&&V.boolean(t.insertSpaces)}e.is=n})(ke||={});var Ae;(function(e){function t(e,t,n){return{range:e,target:t,data:n}}e.create=t;function n(e){let t=e;return V.defined(t)&&h.is(t.range)&&(V.undefined(t.target)||V.string(t.target))}e.is=n})(Ae||={});var je;(function(e){function t(e,t){return{range:e,parent:t}}e.create=t;function n(t){let n=t;return V.objectLiteral(n)&&h.is(n.range)&&(n.parent===void 0||e.is(n.parent))}e.is=n})(je||={});var Me;(function(e){e.namespace=`namespace`,e.type=`type`,e.class=`class`,e.enum=`enum`,e.interface=`interface`,e.struct=`struct`,e.typeParameter=`typeParameter`,e.parameter=`parameter`,e.variable=`variable`,e.property=`property`,e.enumMember=`enumMember`,e.event=`event`,e.function=`function`,e.method=`method`,e.macro=`macro`,e.keyword=`keyword`,e.modifier=`modifier`,e.comment=`comment`,e.string=`string`,e.number=`number`,e.regexp=`regexp`,e.operator=`operator`,e.decorator=`decorator`})(Me||={});var Ne;(function(e){e.declaration=`declaration`,e.definition=`definition`,e.readonly=`readonly`,e.static=`static`,e.deprecated=`deprecated`,e.abstract=`abstract`,e.async=`async`,e.modification=`modification`,e.documentation=`documentation`,e.defaultLibrary=`defaultLibrary`})(Ne||={});var Pe;(function(e){function t(e){let t=e;return V.objectLiteral(t)&&(t.resultId===void 0||typeof t.resultId==`string`)&&Array.isArray(t.data)&&(t.data.length===0||typeof t.data[0]==`number`)}e.is=t})(Pe||={});var Fe;(function(e){function t(e,t){return{range:e,text:t}}e.create=t;function n(e){let t=e;return t!=null&&h.is(t.range)&&V.string(t.text)}e.is=n})(Fe||={});var Ie;(function(e){function t(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}}e.create=t;function n(e){let t=e;return t!=null&&h.is(t.range)&&V.boolean(t.caseSensitiveLookup)&&(V.string(t.variableName)||t.variableName===void 0)}e.is=n})(Ie||={});var Le;(function(e){function t(e,t){return{range:e,expression:t}}e.create=t;function n(e){let t=e;return t!=null&&h.is(t.range)&&(V.string(t.expression)||t.expression===void 0)}e.is=n})(Le||={});var Re;(function(e){function t(e,t){return{frameId:e,stoppedLocation:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&h.is(e.stoppedLocation)}e.is=n})(Re||={});var z;(function(e){e.Type=1,e.Parameter=2;function t(e){return e===1||e===2}e.is=t})(z||={});var B;(function(e){function t(e){return{value:e}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&(t.tooltip===void 0||V.string(t.tooltip)||M.is(t.tooltip))&&(t.location===void 0||g.is(t.location))&&(t.command===void 0||S.is(t.command))}e.is=n})(B||={});var ze;(function(e){function t(e,t,n){let r={position:e,label:t};return n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&m.is(t.position)&&(V.string(t.label)||V.typedArray(t.label,B.is))&&(t.kind===void 0||z.is(t.kind))&&t.textEdits===void 0||V.typedArray(t.textEdits,C.is)&&(t.tooltip===void 0||V.string(t.tooltip)||M.is(t.tooltip))&&(t.paddingLeft===void 0||V.boolean(t.paddingLeft))&&(t.paddingRight===void 0||V.boolean(t.paddingRight))}e.is=n})(ze||={});var Be;(function(e){function t(e){return{kind:`snippet`,value:e}}e.createSnippet=t})(Be||={});var Ve;(function(e){function t(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}}e.create=t})(Ve||={});var He;(function(e){function t(e){return{items:e}}e.create=t})(He||={});var Ue;(function(e){e.Invoked=0,e.Automatic=1})(Ue||={});var We;(function(e){function t(e,t){return{range:e,text:t}}e.create=t})(We||={});var Ge;(function(e){function t(e,t){return{triggerKind:e,selectedCompletionInfo:t}}e.create=t})(Ge||={});var Ke;(function(e){function t(e){let t=e;return V.objectLiteral(t)&&d.is(t.uri)&&V.string(t.name)}e.is=t})(Ke||={});var qe;(function(e){function t(e,t,n,r){return new Je(e,t,n,r)}e.create=t;function n(e){let t=e;return!!(V.defined(t)&&V.string(t.uri)&&(V.undefined(t.languageId)||V.string(t.languageId))&&V.uinteger(t.lineCount)&&V.func(t.getText)&&V.func(t.positionAt)&&V.func(t.offsetAt))}e.is=n;function r(e,t){let n=e.getText(),r=i(t,(e,t)=>{let n=e.range.start.line-t.range.start.line;return n===0?e.range.start.character-t.range.start.character:n}),a=n.length;for(let t=r.length-1;t>=0;t--){let i=r[t],o=e.offsetAt(i.range.start),s=e.offsetAt(i.range.end);if(s<=a)n=n.substring(0,o)+i.newText+n.substring(s,n.length);else throw Error(`Overlapping edit`);a=o}return n}e.applyEdits=r;function i(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),a=e.slice(n);i(r,t),i(a,t);let o=0,s=0,c=0;for(;o<r.length&&s<a.length;)t(r[o],a[s])<=0?e[c++]=r[o++]:e[c++]=a[s++];for(;o<r.length;)e[c++]=r[o++];for(;s<a.length;)e[c++]=a[s++];return e}})(qe||={});var Je=class{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,n=!0;for(let r=0;r<t.length;r++){n&&=(e.push(r),!1);let i=t.charAt(r);n=i===`\r`||i===`
1
+ import{n as e}from"./index-BjaJa7N5.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c=120*1e3,l=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>c&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=s.editor.createWebWorker({moduleId:`vs/language/css/cssWorker`,label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}},u;(function(e){function t(e){return typeof e==`string`}e.is=t})(u||={});var d;(function(e){function t(e){return typeof e==`string`}e.is=t})(d||={});var f;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(f||={});var p;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(p||={});var m;(function(e){function t(e,t){return e===Number.MAX_VALUE&&(e=p.MAX_VALUE),t===Number.MAX_VALUE&&(t=p.MAX_VALUE),{line:e,character:t}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&V.uinteger(t.line)&&V.uinteger(t.character)}e.is=n})(m||={});var h;(function(e){function t(e,t,n,r){if(V.uinteger(e)&&V.uinteger(t)&&V.uinteger(n)&&V.uinteger(r))return{start:m.create(e,t),end:m.create(n,r)};if(m.is(e)&&m.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${n}, ${r}]`)}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&m.is(t.start)&&m.is(t.end)}e.is=n})(h||={});var g;(function(e){function t(e,t){return{uri:e,range:t}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&h.is(t.range)&&(V.string(t.uri)||V.undefined(t.uri))}e.is=n})(g||={});var ee;(function(e){function t(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&h.is(t.targetRange)&&V.string(t.targetUri)&&h.is(t.targetSelectionRange)&&(h.is(t.originSelectionRange)||V.undefined(t.originSelectionRange))}e.is=n})(ee||={});var _;(function(e){function t(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&V.numberRange(t.red,0,1)&&V.numberRange(t.green,0,1)&&V.numberRange(t.blue,0,1)&&V.numberRange(t.alpha,0,1)}e.is=n})(_||={});var te;(function(e){function t(e,t){return{range:e,color:t}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&h.is(t.range)&&_.is(t.color)}e.is=n})(te||={});var ne;(function(e){function t(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&V.string(t.label)&&(V.undefined(t.textEdit)||C.is(t))&&(V.undefined(t.additionalTextEdits)||V.typedArray(t.additionalTextEdits,C.is))}e.is=n})(ne||={});var v;(function(e){e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`})(v||={});var re;(function(e){function t(e,t,n,r,i,a){let o={startLine:e,endLine:t};return V.defined(n)&&(o.startCharacter=n),V.defined(r)&&(o.endCharacter=r),V.defined(i)&&(o.kind=i),V.defined(a)&&(o.collapsedText=a),o}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&V.uinteger(t.startLine)&&V.uinteger(t.startLine)&&(V.undefined(t.startCharacter)||V.uinteger(t.startCharacter))&&(V.undefined(t.endCharacter)||V.uinteger(t.endCharacter))&&(V.undefined(t.kind)||V.string(t.kind))}e.is=n})(re||={});var y;(function(e){function t(e,t){return{location:e,message:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&g.is(t.location)&&V.string(t.message)}e.is=n})(y||={});var b;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(b||={});var ie;(function(e){e.Unnecessary=1,e.Deprecated=2})(ie||={});var ae;(function(e){function t(e){let t=e;return V.objectLiteral(t)&&V.string(t.href)}e.is=t})(ae||={});var x;(function(e){function t(e,t,n,r,i,a){let o={range:e,message:t};return V.defined(n)&&(o.severity=n),V.defined(r)&&(o.code=r),V.defined(i)&&(o.source=i),V.defined(a)&&(o.relatedInformation=a),o}e.create=t;function n(e){let t=e;return V.defined(t)&&h.is(t.range)&&V.string(t.message)&&(V.number(t.severity)||V.undefined(t.severity))&&(V.integer(t.code)||V.string(t.code)||V.undefined(t.code))&&(V.undefined(t.codeDescription)||V.string(t.codeDescription?.href))&&(V.string(t.source)||V.undefined(t.source))&&(V.undefined(t.relatedInformation)||V.typedArray(t.relatedInformation,y.is))}e.is=n})(x||={});var S;(function(e){function t(e,t,...n){let r={title:e,command:t};return V.defined(n)&&n.length>0&&(r.arguments=n),r}e.create=t;function n(e){let t=e;return V.defined(t)&&V.string(t.title)&&V.string(t.command)}e.is=n})(S||={});var C;(function(e){function t(e,t){return{range:e,newText:t}}e.replace=t;function n(e,t){return{range:{start:e,end:e},newText:t}}e.insert=n;function r(e){return{range:e,newText:``}}e.del=r;function i(e){let t=e;return V.objectLiteral(t)&&V.string(t.newText)&&h.is(t.range)}e.is=i})(C||={});var w;(function(e){function t(e,t,n){let r={label:e};return t!==void 0&&(r.needsConfirmation=t),n!==void 0&&(r.description=n),r}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&V.string(t.label)&&(V.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&(V.string(t.description)||t.description===void 0)}e.is=n})(w||={});var T;(function(e){function t(e){let t=e;return V.string(t)}e.is=t})(T||={});var oe;(function(e){function t(e,t,n){return{range:e,newText:t,annotationId:n}}e.replace=t;function n(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}}e.insert=n;function r(e,t){return{range:e,newText:``,annotationId:t}}e.del=r;function i(e){let t=e;return C.is(t)&&(w.is(t.annotationId)||T.is(t.annotationId))}e.is=i})(oe||={});var se;(function(e){function t(e,t){return{textDocument:e,edits:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&A.is(t.textDocument)&&Array.isArray(t.edits)}e.is=n})(se||={});var E;(function(e){function t(e,t,n){let r={kind:`create`,uri:e};return t!==void 0&&(t.overwrite!==void 0||t.ignoreIfExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`create`&&V.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||V.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||V.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||T.is(t.annotationId))}e.is=n})(E||={});var D;(function(e){function t(e,t,n,r){let i={kind:`rename`,oldUri:e,newUri:t};return n!==void 0&&(n.overwrite!==void 0||n.ignoreIfExists!==void 0)&&(i.options=n),r!==void 0&&(i.annotationId=r),i}e.create=t;function n(e){let t=e;return t&&t.kind===`rename`&&V.string(t.oldUri)&&V.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||V.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||V.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||T.is(t.annotationId))}e.is=n})(D||={});var O;(function(e){function t(e,t,n){let r={kind:`delete`,uri:e};return t!==void 0&&(t.recursive!==void 0||t.ignoreIfNotExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`delete`&&V.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||V.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||V.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||T.is(t.annotationId))}e.is=n})(O||={});var k;(function(e){function t(e){let t=e;return t&&(t.changes!==void 0||t.documentChanges!==void 0)&&(t.documentChanges===void 0||t.documentChanges.every(e=>V.string(e.kind)?E.is(e)||D.is(e)||O.is(e):se.is(e)))}e.is=t})(k||={});var ce;(function(e){function t(e){return{uri:e}}e.create=t;function n(e){let t=e;return V.defined(t)&&V.string(t.uri)}e.is=n})(ce||={});var le;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&V.string(t.uri)&&V.integer(t.version)}e.is=n})(le||={});var A;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&V.string(t.uri)&&(t.version===null||V.integer(t.version))}e.is=n})(A||={});var ue;(function(e){function t(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}}e.create=t;function n(e){let t=e;return V.defined(t)&&V.string(t.uri)&&V.string(t.languageId)&&V.integer(t.version)&&V.string(t.text)}e.is=n})(ue||={});var j;(function(e){e.PlainText=`plaintext`,e.Markdown=`markdown`;function t(t){let n=t;return n===e.PlainText||n===e.Markdown}e.is=t})(j||={});var M;(function(e){function t(e){let t=e;return V.objectLiteral(e)&&j.is(t.kind)&&V.string(t.value)}e.is=t})(M||={});var N;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(N||={});var P;(function(e){e.PlainText=1,e.Snippet=2})(P||={});var de;(function(e){e.Deprecated=1})(de||={});var fe;(function(e){function t(e,t,n){return{newText:e,insert:t,replace:n}}e.create=t;function n(e){let t=e;return t&&V.string(t.newText)&&h.is(t.insert)&&h.is(t.replace)}e.is=n})(fe||={});var pe;(function(e){e.asIs=1,e.adjustIndentation=2})(pe||={});var me;(function(e){function t(e){let t=e;return t&&(V.string(t.detail)||t.detail===void 0)&&(V.string(t.description)||t.description===void 0)}e.is=t})(me||={});var he;(function(e){function t(e){return{label:e}}e.create=t})(he||={});var ge;(function(e){function t(e,t){return{items:e||[],isIncomplete:!!t}}e.create=t})(ge||={});var F;(function(e){function t(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}e.fromPlainText=t;function n(e){let t=e;return V.string(t)||V.objectLiteral(t)&&V.string(t.language)&&V.string(t.value)}e.is=n})(F||={});var _e;(function(e){function t(e){let t=e;return!!t&&V.objectLiteral(t)&&(M.is(t.contents)||F.is(t.contents)||V.typedArray(t.contents,F.is))&&(e.range===void 0||h.is(e.range))}e.is=t})(_e||={});var ve;(function(e){function t(e,t){return t?{label:e,documentation:t}:{label:e}}e.create=t})(ve||={});var ye;(function(e){function t(e,t,...n){let r={label:e};return V.defined(t)&&(r.documentation=t),V.defined(n)?r.parameters=n:r.parameters=[],r}e.create=t})(ye||={});var I;(function(e){e.Text=1,e.Read=2,e.Write=3})(I||={});var be;(function(e){function t(e,t){let n={range:e};return V.number(t)&&(n.kind=t),n}e.create=t})(be||={});var L;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(L||={});var xe;(function(e){e.Deprecated=1})(xe||={});var Se;(function(e){function t(e,t,n,r,i){let a={name:e,kind:t,location:{uri:r,range:n}};return i&&(a.containerName=i),a}e.create=t})(Se||={});var Ce;(function(e){function t(e,t,n,r){return r===void 0?{name:e,kind:t,location:{uri:n}}:{name:e,kind:t,location:{uri:n,range:r}}}e.create=t})(Ce||={});var we;(function(e){function t(e,t,n,r,i,a){let o={name:e,detail:t,kind:n,range:r,selectionRange:i};return a!==void 0&&(o.children=a),o}e.create=t;function n(e){let t=e;return t&&V.string(t.name)&&V.number(t.kind)&&h.is(t.range)&&h.is(t.selectionRange)&&(t.detail===void 0||V.string(t.detail))&&(t.deprecated===void 0||V.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=n})(we||={});var Te;(function(e){e.Empty=``,e.QuickFix=`quickfix`,e.Refactor=`refactor`,e.RefactorExtract=`refactor.extract`,e.RefactorInline=`refactor.inline`,e.RefactorRewrite=`refactor.rewrite`,e.Source=`source`,e.SourceOrganizeImports=`source.organizeImports`,e.SourceFixAll=`source.fixAll`})(Te||={});var R;(function(e){e.Invoked=1,e.Automatic=2})(R||={});var Ee;(function(e){function t(e,t,n){let r={diagnostics:e};return t!=null&&(r.only=t),n!=null&&(r.triggerKind=n),r}e.create=t;function n(e){let t=e;return V.defined(t)&&V.typedArray(t.diagnostics,x.is)&&(t.only===void 0||V.typedArray(t.only,V.string))&&(t.triggerKind===void 0||t.triggerKind===R.Invoked||t.triggerKind===R.Automatic)}e.is=n})(Ee||={});var De;(function(e){function t(e,t,n){let r={title:e},i=!0;return typeof t==`string`?(i=!1,r.kind=t):S.is(t)?r.command=t:r.edit=t,i&&n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return t&&V.string(t.title)&&(t.diagnostics===void 0||V.typedArray(t.diagnostics,x.is))&&(t.kind===void 0||V.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||S.is(t.command))&&(t.isPreferred===void 0||V.boolean(t.isPreferred))&&(t.edit===void 0||k.is(t.edit))}e.is=n})(De||={});var Oe;(function(e){function t(e,t){let n={range:e};return V.defined(t)&&(n.data=t),n}e.create=t;function n(e){let t=e;return V.defined(t)&&h.is(t.range)&&(V.undefined(t.command)||S.is(t.command))}e.is=n})(Oe||={});var ke;(function(e){function t(e,t){return{tabSize:e,insertSpaces:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&V.uinteger(t.tabSize)&&V.boolean(t.insertSpaces)}e.is=n})(ke||={});var Ae;(function(e){function t(e,t,n){return{range:e,target:t,data:n}}e.create=t;function n(e){let t=e;return V.defined(t)&&h.is(t.range)&&(V.undefined(t.target)||V.string(t.target))}e.is=n})(Ae||={});var je;(function(e){function t(e,t){return{range:e,parent:t}}e.create=t;function n(t){let n=t;return V.objectLiteral(n)&&h.is(n.range)&&(n.parent===void 0||e.is(n.parent))}e.is=n})(je||={});var Me;(function(e){e.namespace=`namespace`,e.type=`type`,e.class=`class`,e.enum=`enum`,e.interface=`interface`,e.struct=`struct`,e.typeParameter=`typeParameter`,e.parameter=`parameter`,e.variable=`variable`,e.property=`property`,e.enumMember=`enumMember`,e.event=`event`,e.function=`function`,e.method=`method`,e.macro=`macro`,e.keyword=`keyword`,e.modifier=`modifier`,e.comment=`comment`,e.string=`string`,e.number=`number`,e.regexp=`regexp`,e.operator=`operator`,e.decorator=`decorator`})(Me||={});var Ne;(function(e){e.declaration=`declaration`,e.definition=`definition`,e.readonly=`readonly`,e.static=`static`,e.deprecated=`deprecated`,e.abstract=`abstract`,e.async=`async`,e.modification=`modification`,e.documentation=`documentation`,e.defaultLibrary=`defaultLibrary`})(Ne||={});var Pe;(function(e){function t(e){let t=e;return V.objectLiteral(t)&&(t.resultId===void 0||typeof t.resultId==`string`)&&Array.isArray(t.data)&&(t.data.length===0||typeof t.data[0]==`number`)}e.is=t})(Pe||={});var Fe;(function(e){function t(e,t){return{range:e,text:t}}e.create=t;function n(e){let t=e;return t!=null&&h.is(t.range)&&V.string(t.text)}e.is=n})(Fe||={});var Ie;(function(e){function t(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}}e.create=t;function n(e){let t=e;return t!=null&&h.is(t.range)&&V.boolean(t.caseSensitiveLookup)&&(V.string(t.variableName)||t.variableName===void 0)}e.is=n})(Ie||={});var Le;(function(e){function t(e,t){return{range:e,expression:t}}e.create=t;function n(e){let t=e;return t!=null&&h.is(t.range)&&(V.string(t.expression)||t.expression===void 0)}e.is=n})(Le||={});var Re;(function(e){function t(e,t){return{frameId:e,stoppedLocation:t}}e.create=t;function n(e){let t=e;return V.defined(t)&&h.is(e.stoppedLocation)}e.is=n})(Re||={});var z;(function(e){e.Type=1,e.Parameter=2;function t(e){return e===1||e===2}e.is=t})(z||={});var B;(function(e){function t(e){return{value:e}}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&(t.tooltip===void 0||V.string(t.tooltip)||M.is(t.tooltip))&&(t.location===void 0||g.is(t.location))&&(t.command===void 0||S.is(t.command))}e.is=n})(B||={});var ze;(function(e){function t(e,t,n){let r={position:e,label:t};return n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return V.objectLiteral(t)&&m.is(t.position)&&(V.string(t.label)||V.typedArray(t.label,B.is))&&(t.kind===void 0||z.is(t.kind))&&t.textEdits===void 0||V.typedArray(t.textEdits,C.is)&&(t.tooltip===void 0||V.string(t.tooltip)||M.is(t.tooltip))&&(t.paddingLeft===void 0||V.boolean(t.paddingLeft))&&(t.paddingRight===void 0||V.boolean(t.paddingRight))}e.is=n})(ze||={});var Be;(function(e){function t(e){return{kind:`snippet`,value:e}}e.createSnippet=t})(Be||={});var Ve;(function(e){function t(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}}e.create=t})(Ve||={});var He;(function(e){function t(e){return{items:e}}e.create=t})(He||={});var Ue;(function(e){e.Invoked=0,e.Automatic=1})(Ue||={});var We;(function(e){function t(e,t){return{range:e,text:t}}e.create=t})(We||={});var Ge;(function(e){function t(e,t){return{triggerKind:e,selectedCompletionInfo:t}}e.create=t})(Ge||={});var Ke;(function(e){function t(e){let t=e;return V.objectLiteral(t)&&d.is(t.uri)&&V.string(t.name)}e.is=t})(Ke||={});var qe;(function(e){function t(e,t,n,r){return new Je(e,t,n,r)}e.create=t;function n(e){let t=e;return!!(V.defined(t)&&V.string(t.uri)&&(V.undefined(t.languageId)||V.string(t.languageId))&&V.uinteger(t.lineCount)&&V.func(t.getText)&&V.func(t.positionAt)&&V.func(t.offsetAt))}e.is=n;function r(e,t){let n=e.getText(),r=i(t,(e,t)=>{let n=e.range.start.line-t.range.start.line;return n===0?e.range.start.character-t.range.start.character:n}),a=n.length;for(let t=r.length-1;t>=0;t--){let i=r[t],o=e.offsetAt(i.range.start),s=e.offsetAt(i.range.end);if(s<=a)n=n.substring(0,o)+i.newText+n.substring(s,n.length);else throw Error(`Overlapping edit`);a=o}return n}e.applyEdits=r;function i(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),a=e.slice(n);i(r,t),i(a,t);let o=0,s=0,c=0;for(;o<r.length&&s<a.length;)t(r[o],a[s])<=0?e[c++]=r[o++]:e[c++]=a[s++];for(;o<r.length;)e[c++]=r[o++];for(;s<a.length;)e[c++]=a[s++];return e}})(qe||={});var Je=class{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,n=!0;for(let r=0;r<t.length;r++){n&&=(e.push(r),!1);let i=t.charAt(r);n=i===`\r`||i===`
2
2
  `,i===`\r`&&r+1<t.length&&t.charAt(r+1)===`
3
3
  `&&r++}n&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,r=t.length;if(r===0)return m.create(0,e);for(;n<r;){let i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}let i=n-1;return m.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)}get lineCount(){return this.getLineOffsets().length}},V;(function(e){let t=Object.prototype.toString;function n(e){return e!==void 0}e.defined=n;function r(e){return e===void 0}e.undefined=r;function i(e){return e===!0||e===!1}e.boolean=i;function a(e){return t.call(e)===`[object String]`}e.string=a;function o(e){return t.call(e)===`[object Number]`}e.number=o;function s(e,n,r){return t.call(e)===`[object Number]`&&n<=e&&e<=r}e.numberRange=s;function c(e){return t.call(e)===`[object Number]`&&-2147483648<=e&&e<=2147483647}e.integer=c;function l(e){return t.call(e)===`[object Number]`&&0<=e&&e<=2147483647}e.uinteger=l;function u(e){return t.call(e)===`[object Function]`}e.func=u;function d(e){return typeof e==`object`&&!!e}e.objectLiteral=d;function f(e,t){return Array.isArray(e)&&e.every(t)}e.typedArray=f})(V||={});var H=class{constructor(e,t,n){this._languageId=e,this._worker=t,this._disposables=[],this._listener=Object.create(null);let r=e=>{let t=e.getLanguageId();if(t!==this._languageId)return;let n;this._listener[e.uri.toString()]=e.onDidChangeContent(()=>{window.clearTimeout(n),n=window.setTimeout(()=>this._doValidate(e.uri,t),500)}),this._doValidate(e.uri,t)},i=e=>{s.editor.setModelMarkers(e,this._languageId,[]);let t=e.uri.toString(),n=this._listener[t];n&&(n.dispose(),delete this._listener[t])};this._disposables.push(s.editor.onDidCreateModel(r)),this._disposables.push(s.editor.onWillDisposeModel(i)),this._disposables.push(s.editor.onDidChangeModelLanguage(e=>{i(e.model),r(e.model)})),this._disposables.push(n(e=>{s.editor.getModels().forEach(e=>{e.getLanguageId()===this._languageId&&(i(e),r(e))})})),this._disposables.push({dispose:()=>{s.editor.getModels().forEach(i);for(let e in this._listener)this._listener[e].dispose()}}),s.editor.getModels().forEach(r)}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables.length=0}_doValidate(e,t){this._worker(e).then(t=>t.doValidation(e.toString())).then(n=>{let r=n.map(t=>Xe(e,t)),i=s.editor.getModel(e);i&&i.getLanguageId()===t&&s.editor.setModelMarkers(i,t,r)}).then(void 0,e=>{console.error(e)})}};function Ye(e){switch(e){case b.Error:return s.MarkerSeverity.Error;case b.Warning:return s.MarkerSeverity.Warning;case b.Information:return s.MarkerSeverity.Info;case b.Hint:return s.MarkerSeverity.Hint;default:return s.MarkerSeverity.Info}}function Xe(e,t){let n=typeof t.code==`number`?String(t.code):t.code;return{severity:Ye(t.severity),startLineNumber:t.range.start.line+1,startColumn:t.range.start.character+1,endLineNumber:t.range.end.line+1,endColumn:t.range.end.character+1,message:t.message,code:n,source:t.source}}var U=class{constructor(e,t){this._worker=e,this._triggerCharacters=t}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.doComplete(i.toString(),W(t))).then(n=>{if(!n)return;let r=e.getWordUntilPosition(t),i=new s.Range(t.lineNumber,r.startColumn,t.lineNumber,r.endColumn),a=n.items.map(e=>{let t={label:e.label,insertText:e.insertText||e.label,sortText:e.sortText,filterText:e.filterText,documentation:e.documentation,detail:e.detail,command:$e(e.command),range:i,kind:Qe(e.kind)};return e.textEdit&&(Ze(e.textEdit)?t.range={insert:K(e.textEdit.insert),replace:K(e.textEdit.replace)}:t.range=K(e.textEdit.range),t.insertText=e.textEdit.newText),e.additionalTextEdits&&(t.additionalTextEdits=e.additionalTextEdits.map(q)),e.insertTextFormat===P.Snippet&&(t.insertTextRules=s.languages.CompletionItemInsertTextRule.InsertAsSnippet),t});return{isIncomplete:n.isIncomplete,suggestions:a}})}};function W(e){if(e)return{character:e.column-1,line:e.lineNumber-1}}function G(e){if(e)return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}function K(e){if(e)return new s.Range(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function Ze(e){return e.insert!==void 0&&e.replace!==void 0}function Qe(e){let t=s.languages.CompletionItemKind;switch(e){case N.Text:return t.Text;case N.Method:return t.Method;case N.Function:return t.Function;case N.Constructor:return t.Constructor;case N.Field:return t.Field;case N.Variable:return t.Variable;case N.Class:return t.Class;case N.Interface:return t.Interface;case N.Module:return t.Module;case N.Property:return t.Property;case N.Unit:return t.Unit;case N.Value:return t.Value;case N.Enum:return t.Enum;case N.Keyword:return t.Keyword;case N.Snippet:return t.Snippet;case N.Color:return t.Color;case N.File:return t.File;case N.Reference:return t.Reference}return t.Property}function q(e){if(e)return{range:K(e.range),text:e.newText}}function $e(e){return e&&e.command===`editor.action.triggerSuggest`?{id:e.command,title:e.title,arguments:e.arguments}:void 0}var et=class{constructor(e){this._worker=e}provideHover(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.doHover(r.toString(),W(t))).then(e=>{if(e)return{range:K(e.range),contents:nt(e.contents)}})}};function tt(e){return e&&typeof e==`object`&&typeof e.kind==`string`}function J(e){return typeof e==`string`?{value:e}:tt(e)?e.kind===`plaintext`?{value:e.value.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}:{value:e.value}:{value:"```"+e.language+`
4
4
  `+e.value+"\n```\n"}}function nt(e){if(e)return Array.isArray(e)?e.map(J):[J(e)]}var Y=class{constructor(e){this._worker=e}provideDocumentHighlights(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.findDocumentHighlights(r.toString(),W(t))).then(e=>{if(e)return e.map(e=>({range:K(e.range),kind:rt(e.kind)}))})}};function rt(e){switch(e){case I.Read:return s.languages.DocumentHighlightKind.Read;case I.Write:return s.languages.DocumentHighlightKind.Write;case I.Text:return s.languages.DocumentHighlightKind.Text}return s.languages.DocumentHighlightKind.Text}var X=class{constructor(e){this._worker=e}provideDefinition(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.findDefinition(r.toString(),W(t))).then(e=>{if(e)return[Z(e)]})}};function Z(e){return{uri:s.Uri.parse(e.uri),range:K(e.range)}}var Q=class{constructor(e){this._worker=e}provideReferences(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.findReferences(i.toString(),W(t))).then(e=>{if(e)return e.map(Z)})}},it=class{constructor(e){this._worker=e}provideRenameEdits(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.doRename(i.toString(),W(t),n)).then(e=>at(e))}};function at(e){if(!e||!e.changes)return;let t=[];for(let n in e.changes){let r=s.Uri.parse(n);for(let i of e.changes[n])t.push({resource:r,versionId:void 0,textEdit:{range:K(i.range),text:i.newText}})}return{edits:t}}var ot=class{constructor(e){this._worker=e}provideDocumentSymbols(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentSymbols(n.toString())).then(e=>{if(e)return e.map(e=>st(e)?ct(e):{name:e.name,detail:``,containerName:e.containerName,kind:lt(e.kind),range:K(e.location.range),selectionRange:K(e.location.range),tags:[]})})}};function st(e){return`children`in e}function ct(e){return{name:e.name,detail:e.detail??``,kind:lt(e.kind),range:K(e.range),selectionRange:K(e.selectionRange),tags:e.tags??[],children:(e.children??[]).map(e=>ct(e))}}function lt(e){let t=s.languages.SymbolKind;switch(e){case L.File:return t.File;case L.Module:return t.Module;case L.Namespace:return t.Namespace;case L.Package:return t.Package;case L.Class:return t.Class;case L.Method:return t.Method;case L.Property:return t.Property;case L.Field:return t.Field;case L.Constructor:return t.Constructor;case L.Enum:return t.Enum;case L.Interface:return t.Interface;case L.Function:return t.Function;case L.Variable:return t.Variable;case L.Constant:return t.Constant;case L.String:return t.String;case L.Number:return t.Number;case L.Boolean:return t.Boolean;case L.Array:return t.Array}return t.Function}var ut=class{constructor(e){this._worker=e}provideLinks(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentLinks(n.toString())).then(e=>{if(e)return{links:e.map(e=>({range:K(e.range),url:e.target}))}})}},dt=class{constructor(e){this._worker=e}provideDocumentFormattingEdits(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.format(r.toString(),null,$(t)).then(e=>{if(!(!e||e.length===0))return e.map(q)}))}},ft=class{constructor(e){this._worker=e,this.canFormatMultipleRanges=!1}provideDocumentRangeFormattingEdits(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.format(i.toString(),G(t),$(n)).then(e=>{if(!(!e||e.length===0))return e.map(q)}))}};function $(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}}var pt=class{constructor(e){this._worker=e}provideDocumentColors(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentColors(n.toString())).then(e=>{if(e)return e.map(e=>({color:e.color,range:K(e.range)}))})}provideColorPresentations(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getColorPresentations(r.toString(),t.color,G(t.range))).then(e=>{if(e)return e.map(e=>{let t={label:e.label};return e.textEdit&&(t.textEdit=q(e.textEdit)),e.additionalTextEdits&&(t.additionalTextEdits=e.additionalTextEdits.map(q)),t})})}},mt=class{constructor(e){this._worker=e}provideFoldingRanges(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getFoldingRanges(r.toString(),t)).then(e=>{if(e)return e.map(e=>{let t={start:e.startLine+1,end:e.endLine+1};return e.kind!==void 0&&(t.kind=ht(e.kind)),t})})}};function ht(e){switch(e){case v.Comment:return s.languages.FoldingRangeKind.Comment;case v.Imports:return s.languages.FoldingRangeKind.Imports;case v.Region:return s.languages.FoldingRangeKind.Region}}var gt=class{constructor(e){this._worker=e}provideSelectionRanges(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getSelectionRanges(r.toString(),t.map(W))).then(e=>{if(e)return e.map(e=>{let t=[];for(;e;)t.push({range:K(e.range)}),e=e.parent;return t})})}};function _t(e){let t=[],n=[],r=new l(e);t.push(r);let i=(...e)=>r.getLanguageServiceWorker(...e);function a(){let{languageId:t,modeConfiguration:r}=e;yt(n),r.completionItems&&n.push(s.languages.registerCompletionItemProvider(t,new U(i,[`/`,`-`,`:`]))),r.hovers&&n.push(s.languages.registerHoverProvider(t,new et(i))),r.documentHighlights&&n.push(s.languages.registerDocumentHighlightProvider(t,new Y(i))),r.definitions&&n.push(s.languages.registerDefinitionProvider(t,new X(i))),r.references&&n.push(s.languages.registerReferenceProvider(t,new Q(i))),r.documentSymbols&&n.push(s.languages.registerDocumentSymbolProvider(t,new ot(i))),r.rename&&n.push(s.languages.registerRenameProvider(t,new it(i))),r.colors&&n.push(s.languages.registerColorProvider(t,new pt(i))),r.foldingRanges&&n.push(s.languages.registerFoldingRangeProvider(t,new mt(i))),r.diagnostics&&n.push(new H(t,i,e.onDidChange)),r.selectionRanges&&n.push(s.languages.registerSelectionRangeProvider(t,new gt(i))),r.documentFormattingEdits&&n.push(s.languages.registerDocumentFormattingEditProvider(t,new dt(i))),r.documentRangeFormattingEdits&&n.push(s.languages.registerDocumentRangeFormattingEditProvider(t,new ft(i)))}return a(),t.push(vt(n)),vt(t)}function vt(e){return{dispose:()=>yt(e)}}function yt(e){for(;e.length;)e.pop().dispose()}export{U as CompletionAdapter,X as DefinitionAdapter,H as DiagnosticsAdapter,pt as DocumentColorAdapter,dt as DocumentFormattingEditProvider,Y as DocumentHighlightAdapter,ut as DocumentLinkAdapter,ft as DocumentRangeFormattingEditProvider,ot as DocumentSymbolAdapter,mt as FoldingRangeAdapter,et as HoverAdapter,Q as ReferenceAdapter,it as RenameAdapter,gt as SelectionRangeAdapter,l as WorkerManager,W as fromPosition,G as fromRange,_t as setupMode,K as toRange,q as toTextEdit};
@@ -1,3 +1,3 @@
1
- import{n as e}from"./index-BQgl5DUJ.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c=[`assign`,`flush`,`ftl`,`return`,`global`,`import`,`include`,`break`,`continue`,`local`,`nested`,`nt`,`setting`,`stop`,`t`,`lt`,`rt`,`fallback`],l=[`attempt`,`autoesc`,`autoEsc`,`compress`,`comment`,`escape`,`noescape`,`function`,`if`,`list`,`items`,`sep`,`macro`,`noparse`,`noParse`,`noautoesc`,`noAutoEsc`,`outputformat`,`switch`,`visit`,`recurse`],u={close:`>`,id:`angle`,open:`<`},d={close:`\\]`,id:`bracket`,open:`\\[`},f={close:`[>\\]]`,id:`auto`,open:`[<\\[]`},p={close:`\\}`,id:`dollar`,open1:`\\$`,open2:`\\{`},m={close:`\\]`,id:`bracket`,open1:`\\[`,open2:`=`};function h(e){return{brackets:[[`<`,`>`],[`[`,`]`],[`(`,`)`],[`{`,`}`]],comments:{blockComment:[`${e.open}--`,`--${e.close}`]},autoCloseBefore:`
1
+ import{n as e}from"./index-BjaJa7N5.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c=[`assign`,`flush`,`ftl`,`return`,`global`,`import`,`include`,`break`,`continue`,`local`,`nested`,`nt`,`setting`,`stop`,`t`,`lt`,`rt`,`fallback`],l=[`attempt`,`autoesc`,`autoEsc`,`compress`,`comment`,`escape`,`noescape`,`function`,`if`,`list`,`items`,`sep`,`macro`,`noparse`,`noParse`,`noautoesc`,`noAutoEsc`,`outputformat`,`switch`,`visit`,`recurse`],u={close:`>`,id:`angle`,open:`<`},d={close:`\\]`,id:`bracket`,open:`\\[`},f={close:`[>\\]]`,id:`auto`,open:`[<\\[]`},p={close:`\\}`,id:`dollar`,open1:`\\$`,open2:`\\{`},m={close:`\\]`,id:`bracket`,open1:`\\[`,open2:`=`};function h(e){return{brackets:[[`<`,`>`],[`[`,`]`],[`(`,`)`],[`{`,`}`]],comments:{blockComment:[`${e.open}--`,`--${e.close}`]},autoCloseBefore:`
2
2
  \r }]),.:;=`,autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`,notIn:[`string`]},{open:`'`,close:`'`,notIn:[`string`]}],surroundingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`}],folding:{markers:{start:RegExp(`${e.open}#(?:${l.join(`|`)})([^/${e.close}]*(?!/)${e.close})[^${e.open}]*$`),end:RegExp(`${e.open}/#(?:${l.join(`|`)})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:RegExp(`${e.open}#(?!(?:${c.join(`|`)}))([a-zA-Z_]+)([^/${e.close}]*(?!/)${e.close})[^${e.open}]*$`),afterText:RegExp(`^${e.open}/#([a-zA-Z_]+)[\\r\\n\\t ]*${e.close}$`),action:{indentAction:s.languages.IndentAction.IndentOutdent}},{beforeText:RegExp(`${e.open}#(?!(?:${c.join(`|`)}))([a-zA-Z_]+)([^/${e.close}]*(?!/)${e.close})[^${e.open}]*$`),action:{indentAction:s.languages.IndentAction.Indent}}]}}function g(){return{brackets:[[`<`,`>`],[`[`,`]`],[`(`,`)`],[`{`,`}`]],autoCloseBefore:`
3
3
  \r }]),.:;=`,autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`,notIn:[`string`]},{open:`'`,close:`'`,notIn:[`string`]}],surroundingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`}],folding:{markers:{start:RegExp(`[<\\[]#(?:${l.join(`|`)})([^/>\\]]*(?!/)[>\\]])[^<\\[]*$`),end:RegExp(`[<\\[]/#(?:${l.join(`|`)})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:RegExp(`[<\\[]#(?!(?:${c.join(`|`)}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),afterText:RegExp(`^[<\\[]/#([a-zA-Z_]+)[\\r\\n\\t ]*[>\\]]$`),action:{indentAction:s.languages.IndentAction.IndentOutdent}},{beforeText:RegExp(`[<\\[]#(?!(?:${c.join(`|`)}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),action:{indentAction:s.languages.IndentAction.Indent}}]}}function _(e,t){let n=`_${e.id}_${t.id}`,r=e=>e.replace(/__id__/g,n),i=e=>{let t=e.source.replace(/__id__/g,n);return new RegExp(t,e.flags)};return{unicode:!0,includeLF:!1,start:r(`default__id__`),ignoreCase:!1,defaultToken:`invalid`,tokenPostfix:`.freemarker2`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],[r(`open__id__`)]:new RegExp(e.open),[r(`close__id__`)]:new RegExp(e.close),[r(`iOpen1__id__`)]:new RegExp(t.open1),[r(`iOpen2__id__`)]:new RegExp(t.open2),[r(`iClose__id__`)]:new RegExp(t.close),[r(`startTag__id__`)]:i(/(@open__id__)(#)/),[r(`endTag__id__`)]:i(/(@open__id__)(\/#)/),[r(`startOrEndTag__id__`)]:i(/(@open__id__)(\/?#)/),[r(`closeTag1__id__`)]:i(/((?:@blank)*)(@close__id__)/),[r(`closeTag2__id__`)]:i(/((?:@blank)*\/?)(@close__id__)/),blank:/[ \t\n\r]/,keywords:[`false`,`true`,`in`,`as`,`using`],directiveStartCloseTag1:/attempt|recover|sep|auto[eE]sc|no(?:autoe|AutoE)sc|compress|default|no[eE]scape|comment|no[pP]arse/,directiveStartCloseTag2:/else|break|continue|return|stop|flush|t|lt|rt|nt|nested|recurse|fallback|ftl/,directiveStartBlank:/if|else[iI]f|list|for[eE]ach|switch|case|assign|global|local|include|import|function|macro|transform|visit|stop|return|call|setting|output[fF]ormat|nested|recurse|escape|ftl|items/,directiveEndCloseTag1:/if|list|items|sep|recover|attempt|for[eE]ach|local|global|assign|function|macro|output[fF]ormat|auto[eE]sc|no(?:autoe|AutoE)sc|compress|transform|switch|escape|no[eE]scape/,escapedChar:/\\(?:[ntrfbgla\\'"\{=]|(?:x[0-9A-Fa-f]{1,4}))/,asciiDigit:/[0-9]/,integer:/[0-9]+/,nonEscapedIdStartChar:/[\$@-Z_a-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u1FFF\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183-\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3006\u3031-\u3035\u303B-\u303C\u3040-\u318F\u31A0-\u31BA\u31F0-\u31FF\u3300-\u337F\u3400-\u4DB5\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,escapedIdChar:/\\[\-\.:#]/,idStartChar:/(?:@nonEscapedIdStartChar)|(?:@escapedIdChar)/,id:/(?:@idStartChar)(?:(?:@idStartChar)|(?:@asciiDigit))*/,specialHashKeys:/\*\*|\*|false|true|in|as|using/,namedSymbols:/&lt;=|&gt;=|\\lte|\\lt|&lt;|\\gte|\\gt|&gt;|&amp;&amp;|\\and|-&gt;|->|==|!=|\+=|-=|\*=|\/=|%=|\+\+|--|<=|&&|\|\||:|\.\.\.|\.\.\*|\.\.<|\.\.!|\?\?|=|<|\+|-|\*|\/|%|\||\.\.|\?|!|&|\.|,|;/,arrows:[`->`,`-&gt;`],delimiters:[`;`,`:`,`,`,`.`],stringOperators:[`lte`,`lt`,`gte`,`gt`],noParseTags:[`noparse`,`noParse`,`comment`],tokenizer:{[r(`default__id__`)]:[{include:r(`@directive_token__id__`)},{include:r(`@interpolation_and_text_token__id__`)}],[r(`fmExpression__id__.directive`)]:[{include:r(`@blank_and_expression_comment_token__id__`)},{include:r(`@directive_end_token__id__`)},{include:r(`@expression_token__id__`)}],[r(`fmExpression__id__.interpolation`)]:[{include:r(`@blank_and_expression_comment_token__id__`)},{include:r(`@expression_token__id__`)},{include:r(`@greater_operators_token__id__`)}],[r(`inParen__id__.plain`)]:[{include:r(`@blank_and_expression_comment_token__id__`)},{include:r(`@directive_end_token__id__`)},{include:r(`@expression_token__id__`)}],[r(`inParen__id__.gt`)]:[{include:r(`@blank_and_expression_comment_token__id__`)},{include:r(`@expression_token__id__`)},{include:r(`@greater_operators_token__id__`)}],[r(`noSpaceExpression__id__`)]:[{include:r(`@no_space_expression_end_token__id__`)},{include:r(`@directive_end_token__id__`)},{include:r(`@expression_token__id__`)}],[r(`unifiedCall__id__`)]:[{include:r(`@unified_call_token__id__`)}],[r(`singleString__id__`)]:[{include:r(`@string_single_token__id__`)}],[r(`doubleString__id__`)]:[{include:r(`@string_double_token__id__`)}],[r(`rawSingleString__id__`)]:[{include:r(`@string_single_raw_token__id__`)}],[r(`rawDoubleString__id__`)]:[{include:r(`@string_double_raw_token__id__`)}],[r(`expressionComment__id__`)]:[{include:r(`@expression_comment_token__id__`)}],[r(`noParse__id__`)]:[{include:r(`@no_parse_token__id__`)}],[r(`terseComment__id__`)]:[{include:r(`@terse_comment_token__id__`)}],[r(`directive_token__id__`)]:[[i(/(?:@startTag__id__)(@directiveStartCloseTag1)(?:@closeTag1__id__)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{cases:{"@noParseTags":{token:`tag`,next:r(`@noParse__id__.$3`)},"@default":{token:`tag`}}},{token:`delimiter.directive`},{token:`@brackets.directive`}]],[i(/(?:@startTag__id__)(@directiveStartCloseTag2)(?:@closeTag2__id__)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:`delimiter.directive`},{token:`@brackets.directive`}]],[i(/(?:@startTag__id__)(@directiveStartBlank)(@blank)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:``,next:r(`@fmExpression__id__.directive`)}]],[i(/(?:@endTag__id__)(@directiveEndCloseTag1)(?:@closeTag1__id__)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:`delimiter.directive`},{token:`@brackets.directive`}]],[i(/(@open__id__)(@)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`,next:r(`@unifiedCall__id__`)}]],[i(/(@open__id__)(\/@)((?:(?:@id)(?:\.(?:@id))*)?)(?:@closeTag1__id__)/),[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:`delimiter.directive`},{token:`@brackets.directive`}]],[i(/(@open__id__)#--/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:{token:`comment`,next:r(`@terseComment__id__`)}],[i(/(?:@startOrEndTag__id__)([a-zA-Z_]+)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag.invalid`,next:r(`@fmExpression__id__.directive`)}]]],[r(`interpolation_and_text_token__id__`)]:[[i(/(@iOpen1__id__)(@iOpen2__id__)/),[{token:t.id===`bracket`?`@brackets.interpolation`:`delimiter.interpolation`},{token:t.id===`bracket`?`delimiter.interpolation`:`@brackets.interpolation`,next:r(`@fmExpression__id__.interpolation`)}]],[/[\$#<\[\{]|(?:@blank)+|[^\$<#\[\{\n\r\t ]+/,{token:`source`}]],[r(`string_single_token__id__`)]:[[/[^'\\]/,{token:`string`}],[/@escapedChar/,{token:`string.escape`}],[/'/,{token:`string`,next:`@pop`}]],[r(`string_double_token__id__`)]:[[/[^"\\]/,{token:`string`}],[/@escapedChar/,{token:`string.escape`}],[/"/,{token:`string`,next:`@pop`}]],[r(`string_single_raw_token__id__`)]:[[/[^']+/,{token:`string.raw`}],[/'/,{token:`string.raw`,next:`@pop`}]],[r(`string_double_raw_token__id__`)]:[[/[^"]+/,{token:`string.raw`}],[/"/,{token:`string.raw`,next:`@pop`}]],[r(`expression_token__id__`)]:[[/(r?)(['"])/,{cases:{"r'":[{token:`keyword`},{token:`string.raw`,next:r(`@rawSingleString__id__`)}],'r"':[{token:`keyword`},{token:`string.raw`,next:r(`@rawDoubleString__id__`)}],"'":[{token:`source`},{token:`string`,next:r(`@singleString__id__`)}],'"':[{token:`source`},{token:`string`,next:r(`@doubleString__id__`)}]}}],[/(?:@integer)(?:\.(?:@integer))?/,{cases:{"(?:@integer)":{token:`number`},"@default":{token:`number.float`}}}],[/(\.)(@blank*)(@specialHashKeys)/,[{token:`delimiter`},{token:``},{token:`identifier`}]],[/(?:@namedSymbols)/,{cases:{"@arrows":{token:`meta.arrow`},"@delimiters":{token:`delimiter`},"@default":{token:`operators`}}}],[/@id/,{cases:{"@keywords":{token:`keyword.$0`},"@stringOperators":{token:`operators`},"@default":{token:`identifier`}}}],[/[\[\]\(\)\{\}]/,{cases:{"\\[":{cases:{"$S2==gt":{token:`@brackets`,next:r(`@inParen__id__.gt`)},"@default":{token:`@brackets`,next:r(`@inParen__id__.plain`)}}},"\\]":{cases:{...t.id===`bracket`?{"$S2==interpolation":{token:`@brackets.interpolation`,next:`@popall`}}:{},...e.id===`bracket`?{"$S2==directive":{token:`@brackets.directive`,next:`@popall`}}:{},[r(`$S1==inParen__id__`)]:{token:`@brackets`,next:`@pop`},"@default":{token:`@brackets`}}},"\\(":{token:`@brackets`,next:r(`@inParen__id__.gt`)},"\\)":{cases:{[r(`$S1==inParen__id__`)]:{token:`@brackets`,next:`@pop`},"@default":{token:`@brackets`}}},"\\{":{cases:{"$S2==gt":{token:`@brackets`,next:r(`@inParen__id__.gt`)},"@default":{token:`@brackets`,next:r(`@inParen__id__.plain`)}}},"\\}":{cases:{...t.id===`bracket`?{}:{"$S2==interpolation":{token:`@brackets.interpolation`,next:`@popall`}},[r(`$S1==inParen__id__`)]:{token:`@brackets`,next:`@pop`},"@default":{token:`@brackets`}}}}}],[/\$\{/,{token:`delimiter.invalid`}]],[r(`blank_and_expression_comment_token__id__`)]:[[/(?:@blank)+/,{token:``}],[/[<\[][#!]--/,{token:`comment`,next:r(`@expressionComment__id__`)}]],[r(`directive_end_token__id__`)]:[[/>/,e.id===`bracket`?{token:`operators`}:{token:`@brackets.directive`,next:`@popall`}],[i(/(\/)(@close__id__)/),[{token:`delimiter.directive`},{token:`@brackets.directive`,next:`@popall`}]]],[r(`greater_operators_token__id__`)]:[[/>/,{token:`operators`}],[/>=/,{token:`operators`}]],[r(`no_space_expression_end_token__id__`)]:[[/(?:@blank)+/,{token:``,switchTo:r(`@fmExpression__id__.directive`)}]],[r(`unified_call_token__id__`)]:[[/(@id)((?:@blank)+)/,[{token:`tag`},{token:``,next:r(`@fmExpression__id__.directive`)}]],[i(/(@id)(\/?)(@close__id__)/),[{token:`tag`},{token:`delimiter.directive`},{token:`@brackets.directive`,next:`@popall`}]],[/./,{token:`@rematch`,next:r(`@noSpaceExpression__id__`)}]],[r(`no_parse_token__id__`)]:[[i(/(@open__id__)(\/#?)([a-zA-Z]+)((?:@blank)*)(@close__id__)/),{cases:{"$S2==$3":[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:``},{token:`@brackets.directive`,next:`@popall`}],"$S2==comment":[{token:`comment`},{token:`comment`},{token:`comment`},{token:`comment`},{token:`comment`}],"@default":[{token:`source`},{token:`source`},{token:`source`},{token:`source`},{token:`source`}]}}],[/[^<\[\-]+|[<\[\-]/,{cases:{"$S2==comment":{token:`comment`},"@default":{token:`source`}}}]],[r(`expression_comment_token__id__`)]:[[/--[>\]]/,{token:`comment`,next:`@pop`}],[/[^\->\]]+|[>\]\-]/,{token:`comment`}]],[r(`terse_comment_token__id__`)]:[[i(/--(?:@close__id__)/),{token:`comment`,next:`@popall`}],[/[^<\[\-]+|[<\[\-]/,{token:`comment`}]]}}}function v(e){let t=_(u,e),n=_(d,e),r=_(f,e);return{...t,...n,...r,unicode:!0,includeLF:!1,start:`default_auto_${e.id}`,ignoreCase:!1,defaultToken:`invalid`,tokenPostfix:`.freemarker2`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],tokenizer:{...t.tokenizer,...n.tokenizer,...r.tokenizer}}}var y={conf:h(u),language:_(u,p)},b={conf:h(d),language:_(d,p)},x={conf:h(u),language:_(u,m)},S={conf:h(d),language:_(d,m)},C={conf:g(),language:v(p)},w={conf:g(),language:v(m)};export{x as TagAngleInterpolationBracket,y as TagAngleInterpolationDollar,w as TagAutoInterpolationBracket,C as TagAutoInterpolationDollar,S as TagBracketInterpolationBracket,b as TagBracketInterpolationDollar};
@@ -1 +1 @@
1
- import{n as e}from"./index-BQgl5DUJ.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`menuitem`,`meta`,`param`,`source`,`track`,`wbr`],l={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:[`{{!--`,`--}}`]},brackets:[[`<!--`,`-->`],[`<`,`>`],[`{{`,`}}`],[`{`,`}`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`<`,close:`>`},{open:`"`,close:`"`},{open:`'`,close:`'`}],onEnterRules:[{beforeText:RegExp(`<(?!(?:${c.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:s.languages.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(?!(?:${c.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:s.languages.IndentAction.Indent}}]},u={defaultToken:``,tokenPostfix:``,tokenizer:{root:[[/\{\{!--/,`comment.block.start.handlebars`,`@commentBlock`],[/\{\{!/,`comment.start.handlebars`,`@comment`],[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.root`}],[/<!DOCTYPE/,`metatag.html`,`@doctype`],[/<!--/,`comment.html`,`@commentHtml`],[/(<)(\w+)(\/>)/,[`delimiter.html`,`tag.html`,`delimiter.html`]],[/(<)(script)/,[`delimiter.html`,{token:`tag.html`,next:`@script`}]],[/(<)(style)/,[`delimiter.html`,{token:`tag.html`,next:`@style`}]],[/(<)([:\w]+)/,[`delimiter.html`,{token:`tag.html`,next:`@otherTag`}]],[/(<\/)(\w+)/,[`delimiter.html`,{token:`tag.html`,next:`@otherTag`}]],[/</,`delimiter.html`],[/\{/,`delimiter.html`],[/[^<{]+/]],doctype:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.comment`}],[/[^>]+/,`metatag.content.html`],[/>/,`metatag.html`,`@pop`]],comment:[[/\}\}/,`comment.end.handlebars`,`@pop`],[/./,`comment.content.handlebars`]],commentBlock:[[/--\}\}/,`comment.block.end.handlebars`,`@pop`],[/./,`comment.content.handlebars`]],commentHtml:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.comment`}],[/-->/,`comment.html`,`@pop`],[/[^-]+/,`comment.content.html`],[/./,`comment.content.html`]],otherTag:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.otherTag`}],[/\/?>/,`delimiter.html`,`@pop`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/]],script:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.script`}],[/type/,`attribute.name`,`@scriptAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,[`delimiter.html`,`tag.html`,{token:`delimiter.html`,next:`@pop`}]]],scriptAfterType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptAfterType`}],[/=/,`delimiter`,`@scriptAfterTypeEquals`],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptAfterTypeEquals:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptAfterTypeEquals`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptWithCustomType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptWithCustomType.$S2`}],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptEmbedded:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInEmbeddedState.scriptEmbedded.$S2`,nextEmbedded:`@pop`}],[/<\/script/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}]],style:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.style`}],[/type/,`attribute.name`,`@styleAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,[`delimiter.html`,`tag.html`,{token:`delimiter.html`,next:`@pop`}]]],styleAfterType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleAfterType`}],[/=/,`delimiter`,`@styleAfterTypeEquals`],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleAfterTypeEquals:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleAfterTypeEquals`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleWithCustomType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleWithCustomType.$S2`}],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleEmbedded:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInEmbeddedState.styleEmbedded.$S2`,nextEmbedded:`@pop`}],[/<\/style/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}]],handlebarsInSimpleState:[[/\{\{\{?/,`delimiter.handlebars`],[/\}\}\}?/,{token:`delimiter.handlebars`,switchTo:`@$S2.$S3`}],{include:`handlebarsRoot`}],handlebarsInEmbeddedState:[[/\{\{\{?/,`delimiter.handlebars`],[/\}\}\}?/,{token:`delimiter.handlebars`,switchTo:`@$S2.$S3`,nextEmbedded:`$S3`}],{include:`handlebarsRoot`}],handlebarsRoot:[[/"[^"]*"/,`string.handlebars`],[/[#/][^\s}]+/,`keyword.helper.handlebars`],[/else\b/,`keyword.helper.handlebars`],[/[\s]+/],[/[^}]/,`variable.parameter.handlebars`]]}};export{l as conf,u as language};
1
+ import{n as e}from"./index-BjaJa7N5.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`menuitem`,`meta`,`param`,`source`,`track`,`wbr`],l={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:[`{{!--`,`--}}`]},brackets:[[`<!--`,`-->`],[`<`,`>`],[`{{`,`}}`],[`{`,`}`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`<`,close:`>`},{open:`"`,close:`"`},{open:`'`,close:`'`}],onEnterRules:[{beforeText:RegExp(`<(?!(?:${c.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:s.languages.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(?!(?:${c.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:s.languages.IndentAction.Indent}}]},u={defaultToken:``,tokenPostfix:``,tokenizer:{root:[[/\{\{!--/,`comment.block.start.handlebars`,`@commentBlock`],[/\{\{!/,`comment.start.handlebars`,`@comment`],[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.root`}],[/<!DOCTYPE/,`metatag.html`,`@doctype`],[/<!--/,`comment.html`,`@commentHtml`],[/(<)(\w+)(\/>)/,[`delimiter.html`,`tag.html`,`delimiter.html`]],[/(<)(script)/,[`delimiter.html`,{token:`tag.html`,next:`@script`}]],[/(<)(style)/,[`delimiter.html`,{token:`tag.html`,next:`@style`}]],[/(<)([:\w]+)/,[`delimiter.html`,{token:`tag.html`,next:`@otherTag`}]],[/(<\/)(\w+)/,[`delimiter.html`,{token:`tag.html`,next:`@otherTag`}]],[/</,`delimiter.html`],[/\{/,`delimiter.html`],[/[^<{]+/]],doctype:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.comment`}],[/[^>]+/,`metatag.content.html`],[/>/,`metatag.html`,`@pop`]],comment:[[/\}\}/,`comment.end.handlebars`,`@pop`],[/./,`comment.content.handlebars`]],commentBlock:[[/--\}\}/,`comment.block.end.handlebars`,`@pop`],[/./,`comment.content.handlebars`]],commentHtml:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.comment`}],[/-->/,`comment.html`,`@pop`],[/[^-]+/,`comment.content.html`],[/./,`comment.content.html`]],otherTag:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.otherTag`}],[/\/?>/,`delimiter.html`,`@pop`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/]],script:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.script`}],[/type/,`attribute.name`,`@scriptAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,[`delimiter.html`,`tag.html`,{token:`delimiter.html`,next:`@pop`}]]],scriptAfterType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptAfterType`}],[/=/,`delimiter`,`@scriptAfterTypeEquals`],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptAfterTypeEquals:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptAfterTypeEquals`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptWithCustomType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptWithCustomType.$S2`}],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptEmbedded:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInEmbeddedState.scriptEmbedded.$S2`,nextEmbedded:`@pop`}],[/<\/script/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}]],style:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.style`}],[/type/,`attribute.name`,`@styleAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,[`delimiter.html`,`tag.html`,{token:`delimiter.html`,next:`@pop`}]]],styleAfterType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleAfterType`}],[/=/,`delimiter`,`@styleAfterTypeEquals`],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleAfterTypeEquals:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleAfterTypeEquals`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleWithCustomType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleWithCustomType.$S2`}],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleEmbedded:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInEmbeddedState.styleEmbedded.$S2`,nextEmbedded:`@pop`}],[/<\/style/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}]],handlebarsInSimpleState:[[/\{\{\{?/,`delimiter.handlebars`],[/\}\}\}?/,{token:`delimiter.handlebars`,switchTo:`@$S2.$S3`}],{include:`handlebarsRoot`}],handlebarsInEmbeddedState:[[/\{\{\{?/,`delimiter.handlebars`],[/\}\}\}?/,{token:`delimiter.handlebars`,switchTo:`@$S2.$S3`,nextEmbedded:`$S3`}],{include:`handlebarsRoot`}],handlebarsRoot:[[/"[^"]*"/,`string.handlebars`],[/[#/][^\s}]+/,`keyword.helper.handlebars`],[/else\b/,`keyword.helper.handlebars`],[/[\s]+/],[/[^}]/,`variable.parameter.handlebars`]]}};export{l as conf,u as language};
@@ -1 +1 @@
1
- import{n as e}from"./index-BQgl5DUJ.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`menuitem`,`meta`,`param`,`source`,`track`,`wbr`],l={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:[`<!--`,`-->`]},brackets:[[`<!--`,`-->`],[`<`,`>`],[`{`,`}`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`}],onEnterRules:[{beforeText:RegExp(`<(?!(?:${c.join(`|`)}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:s.languages.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(?!(?:${c.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:s.languages.IndentAction.Indent}}],folding:{markers:{start:RegExp(`^\\s*<!--\\s*#region\\b.*-->`),end:RegExp(`^\\s*<!--\\s*#endregion\\b.*-->`)}}},u={defaultToken:``,tokenPostfix:`.html`,ignoreCase:!0,tokenizer:{root:[[/<!DOCTYPE/,`metatag`,`@doctype`],[/<!--/,`comment`,`@comment`],[/(<)((?:[\w\-]+:)?[\w\-]+)(\s*)(\/>)/,[`delimiter`,`tag`,``,`delimiter`]],[/(<)(script)/,[`delimiter`,{token:`tag`,next:`@script`}]],[/(<)(style)/,[`delimiter`,{token:`tag`,next:`@style`}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,[`delimiter`,{token:`tag`,next:`@otherTag`}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,[`delimiter`,{token:`tag`,next:`@otherTag`}]],[/</,`delimiter`],[/[^<]+/]],doctype:[[/[^>]+/,`metatag.content`],[/>/,`metatag`,`@pop`]],comment:[[/-->/,`comment`,`@pop`],[/[^-]+/,`comment.content`],[/./,`comment.content`]],otherTag:[[/\/?>/,`delimiter`,`@pop`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/]],script:[[/type/,`attribute.name`,`@scriptAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,[`delimiter`,`tag`,{token:`delimiter`,next:`@pop`}]]],scriptAfterType:[[/=/,`delimiter`,`@scriptAfterTypeEquals`],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptAfterTypeEquals:[[/"module"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.text/javascript`}],[/'module'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.text/javascript`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptWithCustomType:[[/>/,{token:`delimiter`,next:`@scriptEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptEmbedded:[[/<\/script/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}],[/[^<]+/,``]],style:[[/type/,`attribute.name`,`@styleAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,[`delimiter`,`tag`,{token:`delimiter`,next:`@pop`}]]],styleAfterType:[[/=/,`delimiter`,`@styleAfterTypeEquals`],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleWithCustomType:[[/>/,{token:`delimiter`,next:`@styleEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleEmbedded:[[/<\/style/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}],[/[^<]+/,``]]}};export{l as conf,u as language};
1
+ import{n as e}from"./index-BjaJa7N5.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`menuitem`,`meta`,`param`,`source`,`track`,`wbr`],l={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:[`<!--`,`-->`]},brackets:[[`<!--`,`-->`],[`<`,`>`],[`{`,`}`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`}],onEnterRules:[{beforeText:RegExp(`<(?!(?:${c.join(`|`)}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:s.languages.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(?!(?:${c.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:s.languages.IndentAction.Indent}}],folding:{markers:{start:RegExp(`^\\s*<!--\\s*#region\\b.*-->`),end:RegExp(`^\\s*<!--\\s*#endregion\\b.*-->`)}}},u={defaultToken:``,tokenPostfix:`.html`,ignoreCase:!0,tokenizer:{root:[[/<!DOCTYPE/,`metatag`,`@doctype`],[/<!--/,`comment`,`@comment`],[/(<)((?:[\w\-]+:)?[\w\-]+)(\s*)(\/>)/,[`delimiter`,`tag`,``,`delimiter`]],[/(<)(script)/,[`delimiter`,{token:`tag`,next:`@script`}]],[/(<)(style)/,[`delimiter`,{token:`tag`,next:`@style`}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,[`delimiter`,{token:`tag`,next:`@otherTag`}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,[`delimiter`,{token:`tag`,next:`@otherTag`}]],[/</,`delimiter`],[/[^<]+/]],doctype:[[/[^>]+/,`metatag.content`],[/>/,`metatag`,`@pop`]],comment:[[/-->/,`comment`,`@pop`],[/[^-]+/,`comment.content`],[/./,`comment.content`]],otherTag:[[/\/?>/,`delimiter`,`@pop`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/]],script:[[/type/,`attribute.name`,`@scriptAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,[`delimiter`,`tag`,{token:`delimiter`,next:`@pop`}]]],scriptAfterType:[[/=/,`delimiter`,`@scriptAfterTypeEquals`],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptAfterTypeEquals:[[/"module"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.text/javascript`}],[/'module'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.text/javascript`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptWithCustomType:[[/>/,{token:`delimiter`,next:`@scriptEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptEmbedded:[[/<\/script/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}],[/[^<]+/,``]],style:[[/type/,`attribute.name`,`@styleAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,[`delimiter`,`tag`,{token:`delimiter`,next:`@pop`}]]],styleAfterType:[[/=/,`delimiter`,`@styleAfterTypeEquals`],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleWithCustomType:[[/>/,{token:`delimiter`,next:`@styleEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleEmbedded:[[/<\/style/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}],[/[^<]+/,``]]}};export{l as conf,u as language};