UNPKG

vue-files-preview-inno

Version:

A tool for previewing files such as doc, excel, pdf, image, markdown, txt, audio, and video and so on.

905 lines (904 loc) 19.3 kB
var l, f; function A() { if (f) return l; f = 1; const h = (e) => ({ IMPORTANT: { scope: "meta", begin: "!important" }, BLOCK_COMMENT: e.C_BLOCK_COMMENT_MODE, HEXCOLOR: { scope: "number", begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/ }, FUNCTION_DISPATCH: { className: "built_in", begin: /[\w-]+(?=\()/ }, ATTRIBUTE_SELECTOR_MODE: { scope: "selector-attr", begin: /\[/, end: /\]/, illegal: "$", contains: [ e.APOS_STRING_MODE, e.QUOTE_STRING_MODE ] }, CSS_NUMBER_MODE: { scope: "number", begin: e.NUMBER_RE + "(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", relevance: 0 }, CSS_VARIABLE: { className: "attr", begin: /--[A-Za-z_][A-Za-z0-9_-]*/ } }), k = [ "a", "abbr", "address", "article", "aside", "audio", "b", "blockquote", "body", "button", "canvas", "caption", "cite", "code", "dd", "del", "details", "dfn", "div", "dl", "dt", "em", "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hgroup", "html", "i", "iframe", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "mark", "menu", "nav", "object", "ol", "optgroup", "option", "p", "picture", "q", "quote", "samp", "section", "select", "source", "span", "strong", "summary", "sup", "table", "tbody", "td", "textarea", "tfoot", "th", "thead", "time", "tr", "ul", "var", "video" ], E = [ "defs", "g", "marker", "mask", "pattern", "svg", "switch", "symbol", "feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feFlood", "feGaussianBlur", "feImage", "feMerge", "feMorphology", "feOffset", "feSpecularLighting", "feTile", "feTurbulence", "linearGradient", "radialGradient", "stop", "circle", "ellipse", "image", "line", "path", "polygon", "polyline", "rect", "text", "use", "textPath", "tspan", "foreignObject", "clipPath" ], v = [ ...k, ...E ], y = [ "any-hover", "any-pointer", "aspect-ratio", "color", "color-gamut", "color-index", "device-aspect-ratio", "device-height", "device-width", "display-mode", "forced-colors", "grid", "height", "hover", "inverted-colors", "monochrome", "orientation", "overflow-block", "overflow-inline", "pointer", "prefers-color-scheme", "prefers-contrast", "prefers-reduced-motion", "prefers-reduced-transparency", "resolution", "scan", "scripting", "update", "width", // TODO: find a better solution? "min-width", "max-width", "min-height", "max-height" ].sort().reverse(), d = [ "active", "any-link", "blank", "checked", "current", "default", "defined", "dir", // dir() "disabled", "drop", "empty", "enabled", "first", "first-child", "first-of-type", "fullscreen", "future", "focus", "focus-visible", "focus-within", "has", // has() "host", // host or host() "host-context", // host-context() "hover", "indeterminate", "in-range", "invalid", "is", // is() "lang", // lang() "last-child", "last-of-type", "left", "link", "local-link", "not", // not() "nth-child", // nth-child() "nth-col", // nth-col() "nth-last-child", // nth-last-child() "nth-last-col", // nth-last-col() "nth-last-of-type", //nth-last-of-type() "nth-of-type", //nth-of-type() "only-child", "only-of-type", "optional", "out-of-range", "past", "placeholder-shown", "read-only", "read-write", "required", "right", "root", "scope", "target", "target-within", "user-invalid", "valid", "visited", "where" // where() ].sort().reverse(), c = [ "after", "backdrop", "before", "cue", "cue-region", "first-letter", "first-line", "grammar-error", "marker", "part", "placeholder", "selection", "slotted", "spelling-error" ].sort().reverse(), _ = [ "accent-color", "align-content", "align-items", "align-self", "alignment-baseline", "all", "animation", "animation-delay", "animation-direction", "animation-duration", "animation-fill-mode", "animation-iteration-count", "animation-name", "animation-play-state", "animation-timing-function", "appearance", "backface-visibility", "background", "background-attachment", "background-blend-mode", "background-clip", "background-color", "background-image", "background-origin", "background-position", "background-repeat", "background-size", "baseline-shift", "block-size", "border", "border-block", "border-block-color", "border-block-end", "border-block-end-color", "border-block-end-style", "border-block-end-width", "border-block-start", "border-block-start-color", "border-block-start-style", "border-block-start-width", "border-block-style", "border-block-width", "border-bottom", "border-bottom-color", "border-bottom-left-radius", "border-bottom-right-radius", "border-bottom-style", "border-bottom-width", "border-collapse", "border-color", "border-image", "border-image-outset", "border-image-repeat", "border-image-slice", "border-image-source", "border-image-width", "border-inline", "border-inline-color", "border-inline-end", "border-inline-end-color", "border-inline-end-style", "border-inline-end-width", "border-inline-start", "border-inline-start-color", "border-inline-start-style", "border-inline-start-width", "border-inline-style", "border-inline-width", "border-left", "border-left-color", "border-left-style", "border-left-width", "border-radius", "border-right", "border-end-end-radius", "border-end-start-radius", "border-right-color", "border-right-style", "border-right-width", "border-spacing", "border-start-end-radius", "border-start-start-radius", "border-style", "border-top", "border-top-color", "border-top-left-radius", "border-top-right-radius", "border-top-style", "border-top-width", "border-width", "bottom", "box-decoration-break", "box-shadow", "box-sizing", "break-after", "break-before", "break-inside", "cx", "cy", "caption-side", "caret-color", "clear", "clip", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "color-scheme", "column-count", "column-fill", "column-gap", "column-rule", "column-rule-color", "column-rule-style", "column-rule-width", "column-span", "column-width", "columns", "contain", "content", "content-visibility", "counter-increment", "counter-reset", "cue", "cue-after", "cue-before", "cursor", "direction", "display", "dominant-baseline", "empty-cells", "enable-background", "fill", "fill-opacity", "fill-rule", "filter", "flex", "flex-basis", "flex-direction", "flex-flow", "flex-grow", "flex-shrink", "flex-wrap", "float", "flow", "flood-color", "flood-opacity", "font", "font-display", "font-family", "font-feature-settings", "font-kerning", "font-language-override", "font-size", "font-size-adjust", "font-smoothing", "font-stretch", "font-style", "font-synthesis", "font-variant", "font-variant-caps", "font-variant-east-asian", "font-variant-ligatures", "font-variant-numeric", "font-variant-position", "font-variation-settings", "font-weight", "gap", "glyph-orientation-horizontal", "glyph-orientation-vertical", "grid", "grid-area", "grid-auto-columns", "grid-auto-flow", "grid-auto-rows", "grid-column", "grid-column-end", "grid-column-start", "grid-gap", "grid-row", "grid-row-end", "grid-row-start", "grid-template", "grid-template-areas", "grid-template-columns", "grid-template-rows", "hanging-punctuation", "height", "hyphens", "icon", "image-orientation", "image-rendering", "image-resolution", "ime-mode", "inline-size", "inset", "inset-block", "inset-block-end", "inset-block-start", "inset-inline", "inset-inline-end", "inset-inline-start", "isolation", "kerning", "justify-content", "justify-items", "justify-self", "left", "letter-spacing", "lighting-color", "line-break", "line-height", "list-style", "list-style-image", "list-style-position", "list-style-type", "marker", "marker-end", "marker-mid", "marker-start", "mask", "margin", "margin-block", "margin-block-end", "margin-block-start", "margin-bottom", "margin-inline", "margin-inline-end", "margin-inline-start", "margin-left", "margin-right", "margin-top", "marks", "mask", "mask-border", "mask-border-mode", "mask-border-outset", "mask-border-repeat", "mask-border-slice", "mask-border-source", "mask-border-width", "mask-clip", "mask-composite", "mask-image", "mask-mode", "mask-origin", "mask-position", "mask-repeat", "mask-size", "mask-type", "max-block-size", "max-height", "max-inline-size", "max-width", "min-block-size", "min-height", "min-inline-size", "min-width", "mix-blend-mode", "nav-down", "nav-index", "nav-left", "nav-right", "nav-up", "none", "normal", "object-fit", "object-position", "opacity", "order", "orphans", "outline", "outline-color", "outline-offset", "outline-style", "outline-width", "overflow", "overflow-wrap", "overflow-x", "overflow-y", "padding", "padding-block", "padding-block-end", "padding-block-start", "padding-bottom", "padding-inline", "padding-inline-end", "padding-inline-start", "padding-left", "padding-right", "padding-top", "page-break-after", "page-break-before", "page-break-inside", "pause", "pause-after", "pause-before", "perspective", "perspective-origin", "pointer-events", "position", "quotes", "r", "resize", "rest", "rest-after", "rest-before", "right", "rotate", "row-gap", "scale", "scroll-margin", "scroll-margin-block", "scroll-margin-block-end", "scroll-margin-block-start", "scroll-margin-bottom", "scroll-margin-inline", "scroll-margin-inline-end", "scroll-margin-inline-start", "scroll-margin-left", "scroll-margin-right", "scroll-margin-top", "scroll-padding", "scroll-padding-block", "scroll-padding-block-end", "scroll-padding-block-start", "scroll-padding-bottom", "scroll-padding-inline", "scroll-padding-inline-end", "scroll-padding-inline-start", "scroll-padding-left", "scroll-padding-right", "scroll-padding-top", "scroll-snap-align", "scroll-snap-stop", "scroll-snap-type", "scrollbar-color", "scrollbar-gutter", "scrollbar-width", "shape-image-threshold", "shape-margin", "shape-outside", "shape-rendering", "stop-color", "stop-opacity", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "speak", "speak-as", "src", // @font-face "tab-size", "table-layout", "text-anchor", "text-align", "text-align-all", "text-align-last", "text-combine-upright", "text-decoration", "text-decoration-color", "text-decoration-line", "text-decoration-skip-ink", "text-decoration-style", "text-decoration-thickness", "text-emphasis", "text-emphasis-color", "text-emphasis-position", "text-emphasis-style", "text-indent", "text-justify", "text-orientation", "text-overflow", "text-rendering", "text-shadow", "text-transform", "text-underline-offset", "text-underline-position", "top", "transform", "transform-box", "transform-origin", "transform-style", "transition", "transition-delay", "transition-duration", "transition-property", "transition-timing-function", "translate", "unicode-bidi", "vector-effect", "vertical-align", "visibility", "voice-balance", "voice-duration", "voice-family", "voice-pitch", "voice-range", "voice-rate", "voice-stress", "voice-volume", "white-space", "widows", "width", "will-change", "word-break", "word-spacing", "word-wrap", "writing-mode", "x", "y", "z-index" ].sort().reverse(), w = d.concat(c).sort().reverse(); function O(e) { const t = h(e), x = w, M = "and or not only", r = "[\\w-]+", n = "(" + r + "|@\\{" + r + "\\})", s = [], i = [], g = function(a) { return { // Less strings are not multiline (also include '~' for more consistent coloring of "escaped" strings) className: "string", begin: "~?" + a + ".*?" + a }; }, o = function(a, R, L) { return { className: a, begin: R, relevance: L }; }, b = { $pattern: /[a-z-]+/, keyword: M, attribute: y.join(" ") }, T = { // used only to properly balance nested parens inside mixin call, def. arg list begin: "\\(", end: "\\)", contains: i, keywords: b, relevance: 0 }; i.push( e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE, g("'"), g('"'), t.CSS_NUMBER_MODE, // fixme: it does not include dot for numbers like .5em :( { begin: "(url|data-uri)\\(", starts: { className: "string", end: "[\\)\\n]", excludeEnd: !0 } }, t.HEXCOLOR, T, o("variable", "@@?" + r, 10), o("variable", "@\\{" + r + "\\}"), o("built_in", "~?`[^`]*?`"), // inline javascript (or whatever host language) *multiline* string { // @media features (it’s here to not duplicate things in AT_RULE_MODE with extra PARENS_MODE overriding): className: "attribute", begin: r + "\\s*:", end: ":", returnBegin: !0, excludeEnd: !0 }, t.IMPORTANT, { beginKeywords: "and not" }, t.FUNCTION_DISPATCH ); const m = i.concat({ begin: /\{/, end: /\}/, contains: s }), p = { beginKeywords: "when", endsWithParent: !0, contains: [{ beginKeywords: "and not" }].concat(i) // using this form to override VALUE’s 'function' match }, S = { begin: n + "\\s*:", returnBegin: !0, end: /[;}]/, relevance: 0, contains: [ { begin: /-(webkit|moz|ms|o)-/ }, t.CSS_VARIABLE, { className: "attribute", begin: "\\b(" + _.join("|") + ")\\b", end: /(?=:)/, starts: { endsWithParent: !0, illegal: "[<=$]", relevance: 0, contains: i } } ] }, N = { className: "keyword", begin: "@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b", starts: { end: "[;{}]", keywords: b, returnEnd: !0, contains: i, relevance: 0 } }, C = { className: "variable", variants: [ // using more strict pattern for higher relevance to increase chances of Less detection. // this is *the only* Less specific statement used in most of the sources, so... // (we’ll still often loose to the css-parser unless there's '//' comment, // simply because 1 variable just can't beat 99 properties :) { begin: "@" + r + "\\s*:", relevance: 15 }, { begin: "@" + r } ], starts: { end: "[;}]", returnEnd: !0, contains: m } }, u = { // first parse unambiguous selectors (i.e. those not starting with tag) // then fall into the scary lookahead-discriminator variant. // this mode also handles mixin definitions and calls variants: [ { begin: "[\\.#:&\\[>]", end: "[;{}]" // mixin calls end with ';' }, { begin: n, end: /\{/ } ], returnBegin: !0, returnEnd: !0, illegal: `[<='$"]`, relevance: 0, contains: [ e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE, p, o("keyword", "all\\b"), o("variable", "@\\{" + r + "\\}"), // otherwise it’s identified as tag { begin: "\\b(" + v.join("|") + ")\\b", className: "selector-tag" }, t.CSS_NUMBER_MODE, o("selector-tag", n, 0), o("selector-id", "#" + n), o("selector-class", "\\." + n, 0), o("selector-tag", "&", 0), t.ATTRIBUTE_SELECTOR_MODE, { className: "selector-pseudo", begin: ":(" + d.join("|") + ")" }, { className: "selector-pseudo", begin: ":(:)?(" + c.join("|") + ")" }, { begin: /\(/, end: /\)/, relevance: 0, contains: m }, // argument list of parametric mixins { begin: "!important" }, // eat !important after mixin call or it will be colored as tag t.FUNCTION_DISPATCH ] }, D = { begin: r + `:(:)?(${x.join("|")})`, returnBegin: !0, contains: [u] }; return s.push( e.C_LINE_COMMENT_MODE, e.C_BLOCK_COMMENT_MODE, N, C, D, S, u, p, t.FUNCTION_DISPATCH ), { name: "Less", case_insensitive: !0, illegal: `[=>'/<($"]`, contains: s }; } return l = O, l; } export { A as __require }; //# sourceMappingURL=less.mjs.map