astro-vscode 0.29.5 → 0.29.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -580,7 +580,7 @@ A zoom factor of 1.0 or 100% corresponds to no zooming. Larger values are zoomed
580
580
 
581
581
  A zoom factor of 1.0 or 100% corresponds to no zooming. Larger values are zoomed in. Smaller values are zoomed out.`},{name:"orientation",syntax:"auto | portrait | landscape",values:[{name:"auto"},{name:"portrait"},{name:"landscape"}],relevance:50,description:"The orientation CSS @media media feature can be used to apply styles based on the orientation of the viewport (or the page box, for paged media)."},{name:"user-zoom",syntax:"zoom | fixed",values:[{name:"zoom"},{name:"fixed"}],relevance:50,description:"The user-zoom CSS descriptor controls whether or not the user can change the zoom factor of a document defined by @viewport."},{name:"viewport-fit",syntax:"auto | contain | cover",values:[{name:"auto"},{name:"contain"},{name:"cover"}],relevance:50,description:"The border-block-style CSS property defines the style of the logical block borders of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation."}],atDirectives:[{name:"@charset",browsers:["E12","FF1.5","S4","C2","IE5.5","O9"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@charset"}],description:"Defines character set of the document."},{name:"@counter-style",browsers:["E91","FF33","C91","O77"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@counter-style"}],description:"Defines a custom counter style."},{name:"@font-face",browsers:["E12","FF3.5","S3.1","C1","IE4","O10"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@font-face"}],description:"Allows for linking to fonts that are automatically activated when needed. This permits authors to work around the limitation of 'web-safe' fonts, allowing for consistent rendering independent of the fonts available in a given user's environment."},{name:"@font-feature-values",browsers:["FF34","S9.1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@font-feature-values"}],description:"Defines named values for the indices used to select alternate glyphs for a given font family."},{name:"@import",browsers:["E12","FF1","S1","C1","IE5.5","O3.5"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@import"}],description:"Includes content of another file."},{name:"@keyframes",browsers:["E12","FF16","S9","C43","IE10","O30"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@keyframes"}],description:"Defines set of animation key frames."},{name:"@layer",browsers:["E99","FF97","S15.4","C99","O85"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@layer"}],description:"Declare a cascade layer and the order of precedence in case of multiple cascade layers."},{name:"@media",browsers:["E12","FF1","S3","C1","IE6","O9.2"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@media"}],description:"Defines a stylesheet for a particular media type."},{name:"@-moz-document",browsers:["FF1.8"],description:"Gecko-specific at-rule that restricts the style rules contained within it based on the URL of the document."},{name:"@-moz-keyframes",browsers:["FF5"],description:"Defines set of animation key frames."},{name:"@-ms-viewport",browsers:["E","IE10"],description:"Specifies the size, zoom factor, and orientation of the viewport."},{name:"@namespace",browsers:["E12","FF1","S1","C1","IE9","O8"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@namespace"}],description:"Declares a prefix and associates it with a namespace name."},{name:"@-o-keyframes",browsers:["O12"],description:"Defines set of animation key frames."},{name:"@-o-viewport",browsers:["O11"],description:"Specifies the size, zoom factor, and orientation of the viewport."},{name:"@page",browsers:["E12","FF19","C2","IE8","O6"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@page"}],description:"Directive defines various page parameters."},{name:"@property",browsers:["E85","C85","O71"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@property"}],description:"Describes the aspect of custom properties and variables."},{name:"@supports",browsers:["E12","FF22","S9","C28","O12.1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@supports"}],description:"A conditional group rule whose condition tests whether the user agent supports CSS property:value pairs."},{name:"@-webkit-keyframes",browsers:["C","S4"],description:"Defines set of animation key frames."}],pseudoClasses:[{name:":active",browsers:["E12","FF1","S1","C1","IE4","O5"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:active"}],description:"Applies while an element is being activated by the user. For example, between the times the user presses the mouse button and releases it."},{name:":any-link",browsers:["E79","FF50","S9","C65","O52"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:any-link"}],description:"Represents an element that acts as the source anchor of a hyperlink. Applies to both visited and unvisited links."},{name:":checked",browsers:["E12","FF1","S3.1","C1","IE9","O9"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:checked"}],description:"Radio and checkbox elements can be toggled by the user. Some menu items are 'checked' when the user selects them. When such elements are toggled 'on' the :checked pseudo-class applies."},{name:":corner-present",browsers:["C","S5"],description:"Non-standard. Indicates whether or not a scrollbar corner is present."},{name:":decrement",browsers:["C","S5"],description:"Non-standard. Applies to buttons and track pieces. Indicates whether or not the button or track piece will decrement the view's position when used."},{name:":default",browsers:["E79","FF4","S5","C10","O10"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:default"}],description:"Applies to the one or more UI elements that are the default among a set of similar elements. Typically applies to context menu items, buttons, and select lists/menus."},{name:":disabled",browsers:["E12","FF1","S3.1","C1","IE9","O9"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:disabled"}],description:"Represents user interface elements that are in a disabled state; such elements have a corresponding enabled state."},{name:":double-button",browsers:["C","S5"],description:"Non-standard. Applies to buttons and track pieces. Applies when both buttons are displayed together at the same end of the scrollbar."},{name:":empty",browsers:["E12","FF1","S3.1","C1","IE9","O9.5"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:empty"}],description:"Represents an element that has no children at all."},{name:":enabled",browsers:["E12","FF1","S3.1","C1","IE9","O9"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:enabled"}],description:"Represents user interface elements that are in an enabled state; such elements have a corresponding disabled state."},{name:":end",browsers:["C","S5"],description:"Non-standard. Applies to buttons and track pieces. Indicates whether the object is placed after the thumb."},{name:":first",browsers:["E12","S6","C18","IE8","O9.2"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:first"}],description:"When printing double-sided documents, the page boxes on left and right pages may be different. This can be expressed through CSS pseudo-classes defined in the page context."},{name:":first-child",browsers:["E12","FF3","S3.1","C4","IE7","O9.5"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:first-child"}],description:"Same as :nth-child(1). Represents an element that is the first child of some other element."},{name:":first-of-type",browsers:["E12","FF3.5","S3.1","C1","IE9","O9.5"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:first-of-type"}],description:"Same as :nth-of-type(1). Represents an element that is the first sibling of its type in the list of children of its parent element."},{name:":focus",browsers:["E12","FF1","S1","C1","IE8","O7"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:focus"}],description:"Applies while an element has the focus (accepts keyboard or mouse events, or other forms of input)."},{name:":fullscreen",browsers:["E12","FF64","S6","C71","IE11","O58"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:fullscreen"}],description:"Matches any element that has its fullscreen flag set."},{name:":future",browsers:["S7"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:future"}],description:"Represents any element that is defined to occur entirely after a :current element."},{name:":horizontal",browsers:["C","S5"],description:"Non-standard. Applies to any scrollbar pieces that have a horizontal orientation."},{name:":host",browsers:["E79","FF63","S10","C54","O41"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:host"}],description:"When evaluated in the context of a shadow tree, matches the shadow tree's host element."},{name:":host()",browsers:["C35","O22"],description:"When evaluated in the context of a shadow tree, it matches the shadow tree's host element if the host element, in its normal context, matches the selector argument."},{name:":host-context()",browsers:["C35","O22"],description:"Tests whether there is an ancestor, outside the shadow tree, which matches a particular selector."},{name:":hover",browsers:["E12","FF1","S2","C1","IE4","O4"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:hover"}],description:"Applies while the user designates an element with a pointing device, but does not necessarily activate it. For example, a visual user agent could apply this pseudo-class when the cursor (mouse pointer) hovers over a box generated by the element."},{name:":increment",browsers:["C","S5"],description:"Non-standard. Applies to buttons and track pieces. Indicates whether or not the button or track piece will increment the view's position when used."},{name:":indeterminate",browsers:["E12","FF2","S3","C1","IE10","O9"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:indeterminate"}],description:"Applies to UI elements whose value is in an indeterminate state."},{name:":in-range",browsers:["E13","FF29","S5.1","C10","O11"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:in-range"}],description:"Used in conjunction with the min and max attributes, whether on a range input, a number field, or any other types that accept those attributes."},{name:":invalid",browsers:["E12","FF4","S5","C10","IE10","O10"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:invalid"}],description:"An element is :valid or :invalid when it is, respectively, valid or invalid with respect to data validity semantics defined by a different specification."},{name:":lang()",browsers:["E","C","FF1","IE8","O8","S3"],description:"Represents an element that is in language specified."},{name:":last-child",browsers:["E12","FF1","S3.1","C1","IE9","O9.5"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:last-child"}],description:"Same as :nth-last-child(1). Represents an element that is the last child of some other element."},{name:":last-of-type",browsers:["E12","FF3.5","S3.1","C1","IE9","O9.5"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:last-of-type"}],description:"Same as :nth-last-of-type(1). Represents an element that is the last sibling of its type in the list of children of its parent element."},{name:":left",browsers:["E12","S5","C6","IE8","O9.2"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:left"}],description:"When printing double-sided documents, the page boxes on left and right pages may be different. This can be expressed through CSS pseudo-classes defined in the page context."},{name:":link",browsers:["E12","FF1","S1","C1","IE3","O3.5"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:link"}],description:"Applies to links that have not yet been visited."},{name:":matches()",browsers:["S9"],description:"Takes a selector list as its argument. It represents an element that is represented by its argument."},{name:":-moz-any()",browsers:["FF4"],description:"Represents an element that is represented by the selector list passed as its argument. Standardized as :matches()."},{name:":-moz-any-link",browsers:["FF1"],description:"Represents an element that acts as the source anchor of a hyperlink. Applies to both visited and unvisited links."},{name:":-moz-broken",browsers:["FF3"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:-moz-broken"}],description:"Non-standard. Matches elements representing broken images."},{name:":-moz-drag-over",browsers:["FF1"],description:"Non-standard. Matches elements when a drag-over event applies to it."},{name:":-moz-first-node",browsers:["FF1"],description:"Non-standard. Represents an element that is the first child node of some other element."},{name:":-moz-focusring",browsers:["FF4"],description:"Non-standard. Matches an element that has focus and focus ring drawing is enabled in the browser."},{name:":-moz-full-screen",browsers:["FF9"],description:"Matches any element that has its fullscreen flag set. Standardized as :fullscreen."},{name:":-moz-last-node",browsers:["FF1"],description:"Non-standard. Represents an element that is the last child node of some other element."},{name:":-moz-loading",browsers:["FF3"],description:"Non-standard. Matches elements, such as images, that haven't started loading yet."},{name:":-moz-only-whitespace",browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:-moz-only-whitespace"}],description:"The same as :empty, except that it additionally matches elements that only contain code points affected by whitespace processing. Standardized as :blank."},{name:":-moz-placeholder",browsers:["FF4"],description:"Deprecated. Represents placeholder text in an input field. Use ::-moz-placeholder for Firefox 19+."},{name:":-moz-submit-invalid",browsers:["FF88"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:-moz-submit-invalid"}],description:"Non-standard. Represents any submit button when the contents of the associated form are not valid."},{name:":-moz-suppressed",browsers:["FF3"],description:"Non-standard. Matches elements representing images that have been blocked from loading."},{name:":-moz-ui-invalid",browsers:["FF4"],description:"Non-standard. Represents any validated form element whose value isn't valid "},{name:":-moz-ui-valid",browsers:["FF4"],description:"Non-standard. Represents any validated form element whose value is valid "},{name:":-moz-user-disabled",browsers:["FF3"],description:"Non-standard. Matches elements representing images that have been disabled due to the user's preferences."},{name:":-moz-window-inactive",browsers:["FF4"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:-moz-window-inactive"}],description:"Non-standard. Matches elements in an inactive window."},{name:":-ms-fullscreen",browsers:["IE11"],description:"Matches any element that has its fullscreen flag set."},{name:":-ms-input-placeholder",browsers:["IE10"],description:"Represents placeholder text in an input field. Note: for Edge use the pseudo-element ::-ms-input-placeholder. Standardized as ::placeholder."},{name:":-ms-keyboard-active",browsers:["IE10"],description:"Windows Store apps only. Applies one or more styles to an element when it has focus and the user presses the space bar."},{name:":-ms-lang()",browsers:["E","IE10"],description:"Represents an element that is in the language specified. Accepts a comma separated list of language tokens."},{name:":no-button",browsers:["C","S5"],description:"Non-standard. Applies to track pieces. Applies when there is no button at that end of the track."},{name:":not()",browsers:["E","C","FF1","IE9","O9.5","S2"],description:"The negation pseudo-class, :not(X), is a functional notation taking a simple selector (excluding the negation pseudo-class itself) as an argument. It represents an element that is not represented by its argument."},{name:":nth-child()",browsers:["E","C","FF3.5","IE9","O9.5","S3.1"],description:"Represents an element that has an+b-1 siblings before it in the document tree, for any positive integer or zero value of n, and has a parent element."},{name:":nth-last-child()",browsers:["E","C","FF3.5","IE9","O9.5","S3.1"],description:"Represents an element that has an+b-1 siblings after it in the document tree, for any positive integer or zero value of n, and has a parent element."},{name:":nth-last-of-type()",browsers:["E","C","FF3.5","IE9","O9.5","S3.1"],description:"Represents an element that has an+b-1 siblings with the same expanded element name after it in the document tree, for any zero or positive integer value of n, and has a parent element."},{name:":nth-of-type()",browsers:["E","C","FF3.5","IE9","O9.5","S3.1"],description:"Represents an element that has an+b-1 siblings with the same expanded element name before it in the document tree, for any zero or positive integer value of n, and has a parent element."},{name:":only-child",browsers:["E12","FF1.5","S3.1","C2","IE9","O9.5"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:only-child"}],description:"Represents an element that has a parent element and whose parent element has no other element children. Same as :first-child:last-child or :nth-child(1):nth-last-child(1), but with a lower specificity."},{name:":only-of-type",browsers:["E12","FF3.5","S3.1","C1","IE9","O9.5"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:only-of-type"}],description:"Matches every element that is the only child of its type, of its parent. Same as :first-of-type:last-of-type or :nth-of-type(1):nth-last-of-type(1), but with a lower specificity."},{name:":optional",browsers:["E12","FF4","S5","C10","IE10","O10"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:optional"}],description:"A form element is :required or :optional if a value for it is, respectively, required or optional before the form it belongs to is submitted. Elements that are not form elements are neither required nor optional."},{name:":out-of-range",browsers:["E13","FF29","S5.1","C10","O11"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:out-of-range"}],description:"Used in conjunction with the min and max attributes, whether on a range input, a number field, or any other types that accept those attributes."},{name:":past",browsers:["S7"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:past"}],description:"Represents any element that is defined to occur entirely prior to a :current element."},{name:":read-only",browsers:["E13","FF78","S4","C1","O9"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:read-only"}],description:"An element whose contents are not user-alterable is :read-only. However, elements whose contents are user-alterable (such as text input fields) are considered to be in a :read-write state. In typical documents, most elements are :read-only."},{name:":read-write",browsers:["E13","FF78","S4","C1","O9"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:read-write"}],description:"An element whose contents are not user-alterable is :read-only. However, elements whose contents are user-alterable (such as text input fields) are considered to be in a :read-write state. In typical documents, most elements are :read-only."},{name:":required",browsers:["E12","FF4","S5","C10","IE10","O10"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:required"}],description:"A form element is :required or :optional if a value for it is, respectively, required or optional before the form it belongs to is submitted. Elements that are not form elements are neither required nor optional."},{name:":right",browsers:["E12","S5","C6","IE8","O9.2"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:right"}],description:"When printing double-sided documents, the page boxes on left and right pages may be different. This can be expressed through CSS pseudo-classes defined in the page context."},{name:":root",browsers:["E12","FF1","S1","C1","IE9","O9.5"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:root"}],description:"Represents an element that is the root of the document. In HTML 4, this is always the HTML element."},{name:":scope",browsers:["E79","FF32","S7","C27","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:scope"}],description:"Represents any element that is in the contextual reference element set."},{name:":single-button",browsers:["C","S5"],description:"Non-standard. Applies to buttons and track pieces. Applies when both buttons are displayed separately at either end of the scrollbar."},{name:":start",browsers:["C","S5"],description:"Non-standard. Applies to buttons and track pieces. Indicates whether the object is placed before the thumb."},{name:":target",browsers:["E12","FF1","S1.3","C1","IE9","O9.5"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:target"}],description:"Some URIs refer to a location within a resource. This kind of URI ends with a 'number sign' (#) followed by an anchor identifier (called the fragment identifier)."},{name:":valid",browsers:["E12","FF4","S5","C10","IE10","O10"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:valid"}],description:"An element is :valid or :invalid when it is, respectively, valid or invalid with respect to data validity semantics defined by a different specification."},{name:":vertical",browsers:["C","S5"],description:"Non-standard. Applies to any scrollbar pieces that have a vertical orientation."},{name:":visited",browsers:["E12","FF1","S1","C1","IE4","O3.5"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:visited"}],description:"Applies once the link has been visited by the user."},{name:":-webkit-any()",browsers:["C","S5"],description:"Represents an element that is represented by the selector list passed as its argument. Standardized as :matches()."},{name:":-webkit-full-screen",browsers:["C","S6"],description:"Matches any element that has its fullscreen flag set. Standardized as :fullscreen."},{name:":window-inactive",browsers:["C","S3"],description:"Non-standard. Applies to all scrollbar pieces. Indicates whether or not the window containing the scrollbar is currently active."},{name:":current",status:"experimental",description:"The :current CSS pseudo-class selector is a time-dimensional pseudo-class that represents the element, or an ancestor of the element, that is currently being displayed"},{name:":blank",status:"experimental",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:blank"}],description:"The :blank CSS pseudo-class selects empty user input elements (eg. <input> or <textarea>)."},{name:":defined",status:"experimental",browsers:["E79","FF63","S10","C54","O41"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:defined"}],description:"The :defined CSS pseudo-class represents any element that has been defined. This includes any standard element built in to the browser, and custom elements that have been successfully defined (i.e. with the CustomElementRegistry.define() method)."},{name:":dir",browsers:["FF49"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:dir"}],description:"The :dir() CSS pseudo-class matches elements based on the directionality of the text contained in them."},{name:":focus-visible",browsers:["E86","FF85","S15.4","C86","O72"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:focus-visible"}],description:"The :focus-visible pseudo-class applies while an element matches the :focus pseudo-class and the UA determines via heuristics that the focus should be made evident on the element."},{name:":focus-within",browsers:["E79","FF52","S10.1","C60","O47"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:focus-within"}],description:"The :focus-within pseudo-class applies to any element for which the :focus pseudo class applies as well as to an element whose descendant in the flat tree (including non-element nodes, such as text nodes) matches the conditions for matching :focus."},{name:":has",status:"experimental",browsers:["E105","FF103","S15.4","C105","O91"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:has"}],description:":The :has() CSS pseudo-class represents an element if any of the selectors passed as parameters (relative to the :scope of the given element), match at least one element."},{name:":is",status:"experimental",browsers:["E88","FF78","S14","C88","O74"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:is"}],description:"The :is() CSS pseudo-class function takes a selector list as its argument, and selects any element that can be selected by one of the selectors in that list. This is useful for writing large selectors in a more compact form."},{name:":local-link",status:"experimental",description:"The :local-link CSS pseudo-class represents an link to the same document"},{name:":nth-col",status:"experimental",description:"The :nth-col() CSS pseudo-class is designed for tables and grids. It accepts the An+B notation such as used with the :nth-child selector, using this to target every nth column. "},{name:":nth-last-col",status:"experimental",description:"The :nth-last-col() CSS pseudo-class is designed for tables and grids. It accepts the An+B notation such as used with the :nth-child selector, using this to target every nth column before it, therefore counting back from the end of the set of columns."},{name:":paused",status:"experimental",browsers:["S15.4"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:paused"}],description:"The :paused CSS pseudo-class selector is a resource state pseudo-class that will match an audio, video, or similar resource that is capable of being \u201Cplayed\u201D or \u201Cpaused\u201D, when that element is \u201Cpaused\u201D."},{name:":placeholder-shown",status:"experimental",browsers:["E79","FF51","S9","C47","IE10","O34"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:placeholder-shown"}],description:"The :placeholder-shown CSS pseudo-class represents any <input> or <textarea> element that is currently displaying placeholder text."},{name:":playing",status:"experimental",browsers:["S15.4"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:playing"}],description:"The :playing CSS pseudo-class selector is a resource state pseudo-class that will match an audio, video, or similar resource that is capable of being \u201Cplayed\u201D or \u201Cpaused\u201D, when that element is \u201Cplaying\u201D. "},{name:":target-within",status:"experimental",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:target-within"}],description:"The :target-within CSS pseudo-class represents an element that is a target element or contains an element that is a target. A target element is a unique element with an id matching the URL's fragment."},{name:":user-invalid",status:"experimental",browsers:["FF88"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:user-invalid"}],description:"The :user-invalid CSS pseudo-class represents any validated form element whose value isn't valid based on their validation constraints, after the user has interacted with it."},{name:":user-valid",status:"experimental",browsers:["FF88"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:user-valid"}],description:"The :user-valid CSS pseudo-class represents any validated form element whose value validates correctly based on its validation constraints. However, unlike :valid it only matches once the user has interacted with it."},{name:":where",status:"experimental",browsers:["E88","FF78","S14","C88","O74"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:where"}],description:"The :where() CSS pseudo-class function takes a selector list as its argument, and selects any element that can be selected by one of the selectors in that list."},{name:":picture-in-picture",status:"experimental",browsers:["E79","C76","O63"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:picture-in-picture"}],description:"The :picture-in-picture CSS pseudo-class matches the element which is currently in picture-in-picture mode."}],pseudoElements:[{name:"::after",browsers:["E12","FF1.5","S4","C1","IE9","O7"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::after"}],description:"Represents a styleable child pseudo-element immediately after the originating element's actual content."},{name:"::backdrop",browsers:["E79","FF47","S15.4","C37","IE11","O24"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::backdrop"}],description:"Used to create a backdrop that hides the underlying document for an element in a top layer (such as an element that is displayed fullscreen)."},{name:"::before",browsers:["E12","FF1.5","S4","C1","IE9","O7"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::before"}],description:"Represents a styleable child pseudo-element immediately before the originating element's actual content."},{name:"::content",browsers:["C35","O22"],description:"Deprecated. Matches the distribution list itself, on elements that have one. Use ::slotted for forward compatibility."},{name:"::cue",browsers:["E79","FF55","S7","C26","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::cue"}]},{name:"::cue()",browsers:["C","O16","S6"]},{name:"::cue-region",browsers:["C","O16","S6"]},{name:"::cue-region()",browsers:["C","O16","S6"]},{name:"::first-letter",browsers:["E12","FF1","S1","C1","IE9","O7"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::first-letter"}],description:"Represents the first letter of an element, if it is not preceded by any other content (such as images or inline tables) on its line."},{name:"::first-line",browsers:["E12","FF1","S1","C1","IE9","O7"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::first-line"}],description:"Describes the contents of the first formatted line of its originating element."},{name:"::-moz-focus-inner",browsers:["FF4"]},{name:"::-moz-focus-outer",browsers:["FF4"]},{name:"::-moz-list-bullet",browsers:["FF1"],description:"Used to style the bullet of a list element. Similar to the standardized ::marker."},{name:"::-moz-list-number",browsers:["FF1"],description:"Used to style the numbers of a list element. Similar to the standardized ::marker."},{name:"::-moz-placeholder",browsers:["FF19"],description:"Represents placeholder text in an input field"},{name:"::-moz-progress-bar",browsers:["FF9"],description:"Represents the bar portion of a progress bar."},{name:"::-moz-selection",browsers:["FF1"],description:"Represents the portion of a document that has been highlighted by the user."},{name:"::-ms-backdrop",browsers:["IE11"],description:"Used to create a backdrop that hides the underlying document for an element in a top layer (such as an element that is displayed fullscreen)."},{name:"::-ms-browse",browsers:["E","IE10"],description:"Represents the browse button of an input type=file control."},{name:"::-ms-check",browsers:["E","IE10"],description:"Represents the check of a checkbox or radio button input control."},{name:"::-ms-clear",browsers:["E","IE10"],description:"Represents the clear button of a text input control"},{name:"::-ms-expand",browsers:["E","IE10"],description:"Represents the drop-down button of a select control."},{name:"::-ms-fill",browsers:["E","IE10"],description:"Represents the bar portion of a progress bar."},{name:"::-ms-fill-lower",browsers:["E","IE10"],description:"Represents the portion of the slider track from its smallest value up to the value currently selected by the thumb. In a left-to-right layout, this is the portion of the slider track to the left of the thumb."},{name:"::-ms-fill-upper",browsers:["E","IE10"],description:"Represents the portion of the slider track from the value currently selected by the thumb up to the slider's largest value. In a left-to-right layout, this is the portion of the slider track to the right of the thumb."},{name:"::-ms-reveal",browsers:["E","IE10"],description:"Represents the password reveal button of an input type=password control."},{name:"::-ms-thumb",browsers:["E","IE10"],description:"Represents the portion of range input control (also known as a slider control) that the user drags."},{name:"::-ms-ticks-after",browsers:["E","IE10"],description:"Represents the tick marks of a slider that begin just after the thumb and continue up to the slider's largest value. In a left-to-right layout, these are the ticks to the right of the thumb."},{name:"::-ms-ticks-before",browsers:["E","IE10"],description:"Represents the tick marks of a slider that represent its smallest values up to the value currently selected by the thumb. In a left-to-right layout, these are the ticks to the left of the thumb."},{name:"::-ms-tooltip",browsers:["E","IE10"],description:"Represents the tooltip of a slider (input type=range)."},{name:"::-ms-track",browsers:["E","IE10"],description:"Represents the track of a slider."},{name:"::-ms-value",browsers:["E","IE10"],description:"Represents the content of a text or password input control, or a select control."},{name:"::selection",browsers:["E12","FF62","S1.1","C1","IE9","O9.5"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::selection"}],description:"Represents the portion of a document that has been highlighted by the user."},{name:"::shadow",browsers:["C35","O22"],description:"Matches the shadow root if an element has a shadow tree."},{name:"::-webkit-file-upload-button",browsers:["C","O","S6"]},{name:"::-webkit-inner-spin-button",browsers:["E79","S5","C6","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-webkit-inner-spin-button"}]},{name:"::-webkit-input-placeholder",browsers:["C","S4"]},{name:"::-webkit-keygen-select",browsers:["C","O","S6"]},{name:"::-webkit-meter-bar",browsers:["E79","S5.1","C12","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-webkit-meter-bar"}]},{name:"::-webkit-meter-even-less-good-value",browsers:["E79","S5.1","C12","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-webkit-meter-even-less-good-value"}]},{name:"::-webkit-meter-optimum-value",browsers:["E79","S5.1","C12","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-webkit-meter-optimum-value"}]},{name:"::-webkit-meter-suboptimum-value",browsers:["E79","S5.1","C12","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-webkit-meter-suboptimum-value"}]},{name:"::-webkit-outer-spin-button",browsers:["S5","C6"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-webkit-outer-spin-button"}]},{name:"::-webkit-progress-bar",browsers:["E79","S7","C25","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-webkit-progress-bar"}]},{name:"::-webkit-progress-inner-element",browsers:["E79","S7","C23","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-webkit-progress-inner-element"}]},{name:"::-webkit-progress-value",browsers:["E79","S7","C25","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-webkit-progress-value"}]},{name:"::-webkit-resizer",browsers:["E79","S4","C2","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar"}]},{name:"::-webkit-scrollbar",browsers:["E79","S4","C2","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar"}]},{name:"::-webkit-scrollbar-button",browsers:["E79","S4","C2","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar"}]},{name:"::-webkit-scrollbar-corner",browsers:["E79","S4","C2","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar"}]},{name:"::-webkit-scrollbar-thumb",browsers:["E79","S4","C2","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar"}]},{name:"::-webkit-scrollbar-track",browsers:["E79","S4","C2","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar"}]},{name:"::-webkit-scrollbar-track-piece",browsers:["E79","S4","C2","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-webkit-scrollbar"}]},{name:"::-webkit-search-cancel-button",browsers:["E79","S3","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-webkit-search-cancel-button"}]},{name:"::-webkit-search-decoration",browsers:["C","S4"]},{name:"::-webkit-search-results-button",browsers:["E79","S3","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-webkit-search-results-button"}]},{name:"::-webkit-search-results-decoration",browsers:["C","S4"]},{name:"::-webkit-slider-runnable-track",browsers:["C","O","S6"]},{name:"::-webkit-slider-thumb",browsers:["C","O","S6"]},{name:"::-webkit-textfield-decoration-container",browsers:["C","O","S6"]},{name:"::-webkit-validation-bubble",browsers:["C","O","S6"]},{name:"::-webkit-validation-bubble-arrow",browsers:["C","O","S6"]},{name:"::-webkit-validation-bubble-arrow-clipper",browsers:["C","O","S6"]},{name:"::-webkit-validation-bubble-heading",browsers:["C","O","S6"]},{name:"::-webkit-validation-bubble-message",browsers:["C","O","S6"]},{name:"::-webkit-validation-bubble-text-block",browsers:["C","O","S6"]},{name:"::target-text",status:"experimental",browsers:["E89","C89","O75"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::target-text"}],description:"The ::target-text CSS pseudo-element represents the text that has been scrolled to if the browser supports scroll-to-text fragments. It allows authors to choose how to highlight that section of text."},{name:"::-moz-range-progress",status:"nonstandard",browsers:["FF22"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-moz-range-progress"}],description:'The ::-moz-range-progress CSS pseudo-element is a Mozilla extension that represents the lower portion of the track (i.e., groove) in which the indicator slides in an <input> of type="range". This portion corresponds to values lower than the value currently selected by the thumb (i.e., virtual knob).'},{name:"::-moz-range-thumb",status:"nonstandard",browsers:["FF21"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-moz-range-thumb"}],description:`The ::-moz-range-thumb CSS pseudo-element is a Mozilla extension that represents the thumb (i.e., virtual knob) of an <input> of type="range". The user can move the thumb along the input's track to alter its numerical value.`},{name:"::-moz-range-track",status:"nonstandard",browsers:["FF21"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::-moz-range-track"}],description:'The ::-moz-range-track CSS pseudo-element is a Mozilla extension that represents the track (i.e., groove) in which the indicator slides in an <input> of type="range".'},{name:"::-webkit-progress-inner-value",status:"nonstandard",description:`The ::-webkit-progress-value CSS pseudo-element represents the filled-in portion of the bar of a <progress> element. It is a child of the ::-webkit-progress-bar pseudo-element.
582
582
 
583
- In order to let ::-webkit-progress-value take effect, -webkit-appearance needs to be set to none on the <progress> element.`},{name:"::grammar-error",status:"experimental",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::grammar-error"}],description:"The ::grammar-error CSS pseudo-element represents a text segment which the user agent has flagged as grammatically incorrect."},{name:"::marker",browsers:["E86","FF68","Spreview","C86","O72"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::marker"}],description:"The ::marker CSS pseudo-element selects the marker box of a list item, which typically contains a bullet or number. It works on any element or pseudo-element set to display: list-item, such as the <li> and <summary> elements."},{name:"::part",status:"experimental",browsers:["E79","FF72","S13.1","C73","O60"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::part"}],description:"The ::part CSS pseudo-element represents any element within a shadow tree that has a matching part attribute."},{name:"::placeholder",browsers:["E79","FF51","S10.1","C57","O44"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::placeholder"}],description:"The ::placeholder CSS pseudo-element represents the placeholder text of a form element."},{name:"::slotted",browsers:["E79","FF63","S10","C50","O37"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::slotted"}],description:"The :slotted() CSS pseudo-element represents any element that has been placed into a slot inside an HTML template."},{name:"::spelling-error",status:"experimental",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::spelling-error"}],description:"The ::spelling-error CSS pseudo-element represents a text segment which the user agent has flagged as incorrectly spelled."}]}});function Cz(t){return typeof t.name=="string"}function Tz(t){return typeof t.name=="string"}function Ez(t){return typeof t.name=="string"}function Dz(t){return typeof t.name=="string"}var ps,Hf=ue(()=>{"use strict";ps=class{constructor(e){this._properties=[],this._atDirectives=[],this._pseudoClasses=[],this._pseudoElements=[],this.addData(e)}provideProperties(){return this._properties}provideAtDirectives(){return this._atDirectives}providePseudoClasses(){return this._pseudoClasses}providePseudoElements(){return this._pseudoElements}addData(e){if(Array.isArray(e.properties))for(let n of e.properties)Cz(n)&&this._properties.push(n);if(Array.isArray(e.atDirectives))for(let n of e.atDirectives)Tz(n)&&this._atDirectives.push(n);if(Array.isArray(e.pseudoClasses))for(let n of e.pseudoClasses)Ez(n)&&this._pseudoClasses.push(n);if(Array.isArray(e.pseudoElements))for(let n of e.pseudoElements)Dz(n)&&this._pseudoElements.push(n)}}});var ms,x0=ue(()=>{"use strict";Ca();jf();Hf();ms=class{constructor(e){this.dataProviders=[],this._propertySet={},this._atDirectiveSet={},this._pseudoClassSet={},this._pseudoElementSet={},this._properties=[],this._atDirectives=[],this._pseudoClasses=[],this._pseudoElements=[],this.setDataProviders(e?.useDefaultDataProvider!==!1,e?.customDataProviders||[])}setDataProviders(e,n){this.dataProviders=[],e&&this.dataProviders.push(new ps(Wu)),this.dataProviders.push(...n),this.collectData()}collectData(){this._propertySet={},this._atDirectiveSet={},this._pseudoClassSet={},this._pseudoElementSet={},this.dataProviders.forEach(e=>{e.provideProperties().forEach(n=>{this._propertySet[n.name]||(this._propertySet[n.name]=n)}),e.provideAtDirectives().forEach(n=>{this._atDirectiveSet[n.name]||(this._atDirectiveSet[n.name]=n)}),e.providePseudoClasses().forEach(n=>{this._pseudoClassSet[n.name]||(this._pseudoClassSet[n.name]=n)}),e.providePseudoElements().forEach(n=>{this._pseudoElementSet[n.name]||(this._pseudoElementSet[n.name]=n)})}),this._properties=ka(this._propertySet),this._atDirectives=ka(this._atDirectiveSet),this._pseudoClasses=ka(this._pseudoClassSet),this._pseudoElements=ka(this._pseudoElementSet)}getProperty(e){return this._propertySet[e]}getAtDirective(e){return this._atDirectiveSet[e]}getPseudoClass(e){return this._pseudoClassSet[e]}getPseudoElement(e){return this._pseudoElementSet[e]}getProperties(){return this._properties}getAtDirectives(){return this._atDirectives}getPseudoClasses(){return this._pseudoClasses}getPseudoElements(){return this._pseudoElements}isKnownProperty(e){return e.toLowerCase()in this._propertySet}isStandardProperty(e){return this.isKnownProperty(e)&&(!this._propertySet[e.toLowerCase()].status||this._propertySet[e.toLowerCase()].status==="standard")}}});function k0(t,e,n){function r(o){let s=i(o),l;for(let a=s.length-1;a>=0;a--)l=E.SelectionRange.create(E.Range.create(t.positionAt(s[a][0]),t.positionAt(s[a][1])),l);return l||(l=E.SelectionRange.create(E.Range.create(o,o))),l}return e.map(r);function i(o){let s=t.offsetAt(o),l=n.findChildAtOffset(s,!0);if(!l)return[];let a=[];for(;l;){if(l.parent&&l.offset===l.parent.offset&&l.end===l.parent.end){l=l.parent;continue}l.type===A.Declarations&&s>l.offset&&s<l.end&&a.push([l.offset+1,l.end-1]),a.push([l.offset,l.end]),l=l.parent}return a}}var C0=ue(()=>{"use strict";hn();Bt()});function Fz(t){if(t.endsWith(".scss")||t.endsWith(".css"))return[t];if(t.endsWith("/"))return[t+"index.scss",t+"_index.scss"];let e=Ea.parse(t),n=br.basename(e),r=br.dirname(e);return n.startsWith("_")?[br.joinPath(r,n+".scss").toString(!0)]:[br.joinPath(r,n+".scss").toString(!0),br.joinPath(r,"_"+n+".scss").toString(!0),t+"/index.scss",t+"/_index.scss",br.joinPath(r,n+".css").toString(!0)]}var qu,T0=ue(()=>{"use strict";Af();Bt();kf();qr();qu=class extends oo{constructor(e){super(e,!0)}isRawStringDocumentLinkNode(e){return super.isRawStringDocumentLinkNode(e)||e.type===A.Use||e.type===A.Forward}async mapReference(e,n){if(this.fileSystemProvider&&e&&n){let r=Fz(e);for(let i of r)if(await this.fileExists(i))return i}return e}async resolveReference(e,n,r,i=!1){if(!ot(e,"sass:"))return super.resolveReference(e,n,r,i)}}});var D0={};xd(D0,{ClientCapabilities:()=>af,CodeAction:()=>E.CodeAction,CodeActionContext:()=>E.CodeActionContext,CodeActionKind:()=>E.CodeActionKind,Color:()=>E.Color,ColorInformation:()=>E.ColorInformation,ColorPresentation:()=>E.ColorPresentation,Command:()=>E.Command,CompletionItem:()=>E.CompletionItem,CompletionItemKind:()=>E.CompletionItemKind,CompletionItemTag:()=>E.CompletionItemTag,CompletionList:()=>E.CompletionList,Diagnostic:()=>E.Diagnostic,DiagnosticSeverity:()=>E.DiagnosticSeverity,DocumentHighlight:()=>E.DocumentHighlight,DocumentHighlightKind:()=>E.DocumentHighlightKind,DocumentLink:()=>E.DocumentLink,DocumentSymbol:()=>E.DocumentSymbol,DocumentUri:()=>E.DocumentUri,FileType:()=>yi,FoldingRange:()=>E.FoldingRange,FoldingRangeKind:()=>E.FoldingRangeKind,Hover:()=>E.Hover,InsertTextFormat:()=>E.InsertTextFormat,Location:()=>E.Location,MarkedString:()=>E.MarkedString,MarkupContent:()=>E.MarkupContent,MarkupKind:()=>E.MarkupKind,Position:()=>E.Position,Range:()=>E.Range,SelectionRange:()=>E.SelectionRange,SymbolInformation:()=>E.SymbolInformation,SymbolKind:()=>E.SymbolKind,TextDocument:()=>Ao,TextDocumentEdit:()=>E.TextDocumentEdit,TextEdit:()=>E.TextEdit,VersionedTextDocumentIdentifier:()=>E.VersionedTextDocumentIdentifier,WorkspaceEdit:()=>E.WorkspaceEdit,getCSSLanguageService:()=>Rz,getDefaultCSSDataProvider:()=>Az,getLESSLanguageService:()=>Mz,getSCSSLanguageService:()=>Iz,newCSSDataProvider:()=>E0});function Az(){return E0(Wu)}function E0(t){return new ps(t)}function Bf(t,e,n,r,i,o,s){return{configure:l=>{o.configure(l),e.configure(l?.completion),n.configure(l?.hover)},setDataProviders:s.setDataProviders.bind(s),doValidation:o.doValidation.bind(o),parseStylesheet:t.parseStylesheet.bind(t),doComplete:e.doComplete.bind(e),doComplete2:e.doComplete2.bind(e),setCompletionParticipants:e.setCompletionParticipants.bind(e),doHover:n.doHover.bind(n),format:_0,findDefinition:r.findDefinition.bind(r),findReferences:r.findReferences.bind(r),findDocumentHighlights:r.findDocumentHighlights.bind(r),findDocumentLinks:r.findDocumentLinks.bind(r),findDocumentLinks2:r.findDocumentLinks2.bind(r),findDocumentSymbols:r.findSymbolInformations.bind(r),findDocumentSymbols2:r.findDocumentSymbols.bind(r),doCodeActions:i.doCodeActions.bind(i),doCodeActions2:i.doCodeActions2.bind(i),findDocumentColors:r.findDocumentColors.bind(r),getColorPresentations:r.getColorPresentations.bind(r),prepareRename:r.prepareRename.bind(r),doRename:r.doRename.bind(r),getFoldingRanges:p0,getSelectionRanges:k0}}function Rz(t=$f){let e=new ms(t);return Bf(new Si,new xi(null,t,e),new ss(t&&t.clientCapabilities,e),new oo(t&&t.fileSystemProvider,!1),new ls(e),new cs(e),e)}function Iz(t=$f){let e=new ms(t);return Bf(new Ou,new _t(t,e),new ss(t&&t.clientCapabilities,e),new qu(t&&t.fileSystemProvider),new ls(e),new cs(e),e)}function Mz(t=$f){let e=new ms(t);return Bf(new Nu,new Xr(t,e),new ss(t&&t.clientCapabilities,e),new oo(t&&t.fileSystemProvider,!0),new ls(e),new cs(e),e)}var $f,F0=ue(()=>{"use strict";gu();xu();Kx();Af();Zx();r0();s0();l0();u0();d0();m0();S0();x0();Hf();C0();T0();jf();hn();$f={}});var A0=X(Uu=>{"use strict";Object.defineProperty(Uu,"__esModule",{value:!0});Uu.pseudoClass=void 0;Uu.pseudoClass=[{name:":global()",description:"Apply styles to a selector globally",references:[{name:"Astro documentation",url:"https://docs.astro.build/en/guides/styling/#global-styles-within-style-tag"}]}]});var ju=X(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.getLanguageService=fs.getLanguage=void 0;var Vf=(F0(),Mi(D0)),Pz=A0(),zz={providePseudoClasses(){return Pz.pseudoClass},provideProperties(){return[]},provideAtDirectives(){return[]},providePseudoElements(){return[]}},[Oz,Lz,Nz]=[Vf.getCSSLanguageService,Vf.getSCSSLanguageService,Vf.getLESSLanguageService].map(t=>t({customDataProviders:[zz]})),Wz={css:Oz,scss:Lz,less:Nz};function R0(t){switch(t){case"scss":case"text/scss":return"scss";case"less":case"text/less":return"less";case"css":case"text/css":default:return"css"}}fs.getLanguage=R0;function qz(t){let e=R0(t);return Wz[e]}fs.getLanguageService=qz});var I0=X(Hu=>{"use strict";Object.defineProperty(Hu,"__esModule",{value:!0});Hu.CSSDocument=void 0;var Uz=Pt(),jz=ju(),Kf=class extends Uz.ReadableDocument{constructor(e,n){super(),this.parent=e,this.styleInfo=n,this.version=this.parent.version,this.languageId=this.language,this.stylesheet=(0,jz.getLanguageService)(this.language).parseStylesheet(this)}getOriginalPosition(e){let n=this.styleInfo.start+this.offsetAt(e);return this.parent.positionAt(n)}getGeneratedPosition(e){let n=this.parent.offsetAt(e)-this.styleInfo.start;return this.positionAt(n)}isInGenerated(e){let n=this.parent.offsetAt(e);return n>=this.styleInfo.start&&n<=this.styleInfo.end}getText(){return this.parent.getText().slice(this.styleInfo.start,this.styleInfo.end)}getTextLength(){return this.styleInfo.end-this.styleInfo.start}getFilePath(){return this.parent.getFilePath()}getURL(){return this.parent.getURL()}getAttributes(){return this.styleInfo.attributes}get language(){let e=this.getAttributes();return e.lang||e.type||"css"}};Hu.CSSDocument=Kf});var O0=X(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.collectSelectors=Yr.NodeType=Yr.getIdClassCompletion=void 0;var M0=pt();function Hz(t,e){let n=Bz(e);if(!n)return null;let r=P0(t,n);return M0.CompletionList.create(r)}Yr.getIdClassCompletion=Hz;function Bz(t){if(t.inValue){if(t.name==="class")return Bu.ClassSelector;if(t.name==="id")return Bu.IdentifierSelector}else if(t.name.startsWith("class:"))return Bu.ClassSelector}var Bu;(function(t){t[t.ClassSelector=14]="ClassSelector",t[t.IdentifierSelector=15]="IdentifierSelector"})(Bu=Yr.NodeType||(Yr.NodeType={}));function P0(t,e){let n=[];return t.forEach(r=>{z0(r,i=>{i.type===e&&n.push(i)})}),n.map(r=>({label:r.getText().substring(1),kind:M0.CompletionItemKind.Keyword}))}Yr.collectSelectors=P0;function z0(t,e){e(t),t.children&&t.children.forEach(n=>z0(n,e))}});var N0=X(Vu=>{"use strict";Object.defineProperty(Vu,"__esModule",{value:!0});Vu.StyleAttributeDocument=void 0;var $z=Pt(),Vz=ju(),$u="__ {",L0="}",Gf=class extends $z.ReadableDocument{constructor(e,n,r){super(),this.parent=e,this.attrStart=n,this.attrEnd=r,this.version=this.parent.version,this.languageId="css",this.stylesheet=(0,Vz.getLanguageService)(this.languageId).parseStylesheet(this)}getOriginalPosition(e){let n=this.attrStart+this.offsetAt(e)-$u.length;return this.parent.positionAt(n)}getGeneratedPosition(e){let n=this.parent.offsetAt(e)-this.attrStart+$u.length;return this.positionAt(n)}isInGenerated(e){let n=this.parent.offsetAt(e);return n>=this.attrStart&&n<=this.attrEnd}getText(){return $u+this.parent.getText().slice(this.attrStart,this.attrEnd)+L0}getTextLength(){return $u.length+this.attrEnd-this.attrStart+L0.length}getFilePath(){return this.parent.getFilePath()}getURL(){return this.parent.getURL()}};Vu.StyleAttributeDocument=Gf});var Yf=X(Ku=>{"use strict";Object.defineProperty(Ku,"__esModule",{value:!0});Ku.CSSPlugin=void 0;var Jf=(Ym(),Mi(Qm)),W0=pt(),Tn=Pt(),q0=Up(),Kz=I0(),Gz=O0(),wr=ju(),U0=N0(),Qf=class{constructor(e){this.__name="css",this.cssDocuments=new WeakMap,this.triggerCharacters=new Set([".",":","-","/"]),this.configManager=e}async doHover(e,n){if(!await this.featureEnabled(e,"hover")||(0,Tn.isInsideFrontmatter)(e.getText(),e.offsetAt(n)))return null;let r=this.getStyleTagForPosition(e,n);if(r&&!r.closed)return null;if(!r){let s=(0,q0.getAttributeContextAtPosition)(e,n);if(!s)return null;if(this.inStyleAttributeWithoutInterpolation(s,e.getText())){let[l,a]=s.valueRange;return this.doHoverInternal(new U0.StyleAttributeDocument(e,l,a),n)}return null}let i=this.getCSSDocumentForStyleTag(r,e),o=yr(i);return Xf(o)?this.doHoverInternal(i,n):null}doHoverInternal(e,n){let r=(0,wr.getLanguageService)(yr(e)).doHover(e,e.getGeneratedPosition(n),e.stylesheet);return r&&(0,Tn.mapHoverToParent)(e,r)}async getCompletions(e,n,r){if(!await this.featureEnabled(e,"completions")||(0,Tn.isInsideFrontmatter)(e.getText(),e.offsetAt(n)))return null;let i=r?.triggerCharacter;if(r?.triggerKind===W0.CompletionTriggerKind.TriggerCharacter&&i&&!this.triggerCharacters.has(i))return null;let l=this.getStyleTagForPosition(e,n);if(l&&!l.closed)return null;if(!l){let c=(0,q0.getAttributeContextAtPosition)(e,n);if(!c)return null;if(this.inStyleAttributeWithoutInterpolation(c,e.getText())){let[u,d]=c.valueRange;return await this.getCompletionsInternal(e,n,new U0.StyleAttributeDocument(e,u,d))}else if((c.name=="id"||c.name=="class")&&c.inValue){let u=this.getStylesheetsForDocument(e);return(0,Gz.getIdClassCompletion)(u,c)}return null}let a=this.getCSSDocumentForStyleTag(l,e);return await this.getCompletionsInternal(e,n,a)}async getCompletionsInternal(e,n,r){let i=await this.configManager.getEmmetConfig(e);if(Jz(r))return(0,Jf.doComplete)(e,n,"sass",i)||null;let o=yr(r),s=(0,wr.getLanguageService)(o),l={isIncomplete:!1,items:[]};((await this.configManager.getConfig("astro",e.uri))?.css?.completions?.emmet??!0)&&s.setCompletionParticipants([{onCssProperty:u=>{u?.propertyName&&(l=(0,Jf.doComplete)(r,r.getGeneratedPosition(n),(0,wr.getLanguage)(o),i)||l)},onCssPropertyValue:u=>{u?.propertyValue&&(l=(0,Jf.doComplete)(r,r.getGeneratedPosition(n),(0,wr.getLanguage)(o),i)||l)}}]);let c=s.doComplete(r,r.getGeneratedPosition(n),r.stylesheet);return W0.CompletionList.create([...c?c.items:[],...l.items].map(u=>(0,Tn.mapCompletionItemToOriginal)(r,u)),l.items.length>0)}async getDocumentColors(e){return await this.featureEnabled(e,"documentColors")?this.getCSSDocumentsForDocument(e).flatMap(r=>{let i=yr(r),o=(0,wr.getLanguageService)(i);return Xf(i)?o.findDocumentColors(r,r.stylesheet).map(s=>(0,Tn.mapObjWithRangeToOriginal)(r,s)):[]}):[]}async getColorPresentations(e,n,r){return await this.featureEnabled(e,"documentColors")?this.getCSSDocumentsForDocument(e).flatMap(o=>{let s=yr(o),l=(0,wr.getLanguageService)(s);return!o.isInGenerated(n.start)&&!o.isInGenerated(n.end)||!Xf(s)?[]:l.getColorPresentations(o,o.stylesheet,r,(0,Tn.mapRangeToGenerated)(o,n)).map(a=>(0,Tn.mapColorPresentationToOriginal)(o,a))}):[]}prepareRename(e,n){let r=this.getStyleTagForPosition(e,n);if(!r)return null;let i=this.getCSSDocumentForStyleTag(r,e),o=yr(i),l=(0,wr.getLanguageService)(o).prepareRename(i,i.getGeneratedPosition(n),i.stylesheet);return l?(0,Tn.mapRangeToOriginal)(i,l):null}rename(e,n,r){let i=this.getStyleTagForPosition(e,n);if(!i)return null;let o=this.getCSSDocumentForStyleTag(i,e),s=yr(o),a=(0,wr.getLanguageService)(s).doRename(o,o.getGeneratedPosition(n),r,o.stylesheet);return a?.changes?.[e.uri]&&(a.changes[e.uri]=a?.changes?.[e.uri].map(c=>(0,Tn.mapObjWithRangeToOriginal)(o,c))),a}getFoldingRanges(e){return this.getCSSDocumentsForDocument(e).flatMap(r=>{let i=yr(r);return(0,wr.getLanguageService)(i).getFoldingRanges(r).map(s=>(0,Tn.mapFoldingRangeToParent)(r,s))})}async getDocumentSymbols(e){return await this.featureEnabled(e,"documentSymbols")?this.getCSSDocumentsForDocument(e).flatMap(r=>(0,wr.getLanguageService)(yr(r)).findDocumentSymbols(r,r.stylesheet).map(i=>(0,Tn.mapSymbolInformationToOriginal)(r,i))):[]}inStyleAttributeWithoutInterpolation(e,n){return e.name==="style"&&!!e.valueRange&&!n.substring(e.valueRange[0],e.valueRange[1]).includes("{")}getCSSDocumentForStyleTag(e,n){let r=this.cssDocuments.get(e);return(!r||r.version<n.version)&&(r=new Kz.CSSDocument(n,e),this.cssDocuments.set(e,r)),r}getCSSDocumentsForDocument(e){return e.styleTags.map(n=>this.getCSSDocumentForStyleTag(n,e))}getStylesheetsForDocument(e){return this.getCSSDocumentsForDocument(e).map(n=>n.stylesheet)}getStyleTagForPosition(e,n){return e.styleTags.find(r=>(0,Tn.isInTag)(n,r))}async featureEnabled(e,n){return await this.configManager.isEnabled(e,"css")&&await this.configManager.isEnabled(e,"css",n)}};Ku.CSSPlugin=Qf;function Xf(t){switch(t){case"css":case"scss":case"less":return!0;default:return!1}}function Jz(t){switch(yr(t)){case"sass":return!0;default:return!1}}function yr(t){return t.languageId.replace(/^text\//,"")}});var tg=X(Ju=>{"use strict";Object.defineProperty(Ju,"__esModule",{value:!0});Ju.HTMLPlugin=void 0;var Xz=(Ym(),Mi(Qm)),Zf=(Xs(),Mi(Js)),Gu=pt(),_r=ar(),gs=$p(),Qz=Vp(),eg=class{constructor(e){this.__name="html",this.lang=(0,Zf.getLanguageService)({customDataProviders:[gs.astroAttributes,gs.astroElements,gs.classListAttribute]}),this.attributeOnlyLang=(0,Zf.getLanguageService)({customDataProviders:[gs.astroAttributes],useDefaultDataProvider:!1}),this.componentLang=(0,Zf.getLanguageService)({customDataProviders:[gs.astroAttributes,gs.astroDirectives],useDefaultDataProvider:!1}),this.styleScriptTemplate=new Set(["style"]),this.configManager=e}async doHover(e,n){if(!await this.featureEnabled(e,"hover"))return null;let r=e.html;if(!r)return null;let i=r.findNodeAt(e.offsetAt(n));return i?(0,_r.isPossibleComponent)(i)&&i.tag!=="Fragment"?this.componentLang.doHover(e,n,r):this.lang.doHover(e,n,r):null}async getCompletions(e,n){if(!await this.featureEnabled(e,"completions"))return null;let r=e.html,i=e.offsetAt(n);if(!r||(0,_r.isInsideFrontmatter)(e.getText(),i)||(0,_r.isInsideExpression)(e.getText(),r.findNodeAt(i).start,i))return null;let o={isIncomplete:!0,items:[]},s=await this.configManager.getEmmetConfig(e);((await this.configManager.getConfig("astro",e.uri)??{})?.html?.completions?.emmet??!0)&&this.lang.setCompletionParticipants([{onHtmlContent:()=>o=(0,Xz.doComplete)(e,n,"html",s)||o}]);let a=(0,_r.isInComponentStartTag)(r,i),c=(0,_r.isInTagName)(r,i),u=a&&!c?(0,Qz.removeDataAttrCompletion)(this.attributeOnlyLang.doComplete(e,n,r).items):this.lang.doComplete(e,n,r).items.filter(h),d=a?[]:this.getLangCompletions(u);return Gu.CompletionList.create([...u,...d,...o.items],o.items.length>0);function h(p){return!(["script","style"].includes(p.label)&&p.documentation===void 0)}}getFoldingRanges(e){return e.html?this.lang.getFoldingRanges(e):null}getLinkedEditingRanges(e,n){let r=e.html;if(!r)return null;let i=this.lang.findLinkedEditingRanges(e,n,r);return i?{ranges:i}:null}async doTagComplete(e,n){if(!await this.featureEnabled(e,"tagComplete"))return null;let r=e.html,i=e.offsetAt(n);return!r||(0,_r.isInsideFrontmatter)(e.getText(),i)||(0,_r.isInsideExpression)(e.getText(),r.findNodeAt(i).start,i)?null:this.lang.doTagComplete(e,n,r)}prepareRename(e,n){let r=e.html,i=e.offsetAt(n),o=r.findNodeAt(i);if(!o||(0,_r.isPossibleComponent)(o)||!o.tag||!this.isRenameAtTag(o,i))return null;let s=o.start+1;return Gu.Range.create(e.positionAt(s),e.positionAt(s+o.tag.length))}rename(e,n,r){let i=e.html,o=e.offsetAt(n);if(!i||(0,_r.isInsideFrontmatter)(e.getText(),o))return null;let s=i.findNodeAt(o);return!s||(0,_r.isPossibleComponent)(s)||!this.isRenameAtTag(s,o)?null:this.lang.doRename(e,n,r,i)}async getDocumentSymbols(e){if(!await this.featureEnabled(e,"documentSymbols"))return[];let n=e.html;return n?this.lang.findDocumentSymbols(e,n):[]}getLangCompletions(e){let n=e.filter(o=>o.kind===Gu.CompletionItemKind.Property&&this.styleScriptTemplate.has(o.label)),r=[];return i("style",["scss","sass","less","styl","stylus"]),r;function i(o,s){let l=n.find(a=>a.label===o);!l||s.forEach(a=>r.push({...l,label:`${o} (lang="${a}")`,insertText:l.insertText&&`${l.insertText} lang="${a}"`,textEdit:l.textEdit&&Gu.TextEdit.is(l.textEdit)?{range:l.textEdit.range,newText:`${l.textEdit.newText} lang="${a}"`}:void 0}))}}isRenameAtTag(e,n){if(!e.tag)return!1;let r=e.start+`<${e.tag}`.length,i=n>e.start&&n<=r,o=e.endTagStart!==void 0&&n>=e.endTagStart&&n<e.end;return i||o}async featureEnabled(e,n){return await this.configManager.isEnabled(e,"html")&&await this.configManager.isEnabled(e,"html",n)}};Ju.HTMLPlugin=eg});var H0=X(j0=>{"use strict";Object.defineProperty(j0,"__esModule",{value:!0})});var rg=X(Xu=>{"use strict";Object.defineProperty(Xu,"__esModule",{value:!0});Xu.PluginHost=void 0;var Yz=pt(),Zz=Pt(),B0=dt(),nt;(function(t){t[t.None=0]="None",t[t.FirstNonNull=1]="FirstNonNull",t[t.Collect=2]="Collect"})(nt||(nt={}));var ng=class{constructor(e){this.docManager=e,this.plugins=[],this.pluginHostConfig={filterIncompleteCompletions:!0,definitionLinkSupport:!1}}initialize(e){this.pluginHostConfig=e}registerPlugin(e){this.plugins.push(e)}async getCompletions(e,n,r,i){let o=this.getDocument(e.uri),s=await Promise.all(this.plugins.map(async h=>{let p=await this.tryExecutePlugin(h,"getCompletions",[o,n,r,i],null);if(p)return{result:p,plugin:h.__name}})).then(h=>h.filter(B0.isNotNullOrUndefined)),l=s.find(h=>h.plugin==="html"),a=s.find(h=>h.plugin==="typescript"),c=s.find(h=>h.plugin==="astro");if(l&&a){let h=(0,Zz.isInComponentStartTag)(o.html,o.offsetAt(n));l.result.items.length>0&&(a.result.items=[]),c&&c.result.items.length>0&&h&&(a.result.items=[])}let u=s.flatMap(h=>h.result.items),d=s.reduce((h,p)=>h||p.result.isIncomplete,!1);if(d&&this.pluginHostConfig.filterIncompleteCompletions){let h=o.offsetAt(n),p=o.getText().substring(Math.max(0,h-20),h),w=(0,B0.regexLastIndexOf)(p,/[\W\s]/g)+1,v=p.substring(w).toLowerCase();u=u.filter(x=>x.label.toLowerCase().includes(v))}return Yz.CompletionList.create(u,d)}async resolveCompletion(e,n){let r=this.getDocument(e.uri);return await this.execute("resolveCompletion",[r,n],nt.FirstNonNull)??n}async getDiagnostics(e){let n=this.getDocument(e.uri);return await this.execute("getDiagnostics",[n],nt.Collect)}async doHover(e,n){let r=this.getDocument(e.uri);return this.execute("doHover",[r,n],nt.FirstNonNull)}async formatDocument(e,n){let r=this.getDocument(e.uri);return await this.execute("formatDocument",[r,n],nt.Collect)}async getCodeActions(e,n,r,i){let o=this.getDocument(e.uri);return await this.execute("getCodeActions",[o,n,r,i],nt.Collect)}async doTagComplete(e,n){let r=this.getDocument(e.uri);return this.execute("doTagComplete",[r,n],nt.FirstNonNull)}async getFoldingRanges(e){let n=this.getDocument(e.uri);return await this.execute("getFoldingRanges",[n],nt.Collect)}async getDocumentSymbols(e,n){let r=this.getDocument(e.uri);return await this.execute("getDocumentSymbols",[r,n],nt.Collect)}async getSemanticTokens(e,n,r){let i=this.getDocument(e.uri);return await this.execute("getSemanticTokens",[i,n,r],nt.FirstNonNull)}async getLinkedEditingRanges(e,n){let r=this.getDocument(e.uri);return await this.execute("getLinkedEditingRanges",[r,n],nt.FirstNonNull)}async fileReferences(e){let n=this.getDocument(e.uri);return await this.execute("fileReferences",[n],nt.FirstNonNull)}async getDefinitions(e,n){let r=this.getDocument(e.uri),i=await this.execute("getDefinitions",[r,n],nt.Collect);return this.pluginHostConfig.definitionLinkSupport?i:i.map(o=>({range:o.targetSelectionRange,uri:o.targetUri}))}getTypeDefinitions(e,n){let r=this.getDocument(e.uri);return this.execute("getTypeDefinitions",[r,n],nt.FirstNonNull)}getImplementations(e,n){let r=this.getDocument(e.uri);return this.execute("getImplementation",[r,n],nt.FirstNonNull)}getReferences(e,n,r){let i=this.getDocument(e.uri);return this.execute("findReferences",[i,n,r],nt.FirstNonNull)}async prepareRename(e,n){let r=this.getDocument(e.uri);return await this.execute("prepareRename",[r,n],nt.FirstNonNull)}async rename(e,n,r){let i=this.getDocument(e.uri);return this.execute("rename",[i,n,r],nt.FirstNonNull)}async getDocumentColors(e){let n=this.getDocument(e.uri);return await this.execute("getDocumentColors",[n],nt.Collect)}async getColorPresentations(e,n,r){let i=this.getDocument(e.uri);return await this.execute("getColorPresentations",[i,n,r],nt.Collect)}async getInlayHints(e,n,r){let i=this.getDocument(e.uri);return await this.execute("getInlayHints",[i,n],nt.FirstNonNull)??[]}async getSignatureHelp(e,n,r,i){let o=this.getDocument(e.uri);return await this.execute("getSignatureHelp",[o,n,r,i],nt.FirstNonNull)}async onWatchFileChanges(e){for(let n of this.plugins)await n.onWatchFileChanges?.(e)}updateNonAstroFile(e,n,r){for(let i of this.plugins)i.updateNonAstroFile?.(e,n,r)}getDocument(e){let n=this.docManager.get(e);if(!n)throw new Error("Cannot call methods on an unopened document");return n}async execute(e,n,r){let i=this.plugins.filter(o=>typeof o[e]=="function");switch(r){case nt.FirstNonNull:for(let o of i){let s=await this.tryExecutePlugin(o,e,n,null);if(s!=null)return s}return null;case nt.Collect:return(await Promise.all(i.map(o=>this.tryExecutePlugin(o,e,n,[])))).flat();case nt.None:await Promise.all(i.map(o=>this.tryExecutePlugin(o,e,n,null)));return}}async tryExecutePlugin(e,n,r,i){try{return await e[n](...r)}catch(o){return console.error(o),i}}};Xu.PluginHost=ng});var $0=X(Qu=>{"use strict";Object.defineProperty(Qu,"__esModule",{value:!0});Qu.convertToTSX=void 0;var eO=Lt("synckit"),tO=(0,eO.createSyncFn)(Lt.resolve("./TSXWorker"));function nO(t,e){return tO(t,e)}Qu.convertToTSX=nO});var og=X(ig=>{"use strict";Object.defineProperty(ig,"__esModule",{value:!0});var rO=$0();function iO(t,e){return(0,rO.convertToTSX)(t,{sourcefile:e})}ig.default=iO});var Zu=X(Ti=>{"use strict";Object.defineProperty(Ti,"__esModule",{value:!0});Ti.getMarkdownDocumentation=Ti.plain=Ti.getTagDocumentation=void 0;var oO=dt();function sO(t){return t.replace(/\{@(link|linkplain|linkcode) (https?:\/\/[^ |}]+?)(?:[| ]([^{}\n]+?))?\}/gi,(e,n,r,i)=>{switch(n){case"linkcode":return`[\`${i?i.trim():r}\`](${r})`;default:return`[${i?i.trim():r}](${r})`}})}function Yu(t){return sO(t)}function aO(t,e){if(!t.text)return;function n(o){return o.match(/^\s*[~`]{3}/g)?o:"```\n"+o+"\n```"}function r(o){let s=o.match(/<caption>(.*?)<\/caption>\s*(\r\n|\n)/);return s&&s.index===0?s[1]+`
583
+ In order to let ::-webkit-progress-value take effect, -webkit-appearance needs to be set to none on the <progress> element.`},{name:"::grammar-error",status:"experimental",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::grammar-error"}],description:"The ::grammar-error CSS pseudo-element represents a text segment which the user agent has flagged as grammatically incorrect."},{name:"::marker",browsers:["E86","FF68","Spreview","C86","O72"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::marker"}],description:"The ::marker CSS pseudo-element selects the marker box of a list item, which typically contains a bullet or number. It works on any element or pseudo-element set to display: list-item, such as the <li> and <summary> elements."},{name:"::part",status:"experimental",browsers:["E79","FF72","S13.1","C73","O60"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::part"}],description:"The ::part CSS pseudo-element represents any element within a shadow tree that has a matching part attribute."},{name:"::placeholder",browsers:["E79","FF51","S10.1","C57","O44"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::placeholder"}],description:"The ::placeholder CSS pseudo-element represents the placeholder text of a form element."},{name:"::slotted",browsers:["E79","FF63","S10","C50","O37"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::slotted"}],description:"The :slotted() CSS pseudo-element represents any element that has been placed into a slot inside an HTML template."},{name:"::spelling-error",status:"experimental",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::spelling-error"}],description:"The ::spelling-error CSS pseudo-element represents a text segment which the user agent has flagged as incorrectly spelled."}]}});function Cz(t){return typeof t.name=="string"}function Tz(t){return typeof t.name=="string"}function Ez(t){return typeof t.name=="string"}function Dz(t){return typeof t.name=="string"}var ps,Hf=ue(()=>{"use strict";ps=class{constructor(e){this._properties=[],this._atDirectives=[],this._pseudoClasses=[],this._pseudoElements=[],this.addData(e)}provideProperties(){return this._properties}provideAtDirectives(){return this._atDirectives}providePseudoClasses(){return this._pseudoClasses}providePseudoElements(){return this._pseudoElements}addData(e){if(Array.isArray(e.properties))for(let n of e.properties)Cz(n)&&this._properties.push(n);if(Array.isArray(e.atDirectives))for(let n of e.atDirectives)Tz(n)&&this._atDirectives.push(n);if(Array.isArray(e.pseudoClasses))for(let n of e.pseudoClasses)Ez(n)&&this._pseudoClasses.push(n);if(Array.isArray(e.pseudoElements))for(let n of e.pseudoElements)Dz(n)&&this._pseudoElements.push(n)}}});var ms,x0=ue(()=>{"use strict";Ca();jf();Hf();ms=class{constructor(e){this.dataProviders=[],this._propertySet={},this._atDirectiveSet={},this._pseudoClassSet={},this._pseudoElementSet={},this._properties=[],this._atDirectives=[],this._pseudoClasses=[],this._pseudoElements=[],this.setDataProviders(e?.useDefaultDataProvider!==!1,e?.customDataProviders||[])}setDataProviders(e,n){this.dataProviders=[],e&&this.dataProviders.push(new ps(Wu)),this.dataProviders.push(...n),this.collectData()}collectData(){this._propertySet={},this._atDirectiveSet={},this._pseudoClassSet={},this._pseudoElementSet={},this.dataProviders.forEach(e=>{e.provideProperties().forEach(n=>{this._propertySet[n.name]||(this._propertySet[n.name]=n)}),e.provideAtDirectives().forEach(n=>{this._atDirectiveSet[n.name]||(this._atDirectiveSet[n.name]=n)}),e.providePseudoClasses().forEach(n=>{this._pseudoClassSet[n.name]||(this._pseudoClassSet[n.name]=n)}),e.providePseudoElements().forEach(n=>{this._pseudoElementSet[n.name]||(this._pseudoElementSet[n.name]=n)})}),this._properties=ka(this._propertySet),this._atDirectives=ka(this._atDirectiveSet),this._pseudoClasses=ka(this._pseudoClassSet),this._pseudoElements=ka(this._pseudoElementSet)}getProperty(e){return this._propertySet[e]}getAtDirective(e){return this._atDirectiveSet[e]}getPseudoClass(e){return this._pseudoClassSet[e]}getPseudoElement(e){return this._pseudoElementSet[e]}getProperties(){return this._properties}getAtDirectives(){return this._atDirectives}getPseudoClasses(){return this._pseudoClasses}getPseudoElements(){return this._pseudoElements}isKnownProperty(e){return e.toLowerCase()in this._propertySet}isStandardProperty(e){return this.isKnownProperty(e)&&(!this._propertySet[e.toLowerCase()].status||this._propertySet[e.toLowerCase()].status==="standard")}}});function k0(t,e,n){function r(o){let s=i(o),l;for(let a=s.length-1;a>=0;a--)l=E.SelectionRange.create(E.Range.create(t.positionAt(s[a][0]),t.positionAt(s[a][1])),l);return l||(l=E.SelectionRange.create(E.Range.create(o,o))),l}return e.map(r);function i(o){let s=t.offsetAt(o),l=n.findChildAtOffset(s,!0);if(!l)return[];let a=[];for(;l;){if(l.parent&&l.offset===l.parent.offset&&l.end===l.parent.end){l=l.parent;continue}l.type===A.Declarations&&s>l.offset&&s<l.end&&a.push([l.offset+1,l.end-1]),a.push([l.offset,l.end]),l=l.parent}return a}}var C0=ue(()=>{"use strict";hn();Bt()});function Fz(t){if(t.endsWith(".scss")||t.endsWith(".css"))return[t];if(t.endsWith("/"))return[t+"index.scss",t+"_index.scss"];let e=Ea.parse(t),n=br.basename(e),r=br.dirname(e);return n.startsWith("_")?[br.joinPath(r,n+".scss").toString(!0)]:[br.joinPath(r,n+".scss").toString(!0),br.joinPath(r,"_"+n+".scss").toString(!0),t+"/index.scss",t+"/_index.scss",br.joinPath(r,n+".css").toString(!0)]}var qu,T0=ue(()=>{"use strict";Af();Bt();kf();qr();qu=class extends oo{constructor(e){super(e,!0)}isRawStringDocumentLinkNode(e){return super.isRawStringDocumentLinkNode(e)||e.type===A.Use||e.type===A.Forward}async mapReference(e,n){if(this.fileSystemProvider&&e&&n){let r=Fz(e);for(let i of r)if(await this.fileExists(i))return i}return e}async resolveReference(e,n,r,i=!1){if(!ot(e,"sass:"))return super.resolveReference(e,n,r,i)}}});var D0={};xd(D0,{ClientCapabilities:()=>af,CodeAction:()=>E.CodeAction,CodeActionContext:()=>E.CodeActionContext,CodeActionKind:()=>E.CodeActionKind,Color:()=>E.Color,ColorInformation:()=>E.ColorInformation,ColorPresentation:()=>E.ColorPresentation,Command:()=>E.Command,CompletionItem:()=>E.CompletionItem,CompletionItemKind:()=>E.CompletionItemKind,CompletionItemTag:()=>E.CompletionItemTag,CompletionList:()=>E.CompletionList,Diagnostic:()=>E.Diagnostic,DiagnosticSeverity:()=>E.DiagnosticSeverity,DocumentHighlight:()=>E.DocumentHighlight,DocumentHighlightKind:()=>E.DocumentHighlightKind,DocumentLink:()=>E.DocumentLink,DocumentSymbol:()=>E.DocumentSymbol,DocumentUri:()=>E.DocumentUri,FileType:()=>yi,FoldingRange:()=>E.FoldingRange,FoldingRangeKind:()=>E.FoldingRangeKind,Hover:()=>E.Hover,InsertTextFormat:()=>E.InsertTextFormat,Location:()=>E.Location,MarkedString:()=>E.MarkedString,MarkupContent:()=>E.MarkupContent,MarkupKind:()=>E.MarkupKind,Position:()=>E.Position,Range:()=>E.Range,SelectionRange:()=>E.SelectionRange,SymbolInformation:()=>E.SymbolInformation,SymbolKind:()=>E.SymbolKind,TextDocument:()=>Ao,TextDocumentEdit:()=>E.TextDocumentEdit,TextEdit:()=>E.TextEdit,VersionedTextDocumentIdentifier:()=>E.VersionedTextDocumentIdentifier,WorkspaceEdit:()=>E.WorkspaceEdit,getCSSLanguageService:()=>Rz,getDefaultCSSDataProvider:()=>Az,getLESSLanguageService:()=>Mz,getSCSSLanguageService:()=>Iz,newCSSDataProvider:()=>E0});function Az(){return E0(Wu)}function E0(t){return new ps(t)}function Bf(t,e,n,r,i,o,s){return{configure:l=>{o.configure(l),e.configure(l?.completion),n.configure(l?.hover)},setDataProviders:s.setDataProviders.bind(s),doValidation:o.doValidation.bind(o),parseStylesheet:t.parseStylesheet.bind(t),doComplete:e.doComplete.bind(e),doComplete2:e.doComplete2.bind(e),setCompletionParticipants:e.setCompletionParticipants.bind(e),doHover:n.doHover.bind(n),format:_0,findDefinition:r.findDefinition.bind(r),findReferences:r.findReferences.bind(r),findDocumentHighlights:r.findDocumentHighlights.bind(r),findDocumentLinks:r.findDocumentLinks.bind(r),findDocumentLinks2:r.findDocumentLinks2.bind(r),findDocumentSymbols:r.findSymbolInformations.bind(r),findDocumentSymbols2:r.findDocumentSymbols.bind(r),doCodeActions:i.doCodeActions.bind(i),doCodeActions2:i.doCodeActions2.bind(i),findDocumentColors:r.findDocumentColors.bind(r),getColorPresentations:r.getColorPresentations.bind(r),prepareRename:r.prepareRename.bind(r),doRename:r.doRename.bind(r),getFoldingRanges:p0,getSelectionRanges:k0}}function Rz(t=$f){let e=new ms(t);return Bf(new Si,new xi(null,t,e),new ss(t&&t.clientCapabilities,e),new oo(t&&t.fileSystemProvider,!1),new ls(e),new cs(e),e)}function Iz(t=$f){let e=new ms(t);return Bf(new Ou,new _t(t,e),new ss(t&&t.clientCapabilities,e),new qu(t&&t.fileSystemProvider),new ls(e),new cs(e),e)}function Mz(t=$f){let e=new ms(t);return Bf(new Nu,new Xr(t,e),new ss(t&&t.clientCapabilities,e),new oo(t&&t.fileSystemProvider,!0),new ls(e),new cs(e),e)}var $f,F0=ue(()=>{"use strict";gu();xu();Kx();Af();Zx();r0();s0();l0();u0();d0();m0();S0();x0();Hf();C0();T0();jf();hn();$f={}});var A0=X(Uu=>{"use strict";Object.defineProperty(Uu,"__esModule",{value:!0});Uu.pseudoClass=void 0;Uu.pseudoClass=[{name:":global()",description:"Apply styles to a selector globally",references:[{name:"Astro documentation",url:"https://docs.astro.build/en/guides/styling/#global-styles-within-style-tag"}]}]});var ju=X(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.getLanguageService=fs.getLanguage=void 0;var Vf=(F0(),Mi(D0)),Pz=A0(),zz={providePseudoClasses(){return Pz.pseudoClass},provideProperties(){return[]},provideAtDirectives(){return[]},providePseudoElements(){return[]}},[Oz,Lz,Nz]=[Vf.getCSSLanguageService,Vf.getSCSSLanguageService,Vf.getLESSLanguageService].map(t=>t({customDataProviders:[zz]})),Wz={css:Oz,scss:Lz,less:Nz};function R0(t){switch(t){case"scss":case"text/scss":return"scss";case"less":case"text/less":return"less";case"css":case"text/css":default:return"css"}}fs.getLanguage=R0;function qz(t){let e=R0(t);return Wz[e]}fs.getLanguageService=qz});var I0=X(Hu=>{"use strict";Object.defineProperty(Hu,"__esModule",{value:!0});Hu.CSSDocument=void 0;var Uz=Pt(),jz=ju(),Kf=class extends Uz.ReadableDocument{constructor(e,n){super(),this.parent=e,this.styleInfo=n,this.version=this.parent.version,this.languageId=this.language,this.stylesheet=(0,jz.getLanguageService)(this.language).parseStylesheet(this)}getOriginalPosition(e){let n=this.styleInfo.start+this.offsetAt(e);return this.parent.positionAt(n)}getGeneratedPosition(e){let n=this.parent.offsetAt(e)-this.styleInfo.start;return this.positionAt(n)}isInGenerated(e){let n=this.parent.offsetAt(e);return n>=this.styleInfo.start&&n<=this.styleInfo.end}getText(){return this.parent.getText().slice(this.styleInfo.start,this.styleInfo.end)}getTextLength(){return this.styleInfo.end-this.styleInfo.start}getFilePath(){return this.parent.getFilePath()}getURL(){return this.parent.getURL()}getAttributes(){return this.styleInfo.attributes}get language(){let e=this.getAttributes();return e.lang||e.type||"css"}};Hu.CSSDocument=Kf});var O0=X(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.collectSelectors=Yr.NodeType=Yr.getIdClassCompletion=void 0;var M0=pt();function Hz(t,e){let n=Bz(e);if(!n)return null;let r=P0(t,n);return M0.CompletionList.create(r)}Yr.getIdClassCompletion=Hz;function Bz(t){if(t.inValue){if(t.name==="class")return Bu.ClassSelector;if(t.name==="id")return Bu.IdentifierSelector}else if(t.name.startsWith("class:"))return Bu.ClassSelector}var Bu;(function(t){t[t.ClassSelector=14]="ClassSelector",t[t.IdentifierSelector=15]="IdentifierSelector"})(Bu=Yr.NodeType||(Yr.NodeType={}));function P0(t,e){let n=[];return t.forEach(r=>{z0(r,i=>{i.type===e&&n.push(i)})}),n.map(r=>({label:r.getText().substring(1),kind:M0.CompletionItemKind.Keyword}))}Yr.collectSelectors=P0;function z0(t,e){e(t),t.children&&t.children.forEach(n=>z0(n,e))}});var N0=X(Vu=>{"use strict";Object.defineProperty(Vu,"__esModule",{value:!0});Vu.StyleAttributeDocument=void 0;var $z=Pt(),Vz=ju(),$u="__ {",L0="}",Gf=class extends $z.ReadableDocument{constructor(e,n,r){super(),this.parent=e,this.attrStart=n,this.attrEnd=r,this.version=this.parent.version,this.languageId="css",this.stylesheet=(0,Vz.getLanguageService)(this.languageId).parseStylesheet(this)}getOriginalPosition(e){let n=this.attrStart+this.offsetAt(e)-$u.length;return this.parent.positionAt(n)}getGeneratedPosition(e){let n=this.parent.offsetAt(e)-this.attrStart+$u.length;return this.positionAt(n)}isInGenerated(e){let n=this.parent.offsetAt(e);return n>=this.attrStart&&n<=this.attrEnd}getText(){return $u+this.parent.getText().slice(this.attrStart,this.attrEnd)+L0}getTextLength(){return $u.length+this.attrEnd-this.attrStart+L0.length}getFilePath(){return this.parent.getFilePath()}getURL(){return this.parent.getURL()}};Vu.StyleAttributeDocument=Gf});var Yf=X(Ku=>{"use strict";Object.defineProperty(Ku,"__esModule",{value:!0});Ku.CSSPlugin=void 0;var Jf=(Ym(),Mi(Qm)),W0=pt(),Tn=Pt(),q0=Up(),Kz=I0(),Gz=O0(),wr=ju(),U0=N0(),Qf=class{constructor(e){this.__name="css",this.cssDocuments=new WeakMap,this.triggerCharacters=new Set([".",":","-","/"]),this.configManager=e}async doHover(e,n){if(!await this.featureEnabled(e,"hover")||(0,Tn.isInsideFrontmatter)(e.getText(),e.offsetAt(n)))return null;let r=this.getStyleTagForPosition(e,n);if(r&&!r.closed)return null;if(!r){let s=(0,q0.getAttributeContextAtPosition)(e,n);if(!s)return null;if(this.inStyleAttributeWithoutInterpolation(s,e.getText())){let[l,a]=s.valueRange;return this.doHoverInternal(new U0.StyleAttributeDocument(e,l,a),n)}return null}let i=this.getCSSDocumentForStyleTag(r,e),o=yr(i);return Xf(o)?this.doHoverInternal(i,n):null}doHoverInternal(e,n){let r=(0,wr.getLanguageService)(yr(e)).doHover(e,e.getGeneratedPosition(n),e.stylesheet);return r&&(0,Tn.mapHoverToParent)(e,r)}async getCompletions(e,n,r){if(!await this.featureEnabled(e,"completions")||(0,Tn.isInsideFrontmatter)(e.getText(),e.offsetAt(n)))return null;let i=r?.triggerCharacter;if(r?.triggerKind===W0.CompletionTriggerKind.TriggerCharacter&&i&&!this.triggerCharacters.has(i))return null;let l=this.getStyleTagForPosition(e,n);if(l&&!l.closed)return null;if(!l){let c=(0,q0.getAttributeContextAtPosition)(e,n);if(!c)return null;if(this.inStyleAttributeWithoutInterpolation(c,e.getText())){let[u,d]=c.valueRange;return await this.getCompletionsInternal(e,n,new U0.StyleAttributeDocument(e,u,d))}else if((c.name=="id"||c.name=="class")&&c.inValue){let u=this.getStylesheetsForDocument(e);return(0,Gz.getIdClassCompletion)(u,c)}return null}let a=this.getCSSDocumentForStyleTag(l,e);return await this.getCompletionsInternal(e,n,a)}async getCompletionsInternal(e,n,r){let i=await this.configManager.getEmmetConfig(e);if(Jz(r))return(0,Jf.doComplete)(e,n,"sass",i)||null;let o=yr(r),s=(0,wr.getLanguageService)(o),l={isIncomplete:!1,items:[]};((await this.configManager.getConfig("astro",e.uri))?.css?.completions?.emmet??!0)&&s.setCompletionParticipants([{onCssProperty:u=>{u?.propertyName&&(l=(0,Jf.doComplete)(r,r.getGeneratedPosition(n),(0,wr.getLanguage)(o),i)||l)},onCssPropertyValue:u=>{u?.propertyValue&&(l=(0,Jf.doComplete)(r,r.getGeneratedPosition(n),(0,wr.getLanguage)(o),i)||l)}}]);let c=s.doComplete(r,r.getGeneratedPosition(n),r.stylesheet);return W0.CompletionList.create([...c?c.items:[],...l.items].map(u=>(0,Tn.mapCompletionItemToOriginal)(r,u)),l.items.length>0)}async getDocumentColors(e){return await this.featureEnabled(e,"documentColors")?this.getCSSDocumentsForDocument(e).flatMap(r=>{let i=yr(r),o=(0,wr.getLanguageService)(i);return Xf(i)?o.findDocumentColors(r,r.stylesheet).map(s=>(0,Tn.mapObjWithRangeToOriginal)(r,s)):[]}):[]}async getColorPresentations(e,n,r){return await this.featureEnabled(e,"documentColors")?this.getCSSDocumentsForDocument(e).flatMap(o=>{let s=yr(o),l=(0,wr.getLanguageService)(s);return!o.isInGenerated(n.start)&&!o.isInGenerated(n.end)||!Xf(s)?[]:l.getColorPresentations(o,o.stylesheet,r,(0,Tn.mapRangeToGenerated)(o,n)).map(a=>(0,Tn.mapColorPresentationToOriginal)(o,a))}):[]}prepareRename(e,n){let r=this.getStyleTagForPosition(e,n);if(!r)return null;let i=this.getCSSDocumentForStyleTag(r,e),o=yr(i),l=(0,wr.getLanguageService)(o).prepareRename(i,i.getGeneratedPosition(n),i.stylesheet);return l?(0,Tn.mapRangeToOriginal)(i,l):null}rename(e,n,r){let i=this.getStyleTagForPosition(e,n);if(!i)return null;let o=this.getCSSDocumentForStyleTag(i,e),s=yr(o),a=(0,wr.getLanguageService)(s).doRename(o,o.getGeneratedPosition(n),r,o.stylesheet);return a?.changes?.[e.uri]&&(a.changes[e.uri]=a?.changes?.[e.uri].map(c=>(0,Tn.mapObjWithRangeToOriginal)(o,c))),a}getFoldingRanges(e){return this.getCSSDocumentsForDocument(e).flatMap(r=>{let i=yr(r);return(0,wr.getLanguageService)(i).getFoldingRanges(r).map(s=>(0,Tn.mapFoldingRangeToParent)(r,s))})}async getDocumentSymbols(e){return await this.featureEnabled(e,"documentSymbols")?this.getCSSDocumentsForDocument(e).flatMap(r=>(0,wr.getLanguageService)(yr(r)).findDocumentSymbols(r,r.stylesheet).map(i=>(0,Tn.mapSymbolInformationToOriginal)(r,i))):[]}inStyleAttributeWithoutInterpolation(e,n){return e.name==="style"&&!!e.valueRange&&!n.substring(e.valueRange[0],e.valueRange[1]).includes("{")}getCSSDocumentForStyleTag(e,n){let r=this.cssDocuments.get(e);return(!r||r.version<n.version)&&(r=new Kz.CSSDocument(n,e),this.cssDocuments.set(e,r)),r}getCSSDocumentsForDocument(e){return e.styleTags.map(n=>this.getCSSDocumentForStyleTag(n,e))}getStylesheetsForDocument(e){return this.getCSSDocumentsForDocument(e).map(n=>n.stylesheet)}getStyleTagForPosition(e,n){return e.styleTags.find(r=>(0,Tn.isInTag)(n,r))}async featureEnabled(e,n){return await this.configManager.isEnabled(e,"css")&&await this.configManager.isEnabled(e,"css",n)}};Ku.CSSPlugin=Qf;function Xf(t){switch(t){case"css":case"scss":case"less":return!0;default:return!1}}function Jz(t){switch(yr(t)){case"sass":return!0;default:return!1}}function yr(t){return t.languageId.replace(/^text\//,"")}});var tg=X(Ju=>{"use strict";Object.defineProperty(Ju,"__esModule",{value:!0});Ju.HTMLPlugin=void 0;var Xz=(Ym(),Mi(Qm)),Zf=(Xs(),Mi(Js)),Gu=pt(),_r=ar(),gs=$p(),Qz=Vp(),eg=class{constructor(e){this.__name="html",this.lang=(0,Zf.getLanguageService)({customDataProviders:[gs.astroAttributes,gs.astroElements,gs.classListAttribute]}),this.attributeOnlyLang=(0,Zf.getLanguageService)({customDataProviders:[gs.astroAttributes],useDefaultDataProvider:!1}),this.componentLang=(0,Zf.getLanguageService)({customDataProviders:[gs.astroAttributes,gs.astroDirectives],useDefaultDataProvider:!1}),this.styleScriptTemplate=new Set(["style"]),this.configManager=e}async doHover(e,n){if(!await this.featureEnabled(e,"hover"))return null;let r=e.html;if(!r)return null;let i=r.findNodeAt(e.offsetAt(n));return i?(0,_r.isPossibleComponent)(i)&&i.tag!=="Fragment"?this.componentLang.doHover(e,n,r):this.lang.doHover(e,n,r):null}async getCompletions(e,n){if(!await this.featureEnabled(e,"completions"))return null;let r=e.html,i=e.offsetAt(n);if(!r||(0,_r.isInsideFrontmatter)(e.getText(),i)||(0,_r.isInsideExpression)(e.getText(),r.findNodeAt(i).start,i))return null;let o={isIncomplete:!0,items:[]},s=await this.configManager.getEmmetConfig(e);((await this.configManager.getConfig("astro",e.uri)??{})?.html?.completions?.emmet??!0)&&this.lang.setCompletionParticipants([{onHtmlContent:()=>o=(0,Xz.doComplete)(e,n,"html",s)||o}]);let a=(0,_r.isInComponentStartTag)(r,i),c=(0,_r.isInTagName)(r,i),u=a&&!c?(0,Qz.removeDataAttrCompletion)(this.attributeOnlyLang.doComplete(e,n,r).items):this.lang.doComplete(e,n,r).items.filter(h),d=a?[]:this.getLangCompletions(u);return Gu.CompletionList.create([...u,...d,...o.items],o.items.length>0);function h(p){return!(["script","style"].includes(p.label)&&p.documentation===void 0)}}getFoldingRanges(e){return e.html?this.lang.getFoldingRanges(e):null}getLinkedEditingRanges(e,n){let r=e.html;if(!r)return null;let i=this.lang.findLinkedEditingRanges(e,n,r);return i?{ranges:i}:null}async doTagComplete(e,n){if(!await this.featureEnabled(e,"tagComplete"))return null;let r=e.html,i=e.offsetAt(n);return!r||(0,_r.isInsideFrontmatter)(e.getText(),i)||(0,_r.isInsideExpression)(e.getText(),r.findNodeAt(i).start,i)?null:this.lang.doTagComplete(e,n,r)}prepareRename(e,n){let r=e.html,i=e.offsetAt(n),o=r.findNodeAt(i);if(!o||(0,_r.isPossibleComponent)(o)||!o.tag||!this.isRenameAtTag(o,i))return null;let s=o.start+1;return Gu.Range.create(e.positionAt(s),e.positionAt(s+o.tag.length))}rename(e,n,r){let i=e.html,o=e.offsetAt(n);if(!i||(0,_r.isInsideFrontmatter)(e.getText(),o))return null;let s=i.findNodeAt(o);return!s||(0,_r.isPossibleComponent)(s)||!this.isRenameAtTag(s,o)?null:this.lang.doRename(e,n,r,i)}async getDocumentSymbols(e){if(!await this.featureEnabled(e,"documentSymbols"))return[];let n=e.html;return n?this.lang.findDocumentSymbols(e,n):[]}getLangCompletions(e){let n=e.filter(o=>o.kind===Gu.CompletionItemKind.Property&&this.styleScriptTemplate.has(o.label)),r=[];return i("style",["scss","sass","less","styl","stylus"]),r;function i(o,s){let l=n.find(a=>a.label===o);!l||s.forEach(a=>r.push({...l,label:`${o} (lang="${a}")`,insertText:l.insertText&&`${l.insertText} lang="${a}"`,textEdit:l.textEdit&&Gu.TextEdit.is(l.textEdit)?{range:l.textEdit.range,newText:`${l.textEdit.newText} lang="${a}"`}:void 0}))}}isRenameAtTag(e,n){if(!e.tag)return!1;let r=e.start+`<${e.tag}`.length,i=n>e.start&&n<=r,o=e.endTagStart!==void 0&&n>=e.endTagStart&&n<e.end;return i||o}async featureEnabled(e,n){return await this.configManager.isEnabled(e,"html")&&await this.configManager.isEnabled(e,"html",n)}};Ju.HTMLPlugin=eg});var H0=X(j0=>{"use strict";Object.defineProperty(j0,"__esModule",{value:!0})});var rg=X(Xu=>{"use strict";Object.defineProperty(Xu,"__esModule",{value:!0});Xu.PluginHost=void 0;var Yz=pt(),Zz=Pt(),B0=dt(),nt;(function(t){t[t.None=0]="None",t[t.FirstNonNull=1]="FirstNonNull",t[t.Collect=2]="Collect"})(nt||(nt={}));var ng=class{constructor(e){this.docManager=e,this.plugins=[],this.pluginHostConfig={filterIncompleteCompletions:!0,definitionLinkSupport:!1}}initialize(e){this.pluginHostConfig=e}registerPlugin(e){this.plugins.push(e)}async getCompletions(e,n,r,i){let o=this.getDocument(e.uri),s=await Promise.all(this.plugins.map(async h=>{let p=await this.tryExecutePlugin(h,"getCompletions",[o,n,r,i],null);if(p)return{result:p,plugin:h.__name}})).then(h=>h.filter(B0.isNotNullOrUndefined)),l=s.find(h=>h.plugin==="html"),a=s.find(h=>h.plugin==="typescript"),c=s.find(h=>h.plugin==="astro");if(l&&a){let h=(0,Zz.isInComponentStartTag)(o.html,o.offsetAt(n));l.result.items.length>0&&(a.result.items=[]),c&&c.result.items.length>0&&h&&(a.result.items=[])}let u=s.flatMap(h=>h.result.items),d=s.reduce((h,p)=>h||p.result.isIncomplete,!1);if(d&&this.pluginHostConfig.filterIncompleteCompletions){let h=o.offsetAt(n),p=o.getText().substring(Math.max(0,h-20),h),w=(0,B0.regexLastIndexOf)(p,/[\W\s]/g)+1,v=p.substring(w).toLowerCase();u=u.filter(x=>x.label.toLowerCase().includes(v))}return Yz.CompletionList.create(u,d)}async resolveCompletion(e,n){let r=this.getDocument(e.uri);return await this.execute("resolveCompletion",[r,n],nt.FirstNonNull)??n}async getDiagnostics(e){let n=this.getDocument(e.uri);return await this.execute("getDiagnostics",[n],nt.Collect)}async doHover(e,n){let r=this.getDocument(e.uri);return this.execute("doHover",[r,n],nt.FirstNonNull)}async formatDocument(e,n){let r=this.getDocument(e.uri);return await this.execute("formatDocument",[r,n],nt.Collect)}async getCodeActions(e,n,r,i){let o=this.getDocument(e.uri);return await this.execute("getCodeActions",[o,n,r,i],nt.Collect)}async doTagComplete(e,n){let r=this.getDocument(e.uri);return this.execute("doTagComplete",[r,n],nt.FirstNonNull)}async getFoldingRanges(e){let n=this.getDocument(e.uri);return await this.execute("getFoldingRanges",[n],nt.Collect)}async getDocumentSymbols(e,n){let r=this.getDocument(e.uri);return await this.execute("getDocumentSymbols",[r,n],nt.Collect)}async getSemanticTokens(e,n,r){let i=this.getDocument(e.uri);return await this.execute("getSemanticTokens",[i,n,r],nt.FirstNonNull)}async getLinkedEditingRanges(e,n){let r=this.getDocument(e.uri);return await this.execute("getLinkedEditingRanges",[r,n],nt.FirstNonNull)}async fileReferences(e){let n=this.getDocument(e.uri);return await this.execute("fileReferences",[n],nt.FirstNonNull)}async getDefinitions(e,n){let r=this.getDocument(e.uri),i=await this.execute("getDefinitions",[r,n],nt.Collect);return this.pluginHostConfig.definitionLinkSupport?i:i.map(o=>({range:o.targetSelectionRange,uri:o.targetUri}))}getTypeDefinitions(e,n){let r=this.getDocument(e.uri);return this.execute("getTypeDefinitions",[r,n],nt.FirstNonNull)}getImplementations(e,n){let r=this.getDocument(e.uri);return this.execute("getImplementation",[r,n],nt.FirstNonNull)}getReferences(e,n,r){let i=this.getDocument(e.uri);return this.execute("findReferences",[i,n,r],nt.FirstNonNull)}async prepareRename(e,n){let r=this.getDocument(e.uri);return await this.execute("prepareRename",[r,n],nt.FirstNonNull)}async rename(e,n,r){let i=this.getDocument(e.uri);return this.execute("rename",[i,n,r],nt.FirstNonNull)}async getDocumentColors(e){let n=this.getDocument(e.uri);return await this.execute("getDocumentColors",[n],nt.Collect)}async getColorPresentations(e,n,r){let i=this.getDocument(e.uri);return await this.execute("getColorPresentations",[i,n,r],nt.Collect)}async getInlayHints(e,n,r){let i=this.getDocument(e.uri);return await this.execute("getInlayHints",[i,n],nt.FirstNonNull)??[]}async getSignatureHelp(e,n,r,i){let o=this.getDocument(e.uri);return await this.execute("getSignatureHelp",[o,n,r,i],nt.FirstNonNull)}async onWatchFileChanges(e){for(let n of this.plugins)await n.onWatchFileChanges?.(e)}updateNonAstroFile(e,n,r){for(let i of this.plugins)i.updateNonAstroFile?.(e,n,r)}getDocument(e){let n=this.docManager.get(e);if(!n)throw new Error("Cannot call methods on an unopened document");return n}async execute(e,n,r){let i=this.plugins.filter(o=>typeof o[e]=="function");switch(r){case nt.FirstNonNull:for(let o of i){let s=await this.tryExecutePlugin(o,e,n,null);if(s!=null)return s}return null;case nt.Collect:return(await Promise.all(i.map(o=>this.tryExecutePlugin(o,e,n,[])))).flat();case nt.None:await Promise.all(i.map(o=>this.tryExecutePlugin(o,e,n,null)));return}}async tryExecutePlugin(e,n,r,i){try{return await e[n](...r)}catch(o){return console.error(o),i}}};Xu.PluginHost=ng});var $0=X(Qu=>{"use strict";Object.defineProperty(Qu,"__esModule",{value:!0});Qu.convertToTSX=void 0;var eO=Lt("synckit"),tO=(0,eO.createSyncFn)(Lt.resolve("./TSXWorker"));function nO(t,e){return tO(t,e)}Qu.convertToTSX=nO});var og=X(ig=>{"use strict";Object.defineProperty(ig,"__esModule",{value:!0});var rO=$0();function iO(t,e){return(0,rO.convertToTSX)(t,{filename:e})}ig.default=iO});var Zu=X(Ti=>{"use strict";Object.defineProperty(Ti,"__esModule",{value:!0});Ti.getMarkdownDocumentation=Ti.plain=Ti.getTagDocumentation=void 0;var oO=dt();function sO(t){return t.replace(/\{@(link|linkplain|linkcode) (https?:\/\/[^ |}]+?)(?:[| ]([^{}\n]+?))?\}/gi,(e,n,r,i)=>{switch(n){case"linkcode":return`[\`${i?i.trim():r}\`](${r})`;default:return`[${i?i.trim():r}](${r})`}})}function Yu(t){return sO(t)}function aO(t,e){if(!t.text)return;function n(o){return o.match(/^\s*[~`]{3}/g)?o:"```\n"+o+"\n```"}function r(o){let s=o.match(/<caption>(.*?)<\/caption>\s*(\r\n|\n)/);return s&&s.index===0?s[1]+`
584
584
 
585
585
  `+n(o.substr(s[0].length)):n(o)}function i(o){let s=o.match(/(.+)\s<([-.\w]+@[-.\w]+)>/);return s===null?o:`${s[1]} ${s[2]}`}switch(t.name){case"example":return r(e.displayPartsToString(t.text));case"author":return i(e.displayPartsToString(t.text));case"default":return n(e.displayPartsToString(t.text))}return Yu(e.displayPartsToString(t.text))}function V0(t,e){function n(){let o=(e.displayPartsToString(t.text)||"").split(/^(\S+)\s*-?\s*/);if(o?.length===3){let s=o[1],l=o[2],a=`*@${t.name}* \`${s}\``;return l?a+(l.match(/\r\n|\n/g)?`
586
586
  `+Yu(l):` \u2014 ${Yu(l)}`):a}}switch(t.name){case"augments":case"extends":case"param":case"template":return n()}let r=`*@${t.name}*`,i=aO(t,e);return i?r+(i.match(/\r\n|\n/g)?`