UNPKG

@storybook/react

Version:
980 lines (963 loc) • 930 kB
import CJS_COMPAT_NODE_URL_0ccojhbbgp74 from 'node:url'; import CJS_COMPAT_NODE_PATH_0ccojhbbgp74 from 'node:path'; import CJS_COMPAT_NODE_MODULE_0ccojhbbgp74 from "node:module"; var __filename = CJS_COMPAT_NODE_URL_0ccojhbbgp74.fileURLToPath(import.meta.url); var __dirname = CJS_COMPAT_NODE_PATH_0ccojhbbgp74.dirname(__filename); var require = CJS_COMPAT_NODE_MODULE_0ccojhbbgp74.createRequire(import.meta.url); // ------------------------------------------------------------ // end of CJS compatibility banner, injected by Storybook's esbuild configuration // ------------------------------------------------------------ var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty; var __require = /* @__PURE__ */ ((x) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(x, { get: (a, b) => (typeof require < "u" ? require : a)[b] }) : x)(function(x) { if (typeof require < "u") return require.apply(this, arguments); throw Error('Dynamic require of "' + x + '" is not supported'); }); var __esm = (fn, res, err) => function() { if (err) throw err[0]; try { return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; } catch (e) { throw err = [e], e; } }; var __commonJS = (cb, mod) => function() { try { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; } catch (e) { throw mod = 0, e; } }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: !0 }); }, __copyProps = (to, from, except, desc) => { if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target, mod )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod); // ../../../node_modules/ts-dedent/dist/index.js var require_dist = __commonJS({ "../../../node_modules/ts-dedent/dist/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }); exports.dedent = void 0; function dedent4(templ) { for (var values = [], _i = 1; _i < arguments.length; _i++) values[_i - 1] = arguments[_i]; var strings = Array.from(typeof templ == "string" ? [templ] : templ); strings[strings.length - 1] = strings[strings.length - 1].replace(/\r?\n([\t ]*)$/, ""); var indentLengths = strings.reduce(function(arr, str) { var matches = str.match(/\n([\t ]+|(?!\s).)/g); return matches ? arr.concat(matches.map(function(match) { var _a, _b; return (_b = (_a = match.match(/[\t ]/g)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0; })) : arr; }, []); if (indentLengths.length) { var pattern_1 = new RegExp(` [ ]{` + Math.min.apply(Math, indentLengths) + "}", "g"); strings = strings.map(function(str) { return str.replace(pattern_1, ` `); }); } strings[0] = strings[0].replace(/^\r?\n/, ""); var string = strings[0]; return values.forEach(function(value, i2) { var endentations = string.match(/(?:^|\n)( *)$/), endentation = endentations ? endentations[1] : "", indentedValue = value; typeof value == "string" && value.includes(` `) && (indentedValue = String(value).split(` `).map(function(str, i3) { return i3 === 0 ? str : "" + endentation + str; }).join(` `)), string += indentedValue + strings[i2 + 1]; }), string; } exports.dedent = dedent4; exports.default = dedent4; } }); // ../../../node_modules/@volar/source-map/lib/binarySearch.js var require_binarySearch = __commonJS({ "../../../node_modules/@volar/source-map/lib/binarySearch.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }); exports.binarySearch = binarySearch; function binarySearch(values, searchValue) { let low = 0, high = values.length - 1, match; for (; low <= high; ) { let mid = Math.floor((low + high) / 2), midValue = values[mid]; if (midValue < searchValue) low = mid + 1; else if (midValue > searchValue) high = mid - 1; else { low = mid, high = mid, match = mid; break; } } let finalLow = Math.max(Math.min(low, high, values.length - 1), 0), finalHigh = Math.min(Math.max(low, high, 0), values.length - 1); return { low: finalLow, high: finalHigh, match }; } } }); // ../../../node_modules/@volar/source-map/lib/translateOffset.js var require_translateOffset = __commonJS({ "../../../node_modules/@volar/source-map/lib/translateOffset.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }); exports.translateOffset = translateOffset; var warned = !1; function translateOffset(start, fromOffsets, toOffsets, fromLengths, toLengths = fromLengths, preferEnd = !1) { if (!fromOffsets.every((value, index) => index === 0 || fromOffsets[index - 1] <= value)) { for (let i2 = 0; i2 < fromOffsets.length; i2++) { let fromOffset = fromOffsets[i2], fromLength = fromLengths[i2]; if (start >= fromOffset && start <= fromOffset + fromLength) { let toLength = toLengths[i2], toOffset = toOffsets[i2], rangeOffset, relativePos = start - fromOffset; return preferEnd && toLength > fromLength && relativePos === fromLength ? rangeOffset = toLength : rangeOffset = Math.min(relativePos, toLength), toOffset + rangeOffset; } } warned || (warned = !0, console.warn("fromOffsets should be sorted in ascending order")); } let low = 0, high = fromOffsets.length - 1; for (; low <= high; ) { let mid = Math.floor((low + high) / 2), fromOffset = fromOffsets[mid], fromLength = fromLengths[mid]; if (start >= fromOffset && start <= fromOffset + fromLength) { let toLength = toLengths[mid], toOffset = toOffsets[mid], rangeOffset, relativePos = start - fromOffset; return preferEnd && toLength > fromLength && relativePos === fromLength ? rangeOffset = toLength : rangeOffset = Math.min(relativePos, toLength), toOffset + rangeOffset; } else start < fromOffset ? high = mid - 1 : low = mid + 1; } } } }); // ../../../node_modules/@volar/source-map/lib/sourceMap.js var require_sourceMap = __commonJS({ "../../../node_modules/@volar/source-map/lib/sourceMap.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }); exports.SourceMap = void 0; var binarySearch_1 = require_binarySearch(), translateOffset_1 = require_translateOffset(), SourceMap = class { constructor(mappings) { this.mappings = mappings; } toSourceRange(generatedStart, generatedEnd, fallbackToAnyMatch, filter) { return this.findMatchingStartEnd(generatedStart, generatedEnd, fallbackToAnyMatch, "generatedOffsets", filter); } toGeneratedRange(sourceStart, sourceEnd, fallbackToAnyMatch, filter) { return this.findMatchingStartEnd(sourceStart, sourceEnd, fallbackToAnyMatch, "sourceOffsets", filter); } toSourceLocation(generatedOffset, filter) { return this.findMatchingOffsets(generatedOffset, "generatedOffsets", filter); } toGeneratedLocation(sourceOffset, filter) { return this.findMatchingOffsets(sourceOffset, "sourceOffsets", filter); } *findMatchingOffsets(offset2, fromRange, filter, preferEnd = !1) { let memo = this.getMemoBasedOnRange(fromRange); if (memo.offsets.length === 0) return; let { low: start, high: end } = (0, binarySearch_1.binarySearch)(memo.offsets, offset2), skip = /* @__PURE__ */ new Set(), toRange = fromRange === "sourceOffsets" ? "generatedOffsets" : "sourceOffsets"; for (let i2 = start; i2 <= end; i2++) for (let mapping of memo.mappings[i2]) { if (skip.has(mapping) || (skip.add(mapping), filter && !filter(mapping.data))) continue; let mapped = (0, translateOffset_1.translateOffset)(offset2, mapping[fromRange], mapping[toRange], getLengths(mapping, fromRange), getLengths(mapping, toRange), preferEnd); mapped !== void 0 && (yield [mapped, mapping]); } } *findMatchingStartEnd(start, end, fallbackToAnyMatch, fromRange, filter) { let toRange = fromRange === "sourceOffsets" ? "generatedOffsets" : "sourceOffsets", preferEnd = toRange === "sourceOffsets", mappedStarts = [], hadMatch = !1; for (let [mappedStart, mapping] of this.findMatchingOffsets(start, fromRange)) { if (filter && !filter(mapping.data)) continue; mappedStarts.push([mappedStart, mapping]); let mappedEnd = (0, translateOffset_1.translateOffset)(end, mapping[fromRange], mapping[toRange], getLengths(mapping, fromRange), getLengths(mapping, toRange), preferEnd); mappedEnd !== void 0 && (hadMatch = !0, yield [mappedStart, mappedEnd, mapping, mapping]); } if (!hadMatch && fallbackToAnyMatch) { for (let [mappedStart, mappingStart] of mappedStarts) for (let [mappedEnd, mappingEnd] of this.findMatchingOffsets(end, fromRange, void 0, preferEnd)) if (!(filter && !filter(mappingEnd.data) || mappedEnd < mappedStart)) { yield [mappedStart, mappedEnd, mappingStart, mappingEnd]; break; } } } getMemoBasedOnRange(fromRange) { return fromRange === "sourceOffsets" ? this.sourceCodeOffsetsMemo ??= this.createMemo("sourceOffsets") : this.generatedCodeOffsetsMemo ??= this.createMemo("generatedOffsets"); } createMemo(key) { let offsetsSet = /* @__PURE__ */ new Set(); for (let mapping of this.mappings) for (let i2 = 0; i2 < mapping[key].length; i2++) offsetsSet.add(mapping[key][i2]), offsetsSet.add(mapping[key][i2] + getLengths(mapping, key)[i2]); let offsets = [...offsetsSet].sort((a, b) => a - b), mappings = offsets.map(() => /* @__PURE__ */ new Set()); for (let mapping of this.mappings) for (let i2 = 0; i2 < mapping[key].length; i2++) { let startIndex = (0, binarySearch_1.binarySearch)(offsets, mapping[key][i2]).match, endIndex = (0, binarySearch_1.binarySearch)(offsets, mapping[key][i2] + getLengths(mapping, key)[i2]).match; for (let i3 = startIndex; i3 <= endIndex; i3++) mappings[i3].add(mapping); } return { offsets, mappings }; } }; exports.SourceMap = SourceMap; function getLengths(mapping, key) { return key === "sourceOffsets" ? mapping.lengths : mapping.generatedLengths ?? mapping.lengths; } } }); // ../../../node_modules/@volar/source-map/index.js var require_source_map = __commonJS({ "../../../node_modules/@volar/source-map/index.js"(exports) { "use strict"; var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) { k2 === void 0 && (k2 = k); var desc = Object.getOwnPropertyDescriptor(m, k); (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) && (desc = { enumerable: !0, get: function() { return m[k]; } }), Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { k2 === void 0 && (k2 = k), o[k2] = m[k]; })), __exportStar = exports && exports.__exportStar || function(m, exports2) { for (var p in m) p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p) && __createBinding(exports2, m, p); }; Object.defineProperty(exports, "__esModule", { value: !0 }); __exportStar(require_sourceMap(), exports); __exportStar(require_translateOffset(), exports); } }); // ../../../node_modules/@volar/language-core/lib/editor.js var require_editor = __commonJS({ "../../../node_modules/@volar/language-core/lib/editor.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }); exports.isHoverEnabled = isHoverEnabled; exports.isInlayHintsEnabled = isInlayHintsEnabled; exports.isCodeLensEnabled = isCodeLensEnabled; exports.isMonikerEnabled = isMonikerEnabled; exports.isInlineValueEnabled = isInlineValueEnabled; exports.isSemanticTokensEnabled = isSemanticTokensEnabled; exports.isCallHierarchyEnabled = isCallHierarchyEnabled; exports.isTypeHierarchyEnabled = isTypeHierarchyEnabled; exports.isRenameEnabled = isRenameEnabled; exports.isDefinitionEnabled = isDefinitionEnabled; exports.isTypeDefinitionEnabled = isTypeDefinitionEnabled; exports.isReferencesEnabled = isReferencesEnabled; exports.isImplementationEnabled = isImplementationEnabled; exports.isHighlightEnabled = isHighlightEnabled; exports.isSymbolsEnabled = isSymbolsEnabled; exports.isFoldingRangesEnabled = isFoldingRangesEnabled; exports.isSelectionRangesEnabled = isSelectionRangesEnabled; exports.isLinkedEditingEnabled = isLinkedEditingEnabled; exports.isColorEnabled = isColorEnabled; exports.isDocumentLinkEnabled = isDocumentLinkEnabled; exports.isDiagnosticsEnabled = isDiagnosticsEnabled; exports.isCodeActionsEnabled = isCodeActionsEnabled; exports.isFormattingEnabled = isFormattingEnabled; exports.isCompletionEnabled = isCompletionEnabled; exports.isAutoInsertEnabled = isAutoInsertEnabled; exports.isSignatureHelpEnabled = isSignatureHelpEnabled; exports.shouldReportDiagnostics = shouldReportDiagnostics; exports.resolveRenameNewName = resolveRenameNewName; exports.resolveRenameEditText = resolveRenameEditText; exports.findOverlapCodeRange = findOverlapCodeRange; function isHoverEnabled(info) { return !!info.semantic; } function isInlayHintsEnabled(info) { return !!info.semantic; } function isCodeLensEnabled(info) { return !!info.semantic; } function isMonikerEnabled(info) { return !!info.semantic; } function isInlineValueEnabled(info) { return !!info.semantic; } function isSemanticTokensEnabled(info) { return typeof info.semantic == "object" ? info.semantic.shouldHighlight?.() ?? !0 : !!info.semantic; } function isCallHierarchyEnabled(info) { return !!info.navigation; } function isTypeHierarchyEnabled(info) { return !!info.navigation; } function isRenameEnabled(info) { return typeof info.navigation == "object" ? info.navigation.shouldRename?.() ?? !0 : !!info.navigation; } function isDefinitionEnabled(info) { return !!info.navigation; } function isTypeDefinitionEnabled(info) { return !!info.navigation; } function isReferencesEnabled(info) { return !!info.navigation; } function isImplementationEnabled(info) { return !!info.navigation; } function isHighlightEnabled(info) { return typeof info.navigation == "object" ? info.navigation.shouldHighlight?.() ?? !0 : !!info.navigation; } function isSymbolsEnabled(info) { return !!info.structure; } function isFoldingRangesEnabled(info) { return !!info.structure; } function isSelectionRangesEnabled(info) { return !!info.structure; } function isLinkedEditingEnabled(info) { return !!info.structure; } function isColorEnabled(info) { return !!info.structure; } function isDocumentLinkEnabled(info) { return !!info.structure; } function isDiagnosticsEnabled(info) { return !!info.verification; } function isCodeActionsEnabled(info) { return !!info.verification; } function isFormattingEnabled(info) { return !!info.format; } function isCompletionEnabled(info) { return !!info.completion; } function isAutoInsertEnabled(info) { return !!info.completion; } function isSignatureHelpEnabled(info) { return !!info.completion; } function shouldReportDiagnostics(info, source, code) { return typeof info.verification == "object" ? info.verification.shouldReport?.(source, code) ?? !0 : !!info.verification; } function resolveRenameNewName(newName, info) { return typeof info.navigation == "object" ? info.navigation.resolveRenameNewName?.(newName) ?? newName : newName; } function resolveRenameEditText(text, info) { return typeof info.navigation == "object" ? info.navigation.resolveRenameEditText?.(text) ?? text : text; } function findOverlapCodeRange(start, end, map, filter) { let mappedStart, mappedEnd; for (let [mapped, mapping] of map.toGeneratedLocation(start)) if (filter(mapping.data)) { mappedStart = mapped; break; } for (let [mapped, mapping] of map.toGeneratedLocation(end)) if (filter(mapping.data)) { mappedEnd = mapped; break; } if (mappedStart === void 0 || mappedEnd === void 0) { for (let mapping of map.mappings) if (filter(mapping.data)) { let mappingStart = mapping.sourceOffsets[0], mappingEnd = mapping.sourceOffsets[mapping.sourceOffsets.length - 1] + mapping.lengths[mapping.lengths.length - 1], overlap = getOverlapRange(start, end, mappingStart, mappingEnd); if (overlap) { let curMappedStart = overlap.start - mappingStart + mapping.generatedOffsets[0], lastGeneratedLength = (mapping.generatedLengths ?? mapping.lengths)[mapping.generatedOffsets.length - 1], curMappedEndOffset = Math.min(overlap.end - mapping.sourceOffsets[mapping.sourceOffsets.length - 1], lastGeneratedLength), curMappedEnd = mapping.generatedOffsets[mapping.generatedOffsets.length - 1] + curMappedEndOffset; mappedStart = mappedStart === void 0 ? curMappedStart : Math.min(mappedStart, curMappedStart), mappedEnd = mappedEnd === void 0 ? curMappedEnd : Math.max(mappedEnd, curMappedEnd); } } } if (mappedStart !== void 0 && mappedEnd !== void 0) return { start: mappedStart, end: mappedEnd }; } function getOverlapRange(range1Start, range1End, range2Start, range2End) { let start = Math.max(range1Start, range2Start), end = Math.min(range1End, range2End); if (!(start > end)) return { start, end }; } } }); // ../../../node_modules/@volar/language-core/lib/linkedCodeMap.js var require_linkedCodeMap = __commonJS({ "../../../node_modules/@volar/language-core/lib/linkedCodeMap.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }); exports.LinkedCodeMap = void 0; var source_map_1 = require_source_map(), LinkedCodeMap = class extends source_map_1.SourceMap { *getLinkedOffsets(start) { for (let mapped of this.toGeneratedLocation(start)) yield mapped[0]; for (let mapped of this.toSourceLocation(start)) yield mapped[0]; } }; exports.LinkedCodeMap = LinkedCodeMap; } }); // ../../../node_modules/@volar/language-core/lib/types.js var require_types = __commonJS({ "../../../node_modules/@volar/language-core/lib/types.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }); } }); // ../../../node_modules/@volar/language-core/lib/utils.js var require_utils = __commonJS({ "../../../node_modules/@volar/language-core/lib/utils.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }); exports.FileMap = void 0; var FileMap2 = class extends Map { constructor(caseSensitive) { super(), this.caseSensitive = caseSensitive, this.originalFileNames = /* @__PURE__ */ new Map(); } keys() { return this.originalFileNames.values(); } get(key) { return super.get(this.normalizeId(key)); } has(key) { return super.has(this.normalizeId(key)); } set(key, value) { return this.originalFileNames.set(this.normalizeId(key), key), super.set(this.normalizeId(key), value); } delete(key) { return this.originalFileNames.delete(this.normalizeId(key)), super.delete(this.normalizeId(key)); } clear() { return this.originalFileNames.clear(), super.clear(); } normalizeId(id) { return this.caseSensitive ? id : id.toLowerCase(); } }; exports.FileMap = FileMap2; } }); // ../../../node_modules/@volar/language-core/index.js var require_language_core = __commonJS({ "../../../node_modules/@volar/language-core/index.js"(exports) { "use strict"; var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) { k2 === void 0 && (k2 = k); var desc = Object.getOwnPropertyDescriptor(m, k); (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) && (desc = { enumerable: !0, get: function() { return m[k]; } }), Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { k2 === void 0 && (k2 = k), o[k2] = m[k]; })), __exportStar = exports && exports.__exportStar || function(m, exports2) { for (var p in m) p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p) && __createBinding(exports2, m, p); }; Object.defineProperty(exports, "__esModule", { value: !0 }); exports.defaultMapperFactory = exports.SourceMap = void 0; exports.createLanguage = createLanguage2; exports.forEachEmbeddedCode = forEachEmbeddedCode; var source_map_1 = require_source_map(); Object.defineProperty(exports, "SourceMap", { enumerable: !0, get: function() { return source_map_1.SourceMap; } }); __exportStar(require_editor(), exports); __exportStar(require_linkedCodeMap(), exports); __exportStar(require_types(), exports); __exportStar(require_utils(), exports); var source_map_2 = require_source_map(), linkedCodeMap_1 = require_linkedCodeMap(), defaultMapperFactory = (mappings) => new source_map_2.SourceMap(mappings); exports.defaultMapperFactory = defaultMapperFactory; function createLanguage2(plugins, scriptRegistry, sync, onAssociationDirty) { let virtualCodeToSourceScriptMap = /* @__PURE__ */ new WeakMap(), virtualCodeToSourceMap = /* @__PURE__ */ new WeakMap(), virtualCodeToLinkedCodeMap = /* @__PURE__ */ new WeakMap(), language = { mapperFactory: exports.defaultMapperFactory, plugins, scripts: { fromVirtualCode(virtualCode) { return virtualCodeToSourceScriptMap.get(virtualCode); }, get(id, includeFsFiles = !0, shouldRegister = !1) { sync(id, includeFsFiles, shouldRegister); let result = scriptRegistry.get(id); return result?.isAssociationDirty && this.set(id, result.snapshot, result.languageId), scriptRegistry.get(id); }, set(id, snapshot, languageId, _plugins = plugins) { if (!languageId) { for (let plugin of plugins) if (languageId = plugin.getLanguageId?.(id), languageId) break; } if (!languageId) { console.warn(`languageId not found for ${String(id)}`); return; } let associatedOnly = !1; for (let plugin of plugins) if (plugin.isAssociatedFileOnly?.(id, languageId)) { associatedOnly = !0; break; } if (scriptRegistry.has(id)) { let sourceScript = scriptRegistry.get(id); if (sourceScript.languageId !== languageId || sourceScript.associatedOnly !== associatedOnly) return this.delete(id), triggerTargetsDirty(sourceScript), this.set(id, snapshot, languageId); if (associatedOnly) sourceScript.snapshot !== snapshot && (sourceScript.snapshot = snapshot, triggerTargetsDirty(sourceScript)); else if (sourceScript.isAssociationDirty || sourceScript.snapshot !== snapshot) { sourceScript.snapshot !== snapshot && (sourceScript.snapshot = snapshot, triggerTargetsDirty(sourceScript)); let codegenCtx = prepareCreateVirtualCode(sourceScript); if (sourceScript.generated) { let { updateVirtualCode, createVirtualCode } = sourceScript.generated.languagePlugin, newVirtualCode = updateVirtualCode ? updateVirtualCode(id, sourceScript.generated.root, snapshot, codegenCtx) : createVirtualCode?.(id, languageId, snapshot, codegenCtx); if (newVirtualCode) { sourceScript.generated.root = newVirtualCode, sourceScript.generated.embeddedCodes.clear(); for (let code of forEachEmbeddedCode(sourceScript.generated.root)) virtualCodeToSourceScriptMap.set(code, sourceScript), sourceScript.generated.embeddedCodes.set(code.id, code); return sourceScript; } else { this.delete(id); return; } } } else return sourceScript; } else { let sourceScript = { id, languageId, snapshot, associatedIds: /* @__PURE__ */ new Set(), targetIds: /* @__PURE__ */ new Set(), associatedOnly }; if (scriptRegistry.set(id, sourceScript), associatedOnly) return sourceScript; for (let languagePlugin of _plugins) { let virtualCode = languagePlugin.createVirtualCode?.(id, languageId, snapshot, prepareCreateVirtualCode(sourceScript)); if (virtualCode) { sourceScript.generated = { root: virtualCode, languagePlugin, embeddedCodes: /* @__PURE__ */ new Map() }; for (let code of forEachEmbeddedCode(virtualCode)) virtualCodeToSourceScriptMap.set(code, sourceScript), sourceScript.generated.embeddedCodes.set(code.id, code); break; } } return sourceScript; } }, delete(id) { let sourceScript = scriptRegistry.get(id); sourceScript && (sourceScript.generated?.languagePlugin.disposeVirtualCode?.(id, sourceScript.generated.root), scriptRegistry.delete(id), triggerTargetsDirty(sourceScript)); } }, maps: { get(virtualCode, sourceScript) { let mapCache = virtualCodeToSourceMap.get(virtualCode.snapshot); if (mapCache || virtualCodeToSourceMap.set(virtualCode.snapshot, mapCache = /* @__PURE__ */ new WeakMap()), !mapCache.has(sourceScript.snapshot)) { let mappings = virtualCode.associatedScriptMappings?.get(sourceScript.id) ?? virtualCode.mappings; mapCache.set(sourceScript.snapshot, language.mapperFactory(mappings)); } return mapCache.get(sourceScript.snapshot); }, *forEach(virtualCode) { let sourceScript = virtualCodeToSourceScriptMap.get(virtualCode); if (yield [ sourceScript, this.get(virtualCode, sourceScript) ], virtualCode.associatedScriptMappings) for (let [relatedScriptId] of virtualCode.associatedScriptMappings) { let relatedSourceScript = scriptRegistry.get(relatedScriptId); relatedSourceScript && (yield [ relatedSourceScript, this.get(virtualCode, relatedSourceScript) ]); } } }, linkedCodeMaps: { get(virtualCode) { let sourceScript = virtualCodeToSourceScriptMap.get(virtualCode), mapCache = virtualCodeToLinkedCodeMap.get(virtualCode.snapshot); return mapCache?.[0] !== sourceScript.snapshot && virtualCodeToLinkedCodeMap.set(virtualCode.snapshot, mapCache = [ sourceScript.snapshot, virtualCode.linkedCodeMappings ? new linkedCodeMap_1.LinkedCodeMap(virtualCode.linkedCodeMappings) : void 0 ]), mapCache[1]; } } }; return language; function triggerTargetsDirty(sourceScript) { sourceScript.targetIds.forEach((id) => { let sourceScript2 = scriptRegistry.get(id); sourceScript2 && (sourceScript2.isAssociationDirty = !0, onAssociationDirty?.(sourceScript2.id)); }); } function prepareCreateVirtualCode(sourceScript) { for (let id of sourceScript.associatedIds) scriptRegistry.get(id)?.targetIds.delete(sourceScript.id); return sourceScript.associatedIds.clear(), sourceScript.isAssociationDirty = !1, { getAssociatedScript(id) { sync(id, !0, !0); let relatedSourceScript = scriptRegistry.get(id); return relatedSourceScript && (relatedSourceScript.targetIds.add(sourceScript.id), sourceScript.associatedIds.add(relatedSourceScript.id)), relatedSourceScript; } }; } } function* forEachEmbeddedCode(virtualCode) { if (yield virtualCode, virtualCode.embeddedCodes) for (let embeddedCode of virtualCode.embeddedCodes) yield* forEachEmbeddedCode(embeddedCode); } } }); // ../../../node_modules/@volar/typescript/lib/common.js var require_common = __commonJS({ "../../../node_modules/@volar/typescript/lib/common.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }); exports.resolveFileLanguageId = resolveFileLanguageId2; function resolveFileLanguageId2(path4) { switch (path4.split(".").pop()) { case "js": return "javascript"; case "cjs": return "javascript"; case "mjs": return "javascript"; case "ts": return "typescript"; case "cts": return "typescript"; case "mts": return "typescript"; case "jsx": return "javascriptreact"; case "tsx": return "typescriptreact"; case "json": return "json"; } } } }); // ../../../node_modules/@volar/typescript/lib/resolveModuleName.js var require_resolveModuleName = __commonJS({ "../../../node_modules/@volar/typescript/lib/resolveModuleName.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }); exports.createResolveModuleName = createResolveModuleName; function createResolveModuleName(ts, getFileSize, host, languagePlugins, getSourceScript) { let toSourceFileInfo = /* @__PURE__ */ new Map(), moduleResolutionHost = { readFile: host.readFile.bind(host), directoryExists: host.directoryExists?.bind(host), realpath: host.realpath?.bind(host), getCurrentDirectory: host.getCurrentDirectory?.bind(host), getDirectories: host.getDirectories?.bind(host), useCaseSensitiveFileNames: typeof host.useCaseSensitiveFileNames == "function" ? host.useCaseSensitiveFileNames.bind(host) : host.useCaseSensitiveFileNames, fileExists(fileName) { let result = host.fileExists(fileName); for (let { typescript } of languagePlugins) if (typescript) { if (!result) for (let { extension } of typescript.extraFileExtensions) { if (!fileName.endsWith(`.d.${extension}.ts`)) continue; let sourceFileName = fileName.slice(0, -`.d.${extension}.ts`.length) + `.${extension}`; if (fileExists(sourceFileName)) { let sourceScript = getSourceScript(sourceFileName); if (sourceScript?.generated) { let serviceScript = sourceScript.generated.languagePlugin.typescript?.getServiceScript(sourceScript.generated.root); if (serviceScript) { let dtsPath = sourceFileName + ".d.ts"; return (serviceScript.extension === ".js" || serviceScript.extension === ".jsx") && fileExists(dtsPath) ? toSourceFileInfo.set(fileName, { sourceFileName: dtsPath, extension: ".ts" }) : toSourceFileInfo.set(fileName, { sourceFileName, extension: serviceScript.extension }), !0; } } } } if (typescript.resolveHiddenExtensions && fileName.endsWith(".d.ts")) for (let { extension } of typescript.extraFileExtensions) { let sourceFileName = fileName.slice(0, -5) + `.${extension}`; if (fileExists(sourceFileName)) { let sourceScript = getSourceScript(sourceFileName); if (sourceScript?.generated) { let serviceScript = sourceScript.generated.languagePlugin.typescript?.getServiceScript(sourceScript.generated.root); if (serviceScript) return toSourceFileInfo.set(fileName, { sourceFileName, extension: serviceScript.extension }), !0; } } } } return result; } }; return (moduleName, containingFile, compilerOptions, cache, redirectedReference, resolutionMode) => { let result = ts.resolveModuleName(moduleName, containingFile, compilerOptions, moduleResolutionHost, cache, redirectedReference, resolutionMode); if (result.resolvedModule) { let sourceFileInfo = toSourceFileInfo.get(result.resolvedModule.resolvedFileName); sourceFileInfo && (result.resolvedModule.resolvedFileName = sourceFileInfo.sourceFileName, result.resolvedModule.extension = sourceFileInfo.extension); } return toSourceFileInfo.clear(), result; }; function fileExists(fileName) { return host.fileExists(fileName) ? (getFileSize?.(fileName) ?? host.readFile(fileName)?.length ?? 0) < 4 * 1024 * 1024 : !1; } } } }); // ../../../node_modules/@volar/typescript/lib/node/utils.js var require_utils2 = __commonJS({ "../../../node_modules/@volar/typescript/lib/node/utils.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }); exports.getServiceScript = getServiceScript; exports.fixupImpliedNodeFormatForFile = fixupImpliedNodeFormatForFile; function getServiceScript(language, fileName) { let sourceScript = language.scripts.get(fileName); if (sourceScript?.targetIds.size) for (let targetId of sourceScript.targetIds) { let targetScript = language.scripts.get(targetId); if (targetScript?.generated) { let serviceScript = targetScript.generated.languagePlugin.typescript?.getServiceScript(targetScript.generated.root); if (serviceScript) return [serviceScript, targetScript, sourceScript]; } } if (sourceScript?.associatedOnly) return [void 0, sourceScript, sourceScript]; if (sourceScript?.generated) { let serviceScript = sourceScript.generated.languagePlugin.typescript?.getServiceScript(sourceScript.generated.root); if (serviceScript) return [serviceScript, sourceScript, sourceScript]; } return [void 0, void 0, void 0]; } function fixupImpliedNodeFormatForFile(ts, pluginExtensions, sourceFile, packageJsonInfoCache, host, options) { if (sourceFile.impliedNodeFormat !== void 0 || !pluginExtensions.some((ext) => sourceFile.fileName.endsWith(ext)) || [".d.ts", ".ts", ".tsx", ".js", ".jsx"].some((ext) => sourceFile.fileName.endsWith(ext))) return; let asTs = sourceFile.fileName + ".ts", impliedNodeFormat = ts.getImpliedNodeFormatForFileWorker?.(asTs, packageJsonInfoCache, host, options)?.impliedNodeFormat; if (impliedNodeFormat !== void 0) return sourceFile.impliedNodeFormat = impliedNodeFormat, () => sourceFile.impliedNodeFormat = void 0; } } }); // ../../../node_modules/@volar/typescript/lib/node/decorateLanguageServiceHost.js var require_decorateLanguageServiceHost = __commonJS({ "../../../node_modules/@volar/typescript/lib/node/decorateLanguageServiceHost.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }); exports.decorateLanguageServiceHost = decorateLanguageServiceHost; exports.searchExternalFiles = searchExternalFiles; var resolveModuleName_1 = require_resolveModuleName(), utils_1 = require_utils2(); function decorateLanguageServiceHost(ts, language, languageServiceHost) { let pluginExtensions = language.plugins.map((plugin) => plugin.typescript?.extraFileExtensions.map((ext) => "." + ext.extension) ?? []).flat(), scripts = /* @__PURE__ */ new Map(), crashFileNames = /* @__PURE__ */ new Set(), readDirectory = languageServiceHost.readDirectory?.bind(languageServiceHost), resolveModuleNameLiterals = languageServiceHost.resolveModuleNameLiterals?.bind(languageServiceHost), resolveModuleNames = languageServiceHost.resolveModuleNames?.bind(languageServiceHost), getScriptSnapshot = languageServiceHost.getScriptSnapshot.bind(languageServiceHost), getScriptKind = languageServiceHost.getScriptKind?.bind(languageServiceHost); if (readDirectory && (languageServiceHost.readDirectory = (path4, extensions, exclude, include, depth) => { if (extensions) for (let ext of pluginExtensions) extensions.includes(ext) || (extensions = [...extensions, ext]); return readDirectory(path4, extensions, exclude, include, depth); }), pluginExtensions.length) { let resolveModuleName = (0, resolveModuleName_1.createResolveModuleName)(ts, ts.sys.getFileSize, languageServiceHost, language.plugins, (fileName) => language.scripts.get(fileName)), moduleResolutionCache = languageServiceHost.getModuleResolutionCache?.(); resolveModuleNameLiterals && (languageServiceHost.resolveModuleNameLiterals = (moduleLiterals, containingFile, redirectedReference, options, containingSourceFile, ...rest) => { let disposeFixup = (0, utils_1.fixupImpliedNodeFormatForFile)(ts, pluginExtensions, containingSourceFile, moduleResolutionCache?.getPackageJsonInfoCache(), languageServiceHost, options); try { return moduleLiterals.every((name) => !pluginExtensions.some((ext) => name.text.endsWith(ext))) ? resolveModuleNameLiterals(moduleLiterals, containingFile, redirectedReference, options, containingSourceFile, ...rest) : moduleLiterals.map((moduleLiteral) => { let mode = ts.getModeForUsageLocation(containingSourceFile, moduleLiteral, options); return resolveModuleName(moduleLiteral.text, containingFile, options, moduleResolutionCache, redirectedReference, mode); }); } finally { disposeFixup?.(); } }), resolveModuleNames && (languageServiceHost.resolveModuleNames = (moduleNames, containingFile, reusedNames, redirectedReference, options, containingSourceFile) => moduleNames.every((name) => !pluginExtensions.some((ext) => name.endsWith(ext))) ? resolveModuleNames(moduleNames, containingFile, reusedNames, redirectedReference, options, containingSourceFile) : moduleNames.map((moduleName) => resolveModuleName(moduleName, containingFile, options, moduleResolutionCache, redirectedReference).resolvedModule)); } languageServiceHost.getScriptSnapshot = (fileName) => { let virtualScript = updateVirtualScript(fileName, !0); return virtualScript ? virtualScript.snapshot : getScriptSnapshot(fileName); }, getScriptKind && (languageServiceHost.getScriptKind = (fileName) => { let virtualScript = updateVirtualScript(fileName, !1); return virtualScript ? virtualScript.scriptKind : getScriptKind(fileName); }); function updateVirtualScript(fileName, shouldRegister) { if (crashFileNames.has(fileName)) return; let version2; try { version2 = languageServiceHost.getScriptVersion(fileName); } catch { crashFileNames.add(fileName); } if (version2 === void 0) return; let script = scripts.get(fileName); if (!script || script[0] !== version2) { script = [version2]; let sourceScript = language.scripts.get(fileName, void 0, shouldRegister); if (sourceScript?.generated) { let serviceScript = sourceScript.generated.languagePlugin.typescript?.getServiceScript(sourceScript.generated.root); if (serviceScript) if (serviceScript.preventLeadingOffset) script[1] = { extension: serviceScript.extension, scriptKind: serviceScript.scriptKind, snapshot: serviceScript.code.snapshot }; else { let virtualContents = sourceScript.snapshot.getText(0, sourceScript.snapshot.getLength()).split(` `).map((line) => " ".repeat(line.length)).join(` `) + serviceScript.code.snapshot.getText(0, serviceScript.code.snapshot.getLength()); script[1] = { extension: serviceScript.extension, scriptKind: serviceScript.scriptKind, snapshot: ts.ScriptSnapshot.fromString(virtualContents) }; } sourceScript.generated.languagePlugin.typescript?.getExtraServiceScripts && console.warn("getExtraServiceScripts() is not available in TS plugin."); } scripts.set(fileName, script); } return script[1]; } } function searchExternalFiles(ts, project, exts) { if (project.projectKind !== ts.server.ProjectKind.Configured) return []; let configFile = project.getProjectName(), config = ts.readJsonConfigFile(configFile, project.readFile.bind(project)), parseHost = { useCaseSensitiveFileNames: project.useCaseSensitiveFileNames(), fileExists: project.fileExists.bind(project), readFile: project.readFile.bind(project), readDirectory: (...args) => (args[1] = exts, project.readDirectory(...args)) }; return ts.parseJsonSourceFileConfigFileContent(config, parseHost, project.getCurrentDirectory()).fileNames; } } }); // ../../../node_modules/@volar/typescript/lib/node/transform.js var require_transform = __commonJS({ "../../../node_modules/@volar/typescript/lib/node/transform.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }); exports.transformCallHierarchyItem = transformCallHierarchyItem; exports.transformDiagnostic = transformDiagnostic; exports.fillSourceFileText = fillSourceFileText; exports.transformFileTextChanges = transformFileTextChanges; exports.transformDocumentSpan = transformDocumentSpan; exports.transformSpan = transformSpan; exports.transformTextChange = transformTextChange; exports.transformTextSpan = transformTextSpan; exports.toSourceOffset = toSourceOffset; exports.toSourceRanges = toSourceRanges; exports.toSourceOffsets = toSourceOffsets; exports.toGeneratedRange = toGeneratedRange; exports.toGeneratedRanges = toGeneratedRanges; exports.toGeneratedOffset = toGeneratedOffset; exports.toGeneratedOffsets = toGeneratedOffsets; exports.getMappingOffset = getMappingOffset; var language_core_1 = require_language_core(), utils_1 = require_utils2(), transformedDiagnostics = /* @__PURE__ */ new WeakMap(), transformedSourceFile = /* @__PURE__ */ new WeakSet(); function transformCallHierarchyItem(language, item, fallbackToAnyMatch, filter) { let span = transformSpan(language, item.file, item.span, fallbackToAnyMatch, filter), selectionSpan = transformSpan(language, item.file, item.selectionSpan, fallbackToAnyMatch, filter); return { ...item, file: span?.fileName ?? item.file, span: span?.textSpan ?? { start: 0, length: 0 }, selectionSpan: selectionSpan?.textSpan ?? { start: 0, length: 0 } }; } function transformDiagnostic(language, diagnostic, program, isTsc) { if (!transformedDiagnostics.has(diagnostic)) { transformedDiagnostics.set(diagnostic, void 0); let { relatedInformation } = diagnostic; if (relatedInformation && (diagnostic.relatedInformation = relatedInformation.map((d) => transformDiagnostic(language, d, program, isTsc)).filter((d) => !!d)), diagnostic.file !== void 0 && diagnostic.start !== void 0 && diagnostic.length !== void 0) { let [serviceScript] = (0, utils_1.getServiceScript)(language, diagnostic.file.fileName); if (serviceScript) { let [sourceSpanFileName, sourceSpan] = transformTextSpan(void 0, language, serviceScript, { start: diagnostic.start, length: diagnostic.length }, !0, (data2) => (0, language_core_1.shouldReportDiagnostics)(data2, String(diagnostic.source), String(diagnostic.code))) ?? [], actualDiagnosticFile = sourceSpanFileName ? diagnostic.file.fileName === sourceSpanFileName ? diagnostic.file : program?.getSourceFile(sourceSpanFileName) : void 0; sourceSpan && actualDiagnosticFile && (isTsc && fillSourceFileText(language, diagnostic.file), transformedDiagnostics.set(diagnostic, { ...diagnostic, file: actualDiagnosticFile, start: sourceSpan.start, length: sourceSpan.length })); } else transformedDiagnostics.set(diagnostic, diagnostic); } else transformedDiagnostics.set(diagnostic, diagnostic); } return transformedDiagnostics.get(diagnostic); } function fillSourceFileText(language, sourceFile) { if (transformedSourceFile.has(sourceFile)) return; transformedSourceFile.add(sourceFile); let [serviceScript] = (0, utils_1.getServiceScript)(language, sourceFile.fileName); if (serviceScript && !serviceScript.preventLeadingOffset) { let sourceScript = language.scripts.fromVirtualCode(serviceScript.code); sourceFile.text = sourceScript.snapshot.getText(0, sourceScript.snapshot.getLength()) + sourceFile.text.substring(sourceScript.snapshot.getLength()); } } function transformFileTextChanges(language, changes, fallbackToAnyMatch, filter) { let changesPerFile = {}, newFiles = /* @__PURE__ */ new Set(); for (let fileChanges of changes) { let [_, source] = (0, utils_1.getServiceScript)(language, fileChanges.fileName); if (source) fileChanges.textChanges.forEach((c) => { let { fileName, textSpan } = transformSpan(language, fileChanges.fileName, c.span, fallbackToAnyMatch, filter) ?? {}; fileName && textSpan && (changesPerFile[fileName] ?? (changesPerFile[fileName] = [])).push({ ...c, span: textSpan }); }); else { let list2 = changesPerFile[fileChanges.fileName] ?? (changesPerFile[fileChanges.fileName] = []); fileChanges.textChanges.forEach((c) => { list2.push(c); }), fileChanges.isNewFile && newFiles.add(fileChanges.fileName); } } let result = []; for (let fileName in changesPerFile) result.push({ fileName, isNewFile: newFiles.has(fileName), textChanges: changesPerFile[fileName] }); return result; } function transformDocumentSpan(language, documentSpan, fallbackToAnyMatch, filter, shouldFallback) { let textSpan = transformSpan(language, documentSpan.fileName, documentSpan.textSpan, fallbackToAnyMatch, filter); if (!textSpan && shouldFallback && (textSpan = { fileName: documentSpan.fileName, textSpan: { start: 0, length: 0 } }), !textSpan) return; let contextSpan = transformSpan(language, documentSpan.fileName, documentSpan.contextSpan, fallbackToAnyMatch, filter), originalTextSpan = transformSpan(language, documentSpan.originalFileName, documentSpan.originalTextSpan, fallbackToAnyMatch, filter), originalContextSpan = transformSpan(language, documentSpan.originalFileName, documentSpan.originalContextSpan, fallbackT