/* THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source, please visit the github repository of this plugin */ "use strict"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __typeError = (msg) => { throw TypeError(msg); }; var __defNormalProp = (obj, key2, value) => key2 in obj ? __defProp(obj, key2, { enumerable: true, configurable: true, writable: true, value }) : obj[key2] = value; var __commonJS = (cb, mod) => function __require() { 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: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key2 of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key2) && key2 !== except) __defProp(to, key2, { get: () => from[key2], enumerable: !(desc = __getOwnPropDesc(from, key2)) || 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: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var __publicField = (obj, key2, value) => __defNormalProp(obj, typeof key2 !== "symbol" ? key2 + "" : key2, value); var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg); var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj)); var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value); var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value); var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/common.js var require_common = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/common.js"(exports, module2) { "use strict"; function isNothing(subject) { return typeof subject === "undefined" || subject === null; } function isObject(subject) { return typeof subject === "object" && subject !== null; } function toArray(sequence) { if (Array.isArray(sequence)) return sequence; else if (isNothing(sequence)) return []; return [sequence]; } function extend(target, source2) { var index2, length, key2, sourceKeys; if (source2) { sourceKeys = Object.keys(source2); for (index2 = 0, length = sourceKeys.length; index2 < length; index2 += 1) { key2 = sourceKeys[index2]; target[key2] = source2[key2]; } } return target; } function repeat(string, count) { var result = "", cycle; for (cycle = 0; cycle < count; cycle += 1) { result += string; } return result; } function isNegativeZero(number) { return number === 0 && Number.NEGATIVE_INFINITY === 1 / number; } module2.exports.isNothing = isNothing; module2.exports.isObject = isObject; module2.exports.toArray = toArray; module2.exports.repeat = repeat; module2.exports.isNegativeZero = isNegativeZero; module2.exports.extend = extend; } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/exception.js var require_exception = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/exception.js"(exports, module2) { "use strict"; function YAMLException(reason, mark) { Error.call(this); this.name = "YAMLException"; this.reason = reason; this.mark = mark; this.message = (this.reason || "(unknown reason)") + (this.mark ? " " + this.mark.toString() : ""); if (Error.captureStackTrace) { Error.captureStackTrace(this, this.constructor); } else { this.stack = new Error().stack || ""; } } YAMLException.prototype = Object.create(Error.prototype); YAMLException.prototype.constructor = YAMLException; YAMLException.prototype.toString = function toString(compact) { var result = this.name + ": "; result += this.reason || "(unknown reason)"; if (!compact && this.mark) { result += " " + this.mark.toString(); } return result; }; module2.exports = YAMLException; } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/mark.js var require_mark = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/mark.js"(exports, module2) { "use strict"; var common = require_common(); function Mark(name, buffer, position, line, column) { this.name = name; this.buffer = buffer; this.position = position; this.line = line; this.column = column; } Mark.prototype.getSnippet = function getSnippet(indent, maxLength) { var head2, start, tail, end, snippet2; if (!this.buffer) return null; indent = indent || 4; maxLength = maxLength || 75; head2 = ""; start = this.position; while (start > 0 && "\0\r\n\x85\u2028\u2029".indexOf(this.buffer.charAt(start - 1)) === -1) { start -= 1; if (this.position - start > maxLength / 2 - 1) { head2 = " ... "; start += 5; break; } } tail = ""; end = this.position; while (end < this.buffer.length && "\0\r\n\x85\u2028\u2029".indexOf(this.buffer.charAt(end)) === -1) { end += 1; if (end - this.position > maxLength / 2 - 1) { tail = " ... "; end -= 5; break; } } snippet2 = this.buffer.slice(start, end); return common.repeat(" ", indent) + head2 + snippet2 + tail + "\n" + common.repeat(" ", indent + this.position - start + head2.length) + "^"; }; Mark.prototype.toString = function toString(compact) { var snippet2, where = ""; if (this.name) { where += 'in "' + this.name + '" '; } where += "at line " + (this.line + 1) + ", column " + (this.column + 1); if (!compact) { snippet2 = this.getSnippet(); if (snippet2) { where += ":\n" + snippet2; } } return where; }; module2.exports = Mark; } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type.js var require_type = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type.js"(exports, module2) { "use strict"; var YAMLException = require_exception(); var TYPE_CONSTRUCTOR_OPTIONS = [ "kind", "resolve", "construct", "instanceOf", "predicate", "represent", "defaultStyle", "styleAliases" ]; var YAML_NODE_KINDS = [ "scalar", "sequence", "mapping" ]; function compileStyleAliases(map) { var result = {}; if (map !== null) { Object.keys(map).forEach(function(style) { map[style].forEach(function(alias) { result[String(alias)] = style; }); }); } return result; } function Type(tag2, options) { options = options || {}; Object.keys(options).forEach(function(name) { if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) { throw new YAMLException('Unknown option "' + name + '" is met in definition of "' + tag2 + '" YAML type.'); } }); this.tag = tag2; this.kind = options["kind"] || null; this.resolve = options["resolve"] || function() { return true; }; this.construct = options["construct"] || function(data) { return data; }; this.instanceOf = options["instanceOf"] || null; this.predicate = options["predicate"] || null; this.represent = options["represent"] || null; this.defaultStyle = options["defaultStyle"] || null; this.styleAliases = compileStyleAliases(options["styleAliases"] || null); if (YAML_NODE_KINDS.indexOf(this.kind) === -1) { throw new YAMLException('Unknown kind "' + this.kind + '" is specified for "' + tag2 + '" YAML type.'); } } module2.exports = Type; } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/schema.js var require_schema = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/schema.js"(exports, module2) { "use strict"; var common = require_common(); var YAMLException = require_exception(); var Type = require_type(); function compileList(schema, name, result) { var exclude = []; schema.include.forEach(function(includedSchema) { result = compileList(includedSchema, name, result); }); schema[name].forEach(function(currentType) { result.forEach(function(previousType, previousIndex) { if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) { exclude.push(previousIndex); } }); result.push(currentType); }); return result.filter(function(type, index2) { return exclude.indexOf(index2) === -1; }); } function compileMap() { var result = { scalar: {}, sequence: {}, mapping: {}, fallback: {} }, index2, length; function collectType(type) { result[type.kind][type.tag] = result["fallback"][type.tag] = type; } for (index2 = 0, length = arguments.length; index2 < length; index2 += 1) { arguments[index2].forEach(collectType); } return result; } function Schema(definition) { this.include = definition.include || []; this.implicit = definition.implicit || []; this.explicit = definition.explicit || []; this.implicit.forEach(function(type) { if (type.loadKind && type.loadKind !== "scalar") { throw new YAMLException("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported."); } }); this.compiledImplicit = compileList(this, "implicit", []); this.compiledExplicit = compileList(this, "explicit", []); this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit); } Schema.DEFAULT = null; Schema.create = function createSchema() { var schemas, types; switch (arguments.length) { case 1: schemas = Schema.DEFAULT; types = arguments[0]; break; case 2: schemas = arguments[0]; types = arguments[1]; break; default: throw new YAMLException("Wrong number of arguments for Schema.create function"); } schemas = common.toArray(schemas); types = common.toArray(types); if (!schemas.every(function(schema) { return schema instanceof Schema; })) { throw new YAMLException("Specified list of super schemas (or a single Schema object) contains a non-Schema object."); } if (!types.every(function(type) { return type instanceof Type; })) { throw new YAMLException("Specified list of YAML types (or a single Type object) contains a non-Type object."); } return new Schema({ include: schemas, explicit: types }); }; module2.exports = Schema; } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/str.js var require_str = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/str.js"(exports, module2) { "use strict"; var Type = require_type(); module2.exports = new Type("tag:yaml.org,2002:str", { kind: "scalar", construct: function(data) { return data !== null ? data : ""; } }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/seq.js var require_seq = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/seq.js"(exports, module2) { "use strict"; var Type = require_type(); module2.exports = new Type("tag:yaml.org,2002:seq", { kind: "sequence", construct: function(data) { return data !== null ? data : []; } }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/map.js var require_map = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/map.js"(exports, module2) { "use strict"; var Type = require_type(); module2.exports = new Type("tag:yaml.org,2002:map", { kind: "mapping", construct: function(data) { return data !== null ? data : {}; } }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js var require_failsafe = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js"(exports, module2) { "use strict"; var Schema = require_schema(); module2.exports = new Schema({ explicit: [ require_str(), require_seq(), require_map() ] }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/null.js var require_null = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/null.js"(exports, module2) { "use strict"; var Type = require_type(); function resolveYamlNull(data) { if (data === null) return true; var max2 = data.length; return max2 === 1 && data === "~" || max2 === 4 && (data === "null" || data === "Null" || data === "NULL"); } function constructYamlNull() { return null; } function isNull(object) { return object === null; } module2.exports = new Type("tag:yaml.org,2002:null", { kind: "scalar", resolve: resolveYamlNull, construct: constructYamlNull, predicate: isNull, represent: { canonical: function() { return "~"; }, lowercase: function() { return "null"; }, uppercase: function() { return "NULL"; }, camelcase: function() { return "Null"; } }, defaultStyle: "lowercase" }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/bool.js var require_bool = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/bool.js"(exports, module2) { "use strict"; var Type = require_type(); function resolveYamlBoolean(data) { if (data === null) return false; var max2 = data.length; return max2 === 4 && (data === "true" || data === "True" || data === "TRUE") || max2 === 5 && (data === "false" || data === "False" || data === "FALSE"); } function constructYamlBoolean(data) { return data === "true" || data === "True" || data === "TRUE"; } function isBoolean(object) { return Object.prototype.toString.call(object) === "[object Boolean]"; } module2.exports = new Type("tag:yaml.org,2002:bool", { kind: "scalar", resolve: resolveYamlBoolean, construct: constructYamlBoolean, predicate: isBoolean, represent: { lowercase: function(object) { return object ? "true" : "false"; }, uppercase: function(object) { return object ? "TRUE" : "FALSE"; }, camelcase: function(object) { return object ? "True" : "False"; } }, defaultStyle: "lowercase" }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/int.js var require_int = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/int.js"(exports, module2) { "use strict"; var common = require_common(); var Type = require_type(); function isHexCode(c) { return 48 <= c && c <= 57 || 65 <= c && c <= 70 || 97 <= c && c <= 102; } function isOctCode(c) { return 48 <= c && c <= 55; } function isDecCode(c) { return 48 <= c && c <= 57; } function resolveYamlInteger(data) { if (data === null) return false; var max2 = data.length, index2 = 0, hasDigits = false, ch; if (!max2) return false; ch = data[index2]; if (ch === "-" || ch === "+") { ch = data[++index2]; } if (ch === "0") { if (index2 + 1 === max2) return true; ch = data[++index2]; if (ch === "b") { index2++; for (; index2 < max2; index2++) { ch = data[index2]; if (ch === "_") continue; if (ch !== "0" && ch !== "1") return false; hasDigits = true; } return hasDigits && ch !== "_"; } if (ch === "x") { index2++; for (; index2 < max2; index2++) { ch = data[index2]; if (ch === "_") continue; if (!isHexCode(data.charCodeAt(index2))) return false; hasDigits = true; } return hasDigits && ch !== "_"; } for (; index2 < max2; index2++) { ch = data[index2]; if (ch === "_") continue; if (!isOctCode(data.charCodeAt(index2))) return false; hasDigits = true; } return hasDigits && ch !== "_"; } if (ch === "_") return false; for (; index2 < max2; index2++) { ch = data[index2]; if (ch === "_") continue; if (ch === ":") break; if (!isDecCode(data.charCodeAt(index2))) { return false; } hasDigits = true; } if (!hasDigits || ch === "_") return false; if (ch !== ":") return true; return /^(:[0-5]?[0-9])+$/.test(data.slice(index2)); } function constructYamlInteger(data) { var value = data, sign = 1, ch, base, digits = []; if (value.indexOf("_") !== -1) { value = value.replace(/_/g, ""); } ch = value[0]; if (ch === "-" || ch === "+") { if (ch === "-") sign = -1; value = value.slice(1); ch = value[0]; } if (value === "0") return 0; if (ch === "0") { if (value[1] === "b") return sign * parseInt(value.slice(2), 2); if (value[1] === "x") return sign * parseInt(value, 16); return sign * parseInt(value, 8); } if (value.indexOf(":") !== -1) { value.split(":").forEach(function(v) { digits.unshift(parseInt(v, 10)); }); value = 0; base = 1; digits.forEach(function(d) { value += d * base; base *= 60; }); return sign * value; } return sign * parseInt(value, 10); } function isInteger(object) { return Object.prototype.toString.call(object) === "[object Number]" && (object % 1 === 0 && !common.isNegativeZero(object)); } module2.exports = new Type("tag:yaml.org,2002:int", { kind: "scalar", resolve: resolveYamlInteger, construct: constructYamlInteger, predicate: isInteger, represent: { binary: function(obj) { return obj >= 0 ? "0b" + obj.toString(2) : "-0b" + obj.toString(2).slice(1); }, octal: function(obj) { return obj >= 0 ? "0" + obj.toString(8) : "-0" + obj.toString(8).slice(1); }, decimal: function(obj) { return obj.toString(10); }, /* eslint-disable max-len */ hexadecimal: function(obj) { return obj >= 0 ? "0x" + obj.toString(16).toUpperCase() : "-0x" + obj.toString(16).toUpperCase().slice(1); } }, defaultStyle: "decimal", styleAliases: { binary: [2, "bin"], octal: [8, "oct"], decimal: [10, "dec"], hexadecimal: [16, "hex"] } }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/float.js var require_float = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/float.js"(exports, module2) { "use strict"; var common = require_common(); var Type = require_type(); var YAML_FLOAT_PATTERN = new RegExp( // 2.5e4, 2.5 and integers "^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$" ); function resolveYamlFloat(data) { if (data === null) return false; if (!YAML_FLOAT_PATTERN.test(data) || // Quick hack to not allow integers end with `_` // Probably should update regexp & check speed data[data.length - 1] === "_") { return false; } return true; } function constructYamlFloat(data) { var value, sign, base, digits; value = data.replace(/_/g, "").toLowerCase(); sign = value[0] === "-" ? -1 : 1; digits = []; if ("+-".indexOf(value[0]) >= 0) { value = value.slice(1); } if (value === ".inf") { return sign === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY; } else if (value === ".nan") { return NaN; } else if (value.indexOf(":") >= 0) { value.split(":").forEach(function(v) { digits.unshift(parseFloat(v, 10)); }); value = 0; base = 1; digits.forEach(function(d) { value += d * base; base *= 60; }); return sign * value; } return sign * parseFloat(value, 10); } var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/; function representYamlFloat(object, style) { var res; if (isNaN(object)) { switch (style) { case "lowercase": return ".nan"; case "uppercase": return ".NAN"; case "camelcase": return ".NaN"; } } else if (Number.POSITIVE_INFINITY === object) { switch (style) { case "lowercase": return ".inf"; case "uppercase": return ".INF"; case "camelcase": return ".Inf"; } } else if (Number.NEGATIVE_INFINITY === object) { switch (style) { case "lowercase": return "-.inf"; case "uppercase": return "-.INF"; case "camelcase": return "-.Inf"; } } else if (common.isNegativeZero(object)) { return "-0.0"; } res = object.toString(10); return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace("e", ".e") : res; } function isFloat(object) { return Object.prototype.toString.call(object) === "[object Number]" && (object % 1 !== 0 || common.isNegativeZero(object)); } module2.exports = new Type("tag:yaml.org,2002:float", { kind: "scalar", resolve: resolveYamlFloat, construct: constructYamlFloat, predicate: isFloat, represent: representYamlFloat, defaultStyle: "lowercase" }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/schema/json.js var require_json = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/schema/json.js"(exports, module2) { "use strict"; var Schema = require_schema(); module2.exports = new Schema({ include: [ require_failsafe() ], implicit: [ require_null(), require_bool(), require_int(), require_float() ] }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/schema/core.js var require_core = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/schema/core.js"(exports, module2) { "use strict"; var Schema = require_schema(); module2.exports = new Schema({ include: [ require_json() ] }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/timestamp.js var require_timestamp = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/timestamp.js"(exports, module2) { "use strict"; var Type = require_type(); var YAML_DATE_REGEXP = new RegExp( "^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$" ); var YAML_TIMESTAMP_REGEXP = new RegExp( "^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$" ); function resolveYamlTimestamp(data) { if (data === null) return false; if (YAML_DATE_REGEXP.exec(data) !== null) return true; if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true; return false; } function constructYamlTimestamp(data) { var match, year, month, day, hour, minute, second, fraction = 0, delta = null, tz_hour, tz_minute, date; match = YAML_DATE_REGEXP.exec(data); if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data); if (match === null) throw new Error("Date resolve error"); year = +match[1]; month = +match[2] - 1; day = +match[3]; if (!match[4]) { return new Date(Date.UTC(year, month, day)); } hour = +match[4]; minute = +match[5]; second = +match[6]; if (match[7]) { fraction = match[7].slice(0, 3); while (fraction.length < 3) { fraction += "0"; } fraction = +fraction; } if (match[9]) { tz_hour = +match[10]; tz_minute = +(match[11] || 0); delta = (tz_hour * 60 + tz_minute) * 6e4; if (match[9] === "-") delta = -delta; } date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction)); if (delta) date.setTime(date.getTime() - delta); return date; } function representYamlTimestamp(object) { return object.toISOString(); } module2.exports = new Type("tag:yaml.org,2002:timestamp", { kind: "scalar", resolve: resolveYamlTimestamp, construct: constructYamlTimestamp, instanceOf: Date, represent: representYamlTimestamp }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/merge.js var require_merge = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/merge.js"(exports, module2) { "use strict"; var Type = require_type(); function resolveYamlMerge(data) { return data === "<<" || data === null; } module2.exports = new Type("tag:yaml.org,2002:merge", { kind: "scalar", resolve: resolveYamlMerge }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/binary.js var require_binary = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/binary.js"(exports, module2) { "use strict"; var NodeBuffer; try { _require = require; NodeBuffer = _require("buffer").Buffer; } catch (__) { } var _require; var Type = require_type(); var BASE64_MAP = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r"; function resolveYamlBinary(data) { if (data === null) return false; var code, idx, bitlen = 0, max2 = data.length, map = BASE64_MAP; for (idx = 0; idx < max2; idx++) { code = map.indexOf(data.charAt(idx)); if (code > 64) continue; if (code < 0) return false; bitlen += 6; } return bitlen % 8 === 0; } function constructYamlBinary(data) { var idx, tailbits, input = data.replace(/[\r\n=]/g, ""), max2 = input.length, map = BASE64_MAP, bits = 0, result = []; for (idx = 0; idx < max2; idx++) { if (idx % 4 === 0 && idx) { result.push(bits >> 16 & 255); result.push(bits >> 8 & 255); result.push(bits & 255); } bits = bits << 6 | map.indexOf(input.charAt(idx)); } tailbits = max2 % 4 * 6; if (tailbits === 0) { result.push(bits >> 16 & 255); result.push(bits >> 8 & 255); result.push(bits & 255); } else if (tailbits === 18) { result.push(bits >> 10 & 255); result.push(bits >> 2 & 255); } else if (tailbits === 12) { result.push(bits >> 4 & 255); } if (NodeBuffer) { return NodeBuffer.from ? NodeBuffer.from(result) : new NodeBuffer(result); } return result; } function representYamlBinary(object) { var result = "", bits = 0, idx, tail, max2 = object.length, map = BASE64_MAP; for (idx = 0; idx < max2; idx++) { if (idx % 3 === 0 && idx) { result += map[bits >> 18 & 63]; result += map[bits >> 12 & 63]; result += map[bits >> 6 & 63]; result += map[bits & 63]; } bits = (bits << 8) + object[idx]; } tail = max2 % 3; if (tail === 0) { result += map[bits >> 18 & 63]; result += map[bits >> 12 & 63]; result += map[bits >> 6 & 63]; result += map[bits & 63]; } else if (tail === 2) { result += map[bits >> 10 & 63]; result += map[bits >> 4 & 63]; result += map[bits << 2 & 63]; result += map[64]; } else if (tail === 1) { result += map[bits >> 2 & 63]; result += map[bits << 4 & 63]; result += map[64]; result += map[64]; } return result; } function isBinary(object) { return NodeBuffer && NodeBuffer.isBuffer(object); } module2.exports = new Type("tag:yaml.org,2002:binary", { kind: "scalar", resolve: resolveYamlBinary, construct: constructYamlBinary, predicate: isBinary, represent: representYamlBinary }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/omap.js var require_omap = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/omap.js"(exports, module2) { "use strict"; var Type = require_type(); var _hasOwnProperty = Object.prototype.hasOwnProperty; var _toString = Object.prototype.toString; function resolveYamlOmap(data) { if (data === null) return true; var objectKeys = [], index2, length, pair, pairKey, pairHasKey, object = data; for (index2 = 0, length = object.length; index2 < length; index2 += 1) { pair = object[index2]; pairHasKey = false; if (_toString.call(pair) !== "[object Object]") return false; for (pairKey in pair) { if (_hasOwnProperty.call(pair, pairKey)) { if (!pairHasKey) pairHasKey = true; else return false; } } if (!pairHasKey) return false; if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey); else return false; } return true; } function constructYamlOmap(data) { return data !== null ? data : []; } module2.exports = new Type("tag:yaml.org,2002:omap", { kind: "sequence", resolve: resolveYamlOmap, construct: constructYamlOmap }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/pairs.js var require_pairs = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/pairs.js"(exports, module2) { "use strict"; var Type = require_type(); var _toString = Object.prototype.toString; function resolveYamlPairs(data) { if (data === null) return true; var index2, length, pair, keys, result, object = data; result = new Array(object.length); for (index2 = 0, length = object.length; index2 < length; index2 += 1) { pair = object[index2]; if (_toString.call(pair) !== "[object Object]") return false; keys = Object.keys(pair); if (keys.length !== 1) return false; result[index2] = [keys[0], pair[keys[0]]]; } return true; } function constructYamlPairs(data) { if (data === null) return []; var index2, length, pair, keys, result, object = data; result = new Array(object.length); for (index2 = 0, length = object.length; index2 < length; index2 += 1) { pair = object[index2]; keys = Object.keys(pair); result[index2] = [keys[0], pair[keys[0]]]; } return result; } module2.exports = new Type("tag:yaml.org,2002:pairs", { kind: "sequence", resolve: resolveYamlPairs, construct: constructYamlPairs }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/set.js var require_set = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/set.js"(exports, module2) { "use strict"; var Type = require_type(); var _hasOwnProperty = Object.prototype.hasOwnProperty; function resolveYamlSet(data) { if (data === null) return true; var key2, object = data; for (key2 in object) { if (_hasOwnProperty.call(object, key2)) { if (object[key2] !== null) return false; } } return true; } function constructYamlSet(data) { return data !== null ? data : {}; } module2.exports = new Type("tag:yaml.org,2002:set", { kind: "mapping", resolve: resolveYamlSet, construct: constructYamlSet }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js var require_default_safe = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js"(exports, module2) { "use strict"; var Schema = require_schema(); module2.exports = new Schema({ include: [ require_core() ], implicit: [ require_timestamp(), require_merge() ], explicit: [ require_binary(), require_omap(), require_pairs(), require_set() ] }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js var require_undefined = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js"(exports, module2) { "use strict"; var Type = require_type(); function resolveJavascriptUndefined() { return true; } function constructJavascriptUndefined() { return void 0; } function representJavascriptUndefined() { return ""; } function isUndefined(object) { return typeof object === "undefined"; } module2.exports = new Type("tag:yaml.org,2002:js/undefined", { kind: "scalar", resolve: resolveJavascriptUndefined, construct: constructJavascriptUndefined, predicate: isUndefined, represent: representJavascriptUndefined }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js var require_regexp = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js"(exports, module2) { "use strict"; var Type = require_type(); function resolveJavascriptRegExp(data) { if (data === null) return false; if (data.length === 0) return false; var regexp = data, tail = /\/([gim]*)$/.exec(data), modifiers = ""; if (regexp[0] === "/") { if (tail) modifiers = tail[1]; if (modifiers.length > 3) return false; if (regexp[regexp.length - modifiers.length - 1] !== "/") return false; } return true; } function constructJavascriptRegExp(data) { var regexp = data, tail = /\/([gim]*)$/.exec(data), modifiers = ""; if (regexp[0] === "/") { if (tail) modifiers = tail[1]; regexp = regexp.slice(1, regexp.length - modifiers.length - 1); } return new RegExp(regexp, modifiers); } function representJavascriptRegExp(object) { var result = "/" + object.source + "/"; if (object.global) result += "g"; if (object.multiline) result += "m"; if (object.ignoreCase) result += "i"; return result; } function isRegExp(object) { return Object.prototype.toString.call(object) === "[object RegExp]"; } module2.exports = new Type("tag:yaml.org,2002:js/regexp", { kind: "scalar", resolve: resolveJavascriptRegExp, construct: constructJavascriptRegExp, predicate: isRegExp, represent: representJavascriptRegExp }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/js/function.js var require_function = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/type/js/function.js"(exports, module2) { "use strict"; var esprima; try { _require = require; esprima = _require("esprima"); } catch (_) { if (typeof window !== "undefined") esprima = window.esprima; } var _require; var Type = require_type(); function resolveJavascriptFunction(data) { if (data === null) return false; try { var source2 = "(" + data + ")", ast = esprima.parse(source2, { range: true }); if (ast.type !== "Program" || ast.body.length !== 1 || ast.body[0].type !== "ExpressionStatement" || ast.body[0].expression.type !== "ArrowFunctionExpression" && ast.body[0].expression.type !== "FunctionExpression") { return false; } return true; } catch (err) { return false; } } function constructJavascriptFunction(data) { var source2 = "(" + data + ")", ast = esprima.parse(source2, { range: true }), params = [], body; if (ast.type !== "Program" || ast.body.length !== 1 || ast.body[0].type !== "ExpressionStatement" || ast.body[0].expression.type !== "ArrowFunctionExpression" && ast.body[0].expression.type !== "FunctionExpression") { throw new Error("Failed to resolve function"); } ast.body[0].expression.params.forEach(function(param) { params.push(param.name); }); body = ast.body[0].expression.body.range; if (ast.body[0].expression.body.type === "BlockStatement") { return new Function(params, source2.slice(body[0] + 1, body[1] - 1)); } return new Function(params, "return " + source2.slice(body[0], body[1])); } function representJavascriptFunction(object) { return object.toString(); } function isFunction(object) { return Object.prototype.toString.call(object) === "[object Function]"; } module2.exports = new Type("tag:yaml.org,2002:js/function", { kind: "scalar", resolve: resolveJavascriptFunction, construct: constructJavascriptFunction, predicate: isFunction, represent: representJavascriptFunction }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/schema/default_full.js var require_default_full = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/schema/default_full.js"(exports, module2) { "use strict"; var Schema = require_schema(); module2.exports = Schema.DEFAULT = new Schema({ include: [ require_default_safe() ], explicit: [ require_undefined(), require_regexp(), require_function() ] }); } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/loader.js var require_loader = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/loader.js"(exports, module2) { "use strict"; var common = require_common(); var YAMLException = require_exception(); var Mark = require_mark(); var DEFAULT_SAFE_SCHEMA = require_default_safe(); var DEFAULT_FULL_SCHEMA = require_default_full(); var _hasOwnProperty = Object.prototype.hasOwnProperty; var CONTEXT_FLOW_IN = 1; var CONTEXT_FLOW_OUT = 2; var CONTEXT_BLOCK_IN = 3; var CONTEXT_BLOCK_OUT = 4; var CHOMPING_CLIP = 1; var CHOMPING_STRIP = 2; var CHOMPING_KEEP = 3; var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/; var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/; var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i; var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; function _class(obj) { return Object.prototype.toString.call(obj); } function is_EOL(c) { return c === 10 || c === 13; } function is_WHITE_SPACE(c) { return c === 9 || c === 32; } function is_WS_OR_EOL(c) { return c === 9 || c === 32 || c === 10 || c === 13; } function is_FLOW_INDICATOR(c) { return c === 44 || c === 91 || c === 93 || c === 123 || c === 125; } function fromHexCode(c) { var lc; if (48 <= c && c <= 57) { return c - 48; } lc = c | 32; if (97 <= lc && lc <= 102) { return lc - 97 + 10; } return -1; } function escapedHexLen(c) { if (c === 120) { return 2; } if (c === 117) { return 4; } if (c === 85) { return 8; } return 0; } function fromDecimalCode(c) { if (48 <= c && c <= 57) { return c - 48; } return -1; } function simpleEscapeSequence(c) { return c === 48 ? "\0" : c === 97 ? "\x07" : c === 98 ? "\b" : c === 116 ? " " : c === 9 ? " " : c === 110 ? "\n" : c === 118 ? "\v" : c === 102 ? "\f" : c === 114 ? "\r" : c === 101 ? "\x1B" : c === 32 ? " " : c === 34 ? '"' : c === 47 ? "/" : c === 92 ? "\\" : c === 78 ? "\x85" : c === 95 ? "\xA0" : c === 76 ? "\u2028" : c === 80 ? "\u2029" : ""; } function charFromCodepoint(c) { if (c <= 65535) { return String.fromCharCode(c); } return String.fromCharCode( (c - 65536 >> 10) + 55296, (c - 65536 & 1023) + 56320 ); } function setProperty(object, key2, value) { if (key2 === "__proto__") { Object.defineProperty(object, key2, { configurable: true, enumerable: true, writable: true, value }); } else { object[key2] = value; } } var simpleEscapeCheck = new Array(256); var simpleEscapeMap = new Array(256); for (i = 0; i < 256; i++) { simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0; simpleEscapeMap[i] = simpleEscapeSequence(i); } var i; function State(input, options) { this.input = input; this.filename = options["filename"] || null; this.schema = options["schema"] || DEFAULT_FULL_SCHEMA; this.onWarning = options["onWarning"] || null; this.legacy = options["legacy"] || false; this.json = options["json"] || false; this.listener = options["listener"] || null; this.implicitTypes = this.schema.compiledImplicit; this.typeMap = this.schema.compiledTypeMap; this.length = input.length; this.position = 0; this.line = 0; this.lineStart = 0; this.lineIndent = 0; this.documents = []; } function generateError(state2, message) { return new YAMLException( message, new Mark(state2.filename, state2.input, state2.position, state2.line, state2.position - state2.lineStart) ); } function throwError(state2, message) { throw generateError(state2, message); } function throwWarning(state2, message) { if (state2.onWarning) { state2.onWarning.call(null, generateError(state2, message)); } } var directiveHandlers = { YAML: function handleYamlDirective(state2, name, args) { var match, major, minor; if (state2.version !== null) { throwError(state2, "duplication of %YAML directive"); } if (args.length !== 1) { throwError(state2, "YAML directive accepts exactly one argument"); } match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]); if (match === null) { throwError(state2, "ill-formed argument of the YAML directive"); } major = parseInt(match[1], 10); minor = parseInt(match[2], 10); if (major !== 1) { throwError(state2, "unacceptable YAML version of the document"); } state2.version = args[0]; state2.checkLineBreaks = minor < 2; if (minor !== 1 && minor !== 2) { throwWarning(state2, "unsupported YAML version of the document"); } }, TAG: function handleTagDirective(state2, name, args) { var handle, prefix; if (args.length !== 2) { throwError(state2, "TAG directive accepts exactly two arguments"); } handle = args[0]; prefix = args[1]; if (!PATTERN_TAG_HANDLE.test(handle)) { throwError(state2, "ill-formed tag handle (first argument) of the TAG directive"); } if (_hasOwnProperty.call(state2.tagMap, handle)) { throwError(state2, 'there is a previously declared suffix for "' + handle + '" tag handle'); } if (!PATTERN_TAG_URI.test(prefix)) { throwError(state2, "ill-formed tag prefix (second argument) of the TAG directive"); } state2.tagMap[handle] = prefix; } }; function captureSegment(state2, start, end, checkJson) { var _position, _length, _character, _result; if (start < end) { _result = state2.input.slice(start, end); if (checkJson) { for (_position = 0, _length = _result.length; _position < _length; _position += 1) { _character = _result.charCodeAt(_position); if (!(_character === 9 || 32 <= _character && _character <= 1114111)) { throwError(state2, "expected valid JSON character"); } } } else if (PATTERN_NON_PRINTABLE.test(_result)) { throwError(state2, "the stream contains non-printable characters"); } state2.result += _result; } } function mergeMappings(state2, destination, source2, overridableKeys) { var sourceKeys, key2, index2, quantity; if (!common.isObject(source2)) { throwError(state2, "cannot merge mappings; the provided source object is unacceptable"); } sourceKeys = Object.keys(source2); for (index2 = 0, quantity = sourceKeys.length; index2 < quantity; index2 += 1) { key2 = sourceKeys[index2]; if (!_hasOwnProperty.call(destination, key2)) { setProperty(destination, key2, source2[key2]); overridableKeys[key2] = true; } } } function storeMappingPair(state2, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startPos) { var index2, quantity; if (Array.isArray(keyNode)) { keyNode = Array.prototype.slice.call(keyNode); for (index2 = 0, quantity = keyNode.length; index2 < quantity; index2 += 1) { if (Array.isArray(keyNode[index2])) { throwError(state2, "nested arrays are not supported inside keys"); } if (typeof keyNode === "object" && _class(keyNode[index2]) === "[object Object]") { keyNode[index2] = "[object Object]"; } } } if (typeof keyNode === "object" && _class(keyNode) === "[object Object]") { keyNode = "[object Object]"; } keyNode = String(keyNode); if (_result === null) { _result = {}; } if (keyTag === "tag:yaml.org,2002:merge") { if (Array.isArray(valueNode)) { for (index2 = 0, quantity = valueNode.length; index2 < quantity; index2 += 1) { mergeMappings(state2, _result, valueNode[index2], overridableKeys); } } else { mergeMappings(state2, _result, valueNode, overridableKeys); } } else { if (!state2.json && !_hasOwnProperty.call(overridableKeys, keyNode) && _hasOwnProperty.call(_result, keyNode)) { state2.line = startLine || state2.line; state2.position = startPos || state2.position; throwError(state2, "duplicated mapping key"); } setProperty(_result, keyNode, valueNode); delete overridableKeys[keyNode]; } return _result; } function readLineBreak(state2) { var ch; ch = state2.input.charCodeAt(state2.position); if (ch === 10) { state2.position++; } else if (ch === 13) { state2.position++; if (state2.input.charCodeAt(state2.position) === 10) { state2.position++; } } else { throwError(state2, "a line break is expected"); } state2.line += 1; state2.lineStart = state2.position; } function skipSeparationSpace(state2, allowComments, checkIndent) { var lineBreaks = 0, ch = state2.input.charCodeAt(state2.position); while (ch !== 0) { while (is_WHITE_SPACE(ch)) { ch = state2.input.charCodeAt(++state2.position); } if (allowComments && ch === 35) { do { ch = state2.input.charCodeAt(++state2.position); } while (ch !== 10 && ch !== 13 && ch !== 0); } if (is_EOL(ch)) { readLineBreak(state2); ch = state2.input.charCodeAt(state2.position); lineBreaks++; state2.lineIndent = 0; while (ch === 32) { state2.lineIndent++; ch = state2.input.charCodeAt(++state2.position); } } else { break; } } if (checkIndent !== -1 && lineBreaks !== 0 && state2.lineIndent < checkIndent) { throwWarning(state2, "deficient indentation"); } return lineBreaks; } function testDocumentSeparator(state2) { var _position = state2.position, ch; ch = state2.input.charCodeAt(_position); if ((ch === 45 || ch === 46) && ch === state2.input.charCodeAt(_position + 1) && ch === state2.input.charCodeAt(_position + 2)) { _position += 3; ch = state2.input.charCodeAt(_position); if (ch === 0 || is_WS_OR_EOL(ch)) { return true; } } return false; } function writeFoldedLines(state2, count) { if (count === 1) { state2.result += " "; } else if (count > 1) { state2.result += common.repeat("\n", count - 1); } } function readPlainScalar(state2, nodeIndent, withinFlowCollection) { var preceding, following, captureStart, captureEnd, hasPendingContent, _line, _lineStart, _lineIndent, _kind = state2.kind, _result = state2.result, ch; ch = state2.input.charCodeAt(state2.position); if (is_WS_OR_EOL(ch) || is_FLOW_INDICATOR(ch) || ch === 35 || ch === 38 || ch === 42 || ch === 33 || ch === 124 || ch === 62 || ch === 39 || ch === 34 || ch === 37 || ch === 64 || ch === 96) { return false; } if (ch === 63 || ch === 45) { following = state2.input.charCodeAt(state2.position + 1); if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) { return false; } } state2.kind = "scalar"; state2.result = ""; captureStart = captureEnd = state2.position; hasPendingContent = false; while (ch !== 0) { if (ch === 58) { following = state2.input.charCodeAt(state2.position + 1); if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) { break; } } else if (ch === 35) { preceding = state2.input.charCodeAt(state2.position - 1); if (is_WS_OR_EOL(preceding)) { break; } } else if (state2.position === state2.lineStart && testDocumentSeparator(state2) || withinFlowCollection && is_FLOW_INDICATOR(ch)) { break; } else if (is_EOL(ch)) { _line = state2.line; _lineStart = state2.lineStart; _lineIndent = state2.lineIndent; skipSeparationSpace(state2, false, -1); if (state2.lineIndent >= nodeIndent) { hasPendingContent = true; ch = state2.input.charCodeAt(state2.position); continue; } else { state2.position = captureEnd; state2.line = _line; state2.lineStart = _lineStart; state2.lineIndent = _lineIndent; break; } } if (hasPendingContent) { captureSegment(state2, captureStart, captureEnd, false); writeFoldedLines(state2, state2.line - _line); captureStart = captureEnd = state2.position; hasPendingContent = false; } if (!is_WHITE_SPACE(ch)) { captureEnd = state2.position + 1; } ch = state2.input.charCodeAt(++state2.position); } captureSegment(state2, captureStart, captureEnd, false); if (state2.result) { return true; } state2.kind = _kind; state2.result = _result; return false; } function readSingleQuotedScalar(state2, nodeIndent) { var ch, captureStart, captureEnd; ch = state2.input.charCodeAt(state2.position); if (ch !== 39) { return false; } state2.kind = "scalar"; state2.result = ""; state2.position++; captureStart = captureEnd = state2.position; while ((ch = state2.input.charCodeAt(state2.position)) !== 0) { if (ch === 39) { captureSegment(state2, captureStart, state2.position, true); ch = state2.input.charCodeAt(++state2.position); if (ch === 39) { captureStart = state2.position; state2.position++; captureEnd = state2.position; } else { return true; } } else if (is_EOL(ch)) { captureSegment(state2, captureStart, captureEnd, true); writeFoldedLines(state2, skipSeparationSpace(state2, false, nodeIndent)); captureStart = captureEnd = state2.position; } else if (state2.position === state2.lineStart && testDocumentSeparator(state2)) { throwError(state2, "unexpected end of the document within a single quoted scalar"); } else { state2.position++; captureEnd = state2.position; } } throwError(state2, "unexpected end of the stream within a single quoted scalar"); } function readDoubleQuotedScalar(state2, nodeIndent) { var captureStart, captureEnd, hexLength, hexResult, tmp, ch; ch = state2.input.charCodeAt(state2.position); if (ch !== 34) { return false; } state2.kind = "scalar"; state2.result = ""; state2.position++; captureStart = captureEnd = state2.position; while ((ch = state2.input.charCodeAt(state2.position)) !== 0) { if (ch === 34) { captureSegment(state2, captureStart, state2.position, true); state2.position++; return true; } else if (ch === 92) { captureSegment(state2, captureStart, state2.position, true); ch = state2.input.charCodeAt(++state2.position); if (is_EOL(ch)) { skipSeparationSpace(state2, false, nodeIndent); } else if (ch < 256 && simpleEscapeCheck[ch]) { state2.result += simpleEscapeMap[ch]; state2.position++; } else if ((tmp = escapedHexLen(ch)) > 0) { hexLength = tmp; hexResult = 0; for (; hexLength > 0; hexLength--) { ch = state2.input.charCodeAt(++state2.position); if ((tmp = fromHexCode(ch)) >= 0) { hexResult = (hexResult << 4) + tmp; } else { throwError(state2, "expected hexadecimal character"); } } state2.result += charFromCodepoint(hexResult); state2.position++; } else { throwError(state2, "unknown escape sequence"); } captureStart = captureEnd = state2.position; } else if (is_EOL(ch)) { captureSegment(state2, captureStart, captureEnd, true); writeFoldedLines(state2, skipSeparationSpace(state2, false, nodeIndent)); captureStart = captureEnd = state2.position; } else if (state2.position === state2.lineStart && testDocumentSeparator(state2)) { throwError(state2, "unexpected end of the document within a double quoted scalar"); } else { state2.position++; captureEnd = state2.position; } } throwError(state2, "unexpected end of the stream within a double quoted scalar"); } function readFlowCollection(state2, nodeIndent) { var readNext = true, _line, _tag = state2.tag, _result, _anchor2 = state2.anchor, following, terminator, isPair, isExplicitPair, isMapping, overridableKeys = {}, keyNode, keyTag, valueNode, ch; ch = state2.input.charCodeAt(state2.position); if (ch === 91) { terminator = 93; isMapping = false; _result = []; } else if (ch === 123) { terminator = 125; isMapping = true; _result = {}; } else { return false; } if (state2.anchor !== null) { state2.anchorMap[state2.anchor] = _result; } ch = state2.input.charCodeAt(++state2.position); while (ch !== 0) { skipSeparationSpace(state2, true, nodeIndent); ch = state2.input.charCodeAt(state2.position); if (ch === terminator) { state2.position++; state2.tag = _tag; state2.anchor = _anchor2; state2.kind = isMapping ? "mapping" : "sequence"; state2.result = _result; return true; } else if (!readNext) { throwError(state2, "missed comma between flow collection entries"); } keyTag = keyNode = valueNode = null; isPair = isExplicitPair = false; if (ch === 63) { following = state2.input.charCodeAt(state2.position + 1); if (is_WS_OR_EOL(following)) { isPair = isExplicitPair = true; state2.position++; skipSeparationSpace(state2, true, nodeIndent); } } _line = state2.line; composeNode(state2, nodeIndent, CONTEXT_FLOW_IN, false, true); keyTag = state2.tag; keyNode = state2.result; skipSeparationSpace(state2, true, nodeIndent); ch = state2.input.charCodeAt(state2.position); if ((isExplicitPair || state2.line === _line) && ch === 58) { isPair = true; ch = state2.input.charCodeAt(++state2.position); skipSeparationSpace(state2, true, nodeIndent); composeNode(state2, nodeIndent, CONTEXT_FLOW_IN, false, true); valueNode = state2.result; } if (isMapping) { storeMappingPair(state2, _result, overridableKeys, keyTag, keyNode, valueNode); } else if (isPair) { _result.push(storeMappingPair(state2, null, overridableKeys, keyTag, keyNode, valueNode)); } else { _result.push(keyNode); } skipSeparationSpace(state2, true, nodeIndent); ch = state2.input.charCodeAt(state2.position); if (ch === 44) { readNext = true; ch = state2.input.charCodeAt(++state2.position); } else { readNext = false; } } throwError(state2, "unexpected end of the stream within a flow collection"); } function readBlockScalar(state2, nodeIndent) { var captureStart, folding, chomping = CHOMPING_CLIP, didReadContent = false, detectedIndent = false, textIndent = nodeIndent, emptyLines = 0, atMoreIndented = false, tmp, ch; ch = state2.input.charCodeAt(state2.position); if (ch === 124) { folding = false; } else if (ch === 62) { folding = true; } else { return false; } state2.kind = "scalar"; state2.result = ""; while (ch !== 0) { ch = state2.input.charCodeAt(++state2.position); if (ch === 43 || ch === 45) { if (CHOMPING_CLIP === chomping) { chomping = ch === 43 ? CHOMPING_KEEP : CHOMPING_STRIP; } else { throwError(state2, "repeat of a chomping mode identifier"); } } else if ((tmp = fromDecimalCode(ch)) >= 0) { if (tmp === 0) { throwError(state2, "bad explicit indentation width of a block scalar; it cannot be less than one"); } else if (!detectedIndent) { textIndent = nodeIndent + tmp - 1; detectedIndent = true; } else { throwError(state2, "repeat of an indentation width identifier"); } } else { break; } } if (is_WHITE_SPACE(ch)) { do { ch = state2.input.charCodeAt(++state2.position); } while (is_WHITE_SPACE(ch)); if (ch === 35) { do { ch = state2.input.charCodeAt(++state2.position); } while (!is_EOL(ch) && ch !== 0); } } while (ch !== 0) { readLineBreak(state2); state2.lineIndent = 0; ch = state2.input.charCodeAt(state2.position); while ((!detectedIndent || state2.lineIndent < textIndent) && ch === 32) { state2.lineIndent++; ch = state2.input.charCodeAt(++state2.position); } if (!detectedIndent && state2.lineIndent > textIndent) { textIndent = state2.lineIndent; } if (is_EOL(ch)) { emptyLines++; continue; } if (state2.lineIndent < textIndent) { if (chomping === CHOMPING_KEEP) { state2.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines); } else if (chomping === CHOMPING_CLIP) { if (didReadContent) { state2.result += "\n"; } } break; } if (folding) { if (is_WHITE_SPACE(ch)) { atMoreIndented = true; state2.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines); } else if (atMoreIndented) { atMoreIndented = false; state2.result += common.repeat("\n", emptyLines + 1); } else if (emptyLines === 0) { if (didReadContent) { state2.result += " "; } } else { state2.result += common.repeat("\n", emptyLines); } } else { state2.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines); } didReadContent = true; detectedIndent = true; emptyLines = 0; captureStart = state2.position; while (!is_EOL(ch) && ch !== 0) { ch = state2.input.charCodeAt(++state2.position); } captureSegment(state2, captureStart, state2.position, false); } return true; } function readBlockSequence(state2, nodeIndent) { var _line, _tag = state2.tag, _anchor2 = state2.anchor, _result = [], following, detected = false, ch; if (state2.anchor !== null) { state2.anchorMap[state2.anchor] = _result; } ch = state2.input.charCodeAt(state2.position); while (ch !== 0) { if (ch !== 45) { break; } following = state2.input.charCodeAt(state2.position + 1); if (!is_WS_OR_EOL(following)) { break; } detected = true; state2.position++; if (skipSeparationSpace(state2, true, -1)) { if (state2.lineIndent <= nodeIndent) { _result.push(null); ch = state2.input.charCodeAt(state2.position); continue; } } _line = state2.line; composeNode(state2, nodeIndent, CONTEXT_BLOCK_IN, false, true); _result.push(state2.result); skipSeparationSpace(state2, true, -1); ch = state2.input.charCodeAt(state2.position); if ((state2.line === _line || state2.lineIndent > nodeIndent) && ch !== 0) { throwError(state2, "bad indentation of a sequence entry"); } else if (state2.lineIndent < nodeIndent) { break; } } if (detected) { state2.tag = _tag; state2.anchor = _anchor2; state2.kind = "sequence"; state2.result = _result; return true; } return false; } function readBlockMapping(state2, nodeIndent, flowIndent) { var following, allowCompact, _line, _pos, _tag = state2.tag, _anchor2 = state2.anchor, _result = {}, overridableKeys = {}, keyTag = null, keyNode = null, valueNode = null, atExplicitKey = false, detected = false, ch; if (state2.anchor !== null) { state2.anchorMap[state2.anchor] = _result; } ch = state2.input.charCodeAt(state2.position); while (ch !== 0) { following = state2.input.charCodeAt(state2.position + 1); _line = state2.line; _pos = state2.position; if ((ch === 63 || ch === 58) && is_WS_OR_EOL(following)) { if (ch === 63) { if (atExplicitKey) { storeMappingPair(state2, _result, overridableKeys, keyTag, keyNode, null); keyTag = keyNode = valueNode = null; } detected = true; atExplicitKey = true; allowCompact = true; } else if (atExplicitKey) { atExplicitKey = false; allowCompact = true; } else { throwError(state2, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"); } state2.position += 1; ch = following; } else if (composeNode(state2, flowIndent, CONTEXT_FLOW_OUT, false, true)) { if (state2.line === _line) { ch = state2.input.charCodeAt(state2.position); while (is_WHITE_SPACE(ch)) { ch = state2.input.charCodeAt(++state2.position); } if (ch === 58) { ch = state2.input.charCodeAt(++state2.position); if (!is_WS_OR_EOL(ch)) { throwError(state2, "a whitespace character is expected after the key-value separator within a block mapping"); } if (atExplicitKey) { storeMappingPair(state2, _result, overridableKeys, keyTag, keyNode, null); keyTag = keyNode = valueNode = null; } detected = true; atExplicitKey = false; allowCompact = false; keyTag = state2.tag; keyNode = state2.result; } else if (detected) { throwError(state2, "can not read an implicit mapping pair; a colon is missed"); } else { state2.tag = _tag; state2.anchor = _anchor2; return true; } } else if (detected) { throwError(state2, "can not read a block mapping entry; a multiline key may not be an implicit key"); } else { state2.tag = _tag; state2.anchor = _anchor2; return true; } } else { break; } if (state2.line === _line || state2.lineIndent > nodeIndent) { if (composeNode(state2, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) { if (atExplicitKey) { keyNode = state2.result; } else { valueNode = state2.result; } } if (!atExplicitKey) { storeMappingPair(state2, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _pos); keyTag = keyNode = valueNode = null; } skipSeparationSpace(state2, true, -1); ch = state2.input.charCodeAt(state2.position); } if (state2.lineIndent > nodeIndent && ch !== 0) { throwError(state2, "bad indentation of a mapping entry"); } else if (state2.lineIndent < nodeIndent) { break; } } if (atExplicitKey) { storeMappingPair(state2, _result, overridableKeys, keyTag, keyNode, null); } if (detected) { state2.tag = _tag; state2.anchor = _anchor2; state2.kind = "mapping"; state2.result = _result; } return detected; } function readTagProperty(state2) { var _position, isVerbatim = false, isNamed = false, tagHandle, tagName, ch; ch = state2.input.charCodeAt(state2.position); if (ch !== 33) return false; if (state2.tag !== null) { throwError(state2, "duplication of a tag property"); } ch = state2.input.charCodeAt(++state2.position); if (ch === 60) { isVerbatim = true; ch = state2.input.charCodeAt(++state2.position); } else if (ch === 33) { isNamed = true; tagHandle = "!!"; ch = state2.input.charCodeAt(++state2.position); } else { tagHandle = "!"; } _position = state2.position; if (isVerbatim) { do { ch = state2.input.charCodeAt(++state2.position); } while (ch !== 0 && ch !== 62); if (state2.position < state2.length) { tagName = state2.input.slice(_position, state2.position); ch = state2.input.charCodeAt(++state2.position); } else { throwError(state2, "unexpected end of the stream within a verbatim tag"); } } else { while (ch !== 0 && !is_WS_OR_EOL(ch)) { if (ch === 33) { if (!isNamed) { tagHandle = state2.input.slice(_position - 1, state2.position + 1); if (!PATTERN_TAG_HANDLE.test(tagHandle)) { throwError(state2, "named tag handle cannot contain such characters"); } isNamed = true; _position = state2.position + 1; } else { throwError(state2, "tag suffix cannot contain exclamation marks"); } } ch = state2.input.charCodeAt(++state2.position); } tagName = state2.input.slice(_position, state2.position); if (PATTERN_FLOW_INDICATORS.test(tagName)) { throwError(state2, "tag suffix cannot contain flow indicator characters"); } } if (tagName && !PATTERN_TAG_URI.test(tagName)) { throwError(state2, "tag name cannot contain such characters: " + tagName); } if (isVerbatim) { state2.tag = tagName; } else if (_hasOwnProperty.call(state2.tagMap, tagHandle)) { state2.tag = state2.tagMap[tagHandle] + tagName; } else if (tagHandle === "!") { state2.tag = "!" + tagName; } else if (tagHandle === "!!") { state2.tag = "tag:yaml.org,2002:" + tagName; } else { throwError(state2, 'undeclared tag handle "' + tagHandle + '"'); } return true; } function readAnchorProperty(state2) { var _position, ch; ch = state2.input.charCodeAt(state2.position); if (ch !== 38) return false; if (state2.anchor !== null) { throwError(state2, "duplication of an anchor property"); } ch = state2.input.charCodeAt(++state2.position); _position = state2.position; while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { ch = state2.input.charCodeAt(++state2.position); } if (state2.position === _position) { throwError(state2, "name of an anchor node must contain at least one character"); } state2.anchor = state2.input.slice(_position, state2.position); return true; } function readAlias(state2) { var _position, alias, ch; ch = state2.input.charCodeAt(state2.position); if (ch !== 42) return false; ch = state2.input.charCodeAt(++state2.position); _position = state2.position; while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { ch = state2.input.charCodeAt(++state2.position); } if (state2.position === _position) { throwError(state2, "name of an alias node must contain at least one character"); } alias = state2.input.slice(_position, state2.position); if (!_hasOwnProperty.call(state2.anchorMap, alias)) { throwError(state2, 'unidentified alias "' + alias + '"'); } state2.result = state2.anchorMap[alias]; skipSeparationSpace(state2, true, -1); return true; } function composeNode(state2, parentIndent, nodeContext, allowToSeek, allowCompact) { var allowBlockStyles, allowBlockScalars, allowBlockCollections, indentStatus = 1, atNewLine = false, hasContent = false, typeIndex, typeQuantity, type, flowIndent, blockIndent; if (state2.listener !== null) { state2.listener("open", state2); } state2.tag = null; state2.anchor = null; state2.kind = null; state2.result = null; allowBlockStyles = allowBlockScalars = allowBlockCollections = CONTEXT_BLOCK_OUT === nodeContext || CONTEXT_BLOCK_IN === nodeContext; if (allowToSeek) { if (skipSeparationSpace(state2, true, -1)) { atNewLine = true; if (state2.lineIndent > parentIndent) { indentStatus = 1; } else if (state2.lineIndent === parentIndent) { indentStatus = 0; } else if (state2.lineIndent < parentIndent) { indentStatus = -1; } } } if (indentStatus === 1) { while (readTagProperty(state2) || readAnchorProperty(state2)) { if (skipSeparationSpace(state2, true, -1)) { atNewLine = true; allowBlockCollections = allowBlockStyles; if (state2.lineIndent > parentIndent) { indentStatus = 1; } else if (state2.lineIndent === parentIndent) { indentStatus = 0; } else if (state2.lineIndent < parentIndent) { indentStatus = -1; } } else { allowBlockCollections = false; } } } if (allowBlockCollections) { allowBlockCollections = atNewLine || allowCompact; } if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) { if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) { flowIndent = parentIndent; } else { flowIndent = parentIndent + 1; } blockIndent = state2.position - state2.lineStart; if (indentStatus === 1) { if (allowBlockCollections && (readBlockSequence(state2, blockIndent) || readBlockMapping(state2, blockIndent, flowIndent)) || readFlowCollection(state2, flowIndent)) { hasContent = true; } else { if (allowBlockScalars && readBlockScalar(state2, flowIndent) || readSingleQuotedScalar(state2, flowIndent) || readDoubleQuotedScalar(state2, flowIndent)) { hasContent = true; } else if (readAlias(state2)) { hasContent = true; if (state2.tag !== null || state2.anchor !== null) { throwError(state2, "alias node should not have any properties"); } } else if (readPlainScalar(state2, flowIndent, CONTEXT_FLOW_IN === nodeContext)) { hasContent = true; if (state2.tag === null) { state2.tag = "?"; } } if (state2.anchor !== null) { state2.anchorMap[state2.anchor] = state2.result; } } } else if (indentStatus === 0) { hasContent = allowBlockCollections && readBlockSequence(state2, blockIndent); } } if (state2.tag !== null && state2.tag !== "!") { if (state2.tag === "?") { if (state2.result !== null && state2.kind !== "scalar") { throwError(state2, 'unacceptable node kind for ! tag; it should be "scalar", not "' + state2.kind + '"'); } for (typeIndex = 0, typeQuantity = state2.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) { type = state2.implicitTypes[typeIndex]; if (type.resolve(state2.result)) { state2.result = type.construct(state2.result); state2.tag = type.tag; if (state2.anchor !== null) { state2.anchorMap[state2.anchor] = state2.result; } break; } } } else if (_hasOwnProperty.call(state2.typeMap[state2.kind || "fallback"], state2.tag)) { type = state2.typeMap[state2.kind || "fallback"][state2.tag]; if (state2.result !== null && type.kind !== state2.kind) { throwError(state2, "unacceptable node kind for !<" + state2.tag + '> tag; it should be "' + type.kind + '", not "' + state2.kind + '"'); } if (!type.resolve(state2.result)) { throwError(state2, "cannot resolve a node with !<" + state2.tag + "> explicit tag"); } else { state2.result = type.construct(state2.result); if (state2.anchor !== null) { state2.anchorMap[state2.anchor] = state2.result; } } } else { throwError(state2, "unknown tag !<" + state2.tag + ">"); } } if (state2.listener !== null) { state2.listener("close", state2); } return state2.tag !== null || state2.anchor !== null || hasContent; } function readDocument(state2) { var documentStart = state2.position, _position, directiveName, directiveArgs, hasDirectives = false, ch; state2.version = null; state2.checkLineBreaks = state2.legacy; state2.tagMap = {}; state2.anchorMap = {}; while ((ch = state2.input.charCodeAt(state2.position)) !== 0) { skipSeparationSpace(state2, true, -1); ch = state2.input.charCodeAt(state2.position); if (state2.lineIndent > 0 || ch !== 37) { break; } hasDirectives = true; ch = state2.input.charCodeAt(++state2.position); _position = state2.position; while (ch !== 0 && !is_WS_OR_EOL(ch)) { ch = state2.input.charCodeAt(++state2.position); } directiveName = state2.input.slice(_position, state2.position); directiveArgs = []; if (directiveName.length < 1) { throwError(state2, "directive name must not be less than one character in length"); } while (ch !== 0) { while (is_WHITE_SPACE(ch)) { ch = state2.input.charCodeAt(++state2.position); } if (ch === 35) { do { ch = state2.input.charCodeAt(++state2.position); } while (ch !== 0 && !is_EOL(ch)); break; } if (is_EOL(ch)) break; _position = state2.position; while (ch !== 0 && !is_WS_OR_EOL(ch)) { ch = state2.input.charCodeAt(++state2.position); } directiveArgs.push(state2.input.slice(_position, state2.position)); } if (ch !== 0) readLineBreak(state2); if (_hasOwnProperty.call(directiveHandlers, directiveName)) { directiveHandlers[directiveName](state2, directiveName, directiveArgs); } else { throwWarning(state2, 'unknown document directive "' + directiveName + '"'); } } skipSeparationSpace(state2, true, -1); if (state2.lineIndent === 0 && state2.input.charCodeAt(state2.position) === 45 && state2.input.charCodeAt(state2.position + 1) === 45 && state2.input.charCodeAt(state2.position + 2) === 45) { state2.position += 3; skipSeparationSpace(state2, true, -1); } else if (hasDirectives) { throwError(state2, "directives end mark is expected"); } composeNode(state2, state2.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true); skipSeparationSpace(state2, true, -1); if (state2.checkLineBreaks && PATTERN_NON_ASCII_LINE_BREAKS.test(state2.input.slice(documentStart, state2.position))) { throwWarning(state2, "non-ASCII line breaks are interpreted as content"); } state2.documents.push(state2.result); if (state2.position === state2.lineStart && testDocumentSeparator(state2)) { if (state2.input.charCodeAt(state2.position) === 46) { state2.position += 3; skipSeparationSpace(state2, true, -1); } return; } if (state2.position < state2.length - 1) { throwError(state2, "end of the stream or a document separator is expected"); } else { return; } } function loadDocuments(input, options) { input = String(input); options = options || {}; if (input.length !== 0) { if (input.charCodeAt(input.length - 1) !== 10 && input.charCodeAt(input.length - 1) !== 13) { input += "\n"; } if (input.charCodeAt(0) === 65279) { input = input.slice(1); } } var state2 = new State(input, options); var nullpos = input.indexOf("\0"); if (nullpos !== -1) { state2.position = nullpos; throwError(state2, "null byte is not allowed in input"); } state2.input += "\0"; while (state2.input.charCodeAt(state2.position) === 32) { state2.lineIndent += 1; state2.position += 1; } while (state2.position < state2.length - 1) { readDocument(state2); } return state2.documents; } function loadAll(input, iterator, options) { if (iterator !== null && typeof iterator === "object" && typeof options === "undefined") { options = iterator; iterator = null; } var documents = loadDocuments(input, options); if (typeof iterator !== "function") { return documents; } for (var index2 = 0, length = documents.length; index2 < length; index2 += 1) { iterator(documents[index2]); } } function load(input, options) { var documents = loadDocuments(input, options); if (documents.length === 0) { return void 0; } else if (documents.length === 1) { return documents[0]; } throw new YAMLException("expected a single document in the stream, but found more"); } function safeLoadAll(input, iterator, options) { if (typeof iterator === "object" && iterator !== null && typeof options === "undefined") { options = iterator; iterator = null; } return loadAll(input, iterator, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); } function safeLoad(input, options) { return load(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); } module2.exports.loadAll = loadAll; module2.exports.load = load; module2.exports.safeLoadAll = safeLoadAll; module2.exports.safeLoad = safeLoad; } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/dumper.js var require_dumper = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/dumper.js"(exports, module2) { "use strict"; var common = require_common(); var YAMLException = require_exception(); var DEFAULT_FULL_SCHEMA = require_default_full(); var DEFAULT_SAFE_SCHEMA = require_default_safe(); var _toString = Object.prototype.toString; var _hasOwnProperty = Object.prototype.hasOwnProperty; var CHAR_TAB = 9; var CHAR_LINE_FEED = 10; var CHAR_CARRIAGE_RETURN = 13; var CHAR_SPACE = 32; var CHAR_EXCLAMATION = 33; var CHAR_DOUBLE_QUOTE = 34; var CHAR_SHARP = 35; var CHAR_PERCENT = 37; var CHAR_AMPERSAND = 38; var CHAR_SINGLE_QUOTE = 39; var CHAR_ASTERISK = 42; var CHAR_COMMA = 44; var CHAR_MINUS = 45; var CHAR_COLON = 58; var CHAR_EQUALS = 61; var CHAR_GREATER_THAN = 62; var CHAR_QUESTION = 63; var CHAR_COMMERCIAL_AT = 64; var CHAR_LEFT_SQUARE_BRACKET = 91; var CHAR_RIGHT_SQUARE_BRACKET = 93; var CHAR_GRAVE_ACCENT = 96; var CHAR_LEFT_CURLY_BRACKET = 123; var CHAR_VERTICAL_LINE = 124; var CHAR_RIGHT_CURLY_BRACKET = 125; var ESCAPE_SEQUENCES = {}; ESCAPE_SEQUENCES[0] = "\\0"; ESCAPE_SEQUENCES[7] = "\\a"; ESCAPE_SEQUENCES[8] = "\\b"; ESCAPE_SEQUENCES[9] = "\\t"; ESCAPE_SEQUENCES[10] = "\\n"; ESCAPE_SEQUENCES[11] = "\\v"; ESCAPE_SEQUENCES[12] = "\\f"; ESCAPE_SEQUENCES[13] = "\\r"; ESCAPE_SEQUENCES[27] = "\\e"; ESCAPE_SEQUENCES[34] = '\\"'; ESCAPE_SEQUENCES[92] = "\\\\"; ESCAPE_SEQUENCES[133] = "\\N"; ESCAPE_SEQUENCES[160] = "\\_"; ESCAPE_SEQUENCES[8232] = "\\L"; ESCAPE_SEQUENCES[8233] = "\\P"; var DEPRECATED_BOOLEANS_SYNTAX = [ "y", "Y", "yes", "Yes", "YES", "on", "On", "ON", "n", "N", "no", "No", "NO", "off", "Off", "OFF" ]; function compileStyleMap(schema, map) { var result, keys, index2, length, tag2, style, type; if (map === null) return {}; result = {}; keys = Object.keys(map); for (index2 = 0, length = keys.length; index2 < length; index2 += 1) { tag2 = keys[index2]; style = String(map[tag2]); if (tag2.slice(0, 2) === "!!") { tag2 = "tag:yaml.org,2002:" + tag2.slice(2); } type = schema.compiledTypeMap["fallback"][tag2]; if (type && _hasOwnProperty.call(type.styleAliases, style)) { style = type.styleAliases[style]; } result[tag2] = style; } return result; } function encodeHex(character) { var string, handle, length; string = character.toString(16).toUpperCase(); if (character <= 255) { handle = "x"; length = 2; } else if (character <= 65535) { handle = "u"; length = 4; } else if (character <= 4294967295) { handle = "U"; length = 8; } else { throw new YAMLException("code point within a string may not be greater than 0xFFFFFFFF"); } return "\\" + handle + common.repeat("0", length - string.length) + string; } function State(options) { this.schema = options["schema"] || DEFAULT_FULL_SCHEMA; this.indent = Math.max(1, options["indent"] || 2); this.noArrayIndent = options["noArrayIndent"] || false; this.skipInvalid = options["skipInvalid"] || false; this.flowLevel = common.isNothing(options["flowLevel"]) ? -1 : options["flowLevel"]; this.styleMap = compileStyleMap(this.schema, options["styles"] || null); this.sortKeys = options["sortKeys"] || false; this.lineWidth = options["lineWidth"] || 80; this.noRefs = options["noRefs"] || false; this.noCompatMode = options["noCompatMode"] || false; this.condenseFlow = options["condenseFlow"] || false; this.implicitTypes = this.schema.compiledImplicit; this.explicitTypes = this.schema.compiledExplicit; this.tag = null; this.result = ""; this.duplicates = []; this.usedDuplicates = null; } function indentString(string, spaces) { var ind = common.repeat(" ", spaces), position = 0, next2 = -1, result = "", line, length = string.length; while (position < length) { next2 = string.indexOf("\n", position); if (next2 === -1) { line = string.slice(position); position = length; } else { line = string.slice(position, next2 + 1); position = next2 + 1; } if (line.length && line !== "\n") result += ind; result += line; } return result; } function generateNextLine(state2, level) { return "\n" + common.repeat(" ", state2.indent * level); } function testImplicitResolving(state2, str) { var index2, length, type; for (index2 = 0, length = state2.implicitTypes.length; index2 < length; index2 += 1) { type = state2.implicitTypes[index2]; if (type.resolve(str)) { return true; } } return false; } function isWhitespace(c) { return c === CHAR_SPACE || c === CHAR_TAB; } function isPrintable(c) { return 32 <= c && c <= 126 || 161 <= c && c <= 55295 && c !== 8232 && c !== 8233 || 57344 <= c && c <= 65533 && c !== 65279 || 65536 <= c && c <= 1114111; } function isNsChar(c) { return isPrintable(c) && !isWhitespace(c) && c !== 65279 && c !== CHAR_CARRIAGE_RETURN && c !== CHAR_LINE_FEED; } function isPlainSafe(c, prev) { return isPrintable(c) && c !== 65279 && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET && c !== CHAR_COLON && (c !== CHAR_SHARP || prev && isNsChar(prev)); } function isPlainSafeFirst(c) { return isPrintable(c) && c !== 65279 && !isWhitespace(c) && c !== CHAR_MINUS && c !== CHAR_QUESTION && c !== CHAR_COLON && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET && c !== CHAR_SHARP && c !== CHAR_AMPERSAND && c !== CHAR_ASTERISK && c !== CHAR_EXCLAMATION && c !== CHAR_VERTICAL_LINE && c !== CHAR_EQUALS && c !== CHAR_GREATER_THAN && c !== CHAR_SINGLE_QUOTE && c !== CHAR_DOUBLE_QUOTE && c !== CHAR_PERCENT && c !== CHAR_COMMERCIAL_AT && c !== CHAR_GRAVE_ACCENT; } function needIndentIndicator(string) { var leadingSpaceRe = /^\n* /; return leadingSpaceRe.test(string); } var STYLE_PLAIN = 1; var STYLE_SINGLE = 2; var STYLE_LITERAL = 3; var STYLE_FOLDED = 4; var STYLE_DOUBLE = 5; function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) { var i; var char, prev_char; var hasLineBreak = false; var hasFoldableLine = false; var shouldTrackWidth = lineWidth !== -1; var previousLineBreak = -1; var plain = isPlainSafeFirst(string.charCodeAt(0)) && !isWhitespace(string.charCodeAt(string.length - 1)); if (singleLineOnly) { for (i = 0; i < string.length; i++) { char = string.charCodeAt(i); if (!isPrintable(char)) { return STYLE_DOUBLE; } prev_char = i > 0 ? string.charCodeAt(i - 1) : null; plain = plain && isPlainSafe(char, prev_char); } } else { for (i = 0; i < string.length; i++) { char = string.charCodeAt(i); if (char === CHAR_LINE_FEED) { hasLineBreak = true; if (shouldTrackWidth) { hasFoldableLine = hasFoldableLine || // Foldable line = too long, and not more-indented. i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== " "; previousLineBreak = i; } } else if (!isPrintable(char)) { return STYLE_DOUBLE; } prev_char = i > 0 ? string.charCodeAt(i - 1) : null; plain = plain && isPlainSafe(char, prev_char); } hasFoldableLine = hasFoldableLine || shouldTrackWidth && (i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== " "); } if (!hasLineBreak && !hasFoldableLine) { return plain && !testAmbiguousType(string) ? STYLE_PLAIN : STYLE_SINGLE; } if (indentPerLevel > 9 && needIndentIndicator(string)) { return STYLE_DOUBLE; } return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL; } function writeScalar(state2, string, level, iskey) { state2.dump = (function() { if (string.length === 0) { return "''"; } if (!state2.noCompatMode && DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) { return "'" + string + "'"; } var indent = state2.indent * Math.max(1, level); var lineWidth = state2.lineWidth === -1 ? -1 : Math.max(Math.min(state2.lineWidth, 40), state2.lineWidth - indent); var singleLineOnly = iskey || state2.flowLevel > -1 && level >= state2.flowLevel; function testAmbiguity(string2) { return testImplicitResolving(state2, string2); } switch (chooseScalarStyle(string, singleLineOnly, state2.indent, lineWidth, testAmbiguity)) { case STYLE_PLAIN: return string; case STYLE_SINGLE: return "'" + string.replace(/'/g, "''") + "'"; case STYLE_LITERAL: return "|" + blockHeader(string, state2.indent) + dropEndingNewline(indentString(string, indent)); case STYLE_FOLDED: return ">" + blockHeader(string, state2.indent) + dropEndingNewline(indentString(foldString(string, lineWidth), indent)); case STYLE_DOUBLE: return '"' + escapeString(string, lineWidth) + '"'; default: throw new YAMLException("impossible error: invalid scalar style"); } })(); } function blockHeader(string, indentPerLevel) { var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : ""; var clip = string[string.length - 1] === "\n"; var keep = clip && (string[string.length - 2] === "\n" || string === "\n"); var chomp = keep ? "+" : clip ? "" : "-"; return indentIndicator + chomp + "\n"; } function dropEndingNewline(string) { return string[string.length - 1] === "\n" ? string.slice(0, -1) : string; } function foldString(string, width) { var lineRe = /(\n+)([^\n]*)/g; var result = (function() { var nextLF = string.indexOf("\n"); nextLF = nextLF !== -1 ? nextLF : string.length; lineRe.lastIndex = nextLF; return foldLine(string.slice(0, nextLF), width); })(); var prevMoreIndented = string[0] === "\n" || string[0] === " "; var moreIndented; var match; while (match = lineRe.exec(string)) { var prefix = match[1], line = match[2]; moreIndented = line[0] === " "; result += prefix + (!prevMoreIndented && !moreIndented && line !== "" ? "\n" : "") + foldLine(line, width); prevMoreIndented = moreIndented; } return result; } function foldLine(line, width) { if (line === "" || line[0] === " ") return line; var breakRe = / [^ ]/g; var match; var start = 0, end, curr = 0, next2 = 0; var result = ""; while (match = breakRe.exec(line)) { next2 = match.index; if (next2 - start > width) { end = curr > start ? curr : next2; result += "\n" + line.slice(start, end); start = end + 1; } curr = next2; } result += "\n"; if (line.length - start > width && curr > start) { result += line.slice(start, curr) + "\n" + line.slice(curr + 1); } else { result += line.slice(start); } return result.slice(1); } function escapeString(string) { var result = ""; var char, nextChar; var escapeSeq; for (var i = 0; i < string.length; i++) { char = string.charCodeAt(i); if (char >= 55296 && char <= 56319) { nextChar = string.charCodeAt(i + 1); if (nextChar >= 56320 && nextChar <= 57343) { result += encodeHex((char - 55296) * 1024 + nextChar - 56320 + 65536); i++; continue; } } escapeSeq = ESCAPE_SEQUENCES[char]; result += !escapeSeq && isPrintable(char) ? string[i] : escapeSeq || encodeHex(char); } return result; } function writeFlowSequence(state2, level, object) { var _result = "", _tag = state2.tag, index2, length; for (index2 = 0, length = object.length; index2 < length; index2 += 1) { if (writeNode(state2, level, object[index2], false, false)) { if (index2 !== 0) _result += "," + (!state2.condenseFlow ? " " : ""); _result += state2.dump; } } state2.tag = _tag; state2.dump = "[" + _result + "]"; } function writeBlockSequence(state2, level, object, compact) { var _result = "", _tag = state2.tag, index2, length; for (index2 = 0, length = object.length; index2 < length; index2 += 1) { if (writeNode(state2, level + 1, object[index2], true, true)) { if (!compact || index2 !== 0) { _result += generateNextLine(state2, level); } if (state2.dump && CHAR_LINE_FEED === state2.dump.charCodeAt(0)) { _result += "-"; } else { _result += "- "; } _result += state2.dump; } } state2.tag = _tag; state2.dump = _result || "[]"; } function writeFlowMapping(state2, level, object) { var _result = "", _tag = state2.tag, objectKeyList = Object.keys(object), index2, length, objectKey, objectValue, pairBuffer; for (index2 = 0, length = objectKeyList.length; index2 < length; index2 += 1) { pairBuffer = ""; if (index2 !== 0) pairBuffer += ", "; if (state2.condenseFlow) pairBuffer += '"'; objectKey = objectKeyList[index2]; objectValue = object[objectKey]; if (!writeNode(state2, level, objectKey, false, false)) { continue; } if (state2.dump.length > 1024) pairBuffer += "? "; pairBuffer += state2.dump + (state2.condenseFlow ? '"' : "") + ":" + (state2.condenseFlow ? "" : " "); if (!writeNode(state2, level, objectValue, false, false)) { continue; } pairBuffer += state2.dump; _result += pairBuffer; } state2.tag = _tag; state2.dump = "{" + _result + "}"; } function writeBlockMapping(state2, level, object, compact) { var _result = "", _tag = state2.tag, objectKeyList = Object.keys(object), index2, length, objectKey, objectValue, explicitPair, pairBuffer; if (state2.sortKeys === true) { objectKeyList.sort(); } else if (typeof state2.sortKeys === "function") { objectKeyList.sort(state2.sortKeys); } else if (state2.sortKeys) { throw new YAMLException("sortKeys must be a boolean or a function"); } for (index2 = 0, length = objectKeyList.length; index2 < length; index2 += 1) { pairBuffer = ""; if (!compact || index2 !== 0) { pairBuffer += generateNextLine(state2, level); } objectKey = objectKeyList[index2]; objectValue = object[objectKey]; if (!writeNode(state2, level + 1, objectKey, true, true, true)) { continue; } explicitPair = state2.tag !== null && state2.tag !== "?" || state2.dump && state2.dump.length > 1024; if (explicitPair) { if (state2.dump && CHAR_LINE_FEED === state2.dump.charCodeAt(0)) { pairBuffer += "?"; } else { pairBuffer += "? "; } } pairBuffer += state2.dump; if (explicitPair) { pairBuffer += generateNextLine(state2, level); } if (!writeNode(state2, level + 1, objectValue, true, explicitPair)) { continue; } if (state2.dump && CHAR_LINE_FEED === state2.dump.charCodeAt(0)) { pairBuffer += ":"; } else { pairBuffer += ": "; } pairBuffer += state2.dump; _result += pairBuffer; } state2.tag = _tag; state2.dump = _result || "{}"; } function detectType(state2, object, explicit) { var _result, typeList, index2, length, type, style; typeList = explicit ? state2.explicitTypes : state2.implicitTypes; for (index2 = 0, length = typeList.length; index2 < length; index2 += 1) { type = typeList[index2]; if ((type.instanceOf || type.predicate) && (!type.instanceOf || typeof object === "object" && object instanceof type.instanceOf) && (!type.predicate || type.predicate(object))) { state2.tag = explicit ? type.tag : "?"; if (type.represent) { style = state2.styleMap[type.tag] || type.defaultStyle; if (_toString.call(type.represent) === "[object Function]") { _result = type.represent(object, style); } else if (_hasOwnProperty.call(type.represent, style)) { _result = type.represent[style](object, style); } else { throw new YAMLException("!<" + type.tag + '> tag resolver accepts not "' + style + '" style'); } state2.dump = _result; } return true; } } return false; } function writeNode(state2, level, object, block2, compact, iskey) { state2.tag = null; state2.dump = object; if (!detectType(state2, object, false)) { detectType(state2, object, true); } var type = _toString.call(state2.dump); if (block2) { block2 = state2.flowLevel < 0 || state2.flowLevel > level; } var objectOrArray = type === "[object Object]" || type === "[object Array]", duplicateIndex, duplicate; if (objectOrArray) { duplicateIndex = state2.duplicates.indexOf(object); duplicate = duplicateIndex !== -1; } if (state2.tag !== null && state2.tag !== "?" || duplicate || state2.indent !== 2 && level > 0) { compact = false; } if (duplicate && state2.usedDuplicates[duplicateIndex]) { state2.dump = "*ref_" + duplicateIndex; } else { if (objectOrArray && duplicate && !state2.usedDuplicates[duplicateIndex]) { state2.usedDuplicates[duplicateIndex] = true; } if (type === "[object Object]") { if (block2 && Object.keys(state2.dump).length !== 0) { writeBlockMapping(state2, level, state2.dump, compact); if (duplicate) { state2.dump = "&ref_" + duplicateIndex + state2.dump; } } else { writeFlowMapping(state2, level, state2.dump); if (duplicate) { state2.dump = "&ref_" + duplicateIndex + " " + state2.dump; } } } else if (type === "[object Array]") { var arrayLevel = state2.noArrayIndent && level > 0 ? level - 1 : level; if (block2 && state2.dump.length !== 0) { writeBlockSequence(state2, arrayLevel, state2.dump, compact); if (duplicate) { state2.dump = "&ref_" + duplicateIndex + state2.dump; } } else { writeFlowSequence(state2, arrayLevel, state2.dump); if (duplicate) { state2.dump = "&ref_" + duplicateIndex + " " + state2.dump; } } } else if (type === "[object String]") { if (state2.tag !== "?") { writeScalar(state2, state2.dump, level, iskey); } } else { if (state2.skipInvalid) return false; throw new YAMLException("unacceptable kind of an object to dump " + type); } if (state2.tag !== null && state2.tag !== "?") { state2.dump = "!<" + state2.tag + "> " + state2.dump; } } return true; } function getDuplicateReferences(object, state2) { var objects = [], duplicatesIndexes = [], index2, length; inspectNode(object, objects, duplicatesIndexes); for (index2 = 0, length = duplicatesIndexes.length; index2 < length; index2 += 1) { state2.duplicates.push(objects[duplicatesIndexes[index2]]); } state2.usedDuplicates = new Array(length); } function inspectNode(object, objects, duplicatesIndexes) { var objectKeyList, index2, length; if (object !== null && typeof object === "object") { index2 = objects.indexOf(object); if (index2 !== -1) { if (duplicatesIndexes.indexOf(index2) === -1) { duplicatesIndexes.push(index2); } } else { objects.push(object); if (Array.isArray(object)) { for (index2 = 0, length = object.length; index2 < length; index2 += 1) { inspectNode(object[index2], objects, duplicatesIndexes); } } else { objectKeyList = Object.keys(object); for (index2 = 0, length = objectKeyList.length; index2 < length; index2 += 1) { inspectNode(object[objectKeyList[index2]], objects, duplicatesIndexes); } } } } } function dump(input, options) { options = options || {}; var state2 = new State(options); if (!state2.noRefs) getDuplicateReferences(input, state2); if (writeNode(state2, 0, input, true, true)) return state2.dump + "\n"; return ""; } function safeDump(input, options) { return dump(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options)); } module2.exports.dump = dump; module2.exports.safeDump = safeDump; } }); // node_modules/front-matter/node_modules/js-yaml/lib/js-yaml.js var require_js_yaml = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/lib/js-yaml.js"(exports, module2) { "use strict"; var loader = require_loader(); var dumper = require_dumper(); function deprecated(name) { return function() { throw new Error("Function " + name + " is deprecated and cannot be used."); }; } module2.exports.Type = require_type(); module2.exports.Schema = require_schema(); module2.exports.FAILSAFE_SCHEMA = require_failsafe(); module2.exports.JSON_SCHEMA = require_json(); module2.exports.CORE_SCHEMA = require_core(); module2.exports.DEFAULT_SAFE_SCHEMA = require_default_safe(); module2.exports.DEFAULT_FULL_SCHEMA = require_default_full(); module2.exports.load = loader.load; module2.exports.loadAll = loader.loadAll; module2.exports.safeLoad = loader.safeLoad; module2.exports.safeLoadAll = loader.safeLoadAll; module2.exports.dump = dumper.dump; module2.exports.safeDump = dumper.safeDump; module2.exports.YAMLException = require_exception(); module2.exports.MINIMAL_SCHEMA = require_failsafe(); module2.exports.SAFE_SCHEMA = require_default_safe(); module2.exports.DEFAULT_SCHEMA = require_default_full(); module2.exports.scan = deprecated("scan"); module2.exports.parse = deprecated("parse"); module2.exports.compose = deprecated("compose"); module2.exports.addConstructor = deprecated("addConstructor"); } }); // node_modules/front-matter/node_modules/js-yaml/index.js var require_js_yaml2 = __commonJS({ "node_modules/front-matter/node_modules/js-yaml/index.js"(exports, module2) { "use strict"; var yaml = require_js_yaml(); module2.exports = yaml; } }); // node_modules/front-matter/index.js var require_front_matter = __commonJS({ "node_modules/front-matter/index.js"(exports, module2) { var parser = require_js_yaml2(); var optionalByteOrderMark = "\\ufeff?"; var platform2 = typeof process !== "undefined" ? process.platform : ""; var pattern = "^(" + optionalByteOrderMark + "(= yaml =|---)$([\\s\\S]*?)^(?:\\2|\\.\\.\\.)\\s*$" + (platform2 === "win32" ? "\\r?" : "") + "(?:\\n)?)"; var regex = new RegExp(pattern, "m"); module2.exports = extractor; module2.exports.test = test; function extractor(string, options) { string = string || ""; var defaultOptions = { allowUnsafe: false }; options = options instanceof Object ? { ...defaultOptions, ...options } : defaultOptions; options.allowUnsafe = Boolean(options.allowUnsafe); var lines = string.split(/(\r?\n)/); if (lines[0] && /= yaml =|---/.test(lines[0])) { return parse(string, options.allowUnsafe); } else { return { attributes: {}, body: string, bodyBegin: 1 }; } } function computeLocation(match, body) { var line = 1; var pos = body.indexOf("\n"); var offset3 = match.index + match[0].length; while (pos !== -1) { if (pos >= offset3) { return line; } line++; pos = body.indexOf("\n", pos + 1); } return line; } function parse(string, allowUnsafe) { var match = regex.exec(string); if (!match) { return { attributes: {}, body: string, bodyBegin: 1 }; } var loader = allowUnsafe ? parser.load : parser.safeLoad; var yaml = match[match.length - 1].replace(/^\s+|\s+$/g, ""); var attributes = loader(yaml) || {}; var body = string.replace(match[0], ""); var line = computeLocation(match, string); return { attributes, body, bodyBegin: line, frontmatter: yaml }; } function test(string) { string = string || ""; return regex.test(string); } } }); // node_modules/crypto-js/core.js var require_core2 = __commonJS({ "node_modules/crypto-js/core.js"(exports, module2) { (function(root16, factory) { if (typeof exports === "object") { module2.exports = exports = factory(); } else if (typeof define === "function" && define.amd) { define([], factory); } else { root16.CryptoJS = factory(); } })(exports, function() { var CryptoJS = CryptoJS || (function(Math2, undefined2) { var crypto2; if (typeof window !== "undefined" && window.crypto) { crypto2 = window.crypto; } if (typeof self !== "undefined" && self.crypto) { crypto2 = self.crypto; } if (typeof globalThis !== "undefined" && globalThis.crypto) { crypto2 = globalThis.crypto; } if (!crypto2 && typeof window !== "undefined" && window.msCrypto) { crypto2 = window.msCrypto; } if (!crypto2 && typeof global !== "undefined" && global.crypto) { crypto2 = global.crypto; } if (!crypto2 && typeof require === "function") { try { crypto2 = require("crypto"); } catch (err) { } } var cryptoSecureRandomInt = function() { if (crypto2) { if (typeof crypto2.getRandomValues === "function") { try { return crypto2.getRandomValues(new Uint32Array(1))[0]; } catch (err) { } } if (typeof crypto2.randomBytes === "function") { try { return crypto2.randomBytes(4).readInt32LE(); } catch (err) { } } } throw new Error("Native crypto module could not be used to get secure random number."); }; var create = Object.create || /* @__PURE__ */ (function() { function F() { } return function(obj) { var subtype; F.prototype = obj; subtype = new F(); F.prototype = null; return subtype; }; })(); var C = {}; var C_lib = C.lib = {}; var Base2 = C_lib.Base = /* @__PURE__ */ (function() { return { /** * Creates a new object that inherits from this object. * * @param {Object} overrides Properties to copy into the new object. * * @return {Object} The new object. * * @static * * @example * * var MyType = CryptoJS.lib.Base.extend({ * field: 'value', * * method: function () { * } * }); */ extend: function(overrides) { var subtype = create(this); if (overrides) { subtype.mixIn(overrides); } if (!subtype.hasOwnProperty("init") || this.init === subtype.init) { subtype.init = function() { subtype.$super.init.apply(this, arguments); }; } subtype.init.prototype = subtype; subtype.$super = this; return subtype; }, /** * Extends this object and runs the init method. * Arguments to create() will be passed to init(). * * @return {Object} The new object. * * @static * * @example * * var instance = MyType.create(); */ create: function() { var instance = this.extend(); instance.init.apply(instance, arguments); return instance; }, /** * Initializes a newly created object. * Override this method to add some logic when your objects are created. * * @example * * var MyType = CryptoJS.lib.Base.extend({ * init: function () { * // ... * } * }); */ init: function() { }, /** * Copies properties into this object. * * @param {Object} properties The properties to mix in. * * @example * * MyType.mixIn({ * field: 'value' * }); */ mixIn: function(properties) { for (var propertyName in properties) { if (properties.hasOwnProperty(propertyName)) { this[propertyName] = properties[propertyName]; } } if (properties.hasOwnProperty("toString")) { this.toString = properties.toString; } }, /** * Creates a copy of this object. * * @return {Object} The clone. * * @example * * var clone = instance.clone(); */ clone: function() { return this.init.prototype.extend(this); } }; })(); var WordArray = C_lib.WordArray = Base2.extend({ /** * Initializes a newly created word array. * * @param {Array} words (Optional) An array of 32-bit words. * @param {number} sigBytes (Optional) The number of significant bytes in the words. * * @example * * var wordArray = CryptoJS.lib.WordArray.create(); * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]); * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6); */ init: function(words, sigBytes) { words = this.words = words || []; if (sigBytes != undefined2) { this.sigBytes = sigBytes; } else { this.sigBytes = words.length * 4; } }, /** * Converts this word array to a string. * * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex * * @return {string} The stringified word array. * * @example * * var string = wordArray + ''; * var string = wordArray.toString(); * var string = wordArray.toString(CryptoJS.enc.Utf8); */ toString: function(encoder) { return (encoder || Hex).stringify(this); }, /** * Concatenates a word array to this word array. * * @param {WordArray} wordArray The word array to append. * * @return {WordArray} This word array. * * @example * * wordArray1.concat(wordArray2); */ concat: function(wordArray) { var thisWords = this.words; var thatWords = wordArray.words; var thisSigBytes = this.sigBytes; var thatSigBytes = wordArray.sigBytes; this.clamp(); if (thisSigBytes % 4) { for (var i = 0; i < thatSigBytes; i++) { var thatByte = thatWords[i >>> 2] >>> 24 - i % 4 * 8 & 255; thisWords[thisSigBytes + i >>> 2] |= thatByte << 24 - (thisSigBytes + i) % 4 * 8; } } else { for (var j = 0; j < thatSigBytes; j += 4) { thisWords[thisSigBytes + j >>> 2] = thatWords[j >>> 2]; } } this.sigBytes += thatSigBytes; return this; }, /** * Removes insignificant bits. * * @example * * wordArray.clamp(); */ clamp: function() { var words = this.words; var sigBytes = this.sigBytes; words[sigBytes >>> 2] &= 4294967295 << 32 - sigBytes % 4 * 8; words.length = Math2.ceil(sigBytes / 4); }, /** * Creates a copy of this word array. * * @return {WordArray} The clone. * * @example * * var clone = wordArray.clone(); */ clone: function() { var clone = Base2.clone.call(this); clone.words = this.words.slice(0); return clone; }, /** * Creates a word array filled with random bytes. * * @param {number} nBytes The number of random bytes to generate. * * @return {WordArray} The random word array. * * @static * * @example * * var wordArray = CryptoJS.lib.WordArray.random(16); */ random: function(nBytes) { var words = []; for (var i = 0; i < nBytes; i += 4) { words.push(cryptoSecureRandomInt()); } return new WordArray.init(words, nBytes); } }); var C_enc = C.enc = {}; var Hex = C_enc.Hex = { /** * Converts a word array to a hex string. * * @param {WordArray} wordArray The word array. * * @return {string} The hex string. * * @static * * @example * * var hexString = CryptoJS.enc.Hex.stringify(wordArray); */ stringify: function(wordArray) { var words = wordArray.words; var sigBytes = wordArray.sigBytes; var hexChars = []; for (var i = 0; i < sigBytes; i++) { var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 255; hexChars.push((bite >>> 4).toString(16)); hexChars.push((bite & 15).toString(16)); } return hexChars.join(""); }, /** * Converts a hex string to a word array. * * @param {string} hexStr The hex string. * * @return {WordArray} The word array. * * @static * * @example * * var wordArray = CryptoJS.enc.Hex.parse(hexString); */ parse: function(hexStr) { var hexStrLength = hexStr.length; var words = []; for (var i = 0; i < hexStrLength; i += 2) { words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << 24 - i % 8 * 4; } return new WordArray.init(words, hexStrLength / 2); } }; var Latin1 = C_enc.Latin1 = { /** * Converts a word array to a Latin1 string. * * @param {WordArray} wordArray The word array. * * @return {string} The Latin1 string. * * @static * * @example * * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray); */ stringify: function(wordArray) { var words = wordArray.words; var sigBytes = wordArray.sigBytes; var latin1Chars = []; for (var i = 0; i < sigBytes; i++) { var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 255; latin1Chars.push(String.fromCharCode(bite)); } return latin1Chars.join(""); }, /** * Converts a Latin1 string to a word array. * * @param {string} latin1Str The Latin1 string. * * @return {WordArray} The word array. * * @static * * @example * * var wordArray = CryptoJS.enc.Latin1.parse(latin1String); */ parse: function(latin1Str) { var latin1StrLength = latin1Str.length; var words = []; for (var i = 0; i < latin1StrLength; i++) { words[i >>> 2] |= (latin1Str.charCodeAt(i) & 255) << 24 - i % 4 * 8; } return new WordArray.init(words, latin1StrLength); } }; var Utf8 = C_enc.Utf8 = { /** * Converts a word array to a UTF-8 string. * * @param {WordArray} wordArray The word array. * * @return {string} The UTF-8 string. * * @static * * @example * * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray); */ stringify: function(wordArray) { try { return decodeURIComponent(escape(Latin1.stringify(wordArray))); } catch (e) { throw new Error("Malformed UTF-8 data"); } }, /** * Converts a UTF-8 string to a word array. * * @param {string} utf8Str The UTF-8 string. * * @return {WordArray} The word array. * * @static * * @example * * var wordArray = CryptoJS.enc.Utf8.parse(utf8String); */ parse: function(utf8Str) { return Latin1.parse(unescape(encodeURIComponent(utf8Str))); } }; var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base2.extend({ /** * Resets this block algorithm's data buffer to its initial state. * * @example * * bufferedBlockAlgorithm.reset(); */ reset: function() { this._data = new WordArray.init(); this._nDataBytes = 0; }, /** * Adds new data to this block algorithm's buffer. * * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8. * * @example * * bufferedBlockAlgorithm._append('data'); * bufferedBlockAlgorithm._append(wordArray); */ _append: function(data) { if (typeof data == "string") { data = Utf8.parse(data); } this._data.concat(data); this._nDataBytes += data.sigBytes; }, /** * Processes available data blocks. * * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype. * * @param {boolean} doFlush Whether all blocks and partial blocks should be processed. * * @return {WordArray} The processed data. * * @example * * var processedData = bufferedBlockAlgorithm._process(); * var processedData = bufferedBlockAlgorithm._process(!!'flush'); */ _process: function(doFlush) { var processedWords; var data = this._data; var dataWords = data.words; var dataSigBytes = data.sigBytes; var blockSize = this.blockSize; var blockSizeBytes = blockSize * 4; var nBlocksReady = dataSigBytes / blockSizeBytes; if (doFlush) { nBlocksReady = Math2.ceil(nBlocksReady); } else { nBlocksReady = Math2.max((nBlocksReady | 0) - this._minBufferSize, 0); } var nWordsReady = nBlocksReady * blockSize; var nBytesReady = Math2.min(nWordsReady * 4, dataSigBytes); if (nWordsReady) { for (var offset3 = 0; offset3 < nWordsReady; offset3 += blockSize) { this._doProcessBlock(dataWords, offset3); } processedWords = dataWords.splice(0, nWordsReady); data.sigBytes -= nBytesReady; } return new WordArray.init(processedWords, nBytesReady); }, /** * Creates a copy of this object. * * @return {Object} The clone. * * @example * * var clone = bufferedBlockAlgorithm.clone(); */ clone: function() { var clone = Base2.clone.call(this); clone._data = this._data.clone(); return clone; }, _minBufferSize: 0 }); var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({ /** * Configuration options. */ cfg: Base2.extend(), /** * Initializes a newly created hasher. * * @param {Object} cfg (Optional) The configuration options to use for this hash computation. * * @example * * var hasher = CryptoJS.algo.SHA256.create(); */ init: function(cfg) { this.cfg = this.cfg.extend(cfg); this.reset(); }, /** * Resets this hasher to its initial state. * * @example * * hasher.reset(); */ reset: function() { BufferedBlockAlgorithm.reset.call(this); this._doReset(); }, /** * Updates this hasher with a message. * * @param {WordArray|string} messageUpdate The message to append. * * @return {Hasher} This hasher. * * @example * * hasher.update('message'); * hasher.update(wordArray); */ update: function(messageUpdate) { this._append(messageUpdate); this._process(); return this; }, /** * Finalizes the hash computation. * Note that the finalize operation is effectively a destructive, read-once operation. * * @param {WordArray|string} messageUpdate (Optional) A final message update. * * @return {WordArray} The hash. * * @example * * var hash = hasher.finalize(); * var hash = hasher.finalize('message'); * var hash = hasher.finalize(wordArray); */ finalize: function(messageUpdate) { if (messageUpdate) { this._append(messageUpdate); } var hash2 = this._doFinalize(); return hash2; }, blockSize: 512 / 32, /** * Creates a shortcut function to a hasher's object interface. * * @param {Hasher} hasher The hasher to create a helper for. * * @return {Function} The shortcut function. * * @static * * @example * * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256); */ _createHelper: function(hasher) { return function(message, cfg) { return new hasher.init(cfg).finalize(message); }; }, /** * Creates a shortcut function to the HMAC's object interface. * * @param {Hasher} hasher The hasher to use in this HMAC helper. * * @return {Function} The shortcut function. * * @static * * @example * * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256); */ _createHmacHelper: function(hasher) { return function(message, key2) { return new C_algo.HMAC.init(hasher, key2).finalize(message); }; } }); var C_algo = C.algo = {}; return C; })(Math); return CryptoJS; }); } }); // node_modules/crypto-js/sha256.js var require_sha256 = __commonJS({ "node_modules/crypto-js/sha256.js"(exports, module2) { (function(root16, factory) { if (typeof exports === "object") { module2.exports = exports = factory(require_core2()); } else if (typeof define === "function" && define.amd) { define(["./core"], factory); } else { factory(root16.CryptoJS); } })(exports, function(CryptoJS) { (function(Math2) { var C = CryptoJS; var C_lib = C.lib; var WordArray = C_lib.WordArray; var Hasher = C_lib.Hasher; var C_algo = C.algo; var H = []; var K = []; (function() { function isPrime(n2) { var sqrtN = Math2.sqrt(n2); for (var factor = 2; factor <= sqrtN; factor++) { if (!(n2 % factor)) { return false; } } return true; } function getFractionalBits(n2) { return (n2 - (n2 | 0)) * 4294967296 | 0; } var n = 2; var nPrime = 0; while (nPrime < 64) { if (isPrime(n)) { if (nPrime < 8) { H[nPrime] = getFractionalBits(Math2.pow(n, 1 / 2)); } K[nPrime] = getFractionalBits(Math2.pow(n, 1 / 3)); nPrime++; } n++; } })(); var W = []; var SHA256 = C_algo.SHA256 = Hasher.extend({ _doReset: function() { this._hash = new WordArray.init(H.slice(0)); }, _doProcessBlock: function(M, offset3) { var H2 = this._hash.words; var a = H2[0]; var b = H2[1]; var c = H2[2]; var d = H2[3]; var e = H2[4]; var f = H2[5]; var g = H2[6]; var h = H2[7]; for (var i = 0; i < 64; i++) { if (i < 16) { W[i] = M[offset3 + i] | 0; } else { var gamma0x = W[i - 15]; var gamma0 = (gamma0x << 25 | gamma0x >>> 7) ^ (gamma0x << 14 | gamma0x >>> 18) ^ gamma0x >>> 3; var gamma1x = W[i - 2]; var gamma1 = (gamma1x << 15 | gamma1x >>> 17) ^ (gamma1x << 13 | gamma1x >>> 19) ^ gamma1x >>> 10; W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]; } var ch = e & f ^ ~e & g; var maj = a & b ^ a & c ^ b & c; var sigma0 = (a << 30 | a >>> 2) ^ (a << 19 | a >>> 13) ^ (a << 10 | a >>> 22); var sigma1 = (e << 26 | e >>> 6) ^ (e << 21 | e >>> 11) ^ (e << 7 | e >>> 25); var t1 = h + sigma1 + ch + K[i] + W[i]; var t2 = sigma0 + maj; h = g; g = f; f = e; e = d + t1 | 0; d = c; c = b; b = a; a = t1 + t2 | 0; } H2[0] = H2[0] + a | 0; H2[1] = H2[1] + b | 0; H2[2] = H2[2] + c | 0; H2[3] = H2[3] + d | 0; H2[4] = H2[4] + e | 0; H2[5] = H2[5] + f | 0; H2[6] = H2[6] + g | 0; H2[7] = H2[7] + h | 0; }, _doFinalize: function() { var data = this._data; var dataWords = data.words; var nBitsTotal = this._nDataBytes * 8; var nBitsLeft = data.sigBytes * 8; dataWords[nBitsLeft >>> 5] |= 128 << 24 - nBitsLeft % 32; dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math2.floor(nBitsTotal / 4294967296); dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal; data.sigBytes = dataWords.length * 4; this._process(); return this._hash; }, clone: function() { var clone = Hasher.clone.call(this); clone._hash = this._hash.clone(); return clone; } }); C.SHA256 = Hasher._createHelper(SHA256); C.HmacSHA256 = Hasher._createHmacHelper(SHA256); })(Math); return CryptoJS.SHA256; }); } }); // src/entry.ts var entry_exports = {}; __export(entry_exports, { default: () => Base }); module.exports = __toCommonJS(entry_exports); var import_obsidian12 = require("obsidian"); // src/ui/text_view.ts var import_obsidian11 = require("obsidian"); var import_front_matter = __toESM(require_front_matter()); // node_modules/svelte/src/internal/client/constants.js var DERIVED = 1 << 1; var EFFECT = 1 << 2; var RENDER_EFFECT = 1 << 3; var MANAGED_EFFECT = 1 << 24; var BLOCK_EFFECT = 1 << 4; var BRANCH_EFFECT = 1 << 5; var ROOT_EFFECT = 1 << 6; var BOUNDARY_EFFECT = 1 << 7; var CONNECTED = 1 << 9; var CLEAN = 1 << 10; var DIRTY = 1 << 11; var MAYBE_DIRTY = 1 << 12; var INERT = 1 << 13; var DESTROYED = 1 << 14; var REACTION_RAN = 1 << 15; var DESTROYING = 1 << 25; var EFFECT_TRANSPARENT = 1 << 16; var EAGER_EFFECT = 1 << 17; var HEAD_EFFECT = 1 << 18; var EFFECT_PRESERVED = 1 << 19; var USER_EFFECT = 1 << 20; var EFFECT_OFFSCREEN = 1 << 25; var WAS_MARKED = 1 << 16; var REACTION_IS_UPDATING = 1 << 21; var ASYNC = 1 << 22; var ERROR_VALUE = 1 << 23; var STATE_SYMBOL = /* @__PURE__ */ Symbol("$state"); var LEGACY_PROPS = /* @__PURE__ */ Symbol("legacy props"); var LOADING_ATTR_SYMBOL = /* @__PURE__ */ Symbol(""); var PROXY_PATH_SYMBOL = /* @__PURE__ */ Symbol("proxy path"); var ATTRIBUTES_CACHE = /* @__PURE__ */ Symbol("attributes"); var CLASS_CACHE = /* @__PURE__ */ Symbol("class"); var STYLE_CACHE = /* @__PURE__ */ Symbol("style"); var TEXT_CACHE = /* @__PURE__ */ Symbol("text"); var FORM_RESET_HANDLER = /* @__PURE__ */ Symbol("form reset"); var HMR_ANCHOR = /* @__PURE__ */ Symbol("hmr anchor"); var STALE_REACTION = new class StaleReactionError extends Error { constructor() { super(...arguments); __publicField(this, "name", "StaleReactionError"); __publicField(this, "message", "The reaction that called `getAbortSignal()` was re-run or destroyed"); } }(); var _a; var IS_XHTML = ( // We gotta write it like this because after downleveling the pure comment may end up in the wrong location !!((_a = globalThis.document) == null ? void 0 : _a.contentType) && /* @__PURE__ */ globalThis.document.contentType.includes("xml") ); var TEXT_NODE = 3; var COMMENT_NODE = 8; // node_modules/esm-env/dev-fallback.js var _a2, _b; var node_env = (_b = (_a2 = globalThis.process) == null ? void 0 : _a2.env) == null ? void 0 : _b.NODE_ENV; var dev_fallback_default = node_env && !node_env.toLowerCase().startsWith("prod"); // node_modules/svelte/src/internal/shared/utils.js var is_array = Array.isArray; var index_of = Array.prototype.indexOf; var includes = Array.prototype.includes; var array_from = Array.from; var object_keys = Object.keys; var define_property = Object.defineProperty; var get_descriptor = Object.getOwnPropertyDescriptor; var get_descriptors = Object.getOwnPropertyDescriptors; var object_prototype = Object.prototype; var array_prototype = Array.prototype; var get_prototype_of = Object.getPrototypeOf; var is_extensible = Object.isExtensible; var noop = () => { }; function run(fn) { return fn(); } function run_all(arr) { for (var i = 0; i < arr.length; i++) { arr[i](); } } function deferred() { var resolve; var reject; var promise = new Promise((res, rej) => { resolve = res; reject = rej; }); return { promise, resolve, reject }; } function fallback(value, fallback2, lazy = false) { return value === void 0 ? lazy ? ( /** @type {() => V} */ fallback2() ) : ( /** @type {V} */ fallback2 ) : value; } // node_modules/svelte/src/internal/client/reactivity/equality.js function equals(value) { return value === this.v; } function safe_not_equal(a, b) { return a != a ? b == b : a !== b || a !== null && typeof a === "object" || typeof a === "function"; } function safe_equals(value) { return !safe_not_equal(value, this.v); } // node_modules/svelte/src/internal/shared/errors.js function invariant_violation(message) { if (dev_fallback_default) { const error = new Error(`invariant_violation An invariant violation occurred, meaning Svelte's internal assumptions were flawed. This is a bug in Svelte, not your app \u2014 please open an issue at https://github.com/sveltejs/svelte, citing the following message: "${message}" https://svelte.dev/e/invariant_violation`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/invariant_violation`); } } function lifecycle_outside_component(name) { if (dev_fallback_default) { const error = new Error(`lifecycle_outside_component \`${name}(...)\` can only be used during component initialisation https://svelte.dev/e/lifecycle_outside_component`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/lifecycle_outside_component`); } } // node_modules/svelte/src/internal/client/errors.js function async_derived_orphan() { if (dev_fallback_default) { const error = new Error(`async_derived_orphan Cannot create a \`$derived(...)\` with an \`await\` expression outside of an effect tree https://svelte.dev/e/async_derived_orphan`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/async_derived_orphan`); } } function bind_invalid_checkbox_value() { if (dev_fallback_default) { const error = new Error(`bind_invalid_checkbox_value Using \`bind:value\` together with a checkbox input is not allowed. Use \`bind:checked\` instead https://svelte.dev/e/bind_invalid_checkbox_value`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/bind_invalid_checkbox_value`); } } function derived_references_self() { if (dev_fallback_default) { const error = new Error(`derived_references_self A derived value cannot reference itself recursively https://svelte.dev/e/derived_references_self`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/derived_references_self`); } } function each_key_duplicate(a, b, value) { if (dev_fallback_default) { const error = new Error(`each_key_duplicate ${value ? `Keyed each block has duplicate key \`${value}\` at indexes ${a} and ${b}` : `Keyed each block has duplicate key at indexes ${a} and ${b}`} https://svelte.dev/e/each_key_duplicate`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/each_key_duplicate`); } } function each_key_volatile(index2, a, b) { if (dev_fallback_default) { const error = new Error(`each_key_volatile Keyed each block has key that is not idempotent \u2014 the key for item at index ${index2} was \`${a}\` but is now \`${b}\`. Keys must be the same each time for a given item https://svelte.dev/e/each_key_volatile`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/each_key_volatile`); } } function effect_in_teardown(rune) { if (dev_fallback_default) { const error = new Error(`effect_in_teardown \`${rune}\` cannot be used inside an effect cleanup function https://svelte.dev/e/effect_in_teardown`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/effect_in_teardown`); } } function effect_in_unowned_derived() { if (dev_fallback_default) { const error = new Error(`effect_in_unowned_derived Effect cannot be created inside a \`$derived\` value that was not itself created inside an effect https://svelte.dev/e/effect_in_unowned_derived`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/effect_in_unowned_derived`); } } function effect_orphan(rune) { if (dev_fallback_default) { const error = new Error(`effect_orphan \`${rune}\` can only be used inside an effect (e.g. during component initialisation) https://svelte.dev/e/effect_orphan`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/effect_orphan`); } } function effect_update_depth_exceeded() { if (dev_fallback_default) { const error = new Error(`effect_update_depth_exceeded Maximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state https://svelte.dev/e/effect_update_depth_exceeded`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/effect_update_depth_exceeded`); } } function hydration_failed() { if (dev_fallback_default) { const error = new Error(`hydration_failed Failed to hydrate the application https://svelte.dev/e/hydration_failed`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/hydration_failed`); } } function lifecycle_legacy_only(name) { if (dev_fallback_default) { const error = new Error(`lifecycle_legacy_only \`${name}(...)\` cannot be used in runes mode https://svelte.dev/e/lifecycle_legacy_only`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/lifecycle_legacy_only`); } } function props_invalid_value(key2) { if (dev_fallback_default) { const error = new Error(`props_invalid_value Cannot do \`bind:${key2}={undefined}\` when \`${key2}\` has a fallback value https://svelte.dev/e/props_invalid_value`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/props_invalid_value`); } } function rune_outside_svelte(rune) { if (dev_fallback_default) { const error = new Error(`rune_outside_svelte The \`${rune}\` rune is only available inside \`.svelte\` and \`.svelte.js/ts\` files https://svelte.dev/e/rune_outside_svelte`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/rune_outside_svelte`); } } function state_descriptors_fixed() { if (dev_fallback_default) { const error = new Error(`state_descriptors_fixed Property descriptors defined on \`$state\` objects must contain \`value\` and always be \`enumerable\`, \`configurable\` and \`writable\`. https://svelte.dev/e/state_descriptors_fixed`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/state_descriptors_fixed`); } } function state_prototype_fixed() { if (dev_fallback_default) { const error = new Error(`state_prototype_fixed Cannot set prototype of \`$state\` object https://svelte.dev/e/state_prototype_fixed`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/state_prototype_fixed`); } } function state_unsafe_mutation() { if (dev_fallback_default) { const error = new Error(`state_unsafe_mutation Updating state inside \`$derived(...)\`, \`$inspect(...)\` or a template expression is forbidden. If the value should not be reactive, declare it without \`$state\` https://svelte.dev/e/state_unsafe_mutation`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/state_unsafe_mutation`); } } function svelte_boundary_reset_onerror() { if (dev_fallback_default) { const error = new Error(`svelte_boundary_reset_onerror A \`\` \`reset\` function cannot be called while an error is still being handled https://svelte.dev/e/svelte_boundary_reset_onerror`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`); } } // node_modules/svelte/src/internal/flags/index.js var async_mode_flag = false; var legacy_mode_flag = false; var tracing_mode_flag = false; function enable_legacy_mode_flag() { legacy_mode_flag = true; } // node_modules/svelte/src/constants.js var EACH_ITEM_REACTIVE = 1; var EACH_INDEX_REACTIVE = 1 << 1; var EACH_IS_CONTROLLED = 1 << 2; var EACH_IS_ANIMATED = 1 << 3; var EACH_ITEM_IMMUTABLE = 1 << 4; var PROPS_IS_IMMUTABLE = 1; var PROPS_IS_RUNES = 1 << 1; var PROPS_IS_UPDATED = 1 << 2; var PROPS_IS_BINDABLE = 1 << 3; var PROPS_IS_LAZY_INITIAL = 1 << 4; var TRANSITION_OUT = 1 << 1; var TRANSITION_GLOBAL = 1 << 2; var TEMPLATE_FRAGMENT = 1; var TEMPLATE_USE_IMPORT_NODE = 1 << 1; var TEMPLATE_USE_SVG = 1 << 2; var TEMPLATE_USE_MATHML = 1 << 3; var HYDRATION_START = "["; var HYDRATION_START_ELSE = "[!"; var HYDRATION_START_FAILED = "[?"; var HYDRATION_END = "]"; var HYDRATION_ERROR = {}; var ELEMENT_PRESERVE_ATTRIBUTE_CASE = 1 << 1; var ELEMENT_IS_INPUT = 1 << 2; var UNINITIALIZED = /* @__PURE__ */ Symbol("uninitialized"); var FILENAME = /* @__PURE__ */ Symbol("filename"); var NAMESPACE_HTML = "http://www.w3.org/1999/xhtml"; var ATTACHMENT_KEY = "@attach"; // node_modules/svelte/src/internal/client/dev/tracing.js var tracing_expressions = null; function tag(source2, label) { source2.label = label; tag_proxy(source2.v, label); return source2; } function tag_proxy(value, label) { var _a5; (_a5 = value == null ? void 0 : value[PROXY_PATH_SYMBOL]) == null ? void 0 : _a5.call(value, label); return value; } // node_modules/svelte/src/internal/shared/dev.js function get_error(label) { const error = new Error(); const stack2 = get_stack(); if (stack2.length === 0) { return null; } stack2.unshift("\n"); define_property(error, "stack", { value: stack2.join("\n") }); define_property(error, "name", { value: label }); return ( /** @type {Error & { stack: string }} */ error ); } function get_stack() { const limit = Error.stackTraceLimit; Error.stackTraceLimit = Infinity; const stack2 = new Error().stack; Error.stackTraceLimit = limit; if (!stack2) return []; const lines = stack2.split("\n"); const new_lines = []; for (let i = 0; i < lines.length; i++) { const line = lines[i]; const posixified = line.replaceAll("\\", "/"); if (line.trim() === "Error") { continue; } if (line.includes("validate_each_keys")) { return []; } if (posixified.includes("svelte/src/internal") || posixified.includes("node_modules/.vite")) { continue; } new_lines.push(line); } return new_lines; } function invariant(condition, message) { if (!dev_fallback_default) { throw new Error("invariant(...) was not guarded by if (DEV)"); } if (!condition) invariant_violation(message); } // node_modules/svelte/src/internal/client/context.js var component_context = null; function set_component_context(context) { component_context = context; } var dev_stack = null; function set_dev_stack(stack2) { dev_stack = stack2; } var dev_current_component_function = null; function set_dev_current_component_function(fn) { dev_current_component_function = fn; } function push(props, runes = false, fn) { component_context = { p: component_context, i: false, c: null, e: null, s: props, x: null, r: ( /** @type {Effect} */ active_effect ), l: legacy_mode_flag && !runes ? { s: null, u: null, $: [] } : null }; if (dev_fallback_default) { component_context.function = fn; dev_current_component_function = fn; } } function pop(component2) { var _a5; var context = ( /** @type {ComponentContext} */ component_context ); var effects = context.e; if (effects !== null) { context.e = null; for (var fn of effects) { create_user_effect(fn); } } if (component2 !== void 0) { context.x = component2; } context.i = true; component_context = context.p; if (dev_fallback_default) { dev_current_component_function = (_a5 = component_context == null ? void 0 : component_context.function) != null ? _a5 : null; } return component2 != null ? component2 : ( /** @type {T} */ {} ); } function is_runes() { return !legacy_mode_flag || component_context !== null && component_context.l === null; } // node_modules/svelte/src/internal/client/dom/task.js var micro_tasks = []; function run_micro_tasks() { var tasks = micro_tasks; micro_tasks = []; run_all(tasks); } function queue_micro_task(fn) { if (micro_tasks.length === 0 && !is_flushing_sync) { var tasks = micro_tasks; queueMicrotask(() => { if (tasks === micro_tasks) run_micro_tasks(); }); } micro_tasks.push(fn); } function flush_tasks() { while (micro_tasks.length > 0) { run_micro_tasks(); } } // node_modules/svelte/src/internal/client/warnings.js var bold = "font-weight: bold"; var normal = "font-weight: normal"; function await_reactivity_loss(name) { if (dev_fallback_default) { console.warn(`%c[svelte] await_reactivity_loss %cDetected reactivity loss when reading \`${name}\`. This happens when state is read in an async function after an earlier \`await\` https://svelte.dev/e/await_reactivity_loss`, bold, normal); } else { console.warn(`https://svelte.dev/e/await_reactivity_loss`); } } function await_waterfall(name, location) { if (dev_fallback_default) { console.warn(`%c[svelte] await_waterfall %cAn async derived, \`${name}\` (${location}) was not read immediately after it resolved. This often indicates an unnecessary waterfall, which can slow down your app https://svelte.dev/e/await_waterfall`, bold, normal); } else { console.warn(`https://svelte.dev/e/await_waterfall`); } } function derived_inert() { if (dev_fallback_default) { console.warn(`%c[svelte] derived_inert %cReading a derived belonging to a now-destroyed effect may result in stale values https://svelte.dev/e/derived_inert`, bold, normal); } else { console.warn(`https://svelte.dev/e/derived_inert`); } } function hydration_attribute_changed(attribute, html2, value) { if (dev_fallback_default) { console.warn(`%c[svelte] hydration_attribute_changed %cThe \`${attribute}\` attribute on \`${html2}\` changed its value between server and client renders. The client value, \`${value}\`, will be ignored in favour of the server value https://svelte.dev/e/hydration_attribute_changed`, bold, normal); } else { console.warn(`https://svelte.dev/e/hydration_attribute_changed`); } } function hydration_mismatch(location) { if (dev_fallback_default) { console.warn( `%c[svelte] hydration_mismatch %c${location ? `Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${location}` : "Hydration failed because the initial UI does not match what was rendered on the server"} https://svelte.dev/e/hydration_mismatch`, bold, normal ); } else { console.warn(`https://svelte.dev/e/hydration_mismatch`); } } function lifecycle_double_unmount() { if (dev_fallback_default) { console.warn(`%c[svelte] lifecycle_double_unmount %cTried to unmount a component that was not mounted https://svelte.dev/e/lifecycle_double_unmount`, bold, normal); } else { console.warn(`https://svelte.dev/e/lifecycle_double_unmount`); } } function select_multiple_invalid_value() { if (dev_fallback_default) { console.warn(`%c[svelte] select_multiple_invalid_value %cThe \`value\` property of a \``); var root_42 = from_html(`
`); var root_5 = from_html(``); var root_6 = from_html(``); var root_7 = from_html(`# `); var root_8 = from_html(`
`); var root_9 = from_html(`
 
`); var root_10 = from_html(` `); var root_11 = from_html(` `); var root_122 = from_html(` `); var root_13 = from_html(`
`); var root_14 = from_html(``); var root_15 = from_html(`
`); var $$css4 = { hash: "svelte-1fvsaoa", code: '.task.svelte-1fvsaoa {--task-accent: var(--task-accent-color, var(--background-modifier-border-hover));position:relative;overflow:hidden;background:var(--background-primary);border-radius:var(--radius-s);border:var(--border-width) solid var(--background-modifier-border);cursor:grab;box-shadow:0 1px 2px rgba(0, 0, 0, 0.06);transition:border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;}.task.svelte-1fvsaoa::before {content:"";position:absolute;inset:0 auto 0 0;width:8px;background:var(--task-accent);}.task.svelte-1fvsaoa:hover {border-color:color-mix(in srgb, var(--text-muted) 45%, var(--background-modifier-border));box-shadow:0 8px 22px rgba(0, 0, 0, 0.08);transform:translateY(-1px);}.task.is-dragging.svelte-1fvsaoa {opacity:0.15;}.task.is-selected.svelte-1fvsaoa {border-color:var(--interactive-accent);background:color-mix(in srgb, var(--interactive-accent) 8%, var(--background-primary));}.task.svelte-1fvsaoa .task-row:where(.svelte-1fvsaoa) {padding:var(--size-4-2) var(--size-4-2) var(--size-4-2) calc(var(--size-4-2) + 8px);display:flex;gap:var(--size-2-3);align-items:flex-start;}.task.svelte-1fvsaoa .task-row:where(.svelte-1fvsaoa) .task-row-left:where(.svelte-1fvsaoa) {display:flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;margin-top:2px;}.task.svelte-1fvsaoa .task-row:where(.svelte-1fvsaoa) .task-row-content:where(.svelte-1fvsaoa) {flex:1;min-width:0;}.task.svelte-1fvsaoa .task-row:where(.svelte-1fvsaoa) .task-row-content:where(.svelte-1fvsaoa) textarea:where(.svelte-1fvsaoa) {cursor:text;background-color:var(--color-base-25);width:100%;}.task.svelte-1fvsaoa .task-row:where(.svelte-1fvsaoa) .task-row-content:where(.svelte-1fvsaoa) .content-preview:where(.svelte-1fvsaoa) {min-height:1.5rem;}.task.svelte-1fvsaoa .task-row:where(.svelte-1fvsaoa) .task-row-content:where(.svelte-1fvsaoa) .content-preview:where(.svelte-1fvsaoa):focus {box-shadow:0 0 0 3px var(--background-modifier-border-focus);}.task.svelte-1fvsaoa .task-row:where(.svelte-1fvsaoa) .task-row-right:where(.svelte-1fvsaoa) {display:flex;align-items:center;flex-shrink:0;margin-top:-4px;}.task.svelte-1fvsaoa .icon-button:where(.svelte-1fvsaoa) {display:flex;justify-content:center;align-items:center;width:22px;height:22px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-s);transition:opacity 0.2s ease;box-shadow:none;}.task.svelte-1fvsaoa .icon-button:where(.svelte-1fvsaoa):hover, .task.svelte-1fvsaoa .icon-button:where(.svelte-1fvsaoa):active {background:transparent;box-shadow:none;}.task.svelte-1fvsaoa .icon-button:where(.svelte-1fvsaoa):focus-visible {outline:2px solid var(--background-modifier-border-focus);outline-offset:2px;}.task.svelte-1fvsaoa .icon-button.select-task:where(.svelte-1fvsaoa):hover svg {opacity:0.8 !important;color:var(--interactive-accent);}.task.svelte-1fvsaoa .icon-button.select-task.is-selected:where(.svelte-1fvsaoa) svg {color:var(--interactive-accent);}.task.svelte-1fvsaoa .icon-button.pin-marker:where(.svelte-1fvsaoa) svg {color:var(--interactive-accent);}.task.svelte-1fvsaoa .icon-button.pin-marker:where(.svelte-1fvsaoa):hover svg {opacity:1 !important;}.task.svelte-1fvsaoa .icon-button.usesStatusMarker:where(.svelte-1fvsaoa) {color:var(--text-normal);}.task.svelte-1fvsaoa .icon-button.usesStatusMarker:where(.svelte-1fvsaoa) .source-status-checkbox:where(.svelte-1fvsaoa), .task.svelte-1fvsaoa .icon-button.usesStatusMarker:where(.svelte-1fvsaoa) .status-text-marker:where(.svelte-1fvsaoa) {display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;min-width:18px;min-height:18px;margin:0 !important;padding:0 !important;pointer-events:none;line-height:1;}.task.svelte-1fvsaoa .icon-button.usesStatusMarker:where(.svelte-1fvsaoa) .status-text-marker:where(.svelte-1fvsaoa) {font-size:15px;}.task.svelte-1fvsaoa .drag-handle:where(.svelte-1fvsaoa) {display:flex;align-items:center;justify-content:center;width:22px;height:22px;cursor:grab;}.task.svelte-1fvsaoa .task-footer:where(.svelte-1fvsaoa) {border-top:var(--border-width) solid var(--background-modifier-border);padding:var(--size-2-3) var(--size-4-2) var(--size-2-3) calc(var(--size-4-2) + 8px);}.task.svelte-1fvsaoa .task-footer:where(.svelte-1fvsaoa) .go-to-file-button:where(.svelte-1fvsaoa) {display:flex;align-items:center;justify-content:flex-start;gap:var(--size-2-1);width:100%;padding:0;border:none;background:transparent;cursor:pointer;text-align:left;box-shadow:none;transition:opacity 0.2s ease;border-radius:var(--radius-s);}.task.svelte-1fvsaoa .task-footer:where(.svelte-1fvsaoa) .go-to-file-button:where(.svelte-1fvsaoa):hover {background:transparent;box-shadow:none;}.task.svelte-1fvsaoa .task-footer:where(.svelte-1fvsaoa) .go-to-file-button:where(.svelte-1fvsaoa):hover svg {opacity:1 !important;color:var(--interactive-accent);}.task.svelte-1fvsaoa .task-footer:where(.svelte-1fvsaoa) .go-to-file-button:where(.svelte-1fvsaoa):hover .file-path:where(.svelte-1fvsaoa) {color:var(--interactive-accent);}.task.svelte-1fvsaoa .task-footer:where(.svelte-1fvsaoa) .go-to-file-button:where(.svelte-1fvsaoa):focus-visible {outline:2px solid var(--background-modifier-border-focus);outline-offset:2px;}.task.svelte-1fvsaoa .task-footer:where(.svelte-1fvsaoa) .go-to-file-button:where(.svelte-1fvsaoa) .file-path:where(.svelte-1fvsaoa) {margin:0;font-size:var(--font-ui-smaller);color:var(--text-muted);transition:color 0.2s ease;overflow-wrap:anywhere;white-space:normal;flex:1;min-width:0;line-height:1.2;}.task.svelte-1fvsaoa .task-tags:where(.svelte-1fvsaoa) {display:flex;flex-wrap:wrap;gap:var(--size-2-1);padding:0 var(--size-4-2) var(--size-4-2) calc(var(--size-4-2) + 8px);margin-top:calc(-1 * var(--size-2-2));}.task.svelte-1fvsaoa .task-tags:where(.svelte-1fvsaoa) span:where(.svelte-1fvsaoa) {background-color:var(--background-secondary);color:var(--text-muted);border:1px solid var(--background-modifier-border);border-radius:var(--radius-s);padding:1px 5px;font-size:var(--font-ui-smaller);line-height:1.1;display:inline-flex;align-items:center;transition:color 0.15s ease, border-color 0.15s ease;}.task.svelte-1fvsaoa .task-tags:where(.svelte-1fvsaoa) span:where(.svelte-1fvsaoa):hover {color:var(--text-normal);border-color:var(--text-muted);}.task.svelte-1fvsaoa .task-tags:where(.svelte-1fvsaoa) span:where(.svelte-1fvsaoa) .cm-formatting-hashtag {color:var(--text-accent) !important;font-weight:var(--font-medium);margin-right:1px;}.task.svelte-1fvsaoa .task-tags:where(.svelte-1fvsaoa) span:where(.svelte-1fvsaoa) .cm-hashtag-end {color:inherit !important;}.task.svelte-1fvsaoa .task-properties-debug:where(.svelte-1fvsaoa) {padding:var(--size-2-3) var(--size-4-2) var(--size-2-3) calc(var(--size-4-2) + 8px);border-top:var(--border-width) solid var(--background-modifier-border);background-color:var(--background-secondary-alt);font-size:var(--font-ui-smaller);overflow-x:auto;}.task.svelte-1fvsaoa .task-properties-debug:where(.svelte-1fvsaoa) pre:where(.svelte-1fvsaoa) {margin:0;}.task.svelte-1fvsaoa .task-properties:where(.svelte-1fvsaoa) {display:flex;flex-wrap:wrap;gap:var(--size-2-2);padding:var(--size-2-3) var(--size-4-2) var(--size-2-3) calc(var(--size-4-2) + 8px);border-top:var(--border-width) solid var(--background-modifier-border);font-size:var(--font-ui-smaller);}.task.svelte-1fvsaoa .task-property:where(.svelte-1fvsaoa) {display:inline-flex;align-items:baseline;gap:var(--size-2-1);padding:0 var(--size-2-2);border-radius:var(--radius-s);background-color:var(--background-secondary-alt);line-height:var(--line-height-tight);}.task.svelte-1fvsaoa .task-property-label:where(.svelte-1fvsaoa) {color:var(--text-muted);text-transform:uppercase;font-size:var(--font-smallest);letter-spacing:0.02em;}.task.svelte-1fvsaoa .task-property-icon:where(.svelte-1fvsaoa) {font-size:var(--font-ui-smaller);line-height:1;}.task.svelte-1fvsaoa .task-property-value:where(.svelte-1fvsaoa) {color:var(--text-normal);}.task-row-content img {max-width:100%;max-height:160px;object-fit:contain;}.task-row-content code {white-space:pre-wrap;}.task-row-content .content-preview,\n.task-row-content .content-preview > ul,\n.task-row-content .content-preview > ul > li,\n.task-row-content .content-preview > ul > li > p {margin:0;}.task .task-row-content .content-preview > ul {padding-left:0 !important;margin:0 !important;list-style:none !important;}.task-row-content .content-preview .task-list-item {min-width:0;word-break:break-word;padding-left:0 !important;list-style-type:none !important;}.task-row-content input.task-nested-checkbox {pointer-events:none;}.task-row-content .content-preview .task-list-item > input[type="checkbox"].task-primary-checkbox {display:none !important;}.task-row-content .content-preview .task-list-item > *:not(input[type="checkbox"]) {min-width:0;}' }; function Task2($$anchor, $$props) { if (new.target) return createClassComponent({ component: Task2, ...$$anchor }); push($$props, false); append_styles($$anchor, $$css4); const displayStatusIsCustom = mutable_source(); const excludedTagNames = mutable_source(); const visibleTags = mutable_source(); const shouldconsolidateTags = mutable_source(); let app = prop($$props, "app", 12); let task = prop($$props, "task", 12); let taskActions = prop($$props, "taskActions", 12); let columnTagTableStore = prop($$props, "columnTagTableStore", 12); let showFilepath = prop($$props, "showFilepath", 12); let propertyDisplay = prop($$props, "propertyDisplay", 28, () => "none" /* None */); let consolidateTags = prop($$props, "consolidateTags", 12); let excludedTags = prop($$props, "excludedTags", 28, () => []); let displayColumn = prop($$props, "displayColumn", 12); let displaySecondaryId = prop($$props, "displaySecondaryId", 12); let isSelectionMode = prop($$props, "isSelectionMode", 12, false); let isSelected = prop($$props, "isSelected", 12, false); let onToggleSelection = prop($$props, "onToggleSelection", 12, () => { }); let selectedTaskIds = prop($$props, "selectedTaskIds", 28, () => []); let taskSecondaryIds = prop($$props, "taskSecondaryIds", 28, () => ({})); let doneColumnName = prop($$props, "doneColumnName", 12, void 0); let accentColor = prop($$props, "accentColor", 12, void 0); let isManualOrder = prop($$props, "isManualOrder", 12, false); let isPinned = prop($$props, "isPinned", 12, false); let showDragHandle = prop($$props, "showDragHandle", 12, false); let onUnpin = prop($$props, "onUnpin", 12, () => { }); function handleContentBlur() { var _a5; set(isEditing, false); const content = (_a5 = get(textAreaEl)) == null ? void 0 : _a5.value; if (!content) return; const updatedContent = content.replaceAll("\n", "
"); taskActions().updateContent(task().id, updatedContent); } function handleKeypress(e) { var _a5; if (e.key === "Enter" && !e.shiftKey || e.key === "Escape") { (_a5 = get(textAreaEl)) == null ? void 0 : _a5.blur(); } } function handleOpenKeypress(e) { if (e.key === "Enter" || e.key === " ") { handleFocus(e); } } let isEditing = mutable_source(false); let isDragging = mutable_source(false); function shouldRenderStatusAsText(status) { return status.length > 1 || /\p{Extended_Pictographic}/u.test(status); } function handleDragStart(e) { handleContentBlur(); set(isDragging, true); const taskIds = isSelectionMode() && isSelected() && selectedTaskIds().length > 0 ? selectedTaskIds() : [task().id]; isDraggingStore.set({ fromColumn: displayColumn(), fromSecondaryId: displaySecondaryId(), draggedTaskIds: taskIds, taskSecondaryIds: taskSecondaryIds() }); if (e.dataTransfer) { e.dataTransfer.setData("text/plain", task().id); e.dataTransfer.dropEffect = "move"; } if (taskIds.length > 1 && e.dataTransfer) { const ghost = document.createElement("div"); ghost.textContent = `Moving ${taskIds.length} tasks`; ghost.style.cssText = [ "position:fixed", "top:-9999px", "left:-9999px", "padding:6px 12px", "background:var(--background-secondary-alt)", "border:1px solid var(--background-modifier-border)", "border-radius:var(--radius-m)", "font-size:var(--font-ui-small)", "color:var(--text-normal)", "box-shadow:var(--shadow-s)", "white-space:nowrap" ].join(";"); document.body.appendChild(ghost); e.dataTransfer.setDragImage(ghost, 0, 0); setTimeout(() => document.body.removeChild(ghost), 0); } } function handleDragEnd() { set(isDragging, false); isDraggingStore.set(null); } let textAreaEl = mutable_source(); let previewContainerEl = mutable_source(); let markdownComponent; const interactiveTagNames = /* @__PURE__ */ new Set([ "a", "button", "input", "select", "textarea", "label", "summary", "details" ]); function eventHasInteractiveTarget(e) { if (e instanceof MouseEvent && get(previewContainerEl)) { const rect = get(previewContainerEl).getBoundingClientRect(); const relativeX = e.clientX - rect.left; if (relativeX >= 0 && relativeX < 28) { return true; } } const path = (e == null ? void 0 : e.composedPath()) || []; const currentTarget = e == null ? void 0 : e.currentTarget; for (const element2 of path) { if (!(element2 instanceof HTMLElement)) { continue; } if (currentTarget instanceof HTMLElement && element2 === currentTarget) { continue; } if (interactiveTagNames.has(element2.tagName.toLowerCase())) { return true; } if (element2.isContentEditable) { return true; } const role = element2.getAttribute("role"); if (role === "button" || role === "checkbox" || role === "link") { return true; } } return false; } function handleFocus(e) { if (eventHasInteractiveTarget(e)) { return; } set(isEditing, true); setTimeout( () => { var _a5; (_a5 = get(textAreaEl)) == null ? void 0 : _a5.focus(); }, 100 ); } function renderTaskMarkdown() { const body = propertyDisplay() === "pretty" /* Pretty */ && task().properties ? stripDisplayedPropertiesFromContent(task().content, task().properties) : task().content; return renderTaskMarkdownSource({ content: body, displayStatus: task().displayStatus, blockLink: task().blockLink, excludedTags: excludedTags() }); } async function renderMarkdown(selectionMode) { if (!get(previewContainerEl)) return; if (markdownComponent) { markdownComponent.unload(); } get(previewContainerEl).empty(); markdownComponent = new import_obsidian5.Component(); const contentToRender = renderTaskMarkdown(); await import_obsidian5.MarkdownRenderer.render(app(), contentToRender, get(previewContainerEl), task().path, markdownComponent); setupLinkHandlers(); postProcessRenderedContent(selectionMode); } function setupLinkHandlers() { if (!get(previewContainerEl)) return; const internalLinks = get(previewContainerEl).querySelectorAll("a.internal-link"); internalLinks.forEach((link2) => { const anchorEl = link2; anchorEl.addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); const linkTarget = anchorEl.getAttribute("data-href"); if (linkTarget && app()) { app().workspace.openLinkText(linkTarget, task().path, import_obsidian5.Keymap.isModEvent(e)); } }); anchorEl.addEventListener("mouseover", (e) => { const linkTarget = anchorEl.getAttribute("data-href"); if (linkTarget && app() && get(previewContainerEl)) { app().workspace.trigger("hover-link", { event: e, source: "kanban-view", hoverParent: get(previewContainerEl), targetEl: anchorEl, linktext: linkTarget, sourcePath: task().path }); } }); }); } function postProcessRenderedContent(selectionMode) { if (!get(previewContainerEl)) return; function stopPropagation2(e) { e.stopPropagation(); } function handlePrimaryCheckboxClick(e) { e.preventDefault(); e.stopPropagation(); void taskActions().toggleDone(task().id); } get(previewContainerEl).querySelectorAll("a:not(.internal-link)").forEach((a) => { const anchor = a; anchor.target = "_blank"; anchor.rel = "noopener noreferrer"; anchor.addEventListener("click", stopPropagation2); anchor.addEventListener("keypress", stopPropagation2); }); const checkboxes = Array.from(get(previewContainerEl).querySelectorAll('input[type="checkbox"]')); const [primaryCheckbox, ...nestedCheckboxes] = checkboxes; if (primaryCheckbox) { primaryCheckbox.classList.add("task-primary-checkbox"); primaryCheckbox.addEventListener("mousedown", stopPropagation2); primaryCheckbox.addEventListener("mouseup", stopPropagation2); primaryCheckbox.addEventListener("keypress", stopPropagation2); if (selectionMode) { primaryCheckbox.disabled = true; primaryCheckbox.tabIndex = -1; primaryCheckbox.style.visibility = "hidden"; primaryCheckbox.setAttribute("aria-hidden", "true"); primaryCheckbox.addEventListener("click", stopPropagation2); } else { primaryCheckbox.disabled = false; primaryCheckbox.style.removeProperty("visibility"); primaryCheckbox.removeAttribute("aria-hidden"); primaryCheckbox.setAttribute("aria-label", task().done ? "Mark as incomplete" : "Mark as complete"); primaryCheckbox.addEventListener("click", handlePrimaryCheckboxClick); } } nestedCheckboxes.forEach((checkbox) => { checkbox.classList.add("task-nested-checkbox"); checkbox.disabled = true; checkbox.tabIndex = -1; checkbox.addEventListener("click", stopPropagation2); checkbox.addEventListener("keypress", stopPropagation2); }); get(previewContainerEl).querySelectorAll("iframe, audio, video").forEach((el) => { el.remove(); }); } onDestroy(() => { if (markdownComponent) { markdownComponent.unload(); } }); function onInput(e) { e.currentTarget.style.height = `0px`; e.currentTarget.style.height = `${e.currentTarget.scrollHeight}px`; } legacy_pre_effect(() => deep_read_state(task()), () => { set(displayStatusIsCustom, task().displayStatus !== " "); }); legacy_pre_effect( () => (deep_read_state(task()), deep_read_state(propertyDisplay()), get(isEditing), get(previewContainerEl), deep_read_state(isSelectionMode())), () => { if (task() && task().content && task().displayStatus && propertyDisplay() && !get(isEditing) && get(previewContainerEl)) { void renderMarkdown(isSelectionMode()); } } ); legacy_pre_effect(() => get(textAreaEl), () => { if (get(textAreaEl)) { mutate(textAreaEl, get(textAreaEl).style.height = `0px`); mutate(textAreaEl, get(textAreaEl).style.height = `${get(textAreaEl).scrollHeight}px`); } }); legacy_pre_effect(() => deep_read_state(excludedTags()), () => { set(excludedTagNames, excludedTags().map((tag2) => tag2.trim().replace(/^#/, "").toLowerCase())); }); legacy_pre_effect(() => (deep_read_state(task()), get(excludedTagNames)), () => { set(visibleTags, Array.from(task().tags).filter((t) => !get(excludedTagNames).includes(t.toLowerCase()))); }); legacy_pre_effect(() => (deep_read_state(consolidateTags()), get(visibleTags)), () => { set(shouldconsolidateTags, consolidateTags() && get(visibleTags).length > 0); }); legacy_pre_effect_reset(); var $$exports = { get app() { return app(); }, set app($$value) { app($$value); flushSync(); }, get task() { return task(); }, set task($$value) { task($$value); flushSync(); }, get taskActions() { return taskActions(); }, set taskActions($$value) { taskActions($$value); flushSync(); }, get columnTagTableStore() { return columnTagTableStore(); }, set columnTagTableStore($$value) { columnTagTableStore($$value); flushSync(); }, get showFilepath() { return showFilepath(); }, set showFilepath($$value) { showFilepath($$value); flushSync(); }, get propertyDisplay() { return propertyDisplay(); }, set propertyDisplay($$value) { propertyDisplay($$value); flushSync(); }, get consolidateTags() { return consolidateTags(); }, set consolidateTags($$value) { consolidateTags($$value); flushSync(); }, get excludedTags() { return excludedTags(); }, set excludedTags($$value) { excludedTags($$value); flushSync(); }, get displayColumn() { return displayColumn(); }, set displayColumn($$value) { displayColumn($$value); flushSync(); }, get displaySecondaryId() { return displaySecondaryId(); }, set displaySecondaryId($$value) { displaySecondaryId($$value); flushSync(); }, get isSelectionMode() { return isSelectionMode(); }, set isSelectionMode($$value) { isSelectionMode($$value); flushSync(); }, get isSelected() { return isSelected(); }, set isSelected($$value) { isSelected($$value); flushSync(); }, get onToggleSelection() { return onToggleSelection(); }, set onToggleSelection($$value) { onToggleSelection($$value); flushSync(); }, get selectedTaskIds() { return selectedTaskIds(); }, set selectedTaskIds($$value) { selectedTaskIds($$value); flushSync(); }, get taskSecondaryIds() { return taskSecondaryIds(); }, set taskSecondaryIds($$value) { taskSecondaryIds($$value); flushSync(); }, get doneColumnName() { return doneColumnName(); }, set doneColumnName($$value) { doneColumnName($$value); flushSync(); }, get accentColor() { return accentColor(); }, set accentColor($$value) { accentColor($$value); flushSync(); }, get isManualOrder() { return isManualOrder(); }, set isManualOrder($$value) { isManualOrder($$value); flushSync(); }, get isPinned() { return isPinned(); }, set isPinned($$value) { isPinned($$value); flushSync(); }, get showDragHandle() { return showDragHandle(); }, set showDragHandle($$value) { showDragHandle($$value); flushSync(); }, get onUnpin() { return onUnpin(); }, set onUnpin($$value) { onUnpin($$value); flushSync(); }, $set: update_legacy_props, $on: ($$event_name, $$event_cb) => add_legacy_event_listener($$props, $$event_name, $$event_cb) }; init(); var div = root_15(); let classes; let styles; var div_1 = child(div); var div_2 = child(div_1); var node = child(div_2); { var consequent = ($$anchor2) => { var button = root4(); let classes_1; var node_1 = child(button); { let $0 = derived_safe_equal(() => isSelected() ? "lucide-check-circle" : "lucide-circle"); let $1 = derived_safe_equal(() => isSelected() ? 1 : 0.5); Icon(node_1, { get name() { return get($0); }, size: 18, get opacity() { return get($1); } }); } reset(button); template_effect(() => { classes_1 = set_class(button, 1, "icon-button select-task svelte-1fvsaoa", null, classes_1, { "is-selected": isSelected() }); set_attribute2(button, "aria-label", isSelected() ? "Deselect for bulk actions" : "Select for bulk actions"); set_attribute2(button, "aria-checked", isSelected()); set_attribute2(button, "title", isSelected() ? "Deselect for bulk actions" : "Select for bulk actions"); }); event("click", button, function(...$$args) { var _a5; (_a5 = onToggleSelection()) == null ? void 0 : _a5.apply(this, $$args); }); event("keydown", button, (e) => { if (e.key === "Enter" || e.key === " ") { e.preventDefault(); onToggleSelection()(); } }); append($$anchor2, button); }; var alternate_2 = ($$anchor2) => { var button_1 = root4(); let classes_2; var node_2 = child(button_1); { var consequent_2 = ($$anchor3) => { var fragment = comment(); var node_3 = first_child(fragment); { var consequent_1 = ($$anchor4) => { var span = root_12(); var text2 = child(span, true); reset(span); template_effect(() => set_text(text2, (deep_read_state(task()), untrack(() => task().displayStatus)))); append($$anchor4, span); }; var d = user_derived(() => (deep_read_state(task()), untrack(() => shouldRenderStatusAsText(task().displayStatus)))); var alternate = ($$anchor4) => { var span_1 = root_22(); template_effect(() => set_attribute2(span_1, "data-task", (deep_read_state(task()), untrack(() => task().displayStatus)))); append($$anchor4, span_1); }; if_block(node_3, ($$render) => { if (get(d)) $$render(consequent_1); else $$render(alternate, -1); }); } append($$anchor3, fragment); }; var alternate_1 = ($$anchor3) => { { let $0 = derived_safe_equal(() => (deep_read_state(task()), untrack(() => task().done ? "lucide-check-square" : "lucide-square"))); let $1 = derived_safe_equal(() => (deep_read_state(task()), untrack(() => task().done ? 1 : 0.5))); Icon($$anchor3, { get name() { return get($0); }, size: 18, get opacity() { return get($1); } }); } }; if_block(node_2, ($$render) => { if (get(displayStatusIsCustom)) $$render(consequent_2); else $$render(alternate_1, -1); }); } reset(button_1); template_effect(() => { classes_2 = set_class(button_1, 1, "icon-button toggle-done-task svelte-1fvsaoa", null, classes_2, { "is-done": task().done, usesStatusMarker: get(displayStatusIsCustom), "markdown-rendered": get(displayStatusIsCustom), "markdown-preview-view": get(displayStatusIsCustom), "task-list-item": get(displayStatusIsCustom), "is-checked": get(displayStatusIsCustom) }); set_attribute2(button_1, "data-task", (get(displayStatusIsCustom), deep_read_state(task()), untrack(() => get(displayStatusIsCustom) ? task().displayStatus : void 0))); set_attribute2(button_1, "aria-label", (deep_read_state(task()), untrack(() => task().done ? "Mark as incomplete" : "Mark as complete"))); set_attribute2(button_1, "aria-checked", (deep_read_state(task()), untrack(() => task().done))); set_attribute2(button_1, "title", (deep_read_state(task()), untrack(() => task().done ? "Mark as incomplete" : "Mark as complete"))); }); event("click", button_1, () => void taskActions().toggleDone(task().id)); event("keydown", button_1, (e) => { if (e.key === "Enter" || e.key === " ") { e.preventDefault(); void taskActions().toggleDone(task().id); } }); append($$anchor2, button_1); }; if_block(node, ($$render) => { if (isSelectionMode()) $$render(consequent); else $$render(alternate_2, -1); }); } reset(div_2); var div_3 = sibling(div_2, 2); var node_4 = child(div_3); { var consequent_3 = ($$anchor2) => { var textarea = root_32(); remove_textarea_child(textarea); let classes_3; bind_this(textarea, ($$value) => set(textAreaEl, $$value), () => get(textAreaEl)); template_effect( ($0) => { set_value(textarea, $0); classes_3 = set_class(textarea, 1, "svelte-1fvsaoa", null, classes_3, { editing: get(isEditing) }); }, [ () => (deep_read_state(task()), untrack(() => task().content.replaceAll("
", "\n"))) ] ); event("keypress", textarea, handleKeypress); event("blur", textarea, handleContentBlur); event("input", textarea, onInput); append($$anchor2, textarea); }; var alternate_3 = ($$anchor2) => { var div_4 = root_42(); bind_this(div_4, ($$value) => set(previewContainerEl, $$value), () => get(previewContainerEl)); event("mouseup", div_4, handleFocus); event("keypress", div_4, handleOpenKeypress); append($$anchor2, div_4); }; if_block(node_4, ($$render) => { if (get(isEditing)) $$render(consequent_3); else $$render(alternate_3, -1); }); } reset(div_3); var div_5 = sibling(div_3, 2); var node_5 = child(div_5); { var consequent_4 = ($$anchor2) => { var button_2 = root_5(); var node_6 = child(button_2); Icon(node_6, { name: "lucide-pin", size: 16, opacity: 0.9 }); reset(button_2); event("click", button_2, stopPropagation(function(...$$args) { var _a5; (_a5 = onUnpin()) == null ? void 0 : _a5.apply(this, $$args); })); event("keydown", button_2, (e) => { if (e.key === "Enter" || e.key === " ") { e.preventDefault(); e.stopPropagation(); onUnpin()(); } }); append($$anchor2, button_2); }; if_block(node_5, ($$render) => { if (isManualOrder() && isPinned()) $$render(consequent_4); }); } var node_7 = sibling(node_5, 2); { var consequent_5 = ($$anchor2) => { var span_2 = root_6(); var node_8 = child(span_2); Icon(node_8, { name: "lucide-grip-vertical", size: 16, opacity: 0.5 }); reset(span_2); append($$anchor2, span_2); }; if_block(node_7, ($$render) => { if (isManualOrder() && showDragHandle()) $$render(consequent_5); }); } var node_9 = sibling(node_7, 2); Task_menu(node_9, { get task() { return task(); }, get taskActions() { return taskActions(); }, get columnTagTableStore() { return columnTagTableStore(); }, get doneColumnName() { return doneColumnName(); } }); reset(div_5); reset(div_1); var node_10 = sibling(div_1, 2); { var consequent_6 = ($$anchor2) => { var div_6 = root_8(); each(div_6, 5, () => get(visibleTags), index, ($$anchor3, tag2) => { var span_3 = root_7(); var span_4 = sibling(child(span_3)); var text_1 = child(span_4, true); reset(span_4); reset(span_3); template_effect(() => set_text(text_1, get(tag2))); append($$anchor3, span_3); }); reset(div_6); append($$anchor2, div_6); }; if_block(node_10, ($$render) => { if (get(shouldconsolidateTags)) $$render(consequent_6); }); } var node_11 = sibling(node_10, 2); { var consequent_7 = ($$anchor2) => { var div_7 = root_9(); var pre = child(div_7); var code = child(pre); var text_2 = child(code, true); reset(code); reset(pre); reset(div_7); template_effect(($0) => set_text(text_2, $0), [ () => (deep_read_state(task()), untrack(() => JSON.stringify(Array.from(task().properties.entries()), null, 2))) ]); append($$anchor2, div_7); }; var consequent_10 = ($$anchor2) => { const displayProperties = derived_safe_equal(() => (deep_read_state(toDisplayProperties), deep_read_state(task()), untrack(() => toDisplayProperties(task().properties)))); var fragment_2 = comment(); var node_12 = first_child(fragment_2); { var consequent_9 = ($$anchor3) => { var div_8 = root_13(); each(div_8, 5, () => get(displayProperties), (prop2) => prop2.key, ($$anchor4, prop2) => { var span_5 = root_122(); var node_13 = child(span_5); { var consequent_8 = ($$anchor5) => { var span_6 = root_10(); var text_3 = child(span_6, true); reset(span_6); template_effect(() => { set_attribute2(span_6, "title", (get(prop2), untrack(() => get(prop2).label))); set_attribute2(span_6, "aria-label", (get(prop2), untrack(() => get(prop2).label))); set_text(text_3, (get(prop2), untrack(() => get(prop2).icon))); }); append($$anchor5, span_6); }; var alternate_4 = ($$anchor5) => { var span_7 = root_11(); var text_4 = child(span_7, true); reset(span_7); template_effect(() => set_text(text_4, (get(prop2), untrack(() => get(prop2).label)))); append($$anchor5, span_7); }; if_block(node_13, ($$render) => { if (get(prop2), untrack(() => get(prop2).icon)) $$render(consequent_8); else $$render(alternate_4, -1); }); } var span_8 = sibling(node_13, 2); var text_5 = child(span_8, true); reset(span_8); reset(span_5); template_effect(() => set_text(text_5, (get(prop2), untrack(() => get(prop2).value)))); append($$anchor4, span_5); }); reset(div_8); append($$anchor3, div_8); }; if_block(node_12, ($$render) => { if (deep_read_state(get(displayProperties)), untrack(() => get(displayProperties).length > 0)) $$render(consequent_9); }); } append($$anchor2, fragment_2); }; if_block(node_11, ($$render) => { if (deep_read_state(propertyDisplay()), deep_read_state(PropertyDisplayMode), deep_read_state(task()), untrack(() => propertyDisplay() === "debug" /* Debug */ && task().properties && task().properties.size > 0)) $$render(consequent_7); else if (deep_read_state(propertyDisplay()), deep_read_state(PropertyDisplayMode), deep_read_state(task()), untrack(() => propertyDisplay() === "pretty" /* Pretty */ && task().properties)) $$render(consequent_10, 1); }); } var node_14 = sibling(node_11, 2); { var consequent_11 = ($$anchor2) => { var div_9 = root_14(); var button_3 = child(div_9); var node_15 = child(button_3); Icon(node_15, { name: "lucide-arrow-up-right", size: 18, opacity: 0.5 }); var span_9 = sibling(node_15, 2); var text_6 = child(span_9, true); reset(span_9); reset(button_3); reset(div_9); template_effect(() => set_text(text_6, (deep_read_state(task()), untrack(() => task().path)))); event("click", button_3, (e) => taskActions().viewFile(task().id, e)); event("keydown", button_3, (e) => { if (e.key === "Enter" || e.key === " ") { e.preventDefault(); taskActions().viewFile(task().id, e); } }); append($$anchor2, div_9); }; if_block(node_14, ($$render) => { if (showFilepath()) $$render(consequent_11); }); } reset(div); template_effect(() => { classes = set_class(div, 1, "task svelte-1fvsaoa", null, classes, { "is-dragging": get(isDragging), "is-selected": isSelectionMode() && isSelected(), "is-selection-mode": isSelectionMode() }); set_attribute2(div, "draggable", !get(isEditing)); styles = set_style(div, "", styles, { "--task-accent-color": accentColor() }); }); event("dragstart", div, handleDragStart); event("dragend", div, handleDragEnd); append($$anchor, div); return pop($$exports); } // src/ui/tasks/manual_order.ts function manualOrderKey(path, blockLink) { return `${path}::${blockLink}`; } function taskKey(task) { return task.blockLink ? manualOrderKey(task.path, task.blockLink) : null; } function computeDisplayOrder(tasks, entries) { if (!entries || entries.length === 0) { return tasks; } const byKey = /* @__PURE__ */ new Map(); for (const task of tasks) { const key2 = taskKey(task); if (key2 !== null && !byKey.has(key2)) { byKey.set(key2, task); } } const pinned = []; const pinnedIds = /* @__PURE__ */ new Set(); for (const entry of entries) { const task = byKey.get(entry); if (task && !pinnedIds.has(task.id)) { pinned.push(task); pinnedIds.add(task.id); } } const tail = tasks.filter((task) => !pinnedIds.has(task.id)); return [...pinned, ...tail]; } function computePinnedIds(tasks, entries) { const pinned = /* @__PURE__ */ new Set(); if (!entries || entries.length === 0) { return pinned; } const present = /* @__PURE__ */ new Set(); for (const task of tasks) { const key2 = taskKey(task); if (key2 !== null) present.add(key2); } const entrySet = new Set(entries); for (const task of tasks) { const key2 = taskKey(task); if (key2 !== null && entrySet.has(key2) && present.has(key2)) { pinned.add(task.id); } } return pinned; } function arrayMove(items, fromIndex, targetIndex) { if (fromIndex < 0 || fromIndex >= items.length) { return [...items]; } const next2 = [...items]; const [moved] = next2.splice(fromIndex, 1); if (moved === void 0) { return next2; } const clamped = Math.max(0, Math.min(targetIndex, next2.length)); next2.splice(clamped, 0, moved); return next2; } function computeDropPlan(displayOrder, draggedId, targetIndex) { const fromIndex = displayOrder.findIndex((task) => task.id === draggedId); if (fromIndex === -1) { return { prefixTasks: [], tasksNeedingBlockLink: [] }; } const reordered = arrayMove(displayOrder, fromIndex, targetIndex); const landedIndex = reordered.findIndex((task) => task.id === draggedId); const prefixTasks = reordered.slice(0, landedIndex + 1); const tasksNeedingBlockLink = prefixTasks.filter((task) => !task.blockLink); return { prefixTasks, tasksNeedingBlockLink }; } function buildOrderEntries(prefixTasks, resolveBlockLink) { return prefixTasks.map((task) => manualOrderKey(task.path, resolveBlockLink(task))); } function removeEntry(entries, key2) { if (!entries || entries.length === 0) { return entries != null ? entries : []; } const next2 = entries.filter((entry) => entry !== key2); return next2.length === entries.length ? entries : next2; } function collectPresentManualOrderKeys(tasks, assignGroupId) { var _a5, _b3, _c2; const presentKeysByGroupAndColumn = {}; for (const task of tasks) { if (!task.blockLink || task.column === "archived") { continue; } const groupId = assignGroupId(task); if (!groupId) { continue; } const columnTag = task.done || task.column === "done" ? "done" : (_a5 = task.column) != null ? _a5 : "uncategorised"; const keysByColumn = (_b3 = presentKeysByGroupAndColumn[groupId]) != null ? _b3 : {}; const keys = (_c2 = keysByColumn[columnTag]) != null ? _c2 : /* @__PURE__ */ new Set(); keys.add(manualOrderKey(task.path, task.blockLink)); keysByColumn[columnTag] = keys; presentKeysByGroupAndColumn[groupId] = keysByColumn; } return presentKeysByGroupAndColumn; } var BLOCK_LINK_ALPHABET = "abcdefghijklmnopqrstuvwxyz0123456789"; function generateBlockLinkId(existing) { for (let attempt = 0; attempt < 100; attempt++) { let id = ""; for (let i = 0; i < 6; i++) { id += BLOCK_LINK_ALPHABET[Math.floor(Math.random() * BLOCK_LINK_ALPHABET.length)]; } if (!existing.has(id)) { return id; } } return `t${Date.now().toString(36)}`; } var blockLinkRegexp2 = /\s\^([a-zA-Z0-9-]+)\s*$/; function ensureRowBlockLink(row, existing) { const existingMatch = row.match(blockLinkRegexp2); if (existingMatch == null ? void 0 : existingMatch[1]) { existing.add(existingMatch[1]); return { row, blockLink: existingMatch[1], changed: false }; } const blockLink = generateBlockLinkId(existing); existing.add(blockLink); return { row: `${row.trimEnd()} ^${blockLink}`, blockLink, changed: true }; } // src/ui/board/BoardCell.svelte var root5 = from_html(`(default)`); var root_16 = from_html(`
\u2192
`); var root_23 = from_html(`
`, 1); var root_33 = from_html(`
`); var root_43 = from_html(`
`); var root_52 = from_html(`
`); var $$css5 = { hash: "svelte-xi2aql", code: '.tasks-wrapper.svelte-xi2aql {display:flex;flex-direction:column;height:100%;min-height:100%;border:var(--border-width) solid transparent;border-radius:var(--radius-s);\n /* The wrapper should be invisible if collapsed in horizontal mode */}.tasks-wrapper.collapsed.svelte-xi2aql {display:none;}.tasks-wrapper.vertical-collapsed.svelte-xi2aql {display:none;}.tasks-wrapper.vertical-flow.svelte-xi2aql {width:100%;display:flex;flex-direction:column;gap:var(--size-4-2);}.tasks-wrapper.vertical-flow.svelte-xi2aql .tasks:where(.svelte-xi2aql) {flex-direction:row;flex-wrap:wrap;align-items:flex-start;}.tasks-wrapper.vertical-flow.svelte-xi2aql .tasks:where(.svelte-xi2aql) .task {width:min(var(--column-width, 300px), 100%);flex-shrink:0;}.tasks-wrapper.drop-active.svelte-xi2aql .tasks:where(.svelte-xi2aql) {opacity:0.4;}.tasks-wrapper.drop-hover.svelte-xi2aql {border-color:color-mix(in srgb, var(--column-color, var(--interactive-accent)) 75%, transparent);background:color-mix(in srgb, var(--column-color, var(--interactive-accent)) 10%, transparent);}.tasks-wrapper.svelte-xi2aql .tasks:where(.svelte-xi2aql) {display:flex;flex-direction:column;gap:var(--size-4-2);padding-top:var(--size-4-2);}.tasks-wrapper.svelte-xi2aql .task-slot:where(.svelte-xi2aql) {position:relative;}.tasks-wrapper.svelte-xi2aql .task-slot.drop-before:where(.svelte-xi2aql)::before, .tasks-wrapper.svelte-xi2aql .task-slot.drop-after:where(.svelte-xi2aql)::after {content:"";position:absolute;left:0;right:0;height:2px;background:var(--column-color, var(--interactive-accent));border-radius:1px;}.tasks-wrapper.svelte-xi2aql .task-slot.drop-before:where(.svelte-xi2aql)::before {top:calc(-1 * var(--size-4-1));}.tasks-wrapper.svelte-xi2aql .task-slot.drop-after:where(.svelte-xi2aql)::after {bottom:calc(-1 * var(--size-4-1));}.tasks-wrapper.svelte-xi2aql .new-task-input:where(.svelte-xi2aql) {margin-top:var(--size-4-3);background-color:var(--background-primary);border-radius:var(--radius-s);border:var(--border-width) solid var(--background-modifier-border);padding:var(--size-4-2);}.tasks-wrapper.svelte-xi2aql .new-task-input:where(.svelte-xi2aql) textarea:where(.svelte-xi2aql) {cursor:text;background-color:var(--color-base-25);width:100%;}.tasks-wrapper.svelte-xi2aql .add-new-btn:where(.svelte-xi2aql) {display:flex;align-items:center;align-self:flex-start;cursor:pointer;border:0;border-radius:0;box-shadow:none;margin:0;min-height:26px;padding:2px var(--size-4-2);font-size:var(--font-ui-small);font-weight:var(--font-medium);line-height:1.2;}.tasks-wrapper.svelte-xi2aql .add-new-btn:where(.svelte-xi2aql) span:where(.svelte-xi2aql) {display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;flex:0 0 15px;}.tasks-wrapper.svelte-xi2aql .add-new-btn:where(.svelte-xi2aql) span:where(.svelte-xi2aql) svg {width:15px;height:15px;display:block;}.tasks-wrapper.svelte-xi2aql .add-new-controls:where(.svelte-xi2aql) {display:inline-flex;align-items:center;align-self:flex-start;border:var(--border-width) solid var(--background-modifier-border);border-radius:var(--radius-s);overflow:hidden;background-color:var(--interactive-normal);box-shadow:0 1px 2px rgba(0, 0, 0, 0.06);}.tasks-wrapper.svelte-xi2aql .add-new-picker-btn {flex-shrink:0;width:28px;height:26px;border:0;border-left:var(--border-width) solid var(--background-modifier-border);border-radius:0;box-shadow:none;margin:0;background-color:transparent;}.tasks-wrapper.svelte-xi2aql .add-new-btn:where(.svelte-xi2aql),\n.tasks-wrapper.svelte-xi2aql .add-new-picker-btn {background-color:transparent;}.tasks-wrapper.svelte-xi2aql .add-new-btn:where(.svelte-xi2aql):hover:not(:disabled),\n.tasks-wrapper.svelte-xi2aql .add-new-picker-btn:hover:not(:disabled) {background-color:var(--interactive-hover);}.tasks-wrapper.svelte-xi2aql .add-new-btn:where(.svelte-xi2aql):active:not(:disabled),\n.tasks-wrapper.svelte-xi2aql .add-new-picker-btn:active:not(:disabled) {background-color:var(--interactive-accent-hover);}.tasks-wrapper.svelte-xi2aql .file-indicator:where(.svelte-xi2aql) {display:flex;align-items:center;gap:var(--size-2-1);font-size:var(--font-ui-small);color:var(--text-muted);margin-top:var(--size-2-1);}.tasks-wrapper.svelte-xi2aql .file-indicator:where(.svelte-xi2aql) .file-indicator-arrow:where(.svelte-xi2aql) {flex-shrink:0;}.tasks-wrapper.svelte-xi2aql .file-indicator:where(.svelte-xi2aql) .file-indicator-name:where(.svelte-xi2aql) {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.tasks-wrapper.svelte-xi2aql .file-indicator:where(.svelte-xi2aql) .file-indicator-label:where(.svelte-xi2aql) {white-space:nowrap;}' }; function BoardCell($$anchor, $$props) { if (new.target) return createClassComponent({ component: BoardCell, ...$$anchor }); push($$props, false); append_styles($$anchor, $$css5); const $selectionModeStore = () => store_get(selectionModeStore, "$selectionModeStore", $$stores); const $taskSelectionStore = () => store_get(taskSelectionStore, "$taskSelectionStore", $$stores); const $isDraggingStore = () => store_get(isDraggingStore, "$isDraggingStore", $$stores); const [$$stores, $$cleanup] = setup_stores(); const column = mutable_source(); const tasks = mutable_source(); const columnTitle = mutable_source(); const creationMetadata = mutable_source(); const fileGroupTargetFile = mutable_source(); const effectiveTargetTaskFile = mutable_source(); const effectiveTargetFileIsDefault = mutable_source(); const isColTag = mutable_source(); const isSelectMode = mutable_source(); const columnTaskIds = mutable_source(); const selectedIds = mutable_source(); const taskSecondaryIds = mutable_source(); const pinnedIds = mutable_source(); const displayIds = mutable_source(); const isManualReorderDrag = mutable_source(); const draggingData = mutable_source(); const hasSelectedTaskOutsideTargetFile = mutable_source(); const isSameSwimlaneColumnDrop = mutable_source(); const isFileSwimlaneDrop = mutable_source(); const isTagSwimlaneDrop = mutable_source(); const canDrop = mutable_source(); let app = prop($$props, "app", 12); let cell = prop($$props, "cell", 12); let primaryTasks = prop($$props, "primaryTasks", 28, () => []); let secondaryAxisBucket = prop($$props, "secondaryAxisBucket", 12); let primaryAxisLabel = prop($$props, "primaryAxisLabel", 12); let taskActions = prop($$props, "taskActions", 12); let columnTagTableStore = prop($$props, "columnTagTableStore", 12); let showFilepath = prop($$props, "showFilepath", 12); let propertyDisplay = prop($$props, "propertyDisplay", 28, () => "none" /* None */); let consolidateTags = prop($$props, "consolidateTags", 12); let excludedTags = prop($$props, "excludedTags", 28, () => []); let isVerticalFlow = prop($$props, "isVerticalFlow", 12, false); let targetTaskFile = prop($$props, "targetTaskFile", 12, null); let targetFileIsDefault = prop($$props, "targetFileIsDefault", 12, false); let doneColumnName = prop($$props, "doneColumnName", 12, void 0); let accentColor = prop($$props, "accentColor", 12, void 0); let isManualOrder = prop($$props, "isManualOrder", 12, false); let manualOrderEntries = prop($$props, "manualOrderEntries", 12, void 0); let reorderEnabled = prop($$props, "reorderEnabled", 12, false); let isCollapsed = prop($$props, "isCollapsed", 12, false); let isDraggedOver = mutable_source(false); let reorderOverId = mutable_source(null); let reorderPlaceBefore = mutable_source(false); function computeTargetIndex(draggedId, overId, placeBefore) { const without = get(displayIds).filter((id) => id !== draggedId); const overPos = without.indexOf(overId); if (overPos === -1) return without.length; return placeBefore ? overPos : overPos + 1; } function handleReorderDragOver(e, overTaskId) { if (!get(isManualReorderDrag)) return; e.preventDefault(); e.stopPropagation(); const target = e.currentTarget; const rect = target.getBoundingClientRect(); set(reorderPlaceBefore, e.clientY < rect.top + rect.height / 2); set(reorderOverId, overTaskId); if (e.dataTransfer) e.dataTransfer.dropEffect = "move"; } function handleReorderDragLeave() { set(reorderOverId, null); } async function handleReorderDrop(e, overTaskId) { if (!get(isManualReorderDrag) || !get(draggingData)) return; e.preventDefault(); e.stopPropagation(); const draggedId = get(draggingData).draggedTaskIds[0]; const placeBefore = get(reorderPlaceBefore); set(reorderOverId, null); if (!draggedId || draggedId === overTaskId) return; const targetIndex = computeTargetIndex(draggedId, overTaskId, placeBefore); await taskActions().reorderTask(cell().secondaryId, get(column), get(displayIds), draggedId, targetIndex); } function handleDragOver(e) { e.preventDefault(); if (!get(canDrop)) { if (e.dataTransfer) { e.dataTransfer.dropEffect = "none"; } return; } set(isDraggedOver, true); if (e.dataTransfer) { e.dataTransfer.dropEffect = "move"; } } function handleDragLeave(e) { set(isDraggedOver, false); } async function handleDrop(e) { var _a5, _b3, _c2, _d; e.preventDefault(); set(isDraggedOver, false); if (!get(canDrop) || !get(draggingData)) { return; } const droppedIds = get(draggingData).draggedTaskIds.length > 0 ? get(draggingData).draggedTaskIds : (() => { var _a6; const id = (_a6 = e.dataTransfer) == null ? void 0 : _a6.getData("text/plain"); return id ? [id] : []; })(); if (droppedIds.length === 0) return; if (get(isFileSwimlaneDrop) && get(fileGroupTargetFile)) { const droppedIdsBySourceSwimlane = groupIdsBySecondaryId(droppedIds, get(draggingData).taskSecondaryIds); for (const [sourceFilePath, ids] of droppedIdsBySourceSwimlane) { if (sourceFilePath === get(fileGroupTargetFile).path) { await applyColumnChange(ids); } else { await taskActions().moveTasksToFile(ids, get(fileGroupTargetFile), get(column)); } } } else if (get(isTagSwimlaneDrop)) { const source2 = (_a5 = secondaryAxisBucket().meta) == null ? void 0 : _a5.source; const prefix = (source2 == null ? void 0 : source2.kind) === "tag-prefix" ? (_b3 = source2.prefix) != null ? _b3 : "" : ""; await taskActions().updateSwimlaneTag(droppedIds, (_d = (_c2 = secondaryAxisBucket().meta) == null ? void 0 : _c2.value) != null ? _d : null, prefix, excludedTags()); await applyColumnChange(droppedIds); } else { await applyColumnChange(droppedIds); } clearColumnSelections(droppedIds); } let buttonEl = mutable_source(); let pendingNewTask = mutable_source(null); let pendingCancelled = false; let newTaskTextAreaEl = mutable_source(); async function handleNewTaskSave() { var _a5, _b3; if (pendingCancelled) { pendingCancelled = false; set(pendingNewTask, null); return; } const content = (_b3 = (_a5 = get(newTaskTextAreaEl)) == null ? void 0 : _a5.value) == null ? void 0 : _b3.trim(); const file = get(pendingNewTask); set(pendingNewTask, null); if (!content || !file || !get(isColTag)) { return; } await taskActions().createTask(file, content, get(column), get(creationMetadata).additionalTags); } function handleNewTaskKeydown(e) { var _a5, _b3; if (e.key === "Escape") { e.preventDefault(); pendingCancelled = true; (_a5 = get(newTaskTextAreaEl)) == null ? void 0 : _a5.blur(); } else if (e.key === "Enter" && !e.shiftKey) { e.preventDefault(); (_b3 = get(newTaskTextAreaEl)) == null ? void 0 : _b3.blur(); } } function handleAddNewClick(e) { if (!get(isColTag)) { return; } if (get(fileGroupTargetFile)) { set(pendingNewTask, get(fileGroupTargetFile)); return; } taskActions().pickFileForNewTask(get(column), e, (file) => { set(pendingNewTask, file); }); } function handleChooseTaskFileClick(e) { if (!get(isColTag)) { return; } taskActions().pickFileForNewTask( get(column), e, (file) => { set(pendingNewTask, file); }, true ); } function groupIdsBySecondaryId(taskIds, taskSecondaryIds2) { var _a5, _b3; const grouped = /* @__PURE__ */ new Map(); for (const id of taskIds) { const secondaryId = (_a5 = taskSecondaryIds2[id]) != null ? _a5 : ""; const ids = (_b3 = grouped.get(secondaryId)) != null ? _b3 : []; ids.push(id); grouped.set(secondaryId, ids); } return grouped; } async function applyColumnChange(taskIds) { for (const id of taskIds) { switch (get(column)) { case "uncategorised": break; case "done": await taskActions().markDone(id); break; default: await taskActions().changeColumn(id, get(column)); break; } } } legacy_pre_effect(() => deep_read_state(cell()), () => { set(column, cell().primaryId); }); legacy_pre_effect(() => deep_read_state(cell()), () => { set(tasks, cell().tasks); }); legacy_pre_effect(() => deep_read_state(primaryAxisLabel()), () => { set(columnTitle, primaryAxisLabel()); }); legacy_pre_effect( () => (deriveCellCreationMetadata, deep_read_state(secondaryAxisBucket())), () => { set(creationMetadata, deriveCellCreationMetadata(secondaryAxisBucket())); } ); legacy_pre_effect(() => (get(creationMetadata), deep_read_state(app()), import_obsidian6.TFile), () => { set(fileGroupTargetFile, (() => { if (!get(creationMetadata).targetFilePath) return null; const file = app().vault.getAbstractFileByPath(get(creationMetadata).targetFilePath); return file instanceof import_obsidian6.TFile ? file : null; })()); }); legacy_pre_effect( () => (get(fileGroupTargetFile), deep_read_state(targetTaskFile())), () => { var _a5; set(effectiveTargetTaskFile, (_a5 = get(fileGroupTargetFile)) != null ? _a5 : targetTaskFile()); } ); legacy_pre_effect( () => (get(fileGroupTargetFile), deep_read_state(targetFileIsDefault())), () => { set(effectiveTargetFileIsDefault, get(fileGroupTargetFile) ? false : targetFileIsDefault()); } ); legacy_pre_effect( () => (isColumnTag, get(column), deep_read_state(columnTagTableStore())), () => { set(isColTag, isColumnTag(get(column), columnTagTableStore())); } ); legacy_pre_effect(() => (isInSelectionMode, get(column), $selectionModeStore()), () => { set(isSelectMode, isInSelectionMode(get(column), $selectionModeStore())); }); legacy_pre_effect(() => deep_read_state(primaryTasks()), () => { set(columnTaskIds, primaryTasks().map((t) => t.id)); }); legacy_pre_effect(() => (get(columnTaskIds), isTaskSelected, $taskSelectionStore()), () => { set(selectedIds, get(columnTaskIds).filter((id) => isTaskSelected(id, $taskSelectionStore()))); }); legacy_pre_effect(() => deep_read_state(primaryTasks()), () => { set(taskSecondaryIds, Object.fromEntries(primaryTasks().map((task) => [task.id, task.path]))); }); legacy_pre_effect( () => (deep_read_state(isManualOrder()), computePinnedIds, get(tasks), deep_read_state(manualOrderEntries())), () => { set(pinnedIds, isManualOrder() ? computePinnedIds(get(tasks), manualOrderEntries()) : /* @__PURE__ */ new Set()); } ); legacy_pre_effect(() => get(tasks), () => { set(displayIds, get(tasks).map((t) => t.id)); }); legacy_pre_effect(() => $isDraggingStore(), () => { set(draggingData, $isDraggingStore()); }); legacy_pre_effect( () => (deep_read_state(reorderEnabled()), get(draggingData), get(column), deep_read_state(cell())), () => { set(isManualReorderDrag, reorderEnabled() && !!get(draggingData) && get(draggingData).fromColumn === get(column) && get(draggingData).fromSecondaryId === cell().secondaryId && get(draggingData).draggedTaskIds.length === 1); } ); legacy_pre_effect(() => (get(draggingData), get(fileGroupTargetFile)), () => { set(hasSelectedTaskOutsideTargetFile, !!get(draggingData) && !!get(fileGroupTargetFile) && get(draggingData).draggedTaskIds.some((id) => { var _a5; return ((_a5 = get(draggingData)) == null ? void 0 : _a5.taskSecondaryIds[id]) !== get(fileGroupTargetFile).path; })); }); legacy_pre_effect( () => (get(draggingData), get(column), deep_read_state(cell())), () => { set(isSameSwimlaneColumnDrop, !!get(draggingData) && get(draggingData).fromColumn !== get(column) && get(draggingData).fromSecondaryId === cell().secondaryId); } ); legacy_pre_effect( () => (get(draggingData), get(fileGroupTargetFile), deep_read_state(cell()), get(hasSelectedTaskOutsideTargetFile)), () => { set(isFileSwimlaneDrop, !!get(draggingData) && !!get(fileGroupTargetFile) && (get(draggingData).fromSecondaryId !== cell().secondaryId || get(hasSelectedTaskOutsideTargetFile))); } ); legacy_pre_effect( () => (get(draggingData), deep_read_state(secondaryAxisBucket()), deep_read_state(cell())), () => { var _a5, _b3; set(isTagSwimlaneDrop, !!get(draggingData) && ((_b3 = (_a5 = secondaryAxisBucket().meta) == null ? void 0 : _a5.source) == null ? void 0 : _b3.kind) === "tag-prefix" && get(draggingData).fromSecondaryId !== cell().secondaryId); } ); legacy_pre_effect( () => (get(isSameSwimlaneColumnDrop), get(isFileSwimlaneDrop), get(isTagSwimlaneDrop)), () => { set(canDrop, get(isSameSwimlaneColumnDrop) || get(isFileSwimlaneDrop) || get(isTagSwimlaneDrop)); } ); legacy_pre_effect(() => (get(buttonEl), import_obsidian6.setIcon), () => { if (get(buttonEl)) { (0, import_obsidian6.setIcon)(get(buttonEl), "lucide-plus"); } }); legacy_pre_effect(() => (get(pendingNewTask), get(newTaskTextAreaEl)), () => { if (get(pendingNewTask) && get(newTaskTextAreaEl)) { get(newTaskTextAreaEl).focus(); } }); legacy_pre_effect_reset(); var $$exports = { get app() { return app(); }, set app($$value) { app($$value); flushSync(); }, get cell() { return cell(); }, set cell($$value) { cell($$value); flushSync(); }, get primaryTasks() { return primaryTasks(); }, set primaryTasks($$value) { primaryTasks($$value); flushSync(); }, get secondaryAxisBucket() { return secondaryAxisBucket(); }, set secondaryAxisBucket($$value) { secondaryAxisBucket($$value); flushSync(); }, get primaryAxisLabel() { return primaryAxisLabel(); }, set primaryAxisLabel($$value) { primaryAxisLabel($$value); flushSync(); }, get taskActions() { return taskActions(); }, set taskActions($$value) { taskActions($$value); flushSync(); }, get columnTagTableStore() { return columnTagTableStore(); }, set columnTagTableStore($$value) { columnTagTableStore($$value); flushSync(); }, get showFilepath() { return showFilepath(); }, set showFilepath($$value) { showFilepath($$value); flushSync(); }, get propertyDisplay() { return propertyDisplay(); }, set propertyDisplay($$value) { propertyDisplay($$value); flushSync(); }, get consolidateTags() { return consolidateTags(); }, set consolidateTags($$value) { consolidateTags($$value); flushSync(); }, get excludedTags() { return excludedTags(); }, set excludedTags($$value) { excludedTags($$value); flushSync(); }, get isVerticalFlow() { return isVerticalFlow(); }, set isVerticalFlow($$value) { isVerticalFlow($$value); flushSync(); }, get targetTaskFile() { return targetTaskFile(); }, set targetTaskFile($$value) { targetTaskFile($$value); flushSync(); }, get targetFileIsDefault() { return targetFileIsDefault(); }, set targetFileIsDefault($$value) { targetFileIsDefault($$value); flushSync(); }, get doneColumnName() { return doneColumnName(); }, set doneColumnName($$value) { doneColumnName($$value); flushSync(); }, get accentColor() { return accentColor(); }, set accentColor($$value) { accentColor($$value); flushSync(); }, get isManualOrder() { return isManualOrder(); }, set isManualOrder($$value) { isManualOrder($$value); flushSync(); }, get manualOrderEntries() { return manualOrderEntries(); }, set manualOrderEntries($$value) { manualOrderEntries($$value); flushSync(); }, get reorderEnabled() { return reorderEnabled(); }, set reorderEnabled($$value) { reorderEnabled($$value); flushSync(); }, get isCollapsed() { return isCollapsed(); }, set isCollapsed($$value) { isCollapsed($$value); flushSync(); }, $set: update_legacy_props, $on: ($$event_name, $$event_cb) => add_legacy_event_listener($$props, $$event_name, $$event_cb) }; init(); var div = root_52(); let classes; var node = child(div); { var consequent_2 = ($$anchor2) => { var fragment = root_23(); var div_1 = first_child(fragment); var button = child(div_1); var span = child(button); bind_this(span, ($$value) => set(buttonEl, $$value), () => get(buttonEl)); next(); reset(button); var node_1 = sibling(button, 2); { let $0 = derived_safe_equal(() => !!get(pendingNewTask)); Icon_button(node_1, { class: "add-new-picker-btn", icon: "lucide-chevron-down", get "aria-label"() { var _a5; return `Choose file for new task in ${(_a5 = get(columnTitle)) != null ? _a5 : ""}`; }, get disabled() { return get($0); }, $$events: { click: handleChooseTaskFileClick } }); } reset(div_1); var node_2 = sibling(div_1, 2); { var consequent_1 = ($$anchor3) => { var div_2 = root_16(); var span_1 = sibling(child(div_2), 2); var text2 = child(span_1, true); reset(span_1); var node_3 = sibling(span_1, 2); { var consequent = ($$anchor4) => { var span_2 = root5(); append($$anchor4, span_2); }; if_block(node_3, ($$render) => { if (get(effectiveTargetFileIsDefault)) $$render(consequent); }); } reset(div_2); template_effect(() => { set_attribute2(span_1, "title", (get(effectiveTargetTaskFile), untrack(() => get(effectiveTargetTaskFile).path))); set_text(text2, (get(effectiveTargetTaskFile), untrack(() => get(effectiveTargetTaskFile).name))); }); append($$anchor3, div_2); }; if_block(node_2, ($$render) => { if (get(effectiveTargetTaskFile)) $$render(consequent_1); }); } template_effect(() => { var _a5; set_attribute2(button, "aria-label", `Add new task to ${(_a5 = get(columnTitle)) != null ? _a5 : ""}`); button.disabled = !!get(pendingNewTask); }); event("click", button, handleAddNewClick); append($$anchor2, fragment); }; if_block(node, ($$render) => { if (get(isColTag)) $$render(consequent_2); }); } var node_4 = sibling(node, 2); { var consequent_3 = ($$anchor2) => { var div_3 = root_33(); var textarea = child(div_3); bind_this(textarea, ($$value) => set(newTaskTextAreaEl, $$value), () => get(newTaskTextAreaEl)); reset(div_3); event("blur", textarea, handleNewTaskSave); event("keydown", textarea, handleNewTaskKeydown); append($$anchor2, div_3); }; if_block(node_4, ($$render) => { if (get(pendingNewTask)) $$render(consequent_3); }); } var div_4 = sibling(node_4, 2); each(div_4, 5, () => get(tasks), (task) => task.id, ($$anchor2, task) => { var div_5 = root_43(); let classes_1; var node_5 = child(div_5); { let $0 = derived_safe_equal(() => (deep_read_state(isTaskSelected), get(task), $taskSelectionStore(), untrack(() => isTaskSelected(get(task).id, $taskSelectionStore())))); let $1 = derived_safe_equal(() => (get(pinnedIds), get(task), untrack(() => get(pinnedIds).has(get(task).id)))); Task2(node_5, { get app() { return app(); }, get task() { return get(task); }, get taskActions() { return taskActions(); }, get columnTagTableStore() { return columnTagTableStore(); }, get showFilepath() { return showFilepath(); }, get propertyDisplay() { return propertyDisplay(); }, get consolidateTags() { return consolidateTags(); }, get excludedTags() { return excludedTags(); }, get displayColumn() { return get(column); }, get displaySecondaryId() { return deep_read_state(cell()), untrack(() => cell().secondaryId); }, get isSelectionMode() { return get(isSelectMode); }, get isSelected() { return get($0); }, onToggleSelection: () => toggleTaskSelection(get(task).id), get selectedTaskIds() { return get(selectedIds); }, get taskSecondaryIds() { return get(taskSecondaryIds); }, get doneColumnName() { return doneColumnName(); }, get accentColor() { return accentColor(); }, get isManualOrder() { return isManualOrder(); }, get isPinned() { return get($1); }, get showDragHandle() { return reorderEnabled(); }, onUnpin: () => taskActions().unpinTask(cell().secondaryId, get(column), get(task).id) }); } reset(div_5); template_effect(() => classes_1 = set_class(div_5, 1, "task-slot svelte-xi2aql", null, classes_1, { "drop-before": get(isManualReorderDrag) && get(reorderOverId) === get(task).id && get(reorderPlaceBefore), "drop-after": get(isManualReorderDrag) && get(reorderOverId) === get(task).id && !get(reorderPlaceBefore) })); event("dragover", div_5, (e) => handleReorderDragOver(e, get(task).id)); event("drop", div_5, (e) => handleReorderDrop(e, get(task).id)); event("dragleave", div_5, handleReorderDragLeave); append($$anchor2, div_5); }); reset(div_4); reset(div); template_effect(() => { var _a5; classes = set_class(div, 1, "tasks-wrapper svelte-xi2aql", null, classes, { "vertical-flow": isVerticalFlow(), collapsed: isCollapsed() && !isVerticalFlow(), "vertical-collapsed": isCollapsed() && isVerticalFlow(), "drop-active": !!get(draggingData) && !get(isManualReorderDrag), "drop-hover": get(isDraggedOver) }); set_attribute2(div, "aria-label", `Tasks for ${(_a5 = get(columnTitle)) != null ? _a5 : ""}`); }); event("dragover", div, handleDragOver); event("dragleave", div, handleDragLeave); event("drop", div, handleDrop); append($$anchor, div); var $$pop = pop($$exports); $$cleanup(); return $$pop; } // src/ui/board/board_matrix_vertical.svelte var root6 = from_html(`
`); var root_17 = from_html(`
`, 1); var root_24 = from_html(`
`); var root_34 = from_html(`
`); var root_44 = from_html(`
`); var $$css6 = { hash: "svelte-iq029y", code: ".matrix-vertical.svelte-iq029y {display:flex;flex-direction:column;gap:var(--size-4-4);width:100%;padding-bottom:var(--size-4-4);}.column-vertical.svelte-iq029y {display:flex;flex-direction:column;width:100%;padding:var(--size-4-4);border-radius:var(--radius-m);border:var(--border-width) solid var(--background-modifier-border);background:color-mix(in srgb, var(--background-primary) 88%, var(--background-secondary));transition:padding-bottom 250ms ease;overflow:hidden;box-shadow:var(--shadow-s);}.column-vertical.collapsed.svelte-iq029y {cursor:pointer;padding-bottom:var(--size-4-4);}.header-wrapper.svelte-iq029y {width:100%;z-index:1;}.cells-container.svelte-iq029y {display:flex;flex-direction:column;width:100%;margin-top:var(--size-4-4);gap:0;border:var(--border-width) solid var(--background-modifier-border);border-radius:var(--radius-s);overflow:clip;}.swimlane-header.svelte-iq029y {font-size:var(--font-ui-medium);font-weight:var(--font-medium);color:var(--text-normal);padding:var(--size-4-3) var(--size-4-4);border-bottom:var(--border-width) solid var(--background-modifier-border);background:color-mix(in srgb, var(--background-secondary) 72%, var(--background-primary));}.cell-wrapper.svelte-iq029y {width:100%;padding:var(--size-4-2) var(--size-4-4);border-bottom:var(--border-width) solid var(--background-modifier-border);}" }; function Board_matrix_vertical($$anchor, $$props) { if (new.target) return createClassComponent({ component: Board_matrix_vertical, ...$$anchor }); push($$props, false); append_styles($$anchor, $$css6); const tasksByPrimary = mutable_source(); const showSwimlaneHeaders = mutable_source(); let app = prop($$props, "app", 12); let matrix = prop($$props, "matrix", 12); let taskActions = prop($$props, "taskActions", 12); let columnTagTableStore = prop($$props, "columnTagTableStore", 12); let columnColourTableStore = prop($$props, "columnColourTableStore", 12); let columnMatchTagTableStore = prop($$props, "columnMatchTagTableStore", 12); let showFilepath = prop($$props, "showFilepath", 12); let propertyDisplay = prop($$props, "propertyDisplay", 28, () => "none" /* None */); let consolidateTags = prop($$props, "consolidateTags", 12); let excludedTags = prop($$props, "excludedTags", 28, () => []); let targetTaskFile = prop($$props, "targetTaskFile", 12, null); let targetFileIsDefault = prop($$props, "targetFileIsDefault", 12, false); let onToggleCollapse = prop($$props, "onToggleCollapse", 12); let uncategorizedColumnName = prop($$props, "uncategorizedColumnName", 12, void 0); let doneColumnName = prop($$props, "doneColumnName", 12, void 0); let isManualOrder = prop($$props, "isManualOrder", 12, false); let manualOrder = prop($$props, "manualOrder", 28, () => ({})); let reorderEnabled = prop($$props, "reorderEnabled", 12, false); legacy_pre_effect(() => deep_read_state(matrix()), () => { set(tasksByPrimary, Object.fromEntries(matrix().primaryAxis.map((bucket) => [ bucket.id, Object.values(matrix().cells[bucket.id] || {}).flatMap((cell) => cell.tasks) ]))); }); legacy_pre_effect(() => deep_read_state(matrix()), () => { var _a5; set(showSwimlaneHeaders, matrix().secondaryAxis.length > 1 || matrix().secondaryAxis.length > 0 && !((_a5 = matrix().secondaryAxis[0].meta) == null ? void 0 : _a5.isDefault)); }); legacy_pre_effect_reset(); var $$exports = { get app() { return app(); }, set app($$value) { app($$value); flushSync(); }, get matrix() { return matrix(); }, set matrix($$value) { matrix($$value); flushSync(); }, get taskActions() { return taskActions(); }, set taskActions($$value) { taskActions($$value); flushSync(); }, get columnTagTableStore() { return columnTagTableStore(); }, set columnTagTableStore($$value) { columnTagTableStore($$value); flushSync(); }, get columnColourTableStore() { return columnColourTableStore(); }, set columnColourTableStore($$value) { columnColourTableStore($$value); flushSync(); }, get columnMatchTagTableStore() { return columnMatchTagTableStore(); }, set columnMatchTagTableStore($$value) { columnMatchTagTableStore($$value); flushSync(); }, get showFilepath() { return showFilepath(); }, set showFilepath($$value) { showFilepath($$value); flushSync(); }, get propertyDisplay() { return propertyDisplay(); }, set propertyDisplay($$value) { propertyDisplay($$value); flushSync(); }, get consolidateTags() { return consolidateTags(); }, set consolidateTags($$value) { consolidateTags($$value); flushSync(); }, get excludedTags() { return excludedTags(); }, set excludedTags($$value) { excludedTags($$value); flushSync(); }, get targetTaskFile() { return targetTaskFile(); }, set targetTaskFile($$value) { targetTaskFile($$value); flushSync(); }, get targetFileIsDefault() { return targetFileIsDefault(); }, set targetFileIsDefault($$value) { targetFileIsDefault($$value); flushSync(); }, get onToggleCollapse() { return onToggleCollapse(); }, set onToggleCollapse($$value) { onToggleCollapse($$value); flushSync(); }, get uncategorizedColumnName() { return uncategorizedColumnName(); }, set uncategorizedColumnName($$value) { uncategorizedColumnName($$value); flushSync(); }, get doneColumnName() { return doneColumnName(); }, set doneColumnName($$value) { doneColumnName($$value); flushSync(); }, get isManualOrder() { return isManualOrder(); }, set isManualOrder($$value) { isManualOrder($$value); flushSync(); }, get manualOrder() { return manualOrder(); }, set manualOrder($$value) { manualOrder($$value); flushSync(); }, get reorderEnabled() { return reorderEnabled(); }, set reorderEnabled($$value) { reorderEnabled($$value); flushSync(); }, $set: update_legacy_props, $on: ($$event_name, $$event_cb) => add_legacy_event_listener($$props, $$event_name, $$event_cb) }; init(); var div = root_44(); each( div, 5, () => (deep_read_state(matrix()), untrack(() => matrix().primaryAxis)), (pBucket) => pBucket.id, ($$anchor2, pBucket) => { var div_1 = root_34(); let classes; let styles; var div_2 = child(div_1); var node = child(div_2); { let $0 = derived_safe_equal(() => (get(tasksByPrimary), get(pBucket), untrack(() => { var _a5; return (_a5 = get(tasksByPrimary)[get(pBucket).id]) != null ? _a5 : []; }))); ColumnHeader(node, { get column() { return get(pBucket), untrack(() => get(pBucket).id); }, get tasks() { return get($0); }, get taskActions() { return taskActions(); }, get columnTagTableStore() { return columnTagTableStore(); }, get columnColourTableStore() { return columnColourTableStore(); }, get columnMatchTagTableStore() { return columnMatchTagTableStore(); }, isVerticalFlow: true, get isCollapsed() { return get(pBucket), untrack(() => get(pBucket).collapsed); }, onToggleCollapse: () => onToggleCollapse()(get(pBucket).id), get uncategorizedColumnName() { return uncategorizedColumnName(); }, get doneColumnName() { return doneColumnName(); } }); } reset(div_2); var node_1 = sibling(div_2, 2); { var consequent_1 = ($$anchor3) => { var div_3 = root_24(); each( div_3, 5, () => (deep_read_state(matrix()), untrack(() => matrix().secondaryAxis)), (sBucket) => sBucket.id, ($$anchor4, sBucket) => { var fragment = root_17(); var node_2 = first_child(fragment); { var consequent = ($$anchor5) => { var div_4 = root6(); var text2 = child(div_4, true); reset(div_4); template_effect(() => set_text(text2, (get(sBucket), untrack(() => get(sBucket).label)))); append($$anchor5, div_4); }; if_block(node_2, ($$render) => { if (get(showSwimlaneHeaders)) $$render(consequent); }); } var div_5 = sibling(node_2, 2); var node_3 = child(div_5); { let $0 = derived_safe_equal(() => (get(tasksByPrimary), get(pBucket), untrack(() => { var _a5; return (_a5 = get(tasksByPrimary)[get(pBucket).id]) != null ? _a5 : []; }))); let $1 = derived_safe_equal(() => (get(pBucket), untrack(() => { var _a5; return (_a5 = get(pBucket).meta) == null ? void 0 : _a5.color; }))); let $2 = derived_safe_equal(() => (deep_read_state(manualOrder()), get(sBucket), get(pBucket), untrack(() => { var _a5; return (_a5 = manualOrder()[get(sBucket).id]) == null ? void 0 : _a5[get(pBucket).id]; }))); BoardCell(node_3, { get app() { return app(); }, get cell() { return deep_read_state(matrix()), get(pBucket), get(sBucket), untrack(() => matrix().cells[get(pBucket).id][get(sBucket).id]); }, get primaryTasks() { return get($0); }, get secondaryAxisBucket() { return get(sBucket); }, get primaryAxisLabel() { return get(pBucket), untrack(() => get(pBucket).label); }, get taskActions() { return taskActions(); }, get columnTagTableStore() { return columnTagTableStore(); }, get showFilepath() { return showFilepath(); }, get propertyDisplay() { return propertyDisplay(); }, get consolidateTags() { return consolidateTags(); }, get excludedTags() { return excludedTags(); }, isVerticalFlow: true, get targetTaskFile() { return targetTaskFile(); }, get targetFileIsDefault() { return targetFileIsDefault(); }, get doneColumnName() { return doneColumnName(); }, get isCollapsed() { return get(pBucket), untrack(() => get(pBucket).collapsed); }, get accentColor() { return get($1); }, get isManualOrder() { return isManualOrder(); }, get manualOrderEntries() { return get($2); }, get reorderEnabled() { return reorderEnabled(); } }); } reset(div_5); append($$anchor4, fragment); } ); reset(div_3); append($$anchor3, div_3); }; if_block(node_1, ($$render) => { if (get(pBucket), untrack(() => !get(pBucket).collapsed)) $$render(consequent_1); }); } reset(div_1); template_effect(() => { classes = set_class(div_1, 1, "column-vertical svelte-iq029y", null, classes, { collapsed: get(pBucket).collapsed }); styles = set_style( div_1, (get(pBucket), untrack(() => { var _a5; return ((_a5 = get(pBucket).meta) == null ? void 0 : _a5.color) ? `background-color: ${get(pBucket).meta.color};` : ""; })), styles, { "--column-color": (get(pBucket), untrack(() => { var _a5; return (_a5 = get(pBucket).meta) == null ? void 0 : _a5.color; })) } ); }); event("click", div_1, () => { if (get(pBucket).collapsed) onToggleCollapse()(get(pBucket).id); }); append($$anchor2, div_1); } ); reset(div); append($$anchor, div); return pop($$exports); } // src/ui/board/board_matrix_horizontal.svelte var root7 = from_html(`
`); var root_18 = from_html(`
`); var root_25 = from_html(`
`); var root_35 = from_html(` `, 1); var root_45 = from_html(`
`); var $$css7 = { hash: "svelte-1j479gc", code: ".matrix-horizontal.svelte-1j479gc {display:grid;column-gap:0;row-gap:0;align-items:stretch;min-width:max-content;padding-bottom:var(--size-4-4);border:var(--border-width) solid var(--background-modifier-border);border-radius:var(--radius-m);background:var(--background-primary);box-shadow:var(--shadow-s);overflow:visible;}.matrix-corner.svelte-1j479gc,\n.header-wrapper.svelte-1j479gc {background:color-mix(in srgb, var(--background-secondary) 72%, var(--background-primary));border-bottom:var(--border-width) solid var(--background-modifier-border);border-right:var(--border-width) solid var(--background-modifier-border);min-height:64px;}.matrix-corner.svelte-1j479gc {position:sticky;left:0;top:0;z-index:7;}.header-wrapper.svelte-1j479gc {position:sticky;top:0;z-index:5;padding:var(--size-4-2) var(--size-4-3);--column-header-x-padding-override: var(--size-4-3);--column-header-y-padding-override: var(--size-4-2);display:flex;align-items:stretch;}.header-wrapper.collapsed.svelte-1j479gc {position:sticky;top:0;display:flex;flex-direction:column;align-self:start;height:100%;min-height:100%;padding:0 var(--size-2-3) var(--size-4-3);--column-header-x-padding-override: var(--size-2-3);--column-header-y-padding-override: 0px;cursor:pointer;z-index:6;}.swimlane-header-cell.svelte-1j479gc {position:sticky;left:0;z-index:3;display:flex;align-items:center;justify-content:center;min-height:188px;padding:var(--size-4-3) var(--size-2-2);background:color-mix(in srgb, var(--background-primary) 82%, var(--background-secondary));border-right:var(--border-width) solid var(--background-modifier-border);border-bottom:var(--border-width) solid var(--background-modifier-border);}.swimlane-header-cell.svelte-1j479gc .swimlane-label:where(.svelte-1j479gc) {color:var(--text-normal);font-size:var(--font-ui-medium);font-weight:var(--font-medium);line-height:1.2;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:100%;}.cell-wrapper.svelte-1j479gc {z-index:1;min-height:188px;padding:var(--size-4-2) var(--size-4-4);display:flex;flex-direction:column;align-self:stretch;background:color-mix(in srgb, var(--background-primary) 88%, var(--background-secondary));border-right:var(--border-width) solid var(--background-modifier-border);border-bottom:var(--border-width) solid var(--background-modifier-border);}.cell-wrapper.collapsed.svelte-1j479gc {display:none;}" }; function Board_matrix_horizontal($$anchor, $$props) { if (new.target) return createClassComponent({ component: Board_matrix_horizontal, ...$$anchor }); push($$props, false); append_styles($$anchor, $$css7); const tasksByPrimary = mutable_source(); const showSwimlaneHeaders = mutable_source(); const gridTemplateColumns = mutable_source(); const primaryGridColumnOffset = mutable_source(); const gridTemplateRows = mutable_source(); let app = prop($$props, "app", 12); let matrix = prop($$props, "matrix", 12); let taskActions = prop($$props, "taskActions", 12); let columnTagTableStore = prop($$props, "columnTagTableStore", 12); let columnColourTableStore = prop($$props, "columnColourTableStore", 12); let columnMatchTagTableStore = prop($$props, "columnMatchTagTableStore", 12); let showFilepath = prop($$props, "showFilepath", 12); let propertyDisplay = prop($$props, "propertyDisplay", 28, () => "none" /* None */); let consolidateTags = prop($$props, "consolidateTags", 12); let excludedTags = prop($$props, "excludedTags", 28, () => []); let targetTaskFile = prop($$props, "targetTaskFile", 12, null); let targetFileIsDefault = prop($$props, "targetFileIsDefault", 12, false); let onToggleCollapse = prop($$props, "onToggleCollapse", 12); let uncategorizedColumnName = prop($$props, "uncategorizedColumnName", 12, void 0); let doneColumnName = prop($$props, "doneColumnName", 12, void 0); let columnWidth = prop($$props, "columnWidth", 12, "300px"); let isManualOrder = prop($$props, "isManualOrder", 12, false); let manualOrder = prop($$props, "manualOrder", 28, () => ({})); let reorderEnabled = prop($$props, "reorderEnabled", 12, false); legacy_pre_effect(() => deep_read_state(matrix()), () => { set(tasksByPrimary, Object.fromEntries(matrix().primaryAxis.map((bucket) => [ bucket.id, Object.values(matrix().cells[bucket.id] || {}).flatMap((cell) => cell.tasks) ]))); }); legacy_pre_effect(() => deep_read_state(matrix()), () => { var _a5; set(showSwimlaneHeaders, matrix().secondaryAxis.length > 1 || matrix().secondaryAxis.length > 0 && !((_a5 = matrix().secondaryAxis[0].meta) == null ? void 0 : _a5.isDefault)); }); legacy_pre_effect( () => (get(showSwimlaneHeaders), deep_read_state(matrix()), deep_read_state(columnWidth())), () => { set(gridTemplateColumns, [ ...get(showSwimlaneHeaders) ? ["56px"] : [], ...matrix().primaryAxis.map((b) => b.collapsed ? "48px" : columnWidth()) ].join(" ")); } ); legacy_pre_effect(() => get(showSwimlaneHeaders), () => { set(primaryGridColumnOffset, get(showSwimlaneHeaders) ? 2 : 1); }); legacy_pre_effect(() => deep_read_state(matrix()), () => { set(gridTemplateRows, (() => { const rows = ["max-content"]; for (let i = 0; i < matrix().secondaryAxis.length; i++) { rows.push(i === matrix().secondaryAxis.length - 1 ? "minmax(188px, 1fr)" : "minmax(188px, max-content)"); } return rows.join(" "); })()); }); legacy_pre_effect_reset(); var $$exports = { get app() { return app(); }, set app($$value) { app($$value); flushSync(); }, get matrix() { return matrix(); }, set matrix($$value) { matrix($$value); flushSync(); }, get taskActions() { return taskActions(); }, set taskActions($$value) { taskActions($$value); flushSync(); }, get columnTagTableStore() { return columnTagTableStore(); }, set columnTagTableStore($$value) { columnTagTableStore($$value); flushSync(); }, get columnColourTableStore() { return columnColourTableStore(); }, set columnColourTableStore($$value) { columnColourTableStore($$value); flushSync(); }, get columnMatchTagTableStore() { return columnMatchTagTableStore(); }, set columnMatchTagTableStore($$value) { columnMatchTagTableStore($$value); flushSync(); }, get showFilepath() { return showFilepath(); }, set showFilepath($$value) { showFilepath($$value); flushSync(); }, get propertyDisplay() { return propertyDisplay(); }, set propertyDisplay($$value) { propertyDisplay($$value); flushSync(); }, get consolidateTags() { return consolidateTags(); }, set consolidateTags($$value) { consolidateTags($$value); flushSync(); }, get excludedTags() { return excludedTags(); }, set excludedTags($$value) { excludedTags($$value); flushSync(); }, get targetTaskFile() { return targetTaskFile(); }, set targetTaskFile($$value) { targetTaskFile($$value); flushSync(); }, get targetFileIsDefault() { return targetFileIsDefault(); }, set targetFileIsDefault($$value) { targetFileIsDefault($$value); flushSync(); }, get onToggleCollapse() { return onToggleCollapse(); }, set onToggleCollapse($$value) { onToggleCollapse($$value); flushSync(); }, get uncategorizedColumnName() { return uncategorizedColumnName(); }, set uncategorizedColumnName($$value) { uncategorizedColumnName($$value); flushSync(); }, get doneColumnName() { return doneColumnName(); }, set doneColumnName($$value) { doneColumnName($$value); flushSync(); }, get columnWidth() { return columnWidth(); }, set columnWidth($$value) { columnWidth($$value); flushSync(); }, get isManualOrder() { return isManualOrder(); }, set isManualOrder($$value) { isManualOrder($$value); flushSync(); }, get manualOrder() { return manualOrder(); }, set manualOrder($$value) { manualOrder($$value); flushSync(); }, get reorderEnabled() { return reorderEnabled(); }, set reorderEnabled($$value) { reorderEnabled($$value); flushSync(); }, $set: update_legacy_props, $on: ($$event_name, $$event_cb) => add_legacy_event_listener($$props, $$event_name, $$event_cb) }; init(); var div = root_45(); let styles; var node = child(div); { var consequent = ($$anchor2) => { var div_1 = root7(); set_style(div_1, "", {}, { "grid-column": "1", "grid-row": "1" }); append($$anchor2, div_1); }; if_block(node, ($$render) => { if (get(showSwimlaneHeaders)) $$render(consequent); }); } var node_1 = sibling(node, 2); each( node_1, 3, () => (deep_read_state(matrix()), untrack(() => matrix().primaryAxis)), (pBucket) => pBucket.id, ($$anchor2, pBucket, index2) => { var div_2 = root_18(); let classes; let styles_1; var node_2 = child(div_2); { let $0 = derived_safe_equal(() => (get(tasksByPrimary), get(pBucket), untrack(() => { var _a5; return (_a5 = get(tasksByPrimary)[get(pBucket).id]) != null ? _a5 : []; }))); ColumnHeader(node_2, { get column() { return get(pBucket), untrack(() => get(pBucket).id); }, get tasks() { return get($0); }, get taskActions() { return taskActions(); }, get columnTagTableStore() { return columnTagTableStore(); }, get columnColourTableStore() { return columnColourTableStore(); }, get columnMatchTagTableStore() { return columnMatchTagTableStore(); }, isVerticalFlow: false, get isCollapsed() { return get(pBucket), untrack(() => get(pBucket).collapsed); }, onToggleCollapse: () => onToggleCollapse()(get(pBucket).id), get uncategorizedColumnName() { return uncategorizedColumnName(); }, get doneColumnName() { return doneColumnName(); } }); } reset(div_2); template_effect(() => { classes = set_class(div_2, 1, "header-wrapper svelte-1j479gc", null, classes, { collapsed: get(pBucket).collapsed }); styles_1 = set_style(div_2, "", styles_1, { "grid-column": get(index2) + get(primaryGridColumnOffset), "grid-row": (get(pBucket), untrack(() => get(pBucket).collapsed ? "1 / -1" : "1")), "--column-color": (get(pBucket), untrack(() => { var _a5; return (_a5 = get(pBucket).meta) == null ? void 0 : _a5.color; })) }); }); append($$anchor2, div_2); } ); var node_3 = sibling(node_1, 2); each( node_3, 3, () => (deep_read_state(matrix()), untrack(() => matrix().secondaryAxis)), (sBucket) => sBucket.id, ($$anchor2, sBucket, sIndex) => { var fragment = root_35(); var node_4 = first_child(fragment); { var consequent_1 = ($$anchor3) => { var div_3 = root_25(); let styles_2; var span = child(div_3); var text2 = child(span, true); reset(span); reset(div_3); template_effect(() => { styles_2 = set_style(div_3, "", styles_2, { "grid-column": "1", "grid-row": get(sIndex) + 2 }); set_attribute2(span, "title", (get(sBucket), untrack(() => get(sBucket).label))); set_text(text2, (get(sBucket), untrack(() => get(sBucket).label))); }); append($$anchor3, div_3); }; if_block(node_4, ($$render) => { if (get(showSwimlaneHeaders)) $$render(consequent_1); }); } var node_5 = sibling(node_4, 2); each( node_5, 3, () => (deep_read_state(matrix()), untrack(() => matrix().primaryAxis)), (pBucket) => pBucket.id, ($$anchor3, pBucket, pIndex) => { var div_4 = root_18(); let classes_1; let styles_3; var node_6 = child(div_4); { let $0 = derived_safe_equal(() => (get(tasksByPrimary), get(pBucket), untrack(() => { var _a5; return (_a5 = get(tasksByPrimary)[get(pBucket).id]) != null ? _a5 : []; }))); let $1 = derived_safe_equal(() => (get(pBucket), untrack(() => { var _a5; return (_a5 = get(pBucket).meta) == null ? void 0 : _a5.color; }))); let $2 = derived_safe_equal(() => (deep_read_state(manualOrder()), get(sBucket), get(pBucket), untrack(() => { var _a5; return (_a5 = manualOrder()[get(sBucket).id]) == null ? void 0 : _a5[get(pBucket).id]; }))); BoardCell(node_6, { get app() { return app(); }, get cell() { return deep_read_state(matrix()), get(pBucket), get(sBucket), untrack(() => matrix().cells[get(pBucket).id][get(sBucket).id]); }, get primaryTasks() { return get($0); }, get secondaryAxisBucket() { return get(sBucket); }, get primaryAxisLabel() { return get(pBucket), untrack(() => get(pBucket).label); }, get taskActions() { return taskActions(); }, get columnTagTableStore() { return columnTagTableStore(); }, get showFilepath() { return showFilepath(); }, get propertyDisplay() { return propertyDisplay(); }, get consolidateTags() { return consolidateTags(); }, get excludedTags() { return excludedTags(); }, isVerticalFlow: false, get targetTaskFile() { return targetTaskFile(); }, get targetFileIsDefault() { return targetFileIsDefault(); }, get doneColumnName() { return doneColumnName(); }, get isCollapsed() { return get(pBucket), untrack(() => get(pBucket).collapsed); }, get accentColor() { return get($1); }, get isManualOrder() { return isManualOrder(); }, get manualOrderEntries() { return get($2); }, get reorderEnabled() { return reorderEnabled(); } }); } reset(div_4); template_effect(() => { classes_1 = set_class(div_4, 1, "cell-wrapper svelte-1j479gc", null, classes_1, { collapsed: get(pBucket).collapsed }); styles_3 = set_style(div_4, "", styles_3, { "grid-column": get(pIndex) + get(primaryGridColumnOffset), "grid-row": get(sIndex) + 2, "--column-color": (get(pBucket), untrack(() => { var _a5; return (_a5 = get(pBucket).meta) == null ? void 0 : _a5.color; })) }); }); append($$anchor3, div_4); } ); append($$anchor2, fragment); } ); reset(div); template_effect(() => styles = set_style(div, "", styles, { "grid-template-columns": get(gridTemplateColumns), "grid-template-rows": get(gridTemplateRows) })); append($$anchor, div); return pop($$exports); } // src/ui/board/board_matrix.ts function deriveBoardMatrix(tasks, columns, settings) { var _a5, _b3, _c2, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p; const tasksByPrimary = { uncategorised: [], done: [] }; for (const column of columns) { tasksByPrimary[column.id] = []; } for (const task of tasks) { if (task.done || task.column === "done") { tasksByPrimary["done"].push(task); } else if (task.column === "archived") { } else if (task.column) { if (!tasksByPrimary[task.column]) { tasksByPrimary[task.column] = []; } tasksByPrimary[task.column].push(task); } else { tasksByPrimary["uncategorised"].push(task); } } const orderMode = (_a5 = settings.columnOrderMode) != null ? _a5 : "file" /* FileOrder */; const sortProperty = (_b3 = settings.sortProperty) != null ? _b3 : null; const sortDirection = (_c2 = settings.sortDirection) != null ? _c2 : "asc"; const useProperty = orderMode === "property" /* Property */ && !!sortProperty; const useManual = orderMode === "manual" /* Manual */; const manualOrder = (_d = settings.manualOrder) != null ? _d : {}; for (const bucketTasks of Object.values(tasksByPrimary)) { if (orderMode === "task-name" /* TaskName */) { sortTasksByTaskName(bucketTasks, sortDirection); } else if (useProperty && sortProperty) { sortTasksByProperty( bucketTasks, sortProperty, sortDirection, (_e = settings.statusMarkerOrder) != null ? _e : "", (_f = settings.doneStatusMarkers) != null ? _f : "" ); } else { sortTasksByFile(bucketTasks); } } const collapsedColumns = new Set((_g = settings.collapsedColumns) != null ? _g : []); const uncategorizedVisibility = (_h = settings.uncategorizedVisibility) != null ? _h : "auto" /* Auto */; const showUncategorizedColumn = uncategorizedVisibility === "always" /* AlwaysShow */ || uncategorizedVisibility === "auto" /* Auto */ && tasksByPrimary["uncategorised"].length > 0; const doneVisibility = (_i = settings.doneVisibility) != null ? _i : "always" /* AlwaysShow */; const showDoneColumn = doneVisibility === "always" /* AlwaysShow */ || doneVisibility === "auto" /* Auto */ && tasksByPrimary["done"].length > 0; const allColumns = []; if (showUncategorizedColumn) allColumns.push("uncategorised"); for (const column of columns) { allColumns.push(column.id); } if (showDoneColumn) allColumns.push("done"); const flowDirection = (_j = settings.flowDirection) != null ? _j : "ltr" /* LeftToRight */; const shouldReverse = flowDirection === "rtl" /* RightToLeft */ || flowDirection === "btt" /* BottomToTop */; if (shouldReverse) { allColumns.reverse(); } const primaryAxis = allColumns.map((id) => { let label = id; let color = void 0; const colDef = columns.find((c) => c.id === id); if (id === "uncategorised") { label = settings.uncategorizedColumnName || "Uncategorized"; } else if (id === "done") { label = settings.doneColumnName || "Done"; } else { if (colDef) { label = colDef.label; color = colDef.color; } } return { id, label, kind: "column", collapsed: collapsedColumns.has(id), meta: { color } }; }); const groupSource = (_k = settings.groupSource) != null ? _k : { kind: "none" }; const groupBuckets = deriveGroupBuckets( Object.values(tasksByPrimary).flat(), groupSource, settings.excludedTags, (_l = settings.statusMarkerOrder) != null ? _l : "", (_m = settings.doneStatusMarkers) != null ? _m : "" ); const assignTaskToBucket = createGroupAssigner(groupBuckets, groupSource, settings.excludedTags); const secondaryAxis = groupBuckets.map((bucket) => ({ id: bucket.id, label: bucket.label, kind: "group", collapsed: false, meta: { value: bucket.value, source: bucket.source, isDefault: bucket.isDefault } })); const cells = {}; for (const primaryBucket of primaryAxis) { const pId = primaryBucket.id; cells[pId] = {}; const cellTasksByPrimary = (_n = tasksByPrimary[pId]) != null ? _n : []; const cellTasksBySecondary = /* @__PURE__ */ new Map(); for (const task of cellTasksByPrimary) { const sId = assignTaskToBucket(task); if (sId === void 0) continue; let bucketTasks = cellTasksBySecondary.get(sId); if (!bucketTasks) { bucketTasks = []; cellTasksBySecondary.set(sId, bucketTasks); } bucketTasks.push(task); } for (const groupBucket of groupBuckets) { const sId = groupBucket.id; const cellTasks = (_o = cellTasksBySecondary.get(sId)) != null ? _o : []; const orderedCellTasks = useManual ? computeDisplayOrder(cellTasks, (_p = manualOrder[sId]) == null ? void 0 : _p[pId]) : cellTasks; cells[pId][sId] = { primaryId: pId, secondaryId: sId, tasks: orderedCellTasks, isEmpty: orderedCellTasks.length === 0 }; } } return { primaryAxis, secondaryAxis, cells }; } function sortTasksByFile(tasks) { tasks.sort(compareByFile); } function compareByFile(a, b) { if (a.path === b.path) { return a.rowIndex - b.rowIndex; } return a.path.localeCompare(b.path); } function sortTasksByProperty(tasks, key2, direction, statusMarkerOrder, doneStatusMarkers) { tasks.sort((a, b) => { const result = compareByProperty(a, b, key2, direction, { statusMarkerOrder, doneStatusMarkers }); return result !== 0 ? result : compareByFile(a, b); }); } function sortTasksByTaskName(tasks, direction) { tasks.sort((a, b) => { const result = a.content.trim().localeCompare(b.content.trim()); if (result !== 0) { return direction === "desc" ? -result : result; } return compareByFile(a, b); }); } // node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs var min = Math.min; var max = Math.max; var round = Math.round; var floor = Math.floor; var createCoords = (v) => ({ x: v, y: v }); var oppositeSideMap = { left: "right", right: "left", bottom: "top", top: "bottom" }; var oppositeAlignmentMap = { start: "end", end: "start" }; function clamp(start, value, end) { return max(start, min(value, end)); } function evaluate(value, param) { return typeof value === "function" ? value(param) : value; } function getSide(placement) { return placement.split("-")[0]; } function getAlignment(placement) { return placement.split("-")[1]; } function getOppositeAxis(axis) { return axis === "x" ? "y" : "x"; } function getAxisLength(axis) { return axis === "y" ? "height" : "width"; } function getSideAxis(placement) { return ["top", "bottom"].includes(getSide(placement)) ? "y" : "x"; } function getAlignmentAxis(placement) { return getOppositeAxis(getSideAxis(placement)); } function getAlignmentSides(placement, rects, rtl) { if (rtl === void 0) { rtl = false; } const alignment = getAlignment(placement); const alignmentAxis = getAlignmentAxis(placement); const length = getAxisLength(alignmentAxis); let mainAlignmentSide = alignmentAxis === "x" ? alignment === (rtl ? "end" : "start") ? "right" : "left" : alignment === "start" ? "bottom" : "top"; if (rects.reference[length] > rects.floating[length]) { mainAlignmentSide = getOppositePlacement(mainAlignmentSide); } return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)]; } function getExpandedPlacements(placement) { const oppositePlacement = getOppositePlacement(placement); return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)]; } function getOppositeAlignmentPlacement(placement) { return placement.replace(/start|end/g, (alignment) => oppositeAlignmentMap[alignment]); } function getSideList(side, isStart, rtl) { const lr = ["left", "right"]; const rl = ["right", "left"]; const tb = ["top", "bottom"]; const bt = ["bottom", "top"]; switch (side) { case "top": case "bottom": if (rtl) return isStart ? rl : lr; return isStart ? lr : rl; case "left": case "right": return isStart ? tb : bt; default: return []; } } function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) { const alignment = getAlignment(placement); let list = getSideList(getSide(placement), direction === "start", rtl); if (alignment) { list = list.map((side) => side + "-" + alignment); if (flipAlignment) { list = list.concat(list.map(getOppositeAlignmentPlacement)); } } return list; } function getOppositePlacement(placement) { return placement.replace(/left|right|bottom|top/g, (side) => oppositeSideMap[side]); } function expandPaddingObject(padding) { return { top: 0, right: 0, bottom: 0, left: 0, ...padding }; } function getPaddingObject(padding) { return typeof padding !== "number" ? expandPaddingObject(padding) : { top: padding, right: padding, bottom: padding, left: padding }; } function rectToClientRect(rect) { return { ...rect, top: rect.y, left: rect.x, right: rect.x + rect.width, bottom: rect.y + rect.height }; } // node_modules/@floating-ui/core/dist/floating-ui.core.mjs function computeCoordsFromPlacement(_ref, placement, rtl) { let { reference, floating } = _ref; const sideAxis = getSideAxis(placement); const alignmentAxis = getAlignmentAxis(placement); const alignLength = getAxisLength(alignmentAxis); const side = getSide(placement); const isVertical = sideAxis === "y"; const commonX = reference.x + reference.width / 2 - floating.width / 2; const commonY = reference.y + reference.height / 2 - floating.height / 2; const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2; let coords; switch (side) { case "top": coords = { x: commonX, y: reference.y - floating.height }; break; case "bottom": coords = { x: commonX, y: reference.y + reference.height }; break; case "right": coords = { x: reference.x + reference.width, y: commonY }; break; case "left": coords = { x: reference.x - floating.width, y: commonY }; break; default: coords = { x: reference.x, y: reference.y }; } switch (getAlignment(placement)) { case "start": coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1); break; case "end": coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1); break; } return coords; } var computePosition = async (reference, floating, config) => { const { placement = "bottom", strategy = "absolute", middleware = [], platform: platform2 } = config; const validMiddleware = middleware.filter(Boolean); const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(floating)); let rects = await platform2.getElementRects({ reference, floating, strategy }); let { x, y } = computeCoordsFromPlacement(rects, placement, rtl); let statefulPlacement = placement; let middlewareData = {}; let resetCount = 0; for (let i = 0; i < validMiddleware.length; i++) { const { name, fn } = validMiddleware[i]; const { x: nextX, y: nextY, data, reset: reset2 } = await fn({ x, y, initialPlacement: placement, placement: statefulPlacement, strategy, middlewareData, rects, platform: platform2, elements: { reference, floating } }); x = nextX != null ? nextX : x; y = nextY != null ? nextY : y; middlewareData = { ...middlewareData, [name]: { ...middlewareData[name], ...data } }; if (reset2 && resetCount <= 50) { resetCount++; if (typeof reset2 === "object") { if (reset2.placement) { statefulPlacement = reset2.placement; } if (reset2.rects) { rects = reset2.rects === true ? await platform2.getElementRects({ reference, floating, strategy }) : reset2.rects; } ({ x, y } = computeCoordsFromPlacement(rects, statefulPlacement, rtl)); } i = -1; } } return { x, y, placement: statefulPlacement, strategy, middlewareData }; }; async function detectOverflow(state2, options) { var _await$platform$isEle; if (options === void 0) { options = {}; } const { x, y, platform: platform2, rects, elements, strategy } = state2; const { boundary: boundary2 = "clippingAncestors", rootBoundary = "viewport", elementContext = "floating", altBoundary = false, padding = 0 } = evaluate(options, state2); const paddingObject = getPaddingObject(padding); const altContext = elementContext === "floating" ? "reference" : "floating"; const element2 = elements[altBoundary ? altContext : elementContext]; const clippingClientRect = rectToClientRect(await platform2.getClippingRect({ element: ((_await$platform$isEle = await (platform2.isElement == null ? void 0 : platform2.isElement(element2))) != null ? _await$platform$isEle : true) ? element2 : element2.contextElement || await (platform2.getDocumentElement == null ? void 0 : platform2.getDocumentElement(elements.floating)), boundary: boundary2, rootBoundary, strategy })); const rect = elementContext === "floating" ? { ...rects.floating, x, y } : rects.reference; const offsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(elements.floating)); const offsetScale = await (platform2.isElement == null ? void 0 : platform2.isElement(offsetParent)) ? await (platform2.getScale == null ? void 0 : platform2.getScale(offsetParent)) || { x: 1, y: 1 } : { x: 1, y: 1 }; const elementClientRect = rectToClientRect(platform2.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform2.convertOffsetParentRelativeRectToViewportRelativeRect({ elements, rect, offsetParent, strategy }) : rect); return { top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y, bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y, left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x, right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x }; } var flip = function(options) { if (options === void 0) { options = {}; } return { name: "flip", options, async fn(state2) { var _middlewareData$arrow, _middlewareData$flip; const { placement, middlewareData, rects, initialPlacement, platform: platform2, elements } = state2; const { mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = true, fallbackPlacements: specifiedFallbackPlacements, fallbackStrategy = "bestFit", fallbackAxisSideDirection = "none", flipAlignment = true, ...detectOverflowOptions } = evaluate(options, state2); if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) { return {}; } const side = getSide(placement); const isBasePlacement = getSide(initialPlacement) === initialPlacement; const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)); const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement)); if (!specifiedFallbackPlacements && fallbackAxisSideDirection !== "none") { fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl)); } const placements2 = [initialPlacement, ...fallbackPlacements]; const overflow = await detectOverflow(state2, detectOverflowOptions); const overflows = []; let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || []; if (checkMainAxis) { overflows.push(overflow[side]); } if (checkCrossAxis) { const sides2 = getAlignmentSides(placement, rects, rtl); overflows.push(overflow[sides2[0]], overflow[sides2[1]]); } overflowsData = [...overflowsData, { placement, overflows }]; if (!overflows.every((side2) => side2 <= 0)) { var _middlewareData$flip2, _overflowsData$filter; const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1; const nextPlacement = placements2[nextIndex]; if (nextPlacement) { return { data: { index: nextIndex, overflows: overflowsData }, reset: { placement: nextPlacement } }; } let resetPlacement = (_overflowsData$filter = overflowsData.filter((d) => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement; if (!resetPlacement) { switch (fallbackStrategy) { case "bestFit": { var _overflowsData$map$so; const placement2 = (_overflowsData$map$so = overflowsData.map((d) => [d.placement, d.overflows.filter((overflow2) => overflow2 > 0).reduce((acc, overflow2) => acc + overflow2, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$map$so[0]; if (placement2) { resetPlacement = placement2; } break; } case "initialPlacement": resetPlacement = initialPlacement; break; } } if (placement !== resetPlacement) { return { reset: { placement: resetPlacement } }; } } return {}; } }; }; async function convertValueToCoords(state2, options) { const { placement, platform: platform2, elements } = state2; const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)); const side = getSide(placement); const alignment = getAlignment(placement); const isVertical = getSideAxis(placement) === "y"; const mainAxisMulti = ["left", "top"].includes(side) ? -1 : 1; const crossAxisMulti = rtl && isVertical ? -1 : 1; const rawValue = evaluate(options, state2); let { mainAxis, crossAxis, alignmentAxis } = typeof rawValue === "number" ? { mainAxis: rawValue, crossAxis: 0, alignmentAxis: null } : { mainAxis: 0, crossAxis: 0, alignmentAxis: null, ...rawValue }; if (alignment && typeof alignmentAxis === "number") { crossAxis = alignment === "end" ? alignmentAxis * -1 : alignmentAxis; } return isVertical ? { x: crossAxis * crossAxisMulti, y: mainAxis * mainAxisMulti } : { x: mainAxis * mainAxisMulti, y: crossAxis * crossAxisMulti }; } var offset = function(options) { if (options === void 0) { options = 0; } return { name: "offset", options, async fn(state2) { var _middlewareData$offse, _middlewareData$arrow; const { x, y, placement, middlewareData } = state2; const diffCoords = await convertValueToCoords(state2, options); if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) { return {}; } return { x: x + diffCoords.x, y: y + diffCoords.y, data: { ...diffCoords, placement } }; } }; }; var shift = function(options) { if (options === void 0) { options = {}; } return { name: "shift", options, async fn(state2) { const { x, y, placement } = state2; const { mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = false, limiter = { fn: (_ref) => { let { x: x2, y: y2 } = _ref; return { x: x2, y: y2 }; } }, ...detectOverflowOptions } = evaluate(options, state2); const coords = { x, y }; const overflow = await detectOverflow(state2, detectOverflowOptions); const crossAxis = getSideAxis(getSide(placement)); const mainAxis = getOppositeAxis(crossAxis); let mainAxisCoord = coords[mainAxis]; let crossAxisCoord = coords[crossAxis]; if (checkMainAxis) { const minSide = mainAxis === "y" ? "top" : "left"; const maxSide = mainAxis === "y" ? "bottom" : "right"; const min2 = mainAxisCoord + overflow[minSide]; const max2 = mainAxisCoord - overflow[maxSide]; mainAxisCoord = clamp(min2, mainAxisCoord, max2); } if (checkCrossAxis) { const minSide = crossAxis === "y" ? "top" : "left"; const maxSide = crossAxis === "y" ? "bottom" : "right"; const min2 = crossAxisCoord + overflow[minSide]; const max2 = crossAxisCoord - overflow[maxSide]; crossAxisCoord = clamp(min2, crossAxisCoord, max2); } const limitedCoords = limiter.fn({ ...state2, [mainAxis]: mainAxisCoord, [crossAxis]: crossAxisCoord }); return { ...limitedCoords, data: { x: limitedCoords.x - x, y: limitedCoords.y - y } }; } }; }; // node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs function getNodeName(node) { if (isNode(node)) { return (node.nodeName || "").toLowerCase(); } return "#document"; } function getWindow(node) { var _node$ownerDocument; return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window; } function getDocumentElement(node) { var _ref; return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement; } function isNode(value) { return value instanceof Node || value instanceof getWindow(value).Node; } function isElement(value) { return value instanceof Element || value instanceof getWindow(value).Element; } function isHTMLElement(value) { return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement; } function isShadowRoot(value) { if (typeof ShadowRoot === "undefined") { return false; } return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot; } function isOverflowElement(element2) { const { overflow, overflowX, overflowY, display } = getComputedStyle2(element2); return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !["inline", "contents"].includes(display); } function isTableElement(element2) { return ["table", "td", "th"].includes(getNodeName(element2)); } function isContainingBlock(element2) { const webkit = isWebKit(); const css = getComputedStyle2(element2); return css.transform !== "none" || css.perspective !== "none" || (css.containerType ? css.containerType !== "normal" : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== "none" : false) || !webkit && (css.filter ? css.filter !== "none" : false) || ["transform", "perspective", "filter"].some((value) => (css.willChange || "").includes(value)) || ["paint", "layout", "strict", "content"].some((value) => (css.contain || "").includes(value)); } function getContainingBlock(element2) { let currentNode = getParentNode(element2); while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) { if (isContainingBlock(currentNode)) { return currentNode; } else { currentNode = getParentNode(currentNode); } } return null; } function isWebKit() { if (typeof CSS === "undefined" || !CSS.supports) return false; return CSS.supports("-webkit-backdrop-filter", "none"); } function isLastTraversableNode(node) { return ["html", "body", "#document"].includes(getNodeName(node)); } function getComputedStyle2(element2) { return getWindow(element2).getComputedStyle(element2); } function getNodeScroll(element2) { if (isElement(element2)) { return { scrollLeft: element2.scrollLeft, scrollTop: element2.scrollTop }; } return { scrollLeft: element2.pageXOffset, scrollTop: element2.pageYOffset }; } function getParentNode(node) { if (getNodeName(node) === "html") { return node; } const result = ( // Step into the shadow DOM of the parent of a slotted node. node.assignedSlot || // DOM Element detected. node.parentNode || // ShadowRoot detected. isShadowRoot(node) && node.host || // Fallback. getDocumentElement(node) ); return isShadowRoot(result) ? result.host : result; } function getNearestOverflowAncestor(node) { const parentNode = getParentNode(node); if (isLastTraversableNode(parentNode)) { return node.ownerDocument ? node.ownerDocument.body : node.body; } if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) { return parentNode; } return getNearestOverflowAncestor(parentNode); } function getOverflowAncestors(node, list, traverseIframes) { var _node$ownerDocument2; if (list === void 0) { list = []; } if (traverseIframes === void 0) { traverseIframes = true; } const scrollableAncestor = getNearestOverflowAncestor(node); const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body); const win = getWindow(scrollableAncestor); if (isBody) { return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []); } return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes)); } // node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs function getCssDimensions(element2) { const css = getComputedStyle2(element2); let width = parseFloat(css.width) || 0; let height = parseFloat(css.height) || 0; const hasOffset = isHTMLElement(element2); const offsetWidth = hasOffset ? element2.offsetWidth : width; const offsetHeight = hasOffset ? element2.offsetHeight : height; const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight; if (shouldFallback) { width = offsetWidth; height = offsetHeight; } return { width, height, $: shouldFallback }; } function unwrapElement(element2) { return !isElement(element2) ? element2.contextElement : element2; } function getScale(element2) { const domElement = unwrapElement(element2); if (!isHTMLElement(domElement)) { return createCoords(1); } const rect = domElement.getBoundingClientRect(); const { width, height, $ } = getCssDimensions(domElement); let x = ($ ? round(rect.width) : rect.width) / width; let y = ($ ? round(rect.height) : rect.height) / height; if (!x || !Number.isFinite(x)) { x = 1; } if (!y || !Number.isFinite(y)) { y = 1; } return { x, y }; } var noOffsets = /* @__PURE__ */ createCoords(0); function getVisualOffsets(element2) { const win = getWindow(element2); if (!isWebKit() || !win.visualViewport) { return noOffsets; } return { x: win.visualViewport.offsetLeft, y: win.visualViewport.offsetTop }; } function shouldAddVisualOffsets(element2, isFixed, floatingOffsetParent) { if (isFixed === void 0) { isFixed = false; } if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element2)) { return false; } return isFixed; } function getBoundingClientRect(element2, includeScale, isFixedStrategy, offsetParent) { if (includeScale === void 0) { includeScale = false; } if (isFixedStrategy === void 0) { isFixedStrategy = false; } const clientRect = element2.getBoundingClientRect(); const domElement = unwrapElement(element2); let scale = createCoords(1); if (includeScale) { if (offsetParent) { if (isElement(offsetParent)) { scale = getScale(offsetParent); } } else { scale = getScale(element2); } } const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0); let x = (clientRect.left + visualOffsets.x) / scale.x; let y = (clientRect.top + visualOffsets.y) / scale.y; let width = clientRect.width / scale.x; let height = clientRect.height / scale.y; if (domElement) { const win = getWindow(domElement); const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent; let currentWin = win; let currentIFrame = currentWin.frameElement; while (currentIFrame && offsetParent && offsetWin !== currentWin) { const iframeScale = getScale(currentIFrame); const iframeRect = currentIFrame.getBoundingClientRect(); const css = getComputedStyle2(currentIFrame); const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x; const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y; x *= iframeScale.x; y *= iframeScale.y; width *= iframeScale.x; height *= iframeScale.y; x += left; y += top; currentWin = getWindow(currentIFrame); currentIFrame = currentWin.frameElement; } } return rectToClientRect({ width, height, x, y }); } var topLayerSelectors = [":popover-open", ":modal"]; function isTopLayer(element2) { return topLayerSelectors.some((selector) => { try { return element2.matches(selector); } catch (e) { return false; } }); } function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) { let { elements, rect, offsetParent, strategy } = _ref; const isFixed = strategy === "fixed"; const documentElement = getDocumentElement(offsetParent); const topLayer = elements ? isTopLayer(elements.floating) : false; if (offsetParent === documentElement || topLayer && isFixed) { return rect; } let scroll = { scrollLeft: 0, scrollTop: 0 }; let scale = createCoords(1); const offsets = createCoords(0); const isOffsetParentAnElement = isHTMLElement(offsetParent); if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) { scroll = getNodeScroll(offsetParent); } if (isHTMLElement(offsetParent)) { const offsetRect = getBoundingClientRect(offsetParent); scale = getScale(offsetParent); offsets.x = offsetRect.x + offsetParent.clientLeft; offsets.y = offsetRect.y + offsetParent.clientTop; } } return { width: rect.width * scale.x, height: rect.height * scale.y, x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x, y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y }; } function getClientRects(element2) { return Array.from(element2.getClientRects()); } function getWindowScrollBarX(element2) { return getBoundingClientRect(getDocumentElement(element2)).left + getNodeScroll(element2).scrollLeft; } function getDocumentRect(element2) { const html2 = getDocumentElement(element2); const scroll = getNodeScroll(element2); const body = element2.ownerDocument.body; const width = max(html2.scrollWidth, html2.clientWidth, body.scrollWidth, body.clientWidth); const height = max(html2.scrollHeight, html2.clientHeight, body.scrollHeight, body.clientHeight); let x = -scroll.scrollLeft + getWindowScrollBarX(element2); const y = -scroll.scrollTop; if (getComputedStyle2(body).direction === "rtl") { x += max(html2.clientWidth, body.clientWidth) - width; } return { width, height, x, y }; } function getViewportRect(element2, strategy) { const win = getWindow(element2); const html2 = getDocumentElement(element2); const visualViewport = win.visualViewport; let width = html2.clientWidth; let height = html2.clientHeight; let x = 0; let y = 0; if (visualViewport) { width = visualViewport.width; height = visualViewport.height; const visualViewportBased = isWebKit(); if (!visualViewportBased || visualViewportBased && strategy === "fixed") { x = visualViewport.offsetLeft; y = visualViewport.offsetTop; } } return { width, height, x, y }; } function getInnerBoundingClientRect(element2, strategy) { const clientRect = getBoundingClientRect(element2, true, strategy === "fixed"); const top = clientRect.top + element2.clientTop; const left = clientRect.left + element2.clientLeft; const scale = isHTMLElement(element2) ? getScale(element2) : createCoords(1); const width = element2.clientWidth * scale.x; const height = element2.clientHeight * scale.y; const x = left * scale.x; const y = top * scale.y; return { width, height, x, y }; } function getClientRectFromClippingAncestor(element2, clippingAncestor, strategy) { let rect; if (clippingAncestor === "viewport") { rect = getViewportRect(element2, strategy); } else if (clippingAncestor === "document") { rect = getDocumentRect(getDocumentElement(element2)); } else if (isElement(clippingAncestor)) { rect = getInnerBoundingClientRect(clippingAncestor, strategy); } else { const visualOffsets = getVisualOffsets(element2); rect = { ...clippingAncestor, x: clippingAncestor.x - visualOffsets.x, y: clippingAncestor.y - visualOffsets.y }; } return rectToClientRect(rect); } function hasFixedPositionAncestor(element2, stopNode) { const parentNode = getParentNode(element2); if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) { return false; } return getComputedStyle2(parentNode).position === "fixed" || hasFixedPositionAncestor(parentNode, stopNode); } function getClippingElementAncestors(element2, cache) { const cachedResult = cache.get(element2); if (cachedResult) { return cachedResult; } let result = getOverflowAncestors(element2, [], false).filter((el) => isElement(el) && getNodeName(el) !== "body"); let currentContainingBlockComputedStyle = null; const elementIsFixed = getComputedStyle2(element2).position === "fixed"; let currentNode = elementIsFixed ? getParentNode(element2) : element2; while (isElement(currentNode) && !isLastTraversableNode(currentNode)) { const computedStyle = getComputedStyle2(currentNode); const currentNodeIsContaining = isContainingBlock(currentNode); if (!currentNodeIsContaining && computedStyle.position === "fixed") { currentContainingBlockComputedStyle = null; } const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && ["absolute", "fixed"].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element2, currentNode); if (shouldDropCurrentNode) { result = result.filter((ancestor) => ancestor !== currentNode); } else { currentContainingBlockComputedStyle = computedStyle; } currentNode = getParentNode(currentNode); } cache.set(element2, result); return result; } function getClippingRect(_ref) { let { element: element2, boundary: boundary2, rootBoundary, strategy } = _ref; const elementClippingAncestors = boundary2 === "clippingAncestors" ? isTopLayer(element2) ? [] : getClippingElementAncestors(element2, this._c) : [].concat(boundary2); const clippingAncestors = [...elementClippingAncestors, rootBoundary]; const firstClippingAncestor = clippingAncestors[0]; const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => { const rect = getClientRectFromClippingAncestor(element2, clippingAncestor, strategy); accRect.top = max(rect.top, accRect.top); accRect.right = min(rect.right, accRect.right); accRect.bottom = min(rect.bottom, accRect.bottom); accRect.left = max(rect.left, accRect.left); return accRect; }, getClientRectFromClippingAncestor(element2, firstClippingAncestor, strategy)); return { width: clippingRect.right - clippingRect.left, height: clippingRect.bottom - clippingRect.top, x: clippingRect.left, y: clippingRect.top }; } function getDimensions(element2) { const { width, height } = getCssDimensions(element2); return { width, height }; } function getRectRelativeToOffsetParent(element2, offsetParent, strategy) { const isOffsetParentAnElement = isHTMLElement(offsetParent); const documentElement = getDocumentElement(offsetParent); const isFixed = strategy === "fixed"; const rect = getBoundingClientRect(element2, true, isFixed, offsetParent); let scroll = { scrollLeft: 0, scrollTop: 0 }; const offsets = createCoords(0); if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) { scroll = getNodeScroll(offsetParent); } if (isOffsetParentAnElement) { const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent); offsets.x = offsetRect.x + offsetParent.clientLeft; offsets.y = offsetRect.y + offsetParent.clientTop; } else if (documentElement) { offsets.x = getWindowScrollBarX(documentElement); } } const x = rect.left + scroll.scrollLeft - offsets.x; const y = rect.top + scroll.scrollTop - offsets.y; return { x, y, width: rect.width, height: rect.height }; } function isStaticPositioned(element2) { return getComputedStyle2(element2).position === "static"; } function getTrueOffsetParent(element2, polyfill) { if (!isHTMLElement(element2) || getComputedStyle2(element2).position === "fixed") { return null; } if (polyfill) { return polyfill(element2); } return element2.offsetParent; } function getOffsetParent(element2, polyfill) { const win = getWindow(element2); if (isTopLayer(element2)) { return win; } if (!isHTMLElement(element2)) { let svgOffsetParent = getParentNode(element2); while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) { if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) { return svgOffsetParent; } svgOffsetParent = getParentNode(svgOffsetParent); } return win; } let offsetParent = getTrueOffsetParent(element2, polyfill); while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) { offsetParent = getTrueOffsetParent(offsetParent, polyfill); } if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) { return win; } return offsetParent || getContainingBlock(element2) || win; } var getElementRects = async function(data) { const getOffsetParentFn = this.getOffsetParent || getOffsetParent; const getDimensionsFn = this.getDimensions; const floatingDimensions = await getDimensionsFn(data.floating); return { reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy), floating: { x: 0, y: 0, width: floatingDimensions.width, height: floatingDimensions.height } }; }; function isRTL(element2) { return getComputedStyle2(element2).direction === "rtl"; } var platform = { convertOffsetParentRelativeRectToViewportRelativeRect, getDocumentElement, getClippingRect, getOffsetParent, getElementRects, getClientRects, getDimensions, getScale, isElement, isRTL }; function observeMove(element2, onMove) { let io = null; let timeoutId; const root16 = getDocumentElement(element2); function cleanup() { var _io; clearTimeout(timeoutId); (_io = io) == null || _io.disconnect(); io = null; } function refresh(skip, threshold) { if (skip === void 0) { skip = false; } if (threshold === void 0) { threshold = 1; } cleanup(); const { left, top, width, height } = element2.getBoundingClientRect(); if (!skip) { onMove(); } if (!width || !height) { return; } const insetTop = floor(top); const insetRight = floor(root16.clientWidth - (left + width)); const insetBottom = floor(root16.clientHeight - (top + height)); const insetLeft = floor(left); const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px"; const options = { rootMargin, threshold: max(0, min(1, threshold)) || 1 }; let isFirstUpdate = true; function handleObserve(entries) { const ratio = entries[0].intersectionRatio; if (ratio !== threshold) { if (!isFirstUpdate) { return refresh(); } if (!ratio) { timeoutId = setTimeout(() => { refresh(false, 1e-7); }, 1e3); } else { refresh(false, ratio); } } isFirstUpdate = false; } try { io = new IntersectionObserver(handleObserve, { ...options, // Handle