@teacss/autocomplete 0.4.6 → 0.5.0
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 +10 -23
- package/dist/index.d.ts +19 -20
- package/dist/index.js +2 -2
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,18 +1,10 @@
|
|
|
1
1
|
# @teacss/autocomplete
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Completion suggestions for TeaCSS editors and language tools.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
TeaCSS generator into bounded utility suggestions for partial tokens and cursor
|
|
9
|
-
positions. It is intended for language-service and editor-tooling authors.
|
|
10
|
-
|
|
11
|
-
It does not discover CSS-entry configuration, define a utility vocabulary,
|
|
12
|
-
generate CSS, or implement an editor protocol. Callers supply the configured
|
|
13
|
-
generator and decide how suggestions are transported and presented.
|
|
14
|
-
|
|
15
|
-
## Usage
|
|
5
|
+
`createAutocomplete` reads completion metadata from a configured generator. It
|
|
6
|
+
does not load configuration, define utilities, generate CSS, or implement an
|
|
7
|
+
editor protocol.
|
|
16
8
|
|
|
17
9
|
```ts
|
|
18
10
|
import { createAutocomplete } from "@teacss/autocomplete";
|
|
@@ -23,16 +15,11 @@ await autocomplete.suggest("bg-color:r");
|
|
|
23
15
|
await autocomplete.suggestInFile(code, offset);
|
|
24
16
|
```
|
|
25
17
|
|
|
26
|
-
File-aware suggestions
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
Used by `@teacss/language-service`.
|
|
18
|
+
File-aware suggestions support quoted class attributes and valid unquoted HTML
|
|
19
|
+
values such as `class=p:4`.
|
|
30
20
|
|
|
31
|
-
|
|
21
|
+
Results are bounded to 1,000 suggestions and 600,000 characters. Candidate
|
|
22
|
+
scanning, template concurrency, and caching also have independent limits.
|
|
23
|
+
Completion output follows the generator's resolved configuration.
|
|
32
24
|
|
|
33
|
-
Pre-1.0.
|
|
34
|
-
completion request is intentionally bounded to at most 1,000 suggestions and
|
|
35
|
-
600,000 suggestion characters, so very large candidate spaces return a
|
|
36
|
-
query-directed result set instead of an exhaustive list. Candidate scanning,
|
|
37
|
-
async template concurrency, and the shared completion cache are bounded
|
|
38
|
-
independently as well.
|
|
25
|
+
Pre-1.0. Used by `@teacss/language-service`.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
import { AutoCompleteFunction, SuggestResult, TeacssGenerator } from "@teacss/core";
|
|
2
2
|
import { LRUCache } from "lru-cache";
|
|
3
3
|
//#region src/parse.d.ts
|
|
4
|
-
declare class AutocompleteParseError extends Error {
|
|
4
|
+
export declare class AutocompleteParseError extends Error {
|
|
5
5
|
readonly template?: string | undefined;
|
|
6
6
|
constructor(message: string, template?: string | undefined);
|
|
7
7
|
toString(): string;
|
|
8
8
|
}
|
|
9
|
-
declare const shorthands: Record<string, string>;
|
|
10
|
-
declare const ignoredThemeKeys: string[];
|
|
11
|
-
declare function parseAutocomplete(template: string, theme?: any, extraShorthands?: Record<string, string>): ParsedAutocompleteTemplate;
|
|
9
|
+
export declare const shorthands: Record<string, string>;
|
|
10
|
+
export declare const ignoredThemeKeys: string[];
|
|
11
|
+
export declare function parseAutocomplete(template: string, theme?: any, extraShorthands?: Record<string, string>): ParsedAutocompleteTemplate;
|
|
12
12
|
//#endregion
|
|
13
13
|
//#region src/types.d.ts
|
|
14
|
-
type AutoCompleteMatchType = "prefix" | "fuzzy";
|
|
15
|
-
interface AutocompleteOptions {
|
|
14
|
+
export type AutoCompleteMatchType = "prefix" | "fuzzy";
|
|
15
|
+
export interface AutocompleteOptions {
|
|
16
16
|
matchType?: AutoCompleteMatchType;
|
|
17
17
|
throwErrors?: boolean;
|
|
18
18
|
}
|
|
19
|
-
type AutocompleteTemplatePart = AutocompleteTemplateStatic | AutocompleteTemplateGroup | AutocompleteTemplateTheme;
|
|
20
|
-
interface AutocompleteTemplateStatic {
|
|
19
|
+
export type AutocompleteTemplatePart = AutocompleteTemplateStatic | AutocompleteTemplateGroup | AutocompleteTemplateTheme;
|
|
20
|
+
export interface AutocompleteTemplateStatic {
|
|
21
21
|
type: "static";
|
|
22
22
|
value: string;
|
|
23
23
|
}
|
|
24
|
-
interface AutocompleteTemplateGroup {
|
|
24
|
+
export interface AutocompleteTemplateGroup {
|
|
25
25
|
type: "group";
|
|
26
26
|
values: string[];
|
|
27
27
|
}
|
|
28
|
-
interface AutocompleteTemplateTheme {
|
|
28
|
+
export interface AutocompleteTemplateTheme {
|
|
29
29
|
type: "theme";
|
|
30
30
|
objects: Record<string, unknown>[];
|
|
31
31
|
}
|
|
32
|
-
interface ParsedAutocompleteTemplate {
|
|
32
|
+
export interface ParsedAutocompleteTemplate {
|
|
33
33
|
parts: AutocompleteTemplatePart[];
|
|
34
34
|
suggest: (input: string, matchType?: AutoCompleteMatchType) => string[] | undefined;
|
|
35
35
|
errors: AutocompleteParseError[];
|
|
36
36
|
}
|
|
37
|
-
interface TeacssAutocomplete {
|
|
37
|
+
export interface TeacssAutocomplete {
|
|
38
38
|
suggest: (input: string, allowsEmptyInput?: boolean) => Promise<string[]>;
|
|
39
39
|
suggestInFile: (content: string, cursor: number) => Promise<SuggestResult | undefined>;
|
|
40
40
|
templates: (string | AutoCompleteFunction)[];
|
|
@@ -45,21 +45,20 @@ interface TeacssAutocomplete {
|
|
|
45
45
|
}
|
|
46
46
|
//#endregion
|
|
47
47
|
//#region src/create.d.ts
|
|
48
|
-
declare function createAutocomplete(generator: TeacssGenerator, options?: AutocompleteOptions): TeacssAutocomplete;
|
|
48
|
+
export declare function createAutocomplete(generator: TeacssGenerator, options?: AutocompleteOptions): TeacssAutocomplete;
|
|
49
49
|
//#endregion
|
|
50
50
|
//#region src/utils.d.ts
|
|
51
|
-
declare function searchUsageBoundary(line: string, index: number, attributify?: boolean): {
|
|
51
|
+
export declare function searchUsageBoundary(line: string, index: number, attributify?: boolean): {
|
|
52
52
|
content: string;
|
|
53
53
|
start: number;
|
|
54
54
|
end: number;
|
|
55
55
|
} | undefined;
|
|
56
|
-
interface AttrAssignment {
|
|
56
|
+
export interface AttrAssignment {
|
|
57
57
|
key: string;
|
|
58
58
|
valueStart: number;
|
|
59
59
|
}
|
|
60
|
-
declare function searchAttrKey(content: string, cursor: number): string | undefined;
|
|
60
|
+
export declare function searchAttrKey(content: string, cursor: number): string | undefined;
|
|
61
61
|
/** Attribute key and value start at an active editor position. */
|
|
62
|
-
declare function searchAttrContext(content: string, cursor: number): AttrAssignment | undefined;
|
|
63
|
-
declare function cartesian<T>(arr: T[][]): T[][];
|
|
64
|
-
//#endregion
|
|
65
|
-
export { AttrAssignment, AutoCompleteMatchType, AutocompleteOptions, AutocompleteParseError, AutocompleteTemplateGroup, AutocompleteTemplatePart, AutocompleteTemplateStatic, AutocompleteTemplateTheme, ParsedAutocompleteTemplate, TeacssAutocomplete, cartesian, createAutocomplete, ignoredThemeKeys, parseAutocomplete, searchAttrContext, searchAttrKey, searchUsageBoundary, shorthands };
|
|
62
|
+
export declare function searchAttrContext(content: string, cursor: number): AttrAssignment | undefined;
|
|
63
|
+
export declare function cartesian<T>(arr: T[][]): T[][];
|
|
64
|
+
//#endregion
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{toArray as e,uniq as t}from"@teacss/core";import{Fzf as n,byLengthAsc as r,byStartAsc as i}from"fzf";import{LRUCache as a}from"lru-cache";var o=`@teacss/autocomplete`;const s=5e4,c=2e6,l=5e4,u=4096,d=1e3,f=5e7,p=1e5,m=new Map(Array.from(`ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåçèéêëìíîïñòóôõöøùúûüýÿĀāĂ㥹ĆćĈĉĊċČčĎďđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥħĨĩĪīĬĭĮįİıĴĵĶķĹĺĻļĽľŀłŃńŅņŇňŌōŎŏŐőŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƃƆƈƉƊƌƎƐƒƓƗƙƚƜƝƞƟƠơƥƫƭƮƯưƲƴƶǍǎǏǐǑǒǓǔǗǘǝǥǦǧǨǩǪǫǰǴǵǸǹȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȞȟȠȡȥȦȧȨȩȮȯȲȳȴȵȶȷȺȻȼȽȾȿɀɃɄɅɆɇɈɉɊɋɌɍɎɏɐɑɓɔɕɖɗɘɛɜɝɞɟɠɡɢɥɦɨɪɫɬɭɯɰɱɲɳɴɵɹɺɻɼɽɾɿʀʁʂʇʈʉʋʌʍʎʏʐʑʗʙʚʛʜʝʞʟʠʮͣͤͥͦͧͨͩͪͫͬͭͮͯᴀᴃᴄᴅᴇᴈᴉᴊᴋᴌᴍᴎᴏᴐᴑᴒᴓᴖᴗᴘᴙᴚᴛᴜᴝᴞᴟᴠᴡᴢᵢᵣᵤᵥḀḁḂḃḄḅḆḇḊḋḌḍḎḏḐḑḒḓḘḙḚḛḞḟḠḡḢḣḤḥḦḧḨḩḪḫḬḭḮḯḰḱḲḳḴḵḶḷḺḻḼḽḾḿṀṁṂṃṄṅṆṇṈṉṊṋṔṕṖṗṘṙṚṛṞṟṠṡṢṣṪṫṬṭṮṯṰṱṲṳṴṵṶṷṼṽṾṿẀẁẂẃẄẅẆẇẈẉẊẋẌẍẎẏẐẑẒẓẔẕẖẗẘẙẚẛẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặẸẹẺẻẼẽẾếỀềỂểỄễỆệỈỉỊịỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợỤụỦủỨứỪừỬửỮữỰựỲỳỴỵỶỷỸỹⁱₕₖₗₘₙₚₛₜↄ`,(e,t)=>[e,`AAAAAACEEEEIIIINOOOOOOUUUUYsaaaaaaceeeeiiiinoooooouuuuyyAaAaAaCcCcCcCcDddEeEeEeEeEeGgGgGgGgHhhIiIiIiIiIiJjKkLlLlLlllNnNnNnOoOoOoRrRrRrSsSsSsSsTtTttUuUuUuUuUuUuWwYyYZzZzZzsbBbOcDDdEEfGIklMNnOOopttTUuVyzAaIiOoUuUuegGgKkOojGgNnAaAaEeEeIiIiOoOoRrRrUuUuSsTtHhNdzAaEeOoYylntjACcLTszBUVEeJjQqRrYyaabocddeeeeejggGhhiIlllmmmnnNorrrrrrrRRsttuvvwyYzzcBeGHjkLqhaeioucdhmrtvxABCDEeiJKLMNOOoooooPRRTUuumVWZiruvAaBbBbBbDdDdDdDdDdEeEeFfGgHhHhHhHhHhIiIiKkKkKkLlLlLlMmMmMmNnNnNnNnPpPpRrRrRrSsSsTtTtTtTtUuUuUuVvVvWwWwWwWwWwXxXxYyZzZzZzhtwyasAaAaAaAaAaAaAaAaAaAaAaAaEeEeEeEeEeEeEeEeIiIiOoOoOoOoOoOoOoOoOoOoOoOoUuUuUuUuUuUuUuYyYyYyYyihklmnpstc`[t]])),h={maxAttempts:l,maxCandidateLength:u,maxCandidates:s,maxCharacters:c,maxScans:p,maxScannedCharacters:5e7},g={...h,maxCandidateLength:c,maxCandidates:d};function _(){return{suggestions:[],attempts:0,candidates:0,characters:0,scans:0,truncated:!1}}const v=new WeakMap,y=new WeakMap;function b(e,t,n){let r=v.get(e);if(!r){let n=e.suggest(t,`prefix`)??[];return{suggestions:n,attempts:n.length,candidates:n.length,characters:n.reduce((e,t)=>e+t.length,0),scans:n.length,truncated:!1}}return r(t,n)}function x(e,t,n){let r=y.get(e);return r?r(t,n):b(e,t,n)}var S=class extends Error{template;constructor(e,t){super(e),this.template=t,this.name=o,this.template=t}toString(){return`⚠️ [${this.name}]: ${this.message}. ${this.template?`Template: ${this.template}.`:``}`}};const C={directions:`(x|y|t|b|l|r|s|e)`,num:`(${[0,1,2,3,4,5,6,8,10,12,24,36].join(`|`)})`,percent:`(${[0,10,20,30,40,50,60,70,80,90,100].join(`|`)})`,percentage:`(${[`10%`,`20%`,`30%`,`40%`,`50%`,`60%`,`70%`,`80%`,`90%`,`100%`].join(`|`)})`},w=[`DEFAULT`];function T(e,t,n,r){let i=0;Array.from(e.matchAll(t)).forEach(t=>{let a=t.index;i!==a&&r(e.slice(i,a),i,a),n(t),i=a+t[0].length}),i!==e.length&&r(e.slice(i),i,e.length)}const E=s;function D(e,t){let n=0;for(let r=t;r<e.length;r++)if(e[r]===`(`)n++;else if(e[r]===`)`&&--n===0)return r}function ee(e){let t=[],n=0,r=0;for(let i=0;i<e.length;i++){let a=e[i];a===`(`?n++:a===`)`?n--:a===`|`&&n===0&&(t.push(e.slice(r,i)),r=i+1)}return t.push(e.slice(r)),t}function te(e,t){let n=e.indexOf(`(`),r=n===-1?void 0:D(e,n);if(n===-1||r==null)return[e];let i=e.slice(0,n),a=te(e.slice(r+1),t);if(a===void 0)return;let o=[];for(let s of ee(e.slice(n+1,r))){let e=te(s,t);if(e===void 0)return;for(let n of e)for(let e of a){if(--t.remaining<0)return;o.push(`${i}${n}${e}`)}}return o}function ne(e){let t={remaining:E},n=[];for(let r of ee(e)){let e=te(r,t);if(e===void 0)return;n.push(...e)}return n}function re(e,t={},r={}){let i=[],a=[],o={...C,...r};e=e.replace(/<([\w-]+)>/g,(e,t,n,r)=>Object.hasOwn(o,t)?o[t]:(a.push(new S(`Unknown template shorthand: <${t}>`,r)),e)),l(e),a.length&&(i.length=0);let s={parts:i,suggest:f,errors:a};return v.set(s,m),y.set(s,p),s;function c(e){T(e,/\$([\w.|-]+)/g,e=>{i.push({type:`theme`,objects:e[1].split(`|`).map(n=>{let r=n.split(`.`).reduce((t,n)=>!n||typeof t!=`object`||!t||!Object.hasOwn(t,n)||!t[n]?(a.push(new S(`Invalid theme key: ${n}`,e.input)),{}):t[n],t);return typeof r!=`object`||!r||Array.isArray(r)?(a.push(new S(`Invalid theme path: ${n}`,e.input)),{}):r})})},e=>{i.push({type:`static`,value:e})})}function l(t){let n=0;for(let r=0;r<t.length;r++){if(t[r]!==`(`)continue;let o=D(t,r);if(o==null)break;let s=t.slice(r+1,o);if(n!==r&&c(t.slice(n,r)),n=o+1,!s.includes(`|`)){i.push({type:`static`,value:t.slice(r,o+1)}),r=o;continue}let l=ne(s);l===void 0?(a.push(new S(`Template group expands past ${E} values: (${s})`,e)),i.push({type:`static`,value:t.slice(r,o+1)})):i.push({type:`group`,values:l}),r=o}n!==t.length&&c(t.slice(n))}function f(e,t=`prefix`){if(e.length>1&&t===`fuzzy`){let t=e!==e.toLowerCase(),r=P(e,t),a=m(e,{maxCandidates:d}).suggestions.filter(e=>M(r,P(e,t),e,0));if(r.length>u)return a;let o=Ie(i,{},e).candidates;if(a.length){let e=new Set(a);if(o.every(t=>e.has(t)))return a}if(se(e,o.reduce((e,t)=>e+t.length,0))){let t=ae(o,e),n=t.filter(t=>de(t,e));return n.length?je(n,[...a,...t]):je(a,t)}return je(a,new n(o,{fuzzy:`v1`,limit:d}).find(e).map(e=>e.item))}return p(e).suggestions}function p(e,t={}){let n={...g,...t},r=A(e);if(r.length>n.maxCandidateLength)return _();let a=O(i);if(a){let t=ie(i,0,a.index);if(!_e(t,e)&&!_e(A(t),r))return _();let o=ie(i,a.index+1,i.length);return ve(a.part,t,o,e,a.suppressPartialRoots,n)}let o=k(i);return o&&!_e(o,e)&&!_e(A(o),A(e))?_():pe(i,e,n)}function m(e,t={}){let n={...h,...t},r=p(e,n),a=k(i);if(r.suggestions.length||!a)return r;let o={...n,maxAttempts:n.maxAttempts-r.attempts,maxCandidates:n.maxCandidates-r.candidates,maxCharacters:n.maxCharacters-r.characters,maxScans:n.maxScans-r.scans},s=p(a+e,o);return{suggestions:s.suggestions,attempts:r.attempts+s.attempts,candidates:r.candidates+s.candidates,characters:r.characters+s.characters,scans:r.scans+s.scans,truncated:r.truncated||s.truncated}}}function O(e){let t,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(i.type!==`static`){if(i.type===`group`&&i.values.length>0&&i.values.every(e=>e===``)){n=!0;continue}if(i.type!==`theme`||t)return;t={index:r,part:i}}}return t&&{...t,suppressPartialRoots:n}}function ie(e,t,n){let r=``;for(let i=t;i<n;i++){let t=e[i];t.type===`static`&&(r+=t.value)}return r}function k(e){let t=e.findIndex(e=>e.type!==`static`);return ie(e,0,t<0?e.length:t)}function A(e){return e.replace(/-/g,``)}function ae(e,t){return j(e,t)}function j(e,t,n={}){let r={...h,maxCandidates:d,...n};if(!t)return oe(e,r);let i=t!==t.toLowerCase(),a=P(t,i);if(a.length>r.maxCandidateLength)return[];let o={characters:0,items:[],retained:new Set},s=new Set,c=e[Symbol.iterator](),l=0,u=0;for(;l<r.maxAttempts&&u<r.maxScannedCharacters;){let e=c.next();if(e.done)break;let t=e.value,n=l++;if(!t||t.length>r.maxCandidateLength||s.has(t)||t.length>r.maxScannedCharacters-u)continue;s.add(t),u+=t.length;let d=M(a,P(t,i),t,n);d&&ce(o,d,r.maxCandidates,r.maxCharacters)}return o.items.sort(N).map(({candidate:e})=>e)}function oe(e,t){let n=[],r=new Set,i=e[Symbol.iterator](),a=0,o=0,s=0;for(;a<t.maxAttempts&&n.length<t.maxCandidates&&o<t.maxCharacters&&s<t.maxScannedCharacters;){let e=i.next();if(e.done)break;let c=e.value;a++,!(!c||c.length>t.maxCandidateLength||r.has(c)||c.length>t.maxScannedCharacters-s)&&(r.add(c),s+=c.length,!(o+c.length>t.maxCharacters)&&(n.push(c),o+=c.length))}return n}function se(e,t){return e.length*t>f}function M(e,t,n,r){if(t===e)return{candidate:n,category:0,gaps:0,longestRun:e.length,start:0,order:r};if(t.startsWith(e))return{candidate:n,category:1,gaps:0,longestRun:e.length,start:0,order:r};let i=0,a=-1,o=-1,s=0,c=0,l=0;for(let n=0;n<t.length&&i<e.length;n++)t[n]===e[i]&&(a<0&&(a=n),o>=0&&(l+=n-o-1),s=n===o+1?s+1:1,c=Math.max(c,s),o=n,i++);if(i===e.length)return{candidate:n,category:2,gaps:l,longestRun:c,start:a,order:r}}function ce(e,t,n,r){e.retained.has(t.candidate)||(e.items.length<n&&e.characters+t.candidate.length<=r?(e.items.push(t),e.retained.add(t.candidate),e.characters+=t.candidate.length,le(e.items,e.items.length-1)):e.items.length&&N(t,e.items[0])<0&&e.characters-e.items[0].candidate.length+t.candidate.length<=r&&(e.retained.delete(e.items[0].candidate),e.characters+=t.candidate.length-e.items[0].candidate.length,e.items[0]=t,e.retained.add(t.candidate),ue(e.items,0)))}function le(e,t){for(;t>0;){let n=t-1>>>1;if(N(e[t],e[n])<=0)return;[e[n],e[t]]=[e[t],e[n]],t=n}}function ue(e,t){for(;;){let n=t*2+1;if(n>=e.length)return;let r=n+1,i=n;if(r<e.length&&N(e[r],e[n])>0&&(i=r),N(e[i],e[t])<=0)return;[e[t],e[i]]=[e[i],e[t]],t=i}}function N(e,t){return e.category-t.category||e.gaps-t.gaps||t.longestRun-e.longestRun||e.start-t.start||e.candidate.length-t.candidate.length||e.order-t.order}function de(e,t){let n=t!==t.toLowerCase();return P(e,n)===P(t,n)}function P(e,t){let n=e.normalize(),r=fe(n)?n:Array.from(n,e=>m.get(e)??e).join(``);return t?r:r.toLowerCase()}function fe(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>127)return!1;return!0}function pe(e,t,n={}){let r={...h,...n};if(r.maxAttempts<=0||r.maxCandidates<=0||r.maxCharacters<=0)return _();let i=A(t),a=me(),o=me(),s=r.maxCandidates,c=xe(r.maxScans),l=[],u=Array.from({length:e.length},()=>``),d=Array.from({length:e.length+1},()=>0),f=Array.from({length:e.length+1},()=>0),p=Array.from({length:e.length+1},()=>0),m=[],g=new Set,v=0,y=0;for(;y>=0&&!c.truncated;){if(y===e.length){let e=u.join(``),n=f[y]>=t.length,c=p[y]>=i.length;if((n||c)&&e.length<=r.maxCharacters){let t=!g.has(e);(!t||v<r.maxAttempts)&&(t&&(g.add(e),v++),n&&he(a,e,m,s,r),c&&he(o,e,m,s,r))}y--;continue}if(v>=r.maxAttempts)break;let n=l[y];n||(n={choiceIndex:0,iterator:Me(e[y],r.maxCandidateLength-d[y],c)},l[y]=n);let h=n.iterator.next();if(h.done){l.pop(),y--;continue}let _=n.choiceIndex++,b=h.value,x=d[y]+b.length;if(x>r.maxCandidateLength)continue;let S=f[y]<0?-1:z(t,f[y],b,!1),C=p[y]<0?-1:z(i,p[y],b,!0);if(S<0&&C<0)continue;for(;m.length&&!(m.at(-1).depth<y);)m.pop();_>0&&m.push({depth:y,index:_}),u[y]=b;let w=y+1;d[w]=x,f[w]=S,p[w]=C,l.length=w,y=w}let b=a.entries.length?a:o;b.entries.sort((e,t)=>R(e.path,t.path));let x=b.entries.map(e=>e.candidate);return{suggestions:x,attempts:v,candidates:x.length,characters:b.characters,scans:c.initial-c.remaining,truncated:c.truncated}}function me(){return{characters:0,entries:[],indices:new Map}}function he(e,t,n,r,i){let a=e.indices.get(t);if(a!==void 0){let t=e.entries[a];R(n,t.path)<0&&(t.path=n.slice(),I(e,a));return}if(r<=0||t.length>i.maxCharacters)return;let o={candidate:t,path:n.slice()};if(e.entries.length>=r){if(R(o.path,e.entries[0].path)>=0)return;ge(e)}for(;e.entries.length&&e.characters+t.length>i.maxCharacters;){if(R(o.path,e.entries[0].path)>=0)return;ge(e)}e.characters+t.length>i.maxCharacters||(e.indices.set(t,e.entries.length),e.entries.push(o),e.characters+=t.length,F(e,e.entries.length-1))}function ge(e){let t=e.entries[0],n=e.entries.pop();e.indices.delete(t.candidate),e.characters-=t.candidate.length,e.entries.length&&(e.entries[0]=n,e.indices.set(n.candidate,0),I(e,0))}function F(e,t){for(;t>0;){let n=t-1>>>1;if(R(e.entries[t].path,e.entries[n].path)<=0)return;L(e,n,t),t=n}}function I(e,t){for(;;){let n=t*2+1;if(n>=e.entries.length)return;let r=n+1,i=n;if(r<e.entries.length&&R(e.entries[r].path,e.entries[n].path)>0&&(i=r),R(e.entries[i].path,e.entries[t].path)<=0)return;L(e,i,t),t=i}}function L(e,t,n){[e.entries[t],e.entries[n]]=[e.entries[n],e.entries[t]],e.indices.set(e.entries[t].candidate,t),e.indices.set(e.entries[n].candidate,n)}function R(e,t){let n=e.length-1,r=t.length-1;for(;n>=0||r>=0;){let i=n>=0?e[n].depth:-1,a=r>=0?t[r].depth:-1,o=Math.max(i,a),s=i===o?e[n--].index:0,c=a===o?t[r--].index:0;if(s!==c)return s-c}return 0}function z(e,t,n,r){let i=t;for(let t=0;t<n.length;t++){let a=n[t];if(!(r&&a===`-`)){if(i<e.length&&e[i]!==a)return-1;i++}}return i}function _e(e,t){return e.length<=t.length?t.startsWith(e):e.startsWith(t)}function ve(e,t,n,r,i,a){let o={...h,...a};if(t.length+1>o.maxCandidateLength)return _();let s=xe(o.maxScans),c=Ce(e.objects,s),l=we(r,!1,o),u=we(A(r),!0,o);ye(c,t,n,o.maxCandidateLength,i,l,u,s);let d=Te(l,s);if(d.suggestions.length||!d.exhausted)return d;let f=Te(u,s);return{suggestions:f.suggestions,attempts:d.attempts+f.attempts,candidates:d.candidates+f.candidates,characters:d.characters+f.characters,scans:f.scans,truncated:f.truncated}}function ye(e,t,n,r,i,a,o,s){for(let c of e){let e=t+c.key,l=Ee(e,a.input,!1),u=Ee(e,o.input,!0);if(l===`none`&&u===`none`)continue;let d=Oe(c.objects,e,n,a.input,o.input,r),f=l===`partial`||u===`partial`?ke(d,s):void 0,p=f!==void 0;if(De(a,l,c.hasLeaf,p,e,n,i),De(o,u,c.hasLeaf,p,e,n,i),a.blocked)return;for(f??=ke(d,s);f;){if((l===`reached`||i&&l===`partial`)&&V(a,f.candidate,f.rawMatch),(u===`reached`||i&&u===`partial`)&&V(o,f.candidate,f.normalizedMatch),a.blocked)return;f=ke(d,s)}if(s.truncated||a.blocked)return}}function be(e){return!!e&&e[0]!==`_`&&!w.includes(e)}function xe(e=p){let t=Math.max(0,e);return{initial:t,remaining:t,truncated:!1}}function Se(e){return e.remaining<=0?(e.truncated=!0,!1):(e.remaining--,!0)}function*B(e){yield*Object.keys(e)}function Ce(e,t){let n=new Map;outer:for(let r of e)for(let e of B(r)){if(!Se(t))break outer;if(!be(e))continue;let i=r[e];if(i==null)continue;let a=n.get(e)??{key:e,hasLeaf:!1,objects:[]};if(typeof i!=`object`||Array.isArray(i))a.hasLeaf=!0;else{let e=i;a.objects.push(e),a.hasLeaf||=Object.hasOwn(e,`DEFAULT`)&&e.DEFAULT!==null&&e.DEFAULT!==void 0}n.set(e,a)}return[...n.values()]}function we(e,t,n){return{attempts:0,blocked:n.maxAttempts<=0||n.maxCandidates<=0||n.maxCharacters<=0,characters:0,input:e,limits:n,normalize:t,seen:new Set,suggestions:[]}}function V(e,t,n){!n||e.blocked||e.seen.has(t)||(e.seen.add(t),e.attempts++,t.length<=e.limits.maxCandidateLength&&e.characters+t.length<=e.limits.maxCharacters&&(e.suggestions.push(t),e.characters+=t.length),e.blocked||=e.attempts>=e.limits.maxAttempts||e.suggestions.length>=e.limits.maxCandidates||e.characters>=e.limits.maxCharacters)}function Te(e,t){return{suggestions:e.suggestions,attempts:e.attempts,candidates:e.suggestions.length,characters:e.characters,scans:t.initial-t.remaining,truncated:t.truncated,exhausted:!e.blocked&&!t.truncated}}function Ee(e,t,n){let r=n?A(e):e;return t.startsWith(r)?`reached`:r.startsWith(t)?`partial`:`none`}function De(e,t,n,r,i,a,o){if(t===`none`)return;if(t===`partial`&&r){(n||!o)&&V(e,i,!0);return}if(!n)return;let s=i+a;V(e,s,(e.normalize?A(s):s).startsWith(e.input))}function Oe(e,t,n,r,i,a){return{base:t,fragments:[],frames:[],maxCandidateLength:a,normalizedInput:i,normalizedMatchedLength:z(i,0,t,!0),objectIndex:0,objects:e,rawInput:r,rawMatchedLength:z(r,0,t,!1),staticSuffix:n}}function ke(e,t){for(;!t.truncated;){if(!e.frames.length){if(e.objectIndex>=e.objects.length)return;let t=e.objects[e.objectIndex++];e.frames.push({depth:0,iterator:B(t),normalizedMatchedLength:e.normalizedMatchedLength,object:t,rawMatchedLength:e.rawMatchedLength,valueLength:0})}let n=e.frames.at(-1),r=n.iterator.next();if(r.done){e.frames.pop(),e.fragments.length=n.depth;continue}if(!Se(t))return;let i=r.value;if(!be(i))continue;let a=n.object[i];if(a==null)continue;let o=n.valueLength+ +!!n.depth+i.length;if(e.base.length+o+e.staticSuffix.length+1>e.maxCandidateLength)continue;let s=`-${i}`,c=n.rawMatchedLength<0?-1:z(e.rawInput,n.rawMatchedLength,s,!1),l=n.normalizedMatchedLength<0?-1:z(e.normalizedInput,n.normalizedMatchedLength,s,!0);if(c<0&&l<0)continue;e.fragments.length=n.depth,e.fragments.push(i);let u=typeof a==`object`&&!Array.isArray(a)?a:void 0;if(u&&e.frames.push({depth:n.depth+1,iterator:B(u),normalizedMatchedLength:l,object:u,rawMatchedLength:c,valueLength:o}),!(!u||Object.hasOwn(u,`DEFAULT`)&&u.DEFAULT!==null&&u.DEFAULT!==void 0))continue;let d=Ae(e.rawInput,c,e.staticSuffix,!1),f=Ae(e.normalizedInput,l,e.staticSuffix,!0);if(!(!d&&!f))return{candidate:`${e.base}-${e.fragments.join(`-`)}${e.staticSuffix}`,normalizedMatch:f,rawMatch:d}}}function Ae(e,t,n,r){return t<0?!1:z(e,t,n,r)>=e.length}function je(e,t){let n=[],r=new Set,i=0,a=(e,t)=>{for(let a of e){if(n.length===t)return;if(!(!a||r.has(a)||a.length>u)){if(i+a.length>c)return;r.add(a),n.push(a),i+=a.length}}};return a(e,t.length?750:d),a(t,d),a(e,d),n}function*Me(e,t,n){e.type===`theme`?yield*Pe(e.objects,t,n):yield*Ne(e,t,n)}function*Ne(e,t,n){if(e.type===`static`){e.value.length<=t&&(yield e.value);return}if(e.type===`group`)for(let r of e.values){if(!Se(n))return;r.length<=t&&(yield r)}}function*Pe(e,t,n){let r=[];for(let i of e){r.length=0;let e=[{depth:0,iterator:B(i),object:i,valueLength:0}];for(;e.length&&!n.truncated;){let i=e.at(-1),a=i.iterator.next();if(a.done){e.pop(),r.length=i.depth;continue}if(!Se(n))return;let o=a.value;if(!be(o))continue;let s=i.object[o];if(s==null)continue;let c=i.valueLength+ +!!i.depth+o.length;if(c>t)continue;r.length=i.depth,r.push(o);let l=typeof s==`object`&&!Array.isArray(s)?s:void 0;l&&e.push({depth:i.depth+1,iterator:B(l),object:l,valueLength:c}),(!l||Object.hasOwn(l,`DEFAULT`)&&l.DEFAULT!==null&&l.DEFAULT!==void 0)&&(yield r.join(`-`))}}}function Fe(e,t){let n=xe(t.maxScans),r=e.map(e=>({done:!1,iterator:Me(e,t.maxCandidateLength,n),pending:void 0,seen:new Set,values:[]})),i=e.length+Math.max(0,t.maxCandidates-1),a=r.length,o=0,s=0,c=!1,l=r.length;for(;l&&!n.truncated;){let e=!1;for(let n of r){if(!n.values.length&&n.pending!==void 0&&o+n.pending.length<=t.maxCharacters){n.values.push(n.pending),o+=n.pending.length,n.pending=void 0,s++,l--,e=!0;continue}if(n.done)continue;let r=n.iterator.next();if(e=!0,r.done){n.done=!0,a--;continue}if(n.seen.has(r.value))continue;if(n.seen.add(r.value),!n.values.length){o+r.value.length<=t.maxCharacters?(n.values.push(r.value),o+=r.value.length,s++,l--):(n.pending===void 0||r.value.length<n.pending.length)&&(n.pending=r.value,c=!0);continue}let i=n.values[0];r.value.length<i.length&&(n.values[0]=r.value,o+=r.value.length-i.length,c=!0)}if(!e)break}for(;a&&s<i&&o<t.maxCharacters&&!n.truncated;){let e=!1;for(let n of r){if(n.done)continue;let r=n.iterator.next();if(r.done){n.done=!0,a--;continue}if(e=!0,!n.seen.has(r.value)){if(n.seen.add(r.value),o+r.value.length>t.maxCharacters){c=!0;continue}if(n.values.push(r.value),o+=r.value.length,s++,s===i)break}}if(!e)break}return c||=n.truncated||a>0||l>0,{scans:n.initial-n.remaining,truncated:c,values:r.map(e=>e.values)}}function Ie(e,t={},n=``){let r={...h,...t},i=Fe(e,r),a=i.values,o=i.scans,s,c=()=>{if(s===void 0){let t=Le(a,n,r);s=t?{combination:t,scans:0}:Re(e,n,r,Math.max(0,r.maxScans-o)),o+=s.scans}return s};if(a.some(e=>!e.length)){let e=i.truncated?c().combination:void 0;if(!e)return{candidates:[],truncated:i.truncated,attempts:0,scans:o};let t=H(r),n={remaining:r.maxAttempts};return U(t,n,0)&&W(t,e),{candidates:[...t.candidates],truncated:!0,attempts:r.maxAttempts-n.remaining,scans:o}}let u=0;for(let e of a){let t=e[0].length;for(let n=1;n<e.length;n++)t=Math.min(t,e[n].length);if(u+=t,u>Math.min(r.maxCandidateLength,r.maxCharacters)){let e=i.truncated?c().combination:void 0;if(!e)return{candidates:[],truncated:!0,attempts:0,scans:o};let t=H(r),n={remaining:r.maxAttempts};return U(t,n,0)&&W(t,e),{candidates:[...t.candidates],truncated:!0,attempts:r.maxAttempts-n.remaining,scans:o}}}let d=1,p=0,m=i.truncated;for(let e of a){if(m)continue;let t=0;for(let n of e)if(t+=n.length,t>r.maxCharacters)break;let n=p*e.length,i=d*t;d>r.maxCandidates/e.length||d>r.maxAttempts/e.length||n>r.maxCharacters||i>r.maxCharacters-n?m=!0:(d*=e.length,p=n+i)}let g={remaining:r.maxAttempts};if(!m){let e=H(r);return We(e,a,d,g),{candidates:[...e.candidates],truncated:!1,attempts:r.maxAttempts-g.remaining,scans:o}}let _=H(r),v=a.map(e=>e[0]),y=a.flatMap((e,t)=>e.length>1?[t]:[]),b=c().combination;b&&U(_,g,0)&&W(_,b),U(_,g,0)&&W(_,v);let x=Math.min(l,Math.max(0,g.remaining));return e.length&&x>f/e.length?{candidates:[..._.candidates],truncated:!0,attempts:r.maxAttempts-g.remaining,scans:o}:(Be(_,a,v,y,g),He(_,a,v,y,g),Ve(_,a,v,y,g),Ue(_,a,v,y,g),We(_,a,r.maxAttempts,g,!0),{candidates:[..._.candidates],truncated:!0,attempts:r.maxAttempts-g.remaining,scans:o})}function Le(e,t,n){if(!t||e.some(e=>!e.length))return;let r=t!==t.toLowerCase(),i=P(t,r);if(!i||i.length>n.maxCandidateLength)return;let a=Math.min(n.maxCandidateLength,n.maxCharacters),o=Array.from({length:e.length+1},()=>0);for(let t=e.length-1;t>=0;t--){let n=e[t][0].length;for(let r=1;r<e[t].length;r++)n=Math.min(n,e[t][r].length);o[t]=o[t+1]+n}if(o[0]>a)return;let s=[],c=0,l=0;for(let t=0;t<e.length;t++){let n,u=l;for(let s of e[t]){if(c+s.length+o[t+1]>a)continue;let e=ze(i,l,P(s,r)),d=e>l,f=u>l;(n===void 0||d&&!f||d===f&&(s.length<n.length||s.length===n.length&&e>u))&&(n=s,u=e)}if(n===void 0)return;s.push(n),c+=n.length,l=u}if(l<i.length)return;let u=s.join(``);if(M(i,P(u,r),u,0))return s}function Re(e,t,n,r){let i=xe(r),a=e=>({combination:e,scans:i.initial-i.remaining});if(!t)return a();let o=t!==t.toLowerCase(),s=P(t,o);if(!s||s.length>n.maxCandidateLength)return a();let c=Math.min(n.maxCandidateLength,n.maxCharacters),u=[{characters:0,choice:``,matched:0}],d=0,p=0;for(let t of e){let e=new Map,n=new Set;for(let r of Me(t,c,i)){if(n.has(r))continue;n.add(r);let t={normalized:P(r,o),raw:r};for(let n of u){if(p++,d+=t.normalized.length,p>l||d>f)return a();let r=n.characters+t.raw.length;if(r>c)continue;let i=ze(s,n.matched,t.normalized),o=e.get(i);o&&o.characters<=r||e.set(i,{characters:r,choice:t.raw,matched:i,previous:n})}}if(!e.size)return a();let r=1/0;u=[...e.values()].sort((e,t)=>t.matched-e.matched||e.characters-t.characters).filter(e=>e.characters>=r?!1:(r=e.characters,!0))}let m=u.find(e=>e.matched===s.length);if(!m)return a();let h=Array.from({length:e.length},()=>``),g=m;for(let t=e.length-1;t>=0;t--)h[t]=g.choice,g=g.previous;let _=h.join(``);return M(s,P(_,o),_,0)?a(h):a()}function ze(e,t,n){for(let r=0;r<n.length&&t<e.length;r++)n[r]===e[t]&&t++;return t}function H(e){return{candidates:new Set,characters:0,maxCandidateLength:e.maxCandidateLength,maxCandidates:e.maxCandidates,maxCharacters:e.maxCharacters}}function U(e,t,n){return n>=l||t.remaining<=0||e.candidates.size>=e.maxCandidates||e.characters>=e.maxCharacters?!1:(t.remaining--,!0)}function Be(e,t,n,r,i){let a=0;for(let o of r){if(!U(e,i,a))return;a++;let r=n.slice();r[o]=t[o].at(-1),W(e,r)}}function Ve(e,t,n,r,i){let a=0;for(let o=0;o<r.length;o++)for(let s=o+1;s<r.length;s++){if(!U(e,i,a))return;a++;let c=r[o],l=r[s],u=n.slice();u[c]=t[c].at(-1),u[l]=t[l].at(-1),W(e,u)}}function He(e,t,n,r,i){let a=0;for(let o of r)for(let r=1;r<t[o].length-1;r++){if(!U(e,i,a))return;a++;let s=n.slice();s[o]=t[o][r],W(e,s)}}function Ue(e,t,n,r,i){let a=0;for(let o=0;o<r.length;o++)for(let s=o+1;s<r.length;s++){let c=r[o],l=r[s];for(let r=1;r<t[c].length;r++)for(let o=1;o<t[l].length;o++){if(r===t[c].length-1&&o===t[l].length-1)continue;if(!U(e,i,a))return;a++;let s=n.slice();s[c]=t[c][r],s[l]=t[l][o],W(e,s)}}}function We(e,t,n,r,i=!1){if(!t.length){U(e,r,0)&&W(e,[``]);return}let a=t.map(()=>0),o=t.flatMap((e,t)=>e.length>1?[t]:[]),s=()=>{let e=o.length-1;for(;e>=0;){let n=o[e];if(a[n]++,a[n]<t[n].length)return!0;a[n]=0,e--}return!1};if(i&&!s())return;let c=Math.min(n,l);for(let n=0;n<c;n++){if(!U(e,r,n))return;if(W(e,t.map((e,t)=>e[a[t]])),!s())break}}function W(e,t){let n=e.maxCharacters-e.characters,r=0;for(let i of t)if(r+=i.length,r>Math.min(e.maxCandidateLength,n))return;let i=t.join(``);e.candidates.has(i)||e.candidates.size===e.maxCandidates||e.characters+i.length>e.maxCharacters||(e.candidates.add(i),e.characters+=i.length)}function Ge(e,t,n=!0){let r=t,i=t,a=/[^\s>"'`;]/;for(;r&&a.test(e.charAt(r-1));)--r;for(;i<e.length&&a.test(e.charAt(i));)++i;if(n)return{content:e.slice(r,i),start:r,end:i};let o=et(e,t),s=o?.key.toLowerCase();if(o&&(s?.endsWith(`class`)||s?.endsWith(`classname`)))return r=Math.max(r,o.valueStart),{content:e.slice(r,i),start:r,end:i};let c=e.slice(0,r).trimEnd();if(/(?:^|[\s;{])@apply$/.test(c))return{content:e.slice(r,i),start:r,end:i}}const Ke=new Set(`a abbr address area article aside audio b base bdi bdo blockquote body br button canvas caption cite code col colgroup data datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 head header hgroup hr html i iframe img input ins kbd label legend li link main map mark menu meta meter nav noscript object ol optgroup option output p picture pre progress q rp rt ruby s samp script search section select slot small source span strong style sub summary sup table tbody td template textarea tfoot th thead time title tr track u ul var video wbr svg`.split(` `)),qe=new Set(`=([{,:;!?&|>~`);function Je(e){return e>=65&&e<=90||e>=97&&e<=122}function Ye(e){return Je(e)||e===95}function Xe(e){return Ye(e)||e>=48&&e<=57||e===36||e===45||e===46||e===58}function Ze(e,t,n){let r=t-n.length;return r<0||e.slice(r,t)!==n?!1:r===0||!Xe(e.charCodeAt(r-1))}function Qe(e,t,n,r){if(Ke.has(n.toLowerCase())||n.includes(`-`)||r&&n.charCodeAt(0)>=65&&n.charCodeAt(0)<=90)return!0;let i=t-1;for(;i>=0&&/\s/.test(e.charAt(i));)i--;return i<0||qe.has(e.charAt(i))?!0:Ze(e,i+1,`return`)}function $e(e){let t,n=!1,r,i=0,a=0;for(;a<e.length;){if(t){let o=e.charAt(a);r?o===`\\`?a++:o===r&&(r=void 0):o===`"`||o===`'`?r=o:o===`{`?i++:o===`}`?i>0&&i--:o===`>`&&i===0&&(t=void 0,n=!0),a++;continue}if(e.charAt(a)===`;`&&(n=!1),e.charCodeAt(a)!==60){a++;continue}let o=a++;if(!Ye(e.charCodeAt(a)))continue;let s=a;for(;a<e.length&&Xe(e.charCodeAt(a));)a++;if(a<e.length&&!/[\s/>]/.test(e.charAt(a)))continue;let c=e.slice(s,a);Qe(e,o,c,n)&&(t={name:c,start:o},i=0)}return t}function et(e,t){let n=e.substring(0,t),r=$e(n);if(!r)return;let i=r.start+1,a=n.slice(i),o=-1,s=-1,c=-1,l=-1,u=-1,d=-1,f;for(let e=0;e<a.length;e++){let t=a.charAt(e);if(f){t===`\\`?e++:t===f&&(f=void 0);continue}if(t===`"`||t===`'`){f=t,o<0&&(o=e);continue}if(/\s/.test(t)){o>=0&&(s=o,c=e,o=-1);continue}if(t===`=`){let t=o>=0?o:s,n=o>=0?e:c;t>=0&&n>t&&t>=l&&(l=t,u=n,d=e)}o<0&&(o=e)}if(l<0)return;let p=d+1;for(;/\s/.test(a.charAt(p));)p++;let m=a.charAt(p);if(m===`"`||m===`'`){p++;for(let e=p;e<a.length;e++){let t=a.charAt(e);if(t===`\\`)e++;else if(t===m)return}}else if(/[\s>]/.test(a.slice(p)))return;return{key:a.slice(l,u),valueStart:i+p}}function tt(e,t){return et(e,t)?.key}function nt(e,t){return et(e,t)}function rt(e){return e.reduce((e,t)=>{let n=[];return e.forEach(e=>{t.forEach(t=>{n.push(e.concat([t]))})}),n},[[]])}const G=1e3,it=6e5,at=5e7,ot=6e4,K=3e5,st=5e4,ct=2e5,lt=5e3,q={...h,maxAttempts:15e3,maxCandidates:15e3,maxCharacters:6e5,maxScans:3e5};function ut(){return{active:0,waiters:[]}}function J(e){return e>=48&&e<=57}function dt(e){for(let t=0;t<e.length;t++)if(J(e.charCodeAt(t)))return!0;return!1}function ft(e,t){let n=0,r=0;for(;n<e.length&&r<t.length;){let i=e.charCodeAt(n),a=t.charCodeAt(r),o=J(i),s=J(a);if(o&&s){let i=n+1,a=r+1;for(;i<e.length&&J(e.charCodeAt(i));)i++;for(;a<t.length&&J(t.charCodeAt(a));)a++;let o=n,s=r;for(;o<i-1&&e.charCodeAt(o)===48;)o++;for(;s<a-1&&t.charCodeAt(s)===48;)s++;let c=i-o,l=a-s;if(c!==l)return c<l?-1:1;for(;o<i;){let n=e.charCodeAt(o)-t.charCodeAt(s);if(n)return n<0?-1:1;o++,s++}n=i,r=a;continue}if(i!==a)return i<a?-1:1;n++,r++}return n!==e.length||r!==t.length?n===e.length?-1:1:0}function Y(e,t){let n=dt(e);return n===dt(t)?ft(e,t)||(e===t?0:e<t?-1:1):n?1:-1}function X(e,t=K,n=at){return{attempts:0,heap:[],limit:e,maxAttempts:t,maxScannedCharacters:n,retained:new Set,scannedCharacters:0}}function Z(e){return e.attempts<e.maxAttempts&&e.scannedCharacters<e.maxScannedCharacters}function Q(e,t){return Z(e)?(e.attempts++,!t||e.retained.has(t)||t.length>ot||t.length>e.maxScannedCharacters-e.scannedCharacters?!0:(e.scannedCharacters+=t.length,pt(e,t),!0)):!1}function pt(e,t){if(!(!t||e.retained.has(t)||t.length>ot)){if(e.heap.length<e.limit){e.heap.push(t),e.retained.add(t),mt(e.heap,e.heap.length-1);return}Y(t,e.heap[0])>=0||(e.retained.delete(e.heap[0]),e.heap[0]=t,e.retained.add(t),ht(e.heap,0))}}function mt(e,t){let n=t;for(;n>0;){let t=Math.floor((n-1)/2);if(Y(e[t],e[n])>=0)return;[e[t],e[n]]=[e[n],e[t]],n=t}}function ht(e,t){let n=t;for(;;){let t=n*2+1;if(t>=e.length)return;let r=t+1,i=r<e.length&&Y(e[r],e[t])>0?r:t;if(Y(e[n],e[i])>=0)return;[e[n],e[i]]=[e[i],e[n]],n=i}}function $(e){let t=[],n=0;for(let r of e.heap.sort(Y))n+r.length>it||(t.push(r),n+=r.length);return t}function gt(e,t,n,r){return Math.floor((t+n)*e/r)-Math.floor(t*e/r)}function*_t(e){let t=e.filter(e=>e.length).map(e=>({index:0,source:e})),n=0;for(;t.length;){let e=t[n];yield e.source[e.index++],e.index===e.source.length?t.splice(n,1):n++,n===t.length&&(n=0)}}function*vt(e,t,n,r,i,a){for(;n.attempts<r&&n.characters<i;){let r=e.next();if(r.done)return;let o=r.value;n.attempts++,!(!o||t.has(o)||o.length>a||o.length>i-n.characters)&&(t.add(o),n.characters+=o.length,yield o)}}function yt(e){let t=``;for(let n of e.parts){if(n.type!==`static`)break;t+=n.value}return t}function bt(e,t){if(!t)return{priorityCount:0,templates:[...e]};let n=t.replace(/-/g,``),r=[],i=[];for(let a=0;a<e.length;a++){let o=e[a],s=yt(o),c=s.replace(/-/g,``),l=-1;s&&t.startsWith(s)?l=0:c&&n.startsWith(c)?l=1:s.startsWith(t)?l=2:c.startsWith(n)&&(l=3),l<0?i.push(o):r.push({category:l,index:a,parsed:o,prefixLength:l<2?l?c.length:s.length:0})}return r.sort((e,t)=>e.category-t.category||t.prefixLength-e.prefixLength||e.index-t.index),{priorityCount:r.length,templates:[...r.map(({parsed:e})=>e),...i]}}function xt(e,t){return e.length<=t?[...e]:t<=0?[]:t===1?[e[0]]:Array.from({length:t},(n,r)=>e[Math.floor(r*(e.length-1)/(t-1))])}async function St(e,t,n){let r=Array(e.length),i=0,a=!1,o=Array.from({length:Math.min(t,e.length)},async()=>{for(;!a&&i<e.length;){let t=i++;try{r[t]=await n(e[t])}catch(e){throw a=!0,e}}});return await Promise.all(o),r}function Ct(e,t=G){let n=X(t);for(let t of e)if(!Q(n,t))break;return $(n)}function wt(e,t){let n=[],r=new Set,i=0,a=0;for(let o of e)if(o.startsWith(t)){if(i===K||n.length===G||a>=it)break;i++,!(!o||r.has(o)||o.length>ot||a+o.length>it)&&(r.add(o),n.push(o),a+=o.length)}return n}function Tt(o,s={}){let c=new Map,l=new a({max:lt,maxSize:32e6,sizeCalculation:(e,t)=>Math.max(1,t.length*2+e.reduce((e,t)=>e+t.length*2+8,0))}),u=new Map,d=o.config,f=0,p=[],m,g,_=[],v=0,y=new Set,S=new Set,C=[],w=new Map,T=new Set,E=ut(),{matchType:D=`prefix`,throwErrors:ee=!0}=s;return F(),{suggest:O,suggestInFile:k,templates:C,cache:l,errorCache:u,reset:F,enumerate:te};async function te(){let e=Array.from(`abcdefghijklmnopqrstuvwxyz`),t=[...e,`-`],n=e.flatMap(e=>[e,...t.map(t=>`${e}${t}`)]);for(;;){I();let e=d,t=f,r=new Set;if(await ne(n,r,e,t,e=>e)&&await ne([...r].filter(e=>/^\w+$/.test(e)&&e.length>3),r,e,t,e=>`${e}-`))return r}}async function ne(e,t,n,r,i){for(let a=0;a<e.length;a+=128){let o=await R(Promise.all(e.slice(a,a+128).map(e=>O(i(e)))),n,r);if(o.stale)return!1;for(let e of o.value)for(let n of e)t.add(n)}return!0}async function O(e,t=!1){if(I(),!t&&e.length<1)return[];if(l.has(e))return l.get(e);let n=w.get(e);if(n)return n;let r=ie(e,t);w.set(e,r);try{return await r}finally{w.get(e)===r&&w.delete(e)}}async function ie(e,t){for(;;){I();let n=d,r=f;if(!t&&e.length<1)return[];if(l.has(e))return l.get(e);let i=n.presets.find(e=>e.name===`@teacss/preset-attributify`)?.options?.prefix,a=i?e.startsWith(i)?e.slice(i.length):e.replace(`:${i}`,`:`):e,s=await R(o.matchVariants(a),n,r);if(s.stale)continue;let c=await R(Promise.all(s.value.map(async([,t])=>{if(!t&&a)return[];let i=t?e.indexOf(t):e.length;i===-1&&(i=0);let o=e.slice(0,i),s=e.slice(i+t.length),c=D===`fuzzy`?[ae(t,n,r),ce(t,n,r),M(t),oe(t)]:[ae(t,n,r),oe(t),M(t),ce(t,n,r)];return z(await Promise.all(c),o,s)})),n,r);if(c.stale)continue;let u=c.value.flat();if(u=D===`fuzzy`?fe(j(u,e,{maxCandidates:q.maxCandidates,maxCharacters:q.maxCharacters}),e):Ct(u),!L(n,r))return l.set(e,u),u}}async function k(e,t){I();let n=d,r=f,i=tt(e,t)!==void 0,a=await R(A(e,t,n),n,r);if(a.stale)return k(e,t);let o=a.value;if(o){let a=await O(o.extracted,i);if(L(n,r))return k(e,t);let s=o.transformSuggestions?o.transformSuggestions(a):a;return{suggestions:a.map((e,t)=>[e,s[t]]),resolveReplacement:o.resolveReplacement}}let s=Ge(e,t,n.presets.some(e=>e.name===`@teacss/preset-attributify`));if(!s)return;let c=await O(s.content,i);return L(n,r)?k(e,t):{suggestions:c.map(e=>[e,e]),resolveReplacement:e=>({start:s.start,end:s.end,replacement:e})}}async function A(e,t,n){if(!n.autocomplete.extractors.length)return null;for(let r of n.autocomplete.extractors){let n=await r.extract({content:e,cursor:t});if(n)return n}return null}async function ae(e,t,n){let r=await o.parseToken(e,`-`);return r&&!L(t,n)&&(S.delete(e),S.add(e),S.size>lt&&S.delete(S.values().next().value)),r?[e]:[]}async function oe(e){if(D===`fuzzy`){let t=pe(),n=fe(_,e,t,v),r=j(me(),e,{maxAttempts:K,maxCandidates:750,maxCharacters:6e4});return j([...n,...r],e,{maxCandidates:G,maxCharacters:q.maxCharacters})}return m??=[...p].sort(Y),wt(m,e)}async function M(e){return Ct(t());function*t(){for(let t of S)t.startsWith(e)&&(yield t);for(let[t,n]of o.cache){if(!n)continue;let r=t.replace(/ -$/,``);r.startsWith(e)&&(yield r)}}}async function ce(e,t,n){let r=C.filter(e=>typeof e==`function`);if(D!==`fuzzy`){let i=he(e),a=await le(r,e,t,n);return[...i,...a]}let i=ge(e),a=await ue(r,e,t,n);return[...i,...a]}async function le(e,t,n,r){if(!e.length)return[];let i=X(G),a=X(G);for(let o=0;o<e.length;o+=8){let s=await St(e.slice(o,o+8),8,e=>N(e,t,n,r));if(L(n,r))return[];let c=gt(K,o,s.length,e.length),l=gt(at,o,s.length,e.length),u=X(G,c,l),d=_t(s.filter(e=>!!e?.length));for(;Z(u);){let e=d.next();if(e.done)break;Q(u,e.value)}for(let e of $(u))pt(i,e);let f=X(G,c,l);for(;Z(f);){let e=d.next();if(e.done)break;Q(f,e.value)}for(let e of $(f))pt(i,e);for(;Z(a);){let e=d.next();if(e.done)break;Q(a,e.value)}}for(let e of $(a))pt(i,e);return $(i)}async function ue(e,t,n,r){if(!e.length)return[];let i=[],a=new Set,o={attempts:0,characters:0};for(let s=0;s<e.length;s+=32){let c=await St(e.slice(s,s+32),32,e=>N(e,t,n,r));if(L(n,r))return[];let l=_t(c.filter(e=>!!e?.length)),u=gt(K,s,c.length,e.length),d=gt(h.maxScannedCharacters,s,c.length,e.length),f=j(l,t,{maxAttempts:u,maxCandidates:G,maxCharacters:q.maxCharacters,maxScannedCharacters:d});i=j([...i,...f],t,{maxAttempts:i.length+f.length,maxCandidates:G,maxCharacters:q.maxCharacters});let p=j(vt(l,a,{attempts:0,characters:0},u,d,h.maxCandidateLength),t,{maxAttempts:u,maxCandidates:750,maxCharacters:q.maxCharacters,maxScannedCharacters:d});i=j([...i,...p],t,{maxAttempts:i.length+p.length,maxCandidates:G,maxCharacters:q.maxCharacters});let m=j(vt(l,a,{attempts:0,characters:0},u,d,h.maxCandidateLength),t,{maxAttempts:u,maxCandidates:750,maxCharacters:q.maxCharacters,maxScannedCharacters:d});i=j([...i,...m],t,{maxAttempts:i.length+m.length,maxCandidates:G,maxCharacters:q.maxCharacters});let g=j(vt(l,a,o,K,h.maxScannedCharacters,h.maxCandidateLength),t,{maxAttempts:K-o.attempts,maxCandidates:750,maxCharacters:q.maxCharacters,maxScannedCharacters:h.maxScannedCharacters-o.characters});i=j([...i,...g],t,{maxAttempts:i.length+g.length,maxCandidates:G,maxCharacters:q.maxCharacters})}return i}async function N(e,t,n,r){let i=E;await de(i);try{if(L(n,r))return;try{return await e(t)}catch{return}}finally{P(i)}}async function de(e){if(e.active<128){e.active++;return}await new Promise(t=>e.waiters.push(t))}function P(e){let t=e.waiters.shift();t?t():e.active--}function fe(e,t,a,o){return se(t,o??e.reduce((e,t)=>e+t.length,0))?j(e,t,{maxCandidates:G,maxCharacters:q.maxCharacters}):(a??new n(e,{fuzzy:`v1`,limit:G,tiebreakers:[i,r]})).find(t).map(e=>e.item)}function pe(){if(g)return g;let e=new Set,t=0,a=0,o=n=>!n||e.has(n)||n.length>q.maxCandidateLength||e.size===q.maxCandidates||t+n.length>q.maxCharacters?!1:(e.add(n),t+=n.length,!0),s=0;for(;s<p.length&&a<q.maxAttempts&&e.size<q.maxCandidates&&t<q.maxCharacters;){let e=p[s++];a++,o(e)&&y.add(e)}return _=[...e],v=t,g=new n(_,{fuzzy:`v1`,limit:G,tiebreakers:[i,r]}),g}function*me(){for(let e of p)y.has(e)||(yield e)}function he(e){let t=X(G),n=0,r=0,i=0,a=bt([...c.values()],e).templates.slice(0,st);for(let o=0;o<a.length;o++){let s=K-n,c=at-r,l=ct-i;if(c<=0||s<=0||l<=0||!Z(t))break;let u=a.length-o,d=Math.max(1,Math.floor(s/u)),f=x(a[o],e,{maxAttempts:d,maxCandidateLength:ot,maxCandidates:d,maxCharacters:Math.max(1,Math.floor(c/u)),maxScans:Math.max(1,Math.floor(l/u))});n+=f.attempts,r+=f.characters,i+=f.scans;for(let e of f.suggestions)if(!Q(t,e))break}return $(t)}function ge(e){let t=[],n=new Set,r=0,i=0,a=0,o=0,s=bt([...c.values()],e).templates.slice(0,st),l=e=>{!e||n.has(e)||e.length>h.maxCandidateLength||a>=q.maxCandidates||r+e.length>q.maxCharacters||(n.add(e),t.push(e),a++,r+=e.length)},u=0;for(let t of j(f(),e,{maxAttempts:st,maxCandidates:750,maxCharacters:q.maxCharacters}))l(t);let d=xt(s,Math.max(1,Math.floor(Math.min(q.maxAttempts,q.maxCandidates-a)/2)));for(let t=0;t<d.length;t++){let n=q.maxAttempts-i,s=q.maxCandidates-a,c=q.maxCharacters-r,u=q.maxScans-o;if(n<=0||s<=0||c<=0||u<=0)break;let f=d.length-t,p={maxAttempts:Math.max(2,Math.floor(n/f)),maxCandidates:Math.max(2,Math.floor(s/f)),maxCharacters:Math.max(1,Math.floor(c/f)),maxScans:Math.max(1,Math.floor(u/f))},m;if(e.length<=1){let n=x(d[t],e,p);m=n.suggestions,i+=n.attempts,o+=n.scans}else{let n=Ie(d[t].parts,p,e);m=n.candidates,i+=n.attempts,o+=n.scans}for(let e of m)l(e)}return j(t,e,{maxAttempts:q.maxAttempts,maxCandidates:750,maxCharacters:q.maxCharacters});function*f(){for(let t=0;t<s.length;t++){let n=ct-u;if(n<=0)return;let r=s.length-t,i=(e.length<=1?x:b)(s[t],e,{maxAttempts:1,maxCandidates:1,maxCharacters:h.maxCandidateLength,maxScans:Math.max(1,Math.floor(n/r))});u+=i.scans,yield*i.suggestions}}}function F(){let t=o.config,n=[...Object.keys(t.rulesStaticMap),...t.shortcuts.filter(e=>typeof e[0]==`string`).map(e=>e[0])],r=[...t.autocomplete.templates||[],...t.rulesDynamic.flatMap(t=>e(t?.[2]?.autocomplete||[])),...t.shortcuts.flatMap(t=>e(t?.[2]?.autocomplete||[])),...t.variants.flatMap(t=>e(t.autocomplete||[]))],i=new Map,a=new Map;for(let e of r)if(typeof e!=`function`){if(i.has(e)||a.has(e))continue;let n=re(e,t.theme,t.autocomplete.shorthands);n.errors.length&&a.set(e,n.errors),i.set(e,n)}if(a.size&&ee){u.clear();for(let[e,t]of a)u.set(e,t);let e=Array.from(a.values()).flat().map(e=>e.toString()).join(`
|
|
2
|
-
`);throw Error(e)}f++;for(let e of[...T])e();d=t,p=n,m=void 0,C.length=0,C.push(...r),c.clear();for(let[e,t]of i)c.set(e,t);l.clear(),w.clear(),E=ut(),u.clear();for(let[e,t]of a)u.set(e,t);g=void 0,_=[],v=0,y.clear(),S.clear()}function I(){d!==o.config&&F()}function L(e,t){return e!==o.config||t!==f}function R(e,t,n){return new Promise((r,i)=>{let a=!1,s=e=>{a||(a=!0,l(),T.delete(c),r(e))},c=()=>s({stale:!0}),l=o.events.on(`config`,e=>{e!==t&&c()});T.add(c),Promise.resolve(e).then(e=>s({stale:!1,value:e}),e=>{a||(a=!0,l(),T.delete(c),i(e))}),L(t,n)&&c()})}function z(e,n=``,r=``){let i=t(e.flat()).filter(e
|
|
1
|
+
import{toArray as e,uniq as t}from"@teacss/core";import{Fzf as n,byLengthAsc as r,byStartAsc as i}from"fzf";import{LRUCache as a}from"lru-cache";var o=`@teacss/autocomplete`;const s=5e4,c=2e6,l=5e4,u=4096,d=1e3,f=5e7,p=1e5,m=new Map(Array.from(`ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåçèéêëìíîïñòóôõöøùúûüýÿĀāĂ㥹ĆćĈĉĊċČčĎďđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥħĨĩĪīĬĭĮįİıĴĵĶķĹĺĻļĽľŀłŃńŅņŇňŌōŎŏŐőŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƃƆƈƉƊƌƎƐƒƓƗƙƚƜƝƞƟƠơƥƫƭƮƯưƲƴƶǍǎǏǐǑǒǓǔǗǘǝǥǦǧǨǩǪǫǰǴǵǸǹȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȞȟȠȡȥȦȧȨȩȮȯȲȳȴȵȶȷȺȻȼȽȾȿɀɃɄɅɆɇɈɉɊɋɌɍɎɏɐɑɓɔɕɖɗɘɛɜɝɞɟɠɡɢɥɦɨɪɫɬɭɯɰɱɲɳɴɵɹɺɻɼɽɾɿʀʁʂʇʈʉʋʌʍʎʏʐʑʗʙʚʛʜʝʞʟʠʮͣͤͥͦͧͨͩͪͫͬͭͮͯᴀᴃᴄᴅᴇᴈᴉᴊᴋᴌᴍᴎᴏᴐᴑᴒᴓᴖᴗᴘᴙᴚᴛᴜᴝᴞᴟᴠᴡᴢᵢᵣᵤᵥḀḁḂḃḄḅḆḇḊḋḌḍḎḏḐḑḒḓḘḙḚḛḞḟḠḡḢḣḤḥḦḧḨḩḪḫḬḭḮḯḰḱḲḳḴḵḶḷḺḻḼḽḾḿṀṁṂṃṄṅṆṇṈṉṊṋṔṕṖṗṘṙṚṛṞṟṠṡṢṣṪṫṬṭṮṯṰṱṲṳṴṵṶṷṼṽṾṿẀẁẂẃẄẅẆẇẈẉẊẋẌẍẎẏẐẑẒẓẔẕẖẗẘẙẚẛẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặẸẹẺẻẼẽẾếỀềỂểỄễỆệỈỉỊịỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợỤụỦủỨứỪừỬửỮữỰựỲỳỴỵỶỷỸỹⁱₕₖₗₘₙₚₛₜↄ`,(e,t)=>[e,`AAAAAACEEEEIIIINOOOOOOUUUUYsaaaaaaceeeeiiiinoooooouuuuyyAaAaAaCcCcCcCcDddEeEeEeEeEeGgGgGgGgHhhIiIiIiIiIiJjKkLlLlLlllNnNnNnOoOoOoRrRrRrSsSsSsSsTtTttUuUuUuUuUuUuWwYyYZzZzZzsbBbOcDDdEEfGIklMNnOOopttTUuVyzAaIiOoUuUuegGgKkOojGgNnAaAaEeEeIiIiOoOoRrRrUuUuSsTtHhNdzAaEeOoYylntjACcLTszBUVEeJjQqRrYyaabocddeeeeejggGhhiIlllmmmnnNorrrrrrrRRsttuvvwyYzzcBeGHjkLqhaeioucdhmrtvxABCDEeiJKLMNOOoooooPRRTUuumVWZiruvAaBbBbBbDdDdDdDdDdEeEeFfGgHhHhHhHhHhIiIiKkKkKkLlLlLlMmMmMmNnNnNnNnPpPpRrRrRrSsSsTtTtTtTtUuUuUuVvVvWwWwWwWwWwXxXxYyZzZzZzhtwyasAaAaAaAaAaAaAaAaAaAaAaAaEeEeEeEeEeEeEeEeIiIiOoOoOoOoOoOoOoOoOoOoOoOoUuUuUuUuUuUuUuYyYyYyYyihklmnpstc`[t]])),h={maxAttempts:l,maxCandidateLength:u,maxCandidates:s,maxCharacters:c,maxScans:p,maxScannedCharacters:5e7},g={...h,maxCandidateLength:c,maxCandidates:d};function _(){return{suggestions:[],attempts:0,candidates:0,characters:0,scans:0,truncated:!1}}const v=new WeakMap,y=new WeakMap;function b(e,t,n){let r=v.get(e);if(!r){let n=e.suggest(t,`prefix`)??[];return{suggestions:n,attempts:n.length,candidates:n.length,characters:n.reduce((e,t)=>e+t.length,0),scans:n.length,truncated:!1}}return r(t,n)}function x(e,t,n){let r=y.get(e);return r?r(t,n):b(e,t,n)}var S=class extends Error{template;constructor(e,t){super(e),this.template=t,this.name=o,this.template=t}toString(){return`⚠️ [${this.name}]: ${this.message}. ${this.template?`Template: ${this.template}.`:``}`}};const C={directions:`(x|y|t|b|l|r|s|e)`,num:`(${[0,1,2,3,4,5,6,8,10,12,24,36].join(`|`)})`,percent:`(${[0,10,20,30,40,50,60,70,80,90,100].join(`|`)})`,percentage:`(${[`10%`,`20%`,`30%`,`40%`,`50%`,`60%`,`70%`,`80%`,`90%`,`100%`].join(`|`)})`},w=[`DEFAULT`];function T(e,t,n,r){let i=0;Array.from(e.matchAll(t)).forEach(t=>{let a=t.index;i!==a&&r(e.slice(i,a),i,a),n(t),i=a+t[0].length}),i!==e.length&&r(e.slice(i),i,e.length)}const E=s;function D(e,t){let n=0;for(let r=t;r<e.length;r++)if(e[r]===`(`)n++;else if(e[r]===`)`&&--n===0)return r}function ee(e){let t=[],n=0,r=0;for(let i=0;i<e.length;i++){let a=e[i];a===`(`?n++:a===`)`?n--:a===`|`&&n===0&&(t.push(e.slice(r,i)),r=i+1)}return t.push(e.slice(r)),t}function te(e,t){let n=e.indexOf(`(`),r=n===-1?void 0:D(e,n);if(n===-1||r==null)return[e];let i=e.slice(0,n),a=te(e.slice(r+1),t);if(a===void 0)return;let o=[];for(let s of ee(e.slice(n+1,r))){let e=te(s,t);if(e===void 0)return;for(let n of e)for(let e of a){if(--t.remaining<0)return;o.push(`${i}${n}${e}`)}}return o}function ne(e){let t={remaining:E},n=[];for(let r of ee(e)){let e=te(r,t);if(e===void 0)return;n.push(...e)}return n}function re(e,t={},r={}){let i=[],a=[],o={...C,...r};e=e.replace(/<([\w-]+)>/g,(e,t,n,r)=>Object.hasOwn(o,t)?o[t]:(a.push(new S(`Unknown template shorthand: <${t}>`,r)),e)),l(e),a.length&&(i.length=0);let s={parts:i,suggest:f,errors:a};return v.set(s,m),y.set(s,p),s;function c(e){T(e,/\$([\w.|-]+)/g,e=>{i.push({type:`theme`,objects:e[1].split(`|`).map(n=>{let r=n.split(`.`).reduce((t,n)=>!n||typeof t!=`object`||!t||!Object.hasOwn(t,n)||!t[n]?(a.push(new S(`Invalid theme key: ${n}`,e.input)),{}):t[n],t);return typeof r!=`object`||!r||Array.isArray(r)?(a.push(new S(`Invalid theme path: ${n}`,e.input)),{}):r})})},e=>{i.push({type:`static`,value:e})})}function l(t){let n=0;for(let r=0;r<t.length;r++){if(t[r]!==`(`)continue;let o=D(t,r);if(o==null)break;let s=t.slice(r+1,o);if(n!==r&&c(t.slice(n,r)),n=o+1,!s.includes(`|`)){i.push({type:`static`,value:t.slice(r,o+1)}),r=o;continue}let l=ne(s);l===void 0?(a.push(new S(`Template group expands past ${E} values: (${s})`,e)),i.push({type:`static`,value:t.slice(r,o+1)})):i.push({type:`group`,values:l}),r=o}n!==t.length&&c(t.slice(n))}function f(e,t=`prefix`){if(e.length>1&&t===`fuzzy`){let t=e!==e.toLowerCase(),r=P(e,t),a=m(e,{maxCandidates:d}).suggestions.filter(e=>M(r,P(e,t),e,0));if(r.length>u)return a;let o=Ie(i,{},e).candidates;if(a.length){let e=new Set(a);if(o.every(t=>e.has(t)))return a}if(se(e,o.reduce((e,t)=>e+t.length,0))){let t=ae(o,e),n=t.filter(t=>de(t,e));return n.length?je(n,[...a,...t]):je(a,t)}return je(a,new n(o,{fuzzy:`v1`,limit:d}).find(e).map(e=>e.item))}return p(e).suggestions}function p(e,t={}){let n={...g,...t},r=A(e);if(r.length>n.maxCandidateLength)return _();let a=O(i);if(a){let t=ie(i,0,a.index);if(!_e(t,e)&&!_e(A(t),r))return _();let o=ie(i,a.index+1,i.length);return ve(a.part,t,o,e,a.suppressPartialRoots,n)}let o=k(i);return o&&!_e(o,e)&&!_e(A(o),A(e))?_():pe(i,e,n)}function m(e,t={}){let n={...h,...t},r=p(e,n),a=k(i);if(r.suggestions.length||!a)return r;let o={...n,maxAttempts:n.maxAttempts-r.attempts,maxCandidates:n.maxCandidates-r.candidates,maxCharacters:n.maxCharacters-r.characters,maxScans:n.maxScans-r.scans},s=p(a+e,o);return{suggestions:s.suggestions,attempts:r.attempts+s.attempts,candidates:r.candidates+s.candidates,characters:r.characters+s.characters,scans:r.scans+s.scans,truncated:r.truncated||s.truncated}}}function O(e){let t,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(i.type!==`static`){if(i.type===`group`&&i.values.length>0&&i.values.every(e=>e===``)){n=!0;continue}if(i.type!==`theme`||t)return;t={index:r,part:i}}}return t&&{...t,suppressPartialRoots:n}}function ie(e,t,n){let r=``;for(let i=t;i<n;i++){let t=e[i];t.type===`static`&&(r+=t.value)}return r}function k(e){let t=e.findIndex(e=>e.type!==`static`);return ie(e,0,t<0?e.length:t)}function A(e){return e.replace(/-/g,``)}function ae(e,t){return j(e,t)}function j(e,t,n={}){let r={...h,maxCandidates:d,...n};if(!t)return oe(e,r);let i=t!==t.toLowerCase(),a=P(t,i);if(a.length>r.maxCandidateLength)return[];let o={characters:0,items:[],retained:new Set},s=new Set,c=e[Symbol.iterator](),l=0,u=0;for(;l<r.maxAttempts&&u<r.maxScannedCharacters;){let e=c.next();if(e.done)break;let t=e.value,n=l++;if(!t||t.length>r.maxCandidateLength||s.has(t)||t.length>r.maxScannedCharacters-u)continue;s.add(t),u+=t.length;let d=M(a,P(t,i),t,n);d&&ce(o,d,r.maxCandidates,r.maxCharacters)}return o.items.sort(N).map(({candidate:e})=>e)}function oe(e,t){let n=[],r=new Set,i=e[Symbol.iterator](),a=0,o=0,s=0;for(;a<t.maxAttempts&&n.length<t.maxCandidates&&o<t.maxCharacters&&s<t.maxScannedCharacters;){let e=i.next();if(e.done)break;let c=e.value;a++,!(!c||c.length>t.maxCandidateLength||r.has(c)||c.length>t.maxScannedCharacters-s)&&(r.add(c),s+=c.length,!(o+c.length>t.maxCharacters)&&(n.push(c),o+=c.length))}return n}function se(e,t){return e.length*t>f}function M(e,t,n,r){if(t===e)return{candidate:n,category:0,gaps:0,longestRun:e.length,start:0,order:r};if(t.startsWith(e))return{candidate:n,category:1,gaps:0,longestRun:e.length,start:0,order:r};let i=0,a=-1,o=-1,s=0,c=0,l=0;for(let n=0;n<t.length&&i<e.length;n++)t[n]===e[i]&&(a<0&&(a=n),o>=0&&(l+=n-o-1),s=n===o+1?s+1:1,c=Math.max(c,s),o=n,i++);if(i===e.length)return{candidate:n,category:2,gaps:l,longestRun:c,start:a,order:r}}function ce(e,t,n,r){e.retained.has(t.candidate)||(e.items.length<n&&e.characters+t.candidate.length<=r?(e.items.push(t),e.retained.add(t.candidate),e.characters+=t.candidate.length,le(e.items,e.items.length-1)):e.items.length&&N(t,e.items[0])<0&&e.characters-e.items[0].candidate.length+t.candidate.length<=r&&(e.retained.delete(e.items[0].candidate),e.characters+=t.candidate.length-e.items[0].candidate.length,e.items[0]=t,e.retained.add(t.candidate),ue(e.items,0)))}function le(e,t){for(;t>0;){let n=t-1>>>1;if(N(e[t],e[n])<=0)return;[e[n],e[t]]=[e[t],e[n]],t=n}}function ue(e,t){for(;;){let n=t*2+1;if(n>=e.length)return;let r=n+1,i=n;if(r<e.length&&N(e[r],e[n])>0&&(i=r),N(e[i],e[t])<=0)return;[e[t],e[i]]=[e[i],e[t]],t=i}}function N(e,t){return e.category-t.category||e.gaps-t.gaps||t.longestRun-e.longestRun||e.start-t.start||e.candidate.length-t.candidate.length||e.order-t.order}function de(e,t){let n=t!==t.toLowerCase();return P(e,n)===P(t,n)}function P(e,t){let n=e.normalize(),r=fe(n)?n:Array.from(n,e=>m.get(e)??e).join(``);return t?r:r.toLowerCase()}function fe(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>127)return!1;return!0}function pe(e,t,n={}){let r={...h,...n};if(r.maxAttempts<=0||r.maxCandidates<=0||r.maxCharacters<=0)return _();let i=A(t),a=me(),o=me(),s=r.maxCandidates,c=xe(r.maxScans),l=[],u=Array.from({length:e.length},()=>``),d=Array.from({length:e.length+1},()=>0),f=Array.from({length:e.length+1},()=>0),p=Array.from({length:e.length+1},()=>0),m=[],g=new Set,v=0,y=0;for(;y>=0&&!c.truncated;){if(y===e.length){let e=u.join(``),n=f[y]>=t.length,c=p[y]>=i.length;if((n||c)&&e.length<=r.maxCharacters){let t=!g.has(e);(!t||v<r.maxAttempts)&&(t&&(g.add(e),v++),n&&he(a,e,m,s,r),c&&he(o,e,m,s,r))}y--;continue}if(v>=r.maxAttempts)break;let n=l[y];n||(n={choiceIndex:0,iterator:Me(e[y],r.maxCandidateLength-d[y],c)},l[y]=n);let h=n.iterator.next();if(h.done){l.pop(),y--;continue}let _=n.choiceIndex++,b=h.value,x=d[y]+b.length;if(x>r.maxCandidateLength)continue;let S=f[y]<0?-1:z(t,f[y],b,!1),C=p[y]<0?-1:z(i,p[y],b,!0);if(S<0&&C<0)continue;for(;m.length&&!(m.at(-1).depth<y);)m.pop();_>0&&m.push({depth:y,index:_}),u[y]=b;let w=y+1;d[w]=x,f[w]=S,p[w]=C,l.length=w,y=w}let b=a.entries.length?a:o;b.entries.sort((e,t)=>R(e.path,t.path));let x=b.entries.map(e=>e.candidate);return{suggestions:x,attempts:v,candidates:x.length,characters:b.characters,scans:c.initial-c.remaining,truncated:c.truncated}}function me(){return{characters:0,entries:[],indices:new Map}}function he(e,t,n,r,i){let a=e.indices.get(t);if(a!==void 0){let t=e.entries[a];R(n,t.path)<0&&(t.path=n.slice(),I(e,a));return}if(r<=0||t.length>i.maxCharacters)return;let o={candidate:t,path:n.slice()};if(e.entries.length>=r){if(R(o.path,e.entries[0].path)>=0)return;ge(e)}for(;e.entries.length&&e.characters+t.length>i.maxCharacters;){if(R(o.path,e.entries[0].path)>=0)return;ge(e)}e.characters+t.length>i.maxCharacters||(e.indices.set(t,e.entries.length),e.entries.push(o),e.characters+=t.length,F(e,e.entries.length-1))}function ge(e){let t=e.entries[0],n=e.entries.pop();e.indices.delete(t.candidate),e.characters-=t.candidate.length,e.entries.length&&(e.entries[0]=n,e.indices.set(n.candidate,0),I(e,0))}function F(e,t){for(;t>0;){let n=t-1>>>1;if(R(e.entries[t].path,e.entries[n].path)<=0)return;L(e,n,t),t=n}}function I(e,t){for(;;){let n=t*2+1;if(n>=e.entries.length)return;let r=n+1,i=n;if(r<e.entries.length&&R(e.entries[r].path,e.entries[n].path)>0&&(i=r),R(e.entries[i].path,e.entries[t].path)<=0)return;L(e,i,t),t=i}}function L(e,t,n){[e.entries[t],e.entries[n]]=[e.entries[n],e.entries[t]],e.indices.set(e.entries[t].candidate,t),e.indices.set(e.entries[n].candidate,n)}function R(e,t){let n=e.length-1,r=t.length-1;for(;n>=0||r>=0;){let i=n>=0?e[n].depth:-1,a=r>=0?t[r].depth:-1,o=Math.max(i,a),s=i===o?e[n--].index:0,c=a===o?t[r--].index:0;if(s!==c)return s-c}return 0}function z(e,t,n,r){let i=t;for(let t=0;t<n.length;t++){let a=n[t];if(!(r&&a===`-`)){if(i<e.length&&e[i]!==a)return-1;i++}}return i}function _e(e,t){return e.length<=t.length?t.startsWith(e):e.startsWith(t)}function ve(e,t,n,r,i,a){let o={...h,...a};if(t.length+1>o.maxCandidateLength)return _();let s=xe(o.maxScans),c=Ce(e.objects,s),l=we(r,!1,o),u=we(A(r),!0,o);ye(c,t,n,o.maxCandidateLength,i,l,u,s);let d=Te(l,s);if(d.suggestions.length||!d.exhausted)return d;let f=Te(u,s);return{suggestions:f.suggestions,attempts:d.attempts+f.attempts,candidates:d.candidates+f.candidates,characters:d.characters+f.characters,scans:f.scans,truncated:f.truncated}}function ye(e,t,n,r,i,a,o,s){for(let c of e){let e=t+c.key,l=Ee(e,a.input,!1),u=Ee(e,o.input,!0);if(l===`none`&&u===`none`)continue;let d=Oe(c.objects,e,n,a.input,o.input,r),f=l===`partial`||u===`partial`?ke(d,s):void 0,p=f!==void 0;if(De(a,l,c.hasLeaf,p,e,n,i),De(o,u,c.hasLeaf,p,e,n,i),a.blocked)return;for(f??=ke(d,s);f;){if((l===`reached`||i&&l===`partial`)&&V(a,f.candidate,f.rawMatch),(u===`reached`||i&&u===`partial`)&&V(o,f.candidate,f.normalizedMatch),a.blocked)return;f=ke(d,s)}if(s.truncated||a.blocked)return}}function be(e){return!!e&&e[0]!==`_`&&!w.includes(e)}function xe(e=p){let t=Math.max(0,e);return{initial:t,remaining:t,truncated:!1}}function Se(e){return e.remaining<=0?(e.truncated=!0,!1):(e.remaining--,!0)}function*B(e){yield*Object.keys(e)}function Ce(e,t){let n=new Map;outer:for(let r of e)for(let e of B(r)){if(!Se(t))break outer;if(!be(e))continue;let i=r[e];if(i==null)continue;let a=n.get(e)??{key:e,hasLeaf:!1,objects:[]};if(typeof i!=`object`||Array.isArray(i))a.hasLeaf=!0;else{let e=i;a.objects.push(e),a.hasLeaf||=Object.hasOwn(e,`DEFAULT`)&&e.DEFAULT!==null&&e.DEFAULT!==void 0}n.set(e,a)}return[...n.values()]}function we(e,t,n){return{attempts:0,blocked:n.maxAttempts<=0||n.maxCandidates<=0||n.maxCharacters<=0,characters:0,input:e,limits:n,normalize:t,seen:new Set,suggestions:[]}}function V(e,t,n){!n||e.blocked||e.seen.has(t)||(e.seen.add(t),e.attempts++,t.length<=e.limits.maxCandidateLength&&e.characters+t.length<=e.limits.maxCharacters&&(e.suggestions.push(t),e.characters+=t.length),e.blocked||=e.attempts>=e.limits.maxAttempts||e.suggestions.length>=e.limits.maxCandidates||e.characters>=e.limits.maxCharacters)}function Te(e,t){return{suggestions:e.suggestions,attempts:e.attempts,candidates:e.suggestions.length,characters:e.characters,scans:t.initial-t.remaining,truncated:t.truncated,exhausted:!e.blocked&&!t.truncated}}function Ee(e,t,n){let r=n?A(e):e;return t.startsWith(r)?`reached`:r.startsWith(t)?`partial`:`none`}function De(e,t,n,r,i,a,o){if(t===`none`)return;if(t===`partial`&&r){(n||!o)&&V(e,i,!0);return}if(!n)return;let s=i+a;V(e,s,(e.normalize?A(s):s).startsWith(e.input))}function Oe(e,t,n,r,i,a){return{base:t,fragments:[],frames:[],maxCandidateLength:a,normalizedInput:i,normalizedMatchedLength:z(i,0,t,!0),objectIndex:0,objects:e,rawInput:r,rawMatchedLength:z(r,0,t,!1),staticSuffix:n}}function ke(e,t){for(;!t.truncated;){if(!e.frames.length){if(e.objectIndex>=e.objects.length)return;let t=e.objects[e.objectIndex++];e.frames.push({depth:0,iterator:B(t),normalizedMatchedLength:e.normalizedMatchedLength,object:t,rawMatchedLength:e.rawMatchedLength,valueLength:0})}let n=e.frames.at(-1),r=n.iterator.next();if(r.done){e.frames.pop(),e.fragments.length=n.depth;continue}if(!Se(t))return;let i=r.value;if(!be(i))continue;let a=n.object[i];if(a==null)continue;let o=n.valueLength+ +!!n.depth+i.length;if(e.base.length+o+e.staticSuffix.length+1>e.maxCandidateLength)continue;let s=`-${i}`,c=n.rawMatchedLength<0?-1:z(e.rawInput,n.rawMatchedLength,s,!1),l=n.normalizedMatchedLength<0?-1:z(e.normalizedInput,n.normalizedMatchedLength,s,!0);if(c<0&&l<0)continue;e.fragments.length=n.depth,e.fragments.push(i);let u=typeof a==`object`&&!Array.isArray(a)?a:void 0;if(u&&e.frames.push({depth:n.depth+1,iterator:B(u),normalizedMatchedLength:l,object:u,rawMatchedLength:c,valueLength:o}),!(!u||Object.hasOwn(u,`DEFAULT`)&&u.DEFAULT!==null&&u.DEFAULT!==void 0))continue;let d=Ae(e.rawInput,c,e.staticSuffix,!1),f=Ae(e.normalizedInput,l,e.staticSuffix,!0);if(d||f)return{candidate:`${e.base}-${e.fragments.join(`-`)}${e.staticSuffix}`,normalizedMatch:f,rawMatch:d}}}function Ae(e,t,n,r){return t<0?!1:z(e,t,n,r)>=e.length}function je(e,t){let n=[],r=new Set,i=0,a=(e,t)=>{for(let a of e){if(n.length===t)return;if(!(!a||r.has(a)||a.length>u)){if(i+a.length>c)return;r.add(a),n.push(a),i+=a.length}}};return a(e,t.length?750:d),a(t,d),a(e,d),n}function*Me(e,t,n){e.type===`theme`?yield*Pe(e.objects,t,n):yield*Ne(e,t,n)}function*Ne(e,t,n){if(e.type===`static`){e.value.length<=t&&(yield e.value);return}if(e.type===`group`)for(let r of e.values){if(!Se(n))return;r.length<=t&&(yield r)}}function*Pe(e,t,n){let r=[];for(let i of e){r.length=0;let e=[{depth:0,iterator:B(i),object:i,valueLength:0}];for(;e.length&&!n.truncated;){let i=e.at(-1),a=i.iterator.next();if(a.done){e.pop(),r.length=i.depth;continue}if(!Se(n))return;let o=a.value;if(!be(o))continue;let s=i.object[o];if(s==null)continue;let c=i.valueLength+ +!!i.depth+o.length;if(c>t)continue;r.length=i.depth,r.push(o);let l=typeof s==`object`&&!Array.isArray(s)?s:void 0;l&&e.push({depth:i.depth+1,iterator:B(l),object:l,valueLength:c}),(!l||Object.hasOwn(l,`DEFAULT`)&&l.DEFAULT!==null&&l.DEFAULT!==void 0)&&(yield r.join(`-`))}}}function Fe(e,t){let n=xe(t.maxScans),r=e.map(e=>({done:!1,iterator:Me(e,t.maxCandidateLength,n),pending:void 0,seen:new Set,values:[]})),i=e.length+Math.max(0,t.maxCandidates-1),a=r.length,o=0,s=0,c=!1,l=r.length;for(;l&&!n.truncated;){let e=!1;for(let n of r){if(!n.values.length&&n.pending!==void 0&&o+n.pending.length<=t.maxCharacters){n.values.push(n.pending),o+=n.pending.length,n.pending=void 0,s++,l--,e=!0;continue}if(n.done)continue;let r=n.iterator.next();if(e=!0,r.done){n.done=!0,a--;continue}if(n.seen.has(r.value))continue;if(n.seen.add(r.value),!n.values.length){o+r.value.length<=t.maxCharacters?(n.values.push(r.value),o+=r.value.length,s++,l--):(n.pending===void 0||r.value.length<n.pending.length)&&(n.pending=r.value,c=!0);continue}let i=n.values[0];r.value.length<i.length&&(n.values[0]=r.value,o+=r.value.length-i.length,c=!0)}if(!e)break}for(;a&&s<i&&o<t.maxCharacters&&!n.truncated;){let e=!1;for(let n of r){if(n.done)continue;let r=n.iterator.next();if(r.done){n.done=!0,a--;continue}if(e=!0,!n.seen.has(r.value)){if(n.seen.add(r.value),o+r.value.length>t.maxCharacters){c=!0;continue}if(n.values.push(r.value),o+=r.value.length,s++,s===i)break}}if(!e)break}return c||=n.truncated||a>0||l>0,{scans:n.initial-n.remaining,truncated:c,values:r.map(e=>e.values)}}function Ie(e,t={},n=``){let r={...h,...t},i=Fe(e,r),a=i.values,o=i.scans,s,c=()=>{if(s===void 0){let t=Le(a,n,r);s=t?{combination:t,scans:0}:Re(e,n,r,Math.max(0,r.maxScans-o)),o+=s.scans}return s};if(a.some(e=>!e.length)){let e=i.truncated?c().combination:void 0;if(!e)return{candidates:[],truncated:i.truncated,attempts:0,scans:o};let t=H(r),n={remaining:r.maxAttempts};return U(t,n,0)&&W(t,e),{candidates:[...t.candidates],truncated:!0,attempts:r.maxAttempts-n.remaining,scans:o}}let u=0;for(let e of a){let t=e[0].length;for(let n=1;n<e.length;n++)t=Math.min(t,e[n].length);if(u+=t,u>Math.min(r.maxCandidateLength,r.maxCharacters)){let e=i.truncated?c().combination:void 0;if(!e)return{candidates:[],truncated:!0,attempts:0,scans:o};let t=H(r),n={remaining:r.maxAttempts};return U(t,n,0)&&W(t,e),{candidates:[...t.candidates],truncated:!0,attempts:r.maxAttempts-n.remaining,scans:o}}}let d=1,p=0,m=i.truncated;for(let e of a){if(m)continue;let t=0;for(let n of e)if(t+=n.length,t>r.maxCharacters)break;let n=p*e.length,i=d*t;d>r.maxCandidates/e.length||d>r.maxAttempts/e.length||n>r.maxCharacters||i>r.maxCharacters-n?m=!0:(d*=e.length,p=n+i)}let g={remaining:r.maxAttempts};if(!m){let e=H(r);return We(e,a,d,g),{candidates:[...e.candidates],truncated:!1,attempts:r.maxAttempts-g.remaining,scans:o}}let _=H(r),v=a.map(e=>e[0]),y=a.flatMap((e,t)=>e.length>1?[t]:[]),b=c().combination;b&&U(_,g,0)&&W(_,b),U(_,g,0)&&W(_,v);let x=Math.min(l,Math.max(0,g.remaining));return e.length&&x>f/e.length?{candidates:[..._.candidates],truncated:!0,attempts:r.maxAttempts-g.remaining,scans:o}:(Be(_,a,v,y,g),He(_,a,v,y,g),Ve(_,a,v,y,g),Ue(_,a,v,y,g),We(_,a,r.maxAttempts,g,!0),{candidates:[..._.candidates],truncated:!0,attempts:r.maxAttempts-g.remaining,scans:o})}function Le(e,t,n){if(!t||e.some(e=>!e.length))return;let r=t!==t.toLowerCase(),i=P(t,r);if(!i||i.length>n.maxCandidateLength)return;let a=Math.min(n.maxCandidateLength,n.maxCharacters),o=Array.from({length:e.length+1},()=>0);for(let t=e.length-1;t>=0;t--){let n=e[t][0].length;for(let r=1;r<e[t].length;r++)n=Math.min(n,e[t][r].length);o[t]=o[t+1]+n}if(o[0]>a)return;let s=[],c=0,l=0;for(let t=0;t<e.length;t++){let n,u=l;for(let s of e[t]){if(c+s.length+o[t+1]>a)continue;let e=ze(i,l,P(s,r)),d=e>l,f=u>l;(n===void 0||d&&!f||d===f&&(s.length<n.length||s.length===n.length&&e>u))&&(n=s,u=e)}if(n===void 0)return;s.push(n),c+=n.length,l=u}if(l<i.length)return;let u=s.join(``);if(M(i,P(u,r),u,0))return s}function Re(e,t,n,r){let i=xe(r),a=e=>({combination:e,scans:i.initial-i.remaining});if(!t)return a();let o=t!==t.toLowerCase(),s=P(t,o);if(!s||s.length>n.maxCandidateLength)return a();let c=Math.min(n.maxCandidateLength,n.maxCharacters),u=[{characters:0,choice:``,matched:0}],d=0,p=0;for(let t of e){let e=new Map,n=new Set;for(let r of Me(t,c,i)){if(n.has(r))continue;n.add(r);let t={normalized:P(r,o),raw:r};for(let n of u){if(p++,d+=t.normalized.length,p>l||d>f)return a();let r=n.characters+t.raw.length;if(r>c)continue;let i=ze(s,n.matched,t.normalized),o=e.get(i);o&&o.characters<=r||e.set(i,{characters:r,choice:t.raw,matched:i,previous:n})}}if(!e.size)return a();let r=1/0;u=[...e.values()].sort((e,t)=>t.matched-e.matched||e.characters-t.characters).filter(e=>e.characters>=r?!1:(r=e.characters,!0))}let m=u.find(e=>e.matched===s.length);if(!m)return a();let h=Array.from({length:e.length},()=>``),g=m;for(let t=e.length-1;t>=0;t--)h[t]=g.choice,g=g.previous;let _=h.join(``);return M(s,P(_,o),_,0)?a(h):a()}function ze(e,t,n){for(let r=0;r<n.length&&t<e.length;r++)n[r]===e[t]&&t++;return t}function H(e){return{candidates:new Set,characters:0,maxCandidateLength:e.maxCandidateLength,maxCandidates:e.maxCandidates,maxCharacters:e.maxCharacters}}function U(e,t,n){return n>=l||t.remaining<=0||e.candidates.size>=e.maxCandidates||e.characters>=e.maxCharacters?!1:(t.remaining--,!0)}function Be(e,t,n,r,i){let a=0;for(let o of r){if(!U(e,i,a))return;a++;let r=n.slice();r[o]=t[o].at(-1),W(e,r)}}function Ve(e,t,n,r,i){let a=0;for(let o=0;o<r.length;o++)for(let s=o+1;s<r.length;s++){if(!U(e,i,a))return;a++;let c=r[o],l=r[s],u=n.slice();u[c]=t[c].at(-1),u[l]=t[l].at(-1),W(e,u)}}function He(e,t,n,r,i){let a=0;for(let o of r)for(let r=1;r<t[o].length-1;r++){if(!U(e,i,a))return;a++;let s=n.slice();s[o]=t[o][r],W(e,s)}}function Ue(e,t,n,r,i){let a=0;for(let o=0;o<r.length;o++)for(let s=o+1;s<r.length;s++){let c=r[o],l=r[s];for(let r=1;r<t[c].length;r++)for(let o=1;o<t[l].length;o++){if(r===t[c].length-1&&o===t[l].length-1)continue;if(!U(e,i,a))return;a++;let s=n.slice();s[c]=t[c][r],s[l]=t[l][o],W(e,s)}}}function We(e,t,n,r,i=!1){if(!t.length){U(e,r,0)&&W(e,[``]);return}let a=t.map(()=>0),o=t.flatMap((e,t)=>e.length>1?[t]:[]),s=()=>{let e=o.length-1;for(;e>=0;){let n=o[e];if(a[n]++,a[n]<t[n].length)return!0;a[n]=0,e--}return!1};if(i&&!s())return;let c=Math.min(n,l);for(let n=0;n<c;n++){if(!U(e,r,n))return;if(W(e,t.map((e,t)=>e[a[t]])),!s())break}}function W(e,t){let n=e.maxCharacters-e.characters,r=0;for(let i of t)if(r+=i.length,r>Math.min(e.maxCandidateLength,n))return;let i=t.join(``);e.candidates.has(i)||e.candidates.size===e.maxCandidates||e.characters+i.length>e.maxCharacters||(e.candidates.add(i),e.characters+=i.length)}function Ge(e,t,n=!0){let r=t,i=t,a=/[^\s>"'`;]/;for(;r&&a.test(e.charAt(r-1));)--r;for(;i<e.length&&a.test(e.charAt(i));)++i;if(n)return{content:e.slice(r,i),start:r,end:i};let o=et(e,t),s=o?.key.toLowerCase();if(o&&(s?.endsWith(`class`)||s?.endsWith(`classname`)))return r=Math.max(r,o.valueStart),{content:e.slice(r,i),start:r,end:i};let c=e.slice(0,r).trimEnd();if(/(?:^|[\s;{])@apply$/.test(c))return{content:e.slice(r,i),start:r,end:i}}const Ke=new Set(`a abbr address area article aside audio b base bdi bdo blockquote body br button canvas caption cite code col colgroup data datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 head header hgroup hr html i iframe img input ins kbd label legend li link main map mark menu meta meter nav noscript object ol optgroup option output p picture pre progress q rp rt ruby s samp script search section select slot small source span strong style sub summary sup table tbody td template textarea tfoot th thead time title tr track u ul var video wbr svg`.split(` `)),qe=new Set(`=([{,:;!?&|>~`);function Je(e){return e>=65&&e<=90||e>=97&&e<=122}function Ye(e){return Je(e)||e===95}function Xe(e){return Ye(e)||e>=48&&e<=57||e===36||e===45||e===46||e===58}function Ze(e,t,n){let r=t-n.length;return r<0||e.slice(r,t)!==n?!1:r===0||!Xe(e.charCodeAt(r-1))}function Qe(e,t,n,r){if(Ke.has(n.toLowerCase())||n.includes(`-`)||r&&n.charCodeAt(0)>=65&&n.charCodeAt(0)<=90)return!0;let i=t-1;for(;i>=0&&/\s/.test(e.charAt(i));)i--;return i<0||qe.has(e.charAt(i))?!0:Ze(e,i+1,`return`)}function $e(e){let t,n=!1,r,i=0,a=0;for(;a<e.length;){if(t){let o=e.charAt(a);r?o===`\\`?a++:o===r&&(r=void 0):o===`"`||o===`'`?r=o:o===`{`?i++:o===`}`?i>0&&i--:o===`>`&&i===0&&(t=void 0,n=!0),a++;continue}if(e.charAt(a)===`;`&&(n=!1),e.charCodeAt(a)!==60){a++;continue}let o=a++;if(!Ye(e.charCodeAt(a)))continue;let s=a;for(;a<e.length&&Xe(e.charCodeAt(a));)a++;if(a<e.length&&!/[\s/>]/.test(e.charAt(a)))continue;let c=e.slice(s,a);Qe(e,o,c,n)&&(t={name:c,start:o},i=0)}return t}function et(e,t){let n=e.substring(0,t),r=$e(n);if(!r)return;let i=r.start+1,a=n.slice(i),o=-1,s=-1,c=-1,l=-1,u=-1,d=-1,f;for(let e=0;e<a.length;e++){let t=a.charAt(e);if(f){t===`\\`?e++:t===f&&(f=void 0);continue}if(t===`"`||t===`'`){f=t,o<0&&(o=e);continue}if(/\s/.test(t)){o>=0&&(s=o,c=e,o=-1);continue}if(t===`=`){let t=o>=0?o:s,n=o>=0?e:c;t>=0&&n>t&&t>=l&&(l=t,u=n,d=e)}o<0&&(o=e)}if(l<0)return;let p=d+1;for(;/\s/.test(a.charAt(p));)p++;let m=a.charAt(p);if(m===`"`||m===`'`){p++;for(let e=p;e<a.length;e++){let t=a.charAt(e);if(t===`\\`)e++;else if(t===m)return}}else if(/[\s>]/.test(a.slice(p)))return;return{key:a.slice(l,u),valueStart:i+p}}function tt(e,t){return et(e,t)?.key}function nt(e,t){return et(e,t)}function rt(e){return e.reduce((e,t)=>{let n=[];return e.forEach(e=>{t.forEach(t=>{n.push(e.concat([t]))})}),n},[[]])}const G=1e3,it=6e5,at=5e7,ot=6e4,K=3e5,st=5e4,ct=2e5,lt=5e3,q={...h,maxAttempts:15e3,maxCandidates:15e3,maxCharacters:6e5,maxScans:3e5};function ut(){return{active:0,waiters:[]}}function J(e){return e>=48&&e<=57}function dt(e){for(let t=0;t<e.length;t++)if(J(e.charCodeAt(t)))return!0;return!1}function ft(e,t){let n=0,r=0;for(;n<e.length&&r<t.length;){let i=e.charCodeAt(n),a=t.charCodeAt(r),o=J(i),s=J(a);if(o&&s){let i=n+1,a=r+1;for(;i<e.length&&J(e.charCodeAt(i));)i++;for(;a<t.length&&J(t.charCodeAt(a));)a++;let o=n,s=r;for(;o<i-1&&e.charCodeAt(o)===48;)o++;for(;s<a-1&&t.charCodeAt(s)===48;)s++;let c=i-o,l=a-s;if(c!==l)return c<l?-1:1;for(;o<i;){let n=e.charCodeAt(o)-t.charCodeAt(s);if(n)return n<0?-1:1;o++,s++}n=i,r=a;continue}if(i!==a)return i<a?-1:1;n++,r++}return n!==e.length||r!==t.length?n===e.length?-1:1:0}function Y(e,t){let n=dt(e);return n===dt(t)?ft(e,t)||(e===t?0:e<t?-1:1):n?1:-1}function X(e,t=K,n=at){return{attempts:0,heap:[],limit:e,maxAttempts:t,maxScannedCharacters:n,retained:new Set,scannedCharacters:0}}function Z(e){return e.attempts<e.maxAttempts&&e.scannedCharacters<e.maxScannedCharacters}function Q(e,t){return Z(e)?(e.attempts++,!t||e.retained.has(t)||t.length>ot||t.length>e.maxScannedCharacters-e.scannedCharacters?!0:(e.scannedCharacters+=t.length,pt(e,t),!0)):!1}function pt(e,t){if(!(!t||e.retained.has(t)||t.length>ot)){if(e.heap.length<e.limit){e.heap.push(t),e.retained.add(t),mt(e.heap,e.heap.length-1);return}Y(t,e.heap[0])>=0||(e.retained.delete(e.heap[0]),e.heap[0]=t,e.retained.add(t),ht(e.heap,0))}}function mt(e,t){let n=t;for(;n>0;){let t=Math.floor((n-1)/2);if(Y(e[t],e[n])>=0)return;[e[t],e[n]]=[e[n],e[t]],n=t}}function ht(e,t){let n=t;for(;;){let t=n*2+1;if(t>=e.length)return;let r=t+1,i=r<e.length&&Y(e[r],e[t])>0?r:t;if(Y(e[n],e[i])>=0)return;[e[n],e[i]]=[e[i],e[n]],n=i}}function $(e){let t=[],n=0;for(let r of e.heap.sort(Y))n+r.length>it||(t.push(r),n+=r.length);return t}function gt(e,t,n,r){return Math.floor((t+n)*e/r)-Math.floor(t*e/r)}function*_t(e){let t=e.filter(e=>e.length).map(e=>({index:0,source:e})),n=0;for(;t.length;){let e=t[n];yield e.source[e.index++],e.index===e.source.length?t.splice(n,1):n++,n===t.length&&(n=0)}}function*vt(e,t,n,r,i,a){for(;n.attempts<r&&n.characters<i;){let r=e.next();if(r.done)return;let o=r.value;n.attempts++,!(!o||t.has(o)||o.length>a||o.length>i-n.characters)&&(t.add(o),n.characters+=o.length,yield o)}}function yt(e){let t=``;for(let n of e.parts){if(n.type!==`static`)break;t+=n.value}return t}function bt(e,t){if(!t)return{priorityCount:0,templates:[...e]};let n=t.replace(/-/g,``),r=[],i=[];for(let a=0;a<e.length;a++){let o=e[a],s=yt(o),c=s.replace(/-/g,``),l=-1;s&&t.startsWith(s)?l=0:c&&n.startsWith(c)?l=1:s.startsWith(t)?l=2:c.startsWith(n)&&(l=3),l<0?i.push(o):r.push({category:l,index:a,parsed:o,prefixLength:l<2?l?c.length:s.length:0})}return r.sort((e,t)=>e.category-t.category||t.prefixLength-e.prefixLength||e.index-t.index),{priorityCount:r.length,templates:[...r.map(({parsed:e})=>e),...i]}}function xt(e,t){return e.length<=t?[...e]:t<=0?[]:t===1?[e[0]]:Array.from({length:t},(n,r)=>e[Math.floor(r*(e.length-1)/(t-1))])}async function St(e,t,n){let r=Array(e.length),i=0,a=!1,o=Array.from({length:Math.min(t,e.length)},async()=>{for(;!a&&i<e.length;){let t=i++;try{r[t]=await n(e[t])}catch(e){throw a=!0,e}}});return await Promise.all(o),r}function Ct(e,t=G){let n=X(t);for(let t of e)if(!Q(n,t))break;return $(n)}function wt(e,t){let n=[],r=new Set,i=0,a=0;for(let o of e)if(o.startsWith(t)){if(i===K||n.length===G||a>=it)break;i++,!(!o||r.has(o)||o.length>ot||a+o.length>it)&&(r.add(o),n.push(o),a+=o.length)}return n}function Tt(o,s={}){let c=new Map,l=new a({max:lt,maxSize:32e6,sizeCalculation:(e,t)=>Math.max(1,t.length*2+e.reduce((e,t)=>e+t.length*2+8,0))}),u=new Map,d=o.config,f=0,p=[],m,g,_=[],v=0,y=new Set,S=new Set,C=[],w=new Map,T=new Set,E=ut(),{matchType:D=`prefix`,throwErrors:ee=!0}=s;return F(),{suggest:O,suggestInFile:k,templates:C,cache:l,errorCache:u,reset:F,enumerate:te};async function te(){let e=Array.from(`abcdefghijklmnopqrstuvwxyz`),t=[...e,`-`],n=e.flatMap(e=>[e,...t.map(t=>`${e}${t}`)]);for(;;){I();let e=d,t=f,r=new Set;if(await ne(n,r,e,t,e=>e)&&await ne([...r].filter(e=>/^\w+$/.test(e)&&e.length>3),r,e,t,e=>`${e}-`))return r}}async function ne(e,t,n,r,i){for(let a=0;a<e.length;a+=128){let o=await R(Promise.all(e.slice(a,a+128).map(e=>O(i(e)))),n,r);if(o.stale)return!1;for(let e of o.value)for(let n of e)t.add(n)}return!0}async function O(e,t=!1){if(I(),!t&&e.length<1)return[];if(l.has(e))return l.get(e);let n=w.get(e);if(n)return n;let r=ie(e,t);w.set(e,r);try{return await r}finally{w.get(e)===r&&w.delete(e)}}async function ie(e,t){for(;;){I();let n=d,r=f;if(!t&&e.length<1)return[];if(l.has(e))return l.get(e);let i=n.presets.find(e=>e.name===`@teacss/preset-attributify`)?.options?.prefix,a=i?e.startsWith(i)?e.slice(i.length):e.replace(`:${i}`,`:`):e,s=await R(o.matchVariants(a),n,r);if(s.stale)continue;let c=await R(Promise.all(s.value.map(async([,t])=>{if(!t&&a)return[];let i=t?e.indexOf(t):e.length;i===-1&&(i=0);let o=e.slice(0,i),s=e.slice(i+t.length),c=D===`fuzzy`?[ae(t,n,r),ce(t,n,r),M(t),oe(t)]:[ae(t,n,r),oe(t),M(t),ce(t,n,r)];return z(await Promise.all(c),o,s)})),n,r);if(c.stale)continue;let u=c.value.flat();if(u=D===`fuzzy`?fe(j(u,e,{maxCandidates:q.maxCandidates,maxCharacters:q.maxCharacters}),e):Ct(u),!L(n,r))return l.set(e,u),u}}async function k(e,t){I();let n=d,r=f,i=tt(e,t)!==void 0,a=await R(A(e,t,n),n,r);if(a.stale)return k(e,t);let o=a.value;if(o){let a=await O(o.extracted,i);if(L(n,r))return k(e,t);let s=o.transformSuggestions?o.transformSuggestions(a):a;return{suggestions:a.map((e,t)=>[e,s[t]]),resolveReplacement:o.resolveReplacement}}let s=Ge(e,t,n.presets.some(e=>e.name===`@teacss/preset-attributify`));if(!s)return;let c=await O(s.content,i);return L(n,r)?k(e,t):{suggestions:c.map(e=>[e,e]),resolveReplacement:e=>({start:s.start,end:s.end,replacement:e})}}async function A(e,t,n){if(!n.autocomplete.extractors.length)return null;for(let r of n.autocomplete.extractors){let n=await r.extract({content:e,cursor:t});if(n)return n}return null}async function ae(e,t,n){let r=await o.parseToken(e,`-`);return r&&!L(t,n)&&(S.delete(e),S.add(e),S.size>lt&&S.delete(S.values().next().value)),r?[e]:[]}async function oe(e){if(D===`fuzzy`){let t=pe(),n=fe(_,e,t,v),r=j(me(),e,{maxAttempts:K,maxCandidates:750,maxCharacters:6e4});return j([...n,...r],e,{maxCandidates:G,maxCharacters:q.maxCharacters})}return m??=[...p].sort(Y),wt(m,e)}async function M(e){return Ct(t());function*t(){for(let t of S)t.startsWith(e)&&(yield t);for(let[t,n]of o.cache){if(!n)continue;let r=t.replace(/ -$/,``);r.startsWith(e)&&(yield r)}}}async function ce(e,t,n){let r=C.filter(e=>typeof e==`function`);if(D!==`fuzzy`){let i=he(e),a=await le(r,e,t,n);return[...i,...a]}let i=ge(e),a=await ue(r,e,t,n);return[...i,...a]}async function le(e,t,n,r){if(!e.length)return[];let i=X(G),a=X(G);for(let o=0;o<e.length;o+=8){let s=await St(e.slice(o,o+8),8,e=>N(e,t,n,r));if(L(n,r))return[];let c=gt(K,o,s.length,e.length),l=gt(at,o,s.length,e.length),u=X(G,c,l),d=_t(s.filter(e=>!!e?.length));for(;Z(u);){let e=d.next();if(e.done)break;Q(u,e.value)}for(let e of $(u))pt(i,e);let f=X(G,c,l);for(;Z(f);){let e=d.next();if(e.done)break;Q(f,e.value)}for(let e of $(f))pt(i,e);for(;Z(a);){let e=d.next();if(e.done)break;Q(a,e.value)}}for(let e of $(a))pt(i,e);return $(i)}async function ue(e,t,n,r){if(!e.length)return[];let i=[],a=new Set,o={attempts:0,characters:0};for(let s=0;s<e.length;s+=32){let c=await St(e.slice(s,s+32),32,e=>N(e,t,n,r));if(L(n,r))return[];let l=_t(c.filter(e=>!!e?.length)),u=gt(K,s,c.length,e.length),d=gt(h.maxScannedCharacters,s,c.length,e.length),f=j(l,t,{maxAttempts:u,maxCandidates:G,maxCharacters:q.maxCharacters,maxScannedCharacters:d});i=j([...i,...f],t,{maxAttempts:i.length+f.length,maxCandidates:G,maxCharacters:q.maxCharacters});let p=j(vt(l,a,{attempts:0,characters:0},u,d,h.maxCandidateLength),t,{maxAttempts:u,maxCandidates:750,maxCharacters:q.maxCharacters,maxScannedCharacters:d});i=j([...i,...p],t,{maxAttempts:i.length+p.length,maxCandidates:G,maxCharacters:q.maxCharacters});let m=j(vt(l,a,{attempts:0,characters:0},u,d,h.maxCandidateLength),t,{maxAttempts:u,maxCandidates:750,maxCharacters:q.maxCharacters,maxScannedCharacters:d});i=j([...i,...m],t,{maxAttempts:i.length+m.length,maxCandidates:G,maxCharacters:q.maxCharacters});let g=j(vt(l,a,o,K,h.maxScannedCharacters,h.maxCandidateLength),t,{maxAttempts:K-o.attempts,maxCandidates:750,maxCharacters:q.maxCharacters,maxScannedCharacters:h.maxScannedCharacters-o.characters});i=j([...i,...g],t,{maxAttempts:i.length+g.length,maxCandidates:G,maxCharacters:q.maxCharacters})}return i}async function N(e,t,n,r){let i=E;await de(i);try{if(L(n,r))return;try{return await e(t)}catch{return}}finally{P(i)}}async function de(e){if(e.active<128){e.active++;return}await new Promise(t=>e.waiters.push(t))}function P(e){let t=e.waiters.shift();t?t():e.active--}function fe(e,t,a,o){return se(t,o??e.reduce((e,t)=>e+t.length,0))?j(e,t,{maxCandidates:G,maxCharacters:q.maxCharacters}):(a??new n(e,{fuzzy:`v1`,limit:G,tiebreakers:[i,r]})).find(t).map(e=>e.item)}function pe(){if(g)return g;let e=new Set,t=0,a=0,o=n=>!n||e.has(n)||n.length>q.maxCandidateLength||e.size===q.maxCandidates||t+n.length>q.maxCharacters?!1:(e.add(n),t+=n.length,!0),s=0;for(;s<p.length&&a<q.maxAttempts&&e.size<q.maxCandidates&&t<q.maxCharacters;){let e=p[s++];a++,o(e)&&y.add(e)}return _=[...e],v=t,g=new n(_,{fuzzy:`v1`,limit:G,tiebreakers:[i,r]}),g}function*me(){for(let e of p)y.has(e)||(yield e)}function he(e){let t=X(G),n=0,r=0,i=0,a=bt([...c.values()],e).templates.slice(0,st);for(let o=0;o<a.length;o++){let s=K-n,c=at-r,l=ct-i;if(c<=0||s<=0||l<=0||!Z(t))break;let u=a.length-o,d=Math.max(1,Math.floor(s/u)),f=x(a[o],e,{maxAttempts:d,maxCandidateLength:ot,maxCandidates:d,maxCharacters:Math.max(1,Math.floor(c/u)),maxScans:Math.max(1,Math.floor(l/u))});n+=f.attempts,r+=f.characters,i+=f.scans;for(let e of f.suggestions)if(!Q(t,e))break}return $(t)}function ge(e){let t=[],n=new Set,r=0,i=0,a=0,o=0,s=bt([...c.values()],e).templates.slice(0,st),l=e=>{!e||n.has(e)||e.length>h.maxCandidateLength||a>=q.maxCandidates||r+e.length>q.maxCharacters||(n.add(e),t.push(e),a++,r+=e.length)},u=0;for(let t of j(f(),e,{maxAttempts:st,maxCandidates:750,maxCharacters:q.maxCharacters}))l(t);let d=xt(s,Math.max(1,Math.floor(Math.min(q.maxAttempts,q.maxCandidates-a)/2)));for(let t=0;t<d.length;t++){let n=q.maxAttempts-i,s=q.maxCandidates-a,c=q.maxCharacters-r,u=q.maxScans-o;if(n<=0||s<=0||c<=0||u<=0)break;let f=d.length-t,p={maxAttempts:Math.max(2,Math.floor(n/f)),maxCandidates:Math.max(2,Math.floor(s/f)),maxCharacters:Math.max(1,Math.floor(c/f)),maxScans:Math.max(1,Math.floor(u/f))},m;if(e.length<=1){let n=x(d[t],e,p);m=n.suggestions,i+=n.attempts,o+=n.scans}else{let n=Ie(d[t].parts,p,e);m=n.candidates,i+=n.attempts,o+=n.scans}for(let e of m)l(e)}return j(t,e,{maxAttempts:q.maxAttempts,maxCandidates:750,maxCharacters:q.maxCharacters});function*f(){for(let t=0;t<s.length;t++){let n=ct-u;if(n<=0)return;let r=s.length-t,i=(e.length<=1?x:b)(s[t],e,{maxAttempts:1,maxCandidates:1,maxCharacters:h.maxCandidateLength,maxScans:Math.max(1,Math.floor(n/r))});u+=i.scans,yield*i.suggestions}}}function F(){let t=o.config,n=[...Object.keys(t.rulesStaticMap),...t.shortcuts.filter(e=>typeof e[0]==`string`).map(e=>e[0])],r=[...t.autocomplete.templates||[],...t.rulesDynamic.flatMap(t=>e(t?.[2]?.autocomplete||[])),...t.shortcuts.flatMap(t=>e(t?.[2]?.autocomplete||[])),...t.variants.flatMap(t=>e(t.autocomplete||[]))],i=new Map,a=new Map;for(let e of r)if(typeof e!=`function`){if(i.has(e)||a.has(e))continue;let n=re(e,t.theme,t.autocomplete.shorthands);n.errors.length&&a.set(e,n.errors),i.set(e,n)}if(a.size&&ee){u.clear();for(let[e,t]of a)u.set(e,t);let e=Array.from(a.values()).flat().map(e=>e.toString()).join(`
|
|
2
|
+
`);throw Error(e)}f++;for(let e of[...T])e();d=t,p=n,m=void 0,C.length=0,C.push(...r),c.clear();for(let[e,t]of i)c.set(e,t);l.clear(),w.clear(),E=ut(),u.clear();for(let[e,t]of a)u.set(e,t);g=void 0,_=[],v=0,y.clear(),S.clear()}function I(){d!==o.config&&F()}function L(e,t){return e!==o.config||t!==f}function R(e,t,n){return new Promise((r,i)=>{let a=!1,s=e=>{a||(a=!0,l(),T.delete(c),r(e))},c=()=>s({stale:!0}),l=o.events.on(`config`,e=>{e!==t&&c()});T.add(c),Promise.resolve(e).then(e=>s({stale:!1,value:e}),e=>{a||(a=!0,l(),T.delete(c),i(e))}),L(t,n)&&c()})}function z(e,n=``,r=``){let i=t(e.flat()).filter(e=>!(!e||e.endsWith(`-`)||o.isBlocked(e)||o.isBlocked(n+e+r)));D!==`fuzzy`&&i.sort(Y);let a=i.map(e=>n+e+r);return D===`fuzzy`?a:Ct(a)}}export{S as AutocompleteParseError,rt as cartesian,Tt as createAutocomplete,w as ignoredThemeKeys,re as parseAutocomplete,nt as searchAttrContext,tt as searchAttrKey,Ge as searchUsageBoundary,C as shorthands};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teacss/autocomplete",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "TeaCSS suggestion engine — utility-class completions for a partial token or a position in a file.",
|
|
5
5
|
"homepage": "https://css.teasim.com",
|
|
6
6
|
"funding": "https://github.com/sponsors/billgo",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"dev": "tsdown --config-loader unrun --watch"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@teacss/core": "0.
|
|
25
|
+
"@teacss/core": "0.5.0",
|
|
26
26
|
"fzf": "^0.5.2",
|
|
27
27
|
"lru-cache": "^11.5.2"
|
|
28
28
|
},
|