@vue/language-service 1.8.11 → 1.8.13

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.
@@ -941,7 +941,7 @@
941
941
  "name": "is",
942
942
  "description": {
943
943
  "kind": "markdown",
944
- "value": "\nUsed for binding [dynamic components](https://vuejs.org/guide/essentials/component-basics.html#dynamic-components).\n\n- **Expects:** `string | Component`\n\n- **Usage on native elements** <sup class=\"vt-badge\">3.1+</sup>\n\n When the `is` attribute is used on a native HTML element, it will be interpreted as a [Customized built-in element](https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-customized-builtin-example), which is a native web platform feature.\n\n There is, however, a use case where you may need Vue to replace a native element with a Vue component, as explained in [DOM Template Parsing Caveats](https://vuejs.org/guide/essentials/component-basics.html#dom-template-parsing-caveats). You can prefix the value of the `is` attribute with `vue:` so that Vue will render the element as a Vue component instead:\n\n ```html\n <table>\n <tr is=\"vue:my-row-component\"></tr>\n </table>\n ```\n\n- **See also**\n\n - [Built-in Special Element - `<component>`](https://vuejs.org/api/built-in-special-elements.html#component)\n - [Dynamic Components](https://vuejs.org/guide/essentials/component-basics.html#dynamic-components)\n"
944
+ "value": "\nUsed for binding [dynamic components](https://vuejs.org/guide/essentials/component-basics.html#dynamic-components).\n\n- **Expects:** `string | Component`\n\n- **Usage on native elements** <sup class=\"vt-badge\">3.1+</sup>\n\n When the `is` attribute is used on a native HTML element, it will be interpreted as a [Customized built-in element](https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-customized-builtin-example), which is a native web platform feature.\n\n There is, however, a use case where you may need Vue to replace a native element with a Vue component, as explained in [in-DOM Template Parsing Caveats](https://vuejs.org/guide/essentials/component-basics.html#in-dom-template-parsing-caveats). You can prefix the value of the `is` attribute with `vue:` so that Vue will render the element as a Vue component instead:\n\n ```html\n <table>\n <tr is=\"vue:my-row-component\"></tr>\n </table>\n ```\n\n- **See also**\n\n - [Built-in Special Element - `<component>`](https://vuejs.org/api/built-in-special-elements.html#component)\n - [Dynamic Components](https://vuejs.org/guide/essentials/component-basics.html#dynamic-components)\n"
945
945
  },
946
946
  "references": [
947
947
  {
@@ -195,7 +195,7 @@
195
195
  "name": "component",
196
196
  "description": {
197
197
  "kind": "markdown",
198
- "value": "\nUm \"meta componente\" para renderizar dinâmicamente componentes ou elementos.\n\n- **Propriedades**\n\n ```ts\n interface DynamicComponentProps {\n is: string | Component\n }\n ```\n\n- **Detalhes**\n\n O atual componente a ser renderizado é determinado pela propriedade `is`.\n\n - Quando `is` é uma string, pode ser um nome de tag HTML ou o nome registrado de um componente\n\n - Alternativamente, `is` também pode ser vinculado diretamente à definição de um componente.\n\n- **Exemplo**\n\n Renderizando componentes por nome registrado (API de Opções):\n\n ```vue\n <script>\n import Foo from './Foo.vue'\n import Bar from './Bar.vue'\n\n export default {\n components: { Foo, Bar },\n data() {\n return {\n view: 'Foo'\n }\n }\n }\n </script>\n\n <template>\n <component :is=\"view\" />\n </template>\n ```\n\n Renderizando componentes por definição (API de Composição com `<script setup>`):\n\n ```vue\n <script setup>\n import Foo from './Foo.vue'\n import Bar from './Bar.vue'\n </script>\n\n <template>\n <component :is=\"Math.random() > 0.5 ? Foo : Bar\" />\n </template>\n ```\n\n Renderizando elementos HTML:\n\n ```html\n <component :is=\"href ? 'a' : 'span'\"></component>\n ```\n\n Os [componentes embutidos](./built-in-components.html) podem ser todos passados por `is`, mas você deve registrá-los se quiser passá-los por nome. Por exemplo:\n\n ```vue\n <script>\n import { Transition, TransitionGroup } from 'vue'\n\n export default {\n components: {\n Transition,\n TransitionGroup\n }\n }\n </script>\n\n <template>\n <component :is=\"isGroup ? 'TransitionGroup' : 'Transition'\">\n ...\n </component>\n </template>\n ```\n\n O registro não é necessário se você passar o próprio componente para `is` em vez de seu nome, por exemplo em `<script setup>`.\n\n Se `v-model` for usado em uma tag `<component>`, o compilador de template irá expandi-lo para suporte com a propriedade `modelValue` e um event listener `update:modelValue`, assim como faria para qualquer outro componente. No entanto, isso não será compatível com elementos HTML nativos, como `<input>` ou `<select>`. Como resultado, usar `v-model` com um elemento nativo criado dinamicamente não funcionará:\n\n ```vue\n <script setup>\n import { ref } from 'vue'\n \n const tag = ref('input')\n const username = ref('')\n </script>\n\n <template>\n <!-- Isso não funcionará porque 'input' é um elemento HTML nativo -->\n <component :is=\"tag\" v-model=\"username\" />\n </template>\n ```\n\n Na prática, esse caso extremo não é comum, pois os campos de formulário nativos geralmente são agrupados em componentes em aplicativos reais. Se você precisar usar um elemento nativo diretamente, poderá dividir o `v-model` em um atributo e evento manualmente.\n\n- **Veja também:** [Componentes Dinâmicos](https://pt.vuejs.org/guide/essentials/component-basics.html#dynamic-components)\n"
198
+ "value": "\nUma \"meta componente\" para desenhar componentes ou elementos dinâmicos.\n\n- **Propriedades**\n\n ```ts\n interface DynamicComponentProps {\n is: string | Component\n }\n ```\n\n- **Detalhes**\n\n O verdadeiro componente à desenhar é determinado pela propriedade `is`.\n\n - Quando `is` for uma sequência de caracteres, poderia ser ou nome dum marcador de HTML ou o nome dum componente registado.\n\n - Alternativamente, `is` também pode ser diretamente vinculado à definição dum componente.\n\n- **Exemplo**\n\n Interpretação dos componentes com nome registado (API de Opções):\n\n ```vue\n <script>\n import Foo from './Foo.vue'\n import Bar from './Bar.vue'\n\n export default {\n components: { Foo, Bar },\n data() {\n return {\n view: 'Foo'\n }\n }\n }\n </script>\n\n <template>\n <component :is=\"view\" />\n </template>\n ```\n\n Interpretação dos componentes com a definição (API de Composição com `<script setup></script>`):\n\n ```vue\n <script setup>\n import Foo from './Foo.vue'\n import Bar from './Bar.vue'\n </script>\n\n <template>\n <component :is=\"Math.random() > 0.5 ? Foo : Bar\" />\n </template>\n ```\n\n Interpretação dos elementos de HTML:\n\n ```html\n <component :is=\"href ? 'a' : 'span'\"></component>\n ```\n\n Os todos os [componentes embutidos](./built-in-components) podem ser passados para `is`, mas devemos registá-los se quisermos passá-los pelo nome. Por exemplo:\n\n ```vue\n <script>\n import { Transition, TransitionGroup } from 'vue'\n\n export default {\n components: {\n Transition,\n TransitionGroup\n }\n }\n </script>\n\n <template>\n <component :is=\"isGroup ? 'TransitionGroup' : 'Transition'\">\n ...\n </component>\n </template>\n ```\n\n O registo não é obrigatório se passarmos o próprio componente à `is` no lugar do seu nome, por exemplo no `<script setup>`.\n\n Se `v-model` for usada num marcador `<component>`, o compilador do modelo de marcação a expandirá à uma propriedade `modelValue` e um ouvinte de evento `update:modelValue`, tal como faria com qualquer outro componente. No entanto, isto não será compatível com os elementos de HTML nativos, tais como `<input>` ou `<select>`. Como resultado, usar `v-model` com um elemento nativo criado dinamicamente não funcionará:\n\n ```vue\n <script setup>\n import { ref } from 'vue'\n \n const tag = ref('input')\n const username = ref('')\n </script>\n\n <template>\n <!-- Isto não funcionará porque 'input' é um elemento de HTML nativo -->\n <component :is=\"tag\" v-model=\"username\" />\n </template>\n ```\n\n Na prática, este caso extremo não é comum, porque os campos de formulário nativos normalmente são envolvidos dentro de componentes em aplicações reais. Se precisarmos usar diretamente um elemento nativo então podemos dividir a `v-model` num atributo e evento manualmente.\n\n- **Consulte também** [Componentes Dinâmicos](https://pt.vuejs.org/guide/essentials/component-basics.html#dynamic-components)\n"
199
199
  },
200
200
  "attributes": [],
201
201
  "references": [
@@ -233,7 +233,7 @@
233
233
  "name": "slot",
234
234
  "description": {
235
235
  "kind": "markdown",
236
- "value": "\nIndica saídas de conteúdo de slot em templates.\n\n- **Propriedades**\n\n ```ts\n interface SlotProps {\n /**\n * Qualquer propriedade passada para <slot> para passar como argumentos\n * para slots com escopo\n */\n [key: string]: any\n /**\n * Reservado para especificar o nome do slot.\n */\n name?: string\n }\n ```\n\n- **Detalhes**\n\n O elemento `<slot>` pode usar o atributo `name` para especificar um nome de slot. Quando nenhum `name` for especificado, ele renderizará o slot padrão. Atributos adicionais passados ​​para o elemento slot serão passados ​​como propriedades de slot para o slot com escopo definido no pai.\n\n O próprio elemento será substituído por seu conteúdo de slot correspondente.\n\n `<slot>` elementos em templates Vue são compilados em JavaScript, então eles não devem ser confundidos com [elementos `<slot>` nativos](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/slot).\n\n- **Veja também:** [Componentes - Slots](https://pt.vuejs.org/guide/components/slots.html)\n"
236
+ "value": "\nDenota as saídas de conteúdo da ranhura nos modelos de marcação\n\n- **Propriedades**\n\n ```ts\n interface SlotProps {\n /**\n * Quaisquer propriedades passadas ao <slot>\n * são passadas como argumentos para ranhuras isoladas\n */\n [key: string]: any\n /**\n * Reservada para especificação do nome da ranhura.\n */\n name?: string\n }\n ```\n\n- **Detalhes**\n\n O elemento `<slot>` pode usar o atributo `name` para especificar um nome de ranhura. Quando nenhum `name` for especificado, desenhará a ranhura padrão. Os atributos adicionais passados ao elemento da ranhura serão passados como propriedades de ranhura à ranhura isolada definida no pai.\n\n O próprio elemento será substituído pelo seu conteúdo de ranhura correspondente.\n\n Os elementos de `<slot>` nos modelos de marcação da Vue são compilados para JavaScript, então não são para serem confundidos com os [elementos `<slot>` nativos](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/slot).\n\n- **Consulte também** [Componentes - Ranhuras](https://pt.vuejs.org/guide/components/slots.html)\n"
237
237
  },
238
238
  "attributes": [],
239
239
  "references": [
@@ -271,7 +271,7 @@
271
271
  "name": "template",
272
272
  "description": {
273
273
  "kind": "markdown",
274
- "value": "\nA tag `<template>` é usada como espaço reservado quando queremos usar uma diretiva interna sem renderizar um elemento no DOM.\n\n- **Detalhes:**\n\n O tratamento especial para `<template>` é acionado se for usado com uma destas diretivas:\n\n - `v-if`, `v-else-if`, or `v-else`\n - `v-for`\n - `v-slot`\n \n Se nenhuma dessas diretivas estiver presente, ela será renderizada como um [elemento `<template>` nativo](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template).\n\n Um `<template>` com um `v-for` também pode ter um atributo [`key`](https://pt.vuejs.org/api/built-in-special-attributes.html#key). Todos os outros atributos e diretivas serão descartados, pois não são significativos sem um elemento correspondente.\n\n Componentes de arquivo único (SFC) usam uma [tag `<template>` de alto nível](https://pt.vuejs.org/api/sfc-spec.html#language-blocks) para agrupar todo o template. Esse uso é separado do uso de `<template>` descrito acima. Essa tag de nível superior não faz parte do próprio modelo e não oferece suporte à sintaxe do modelo, tais como diretivas.\n\n- **Veja também:**\n - [Guia - `v-if` on `<template>`](https://pt.vuejs.org/guide/essentials/conditional.html#v-if-on-template) \n - [Guia - `v-for` on `<template>`](https://pt.vuejs.org/guide/essentials/list.html#v-for-on-template) \n - [Guia - Slots nomeados](https://pt.vuejs.org/guide/components/slots.html#named-slots) \n"
274
+ "value": "\nO marcador `<template>` é usado como um espaço reservado quando queremos usar uma diretiva embutida sem desenhar um elemento no DOM.\n\n- **Detalhes**\n\n O manipulação especial do `<template>` apenas é acionada se for usada com uma destas diretivas:\n\n - `v-if`, `v-else-if`, ou `v-else`\n - `v-for`\n - `v-slot`\n \n Se nenhuma destas diretivas estiver presente, então será desenhado como um [elemento `<template>` nativo](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template).\n\n Um `<template>` com uma `v-for` também pode ter um [atributo `key`](https://pt.vuejs.org/api/built-in-special-attributes.html#key). Todos os outros atributos e diretivas serão descartados, porque não são relevantes sem um elemento correspondente.\n\n Os componentes de ficheiro único usam [marcador `<template>` de alto nível](https://pt.vuejs.org/api/sfc-spec.html#language-blocks) para envolver todo o modelo de marcação. Este uso é separado do uso de `<template>` descrito acima. Este marcador de alto nível não faz parte do próprio modelo de marcação e suporta a sintaxe de modelo de marcação, tais como as diretivas.\n\n- **Consulte também**\n - [Guia - `v-if` sobre o `<template>`](https://pt.vuejs.org/guide/essentials/conditional.html#v-if-on-template) \n - [Guia - `v-for` sobre o `<template>`](https://pt.vuejs.org/guide/essentials/list.html#v-for-on-template) \n - [Guia - Ranhuras Nomeadas](https://pt.vuejs.org/guide/components/slots.html#named-slots) \n"
275
275
  },
276
276
  "attributes": [],
277
277
  "references": [
@@ -608,7 +608,7 @@
608
608
  "name": "v-bind",
609
609
  "description": {
610
610
  "kind": "markdown",
611
- "value": "\nVincula dinamicamente um ou mais atributos, ou uma propriedade de componente à uma expressão.\n\n- **Atalho:** `:` ou `.` (quando usamos o modificador `.prop`)\n\n- **Espera:** `any (com argumento) | Object (sem argumento)`\n\n- **Argumento:** `attrOrProp (opcional)`\n\n- **Modificadores**\n\n - `.camel` - transforma o nome de atributo em caixa de espetada em caixa de camelo.\n - `.prop` - força um vínculo à ser definido como uma propriedade do DOM. <sup class=\"vt-badge\">3.2+</sup>\n - `.attr` - força um vínculo à ser definido como um atributo de DOM. <sup class=\"vt-badge\">3.2+</sup>\n\n- **Uso**\n\n Quando usada para vincular o atributo `class` ou `style`, `v-bind` suporta tipos de valores adicionar como Vetor ou Objeto. Consulte a seção do guia ligado abaixo por mais detalhes.\n\n Quando definimos um vínculo num elemento, a Vue por padrão verifica se o elemento tem a chave definida como uma propriedade usando uma verificação do operador `in`. Se a propriedade for definida, a Vue definirá o valor como uma propriedade de DOM ao invés dum atributo. Isto deve funciona na maioria dos casos, mas podemos sobrepor este comportamento ao usar explicitamente os modificadores `.prop` ou `.attr`. Isto é algumas vezes necessário, especialmente quando [trabalhamos com elementos personalizados](https://pt.vuejs.org/guide/extras/web-components.html#passing-dom-properties).\n\n Quando usada para vínculos de propriedade de componente, a propriedade deve ser declarada apropriadamente no componente filho.\n\n Quando usada sem um argumento, pode ser usada para vincular um objeto contendo pares de nome-valor de atributo.\n\n- **Exemplo**\n\n ```html\n <!-- vincular um atributo -->\n <img v-bind:src=\"imageSrc\" />\n\n <!-- nome de atributo dinâmico -->\n <button v-bind:[key]=\"value\"></button>\n\n <!-- atalho -->\n <img :src=\"imageSrc\" />\n\n <!-- atalho de nome de atributo dinâmico -->\n <button :[key]=\"value\"></button>\n\n <!-- com concatenação de sequência de caracteres em linha -->\n <img :src=\"'/path/to/images/' + fileName\" />\n\n <!-- vínculos de classe -->\n <div :class=\"{ red: isRed }\"></div>\n <div :class=\"[classA, classB]\"></div>\n <div :class=\"[classA, { classB: isB, classC: isC }]\"></div>\n\n <!-- vínculos de estilo -->\n <div :style=\"{ fontSize: size + 'px' }\"></div>\n <div :style=\"[styleObjectA, styleObjectB]\"></div>\n\n <!-- vincular um objeto de atributos -->\n <div v-bind=\"{ id: someProp, 'other-attr': otherProp }\"></div>\n\n <!-- vincular propriedades. \"prop\" deve ser declarada no componente filho. -->\n <MyComponent :prop=\"someThing\" />\n\n <!-- passar as propriedades do pai em comum com um componente filho -->\n <MyComponent v-bind=\"$props\" />\n\n <!-- XLink -->\n <svg><a :xlink:special=\"foo\"></a></svg>\n ```\n\n O modificador `.prop` também tem um atalho dedicado `.`:\n\n ```html\n <div :someProperty.prop=\"someObject\"></div>\n\n <!-- equivalente a -->\n <div .someProperty=\"someObject\"></div>\n ```\n\n O modificador `.camel` permite a camelização dum nome de atributo de `v-bind` quando usamos modelos de marcação no DOM, por exemplo o atributo `viewBox` de SVG:\n\n ```html\n <svg :view-box.camel=\"viewBox\"></svg>\n ```\n\n `.camel` não é necessário se estivermos a usar modelos de marcação de sequência de caracteres, pré-compilar o modelo de marcação com uma etapa de construção.\n\n- **Consulte também**\n - [Vínculos de Classe e Estilo](https://pt.vuejs.org/guide/essentials/class-and-style.html)\n - [Componentes - Detalhes da Passagem de Propriedade](https://pt.vuejs.org/guide/components/props.html#prop-passing-details)\n"
611
+ "value": "\nVincula dinamicamente um ou mais atributos, ou uma propriedade de componente à uma expressão.\n\n- **Atalho:** `:` ou `.` (quando usamos o modificador `.prop`)\n\n- **Espera:** `any (com argumento) | Object (sem argumento)`\n\n- **Argumento:** `attrOrProp (opcional)`\n\n- **Modificadores**\n\n - `.camel` - transforma o nome de atributo em caixa de espetada em caixa de camelo.\n - `.prop` - força um vínculo à ser definido como uma propriedade do DOM. <sup class=\"vt-badge\">3.2+</sup>\n - `.attr` - força um vínculo à ser definido como um atributo de DOM. <sup class=\"vt-badge\">3.2+</sup>\n\n- **Uso**\n\n Quando usada para vincular o atributo `class` ou `style`, `v-bind` suporta tipos de valores adicionar como Vetor ou Objeto. Consulte a seção do guia ligado abaixo por mais detalhes.\n\n Quando definimos um vínculo num elemento, a Vue por padrão verifica se o elemento tem a chave definida como uma propriedade usando uma verificação do operador `in`. Se a propriedade for definida, a Vue definirá o valor como uma propriedade de DOM ao invés dum atributo. Isto deve funciona na maioria dos casos, mas podemos sobrepor este comportamento ao usar explicitamente os modificadores `.prop` ou `.attr`. Isto é algumas vezes necessário, especialmente quando [trabalhamos com elementos personalizados](https://pt.vuejs.org/guide/extras/web-components.html#passing-dom-properties).\n\n Quando usada para vínculos de propriedade de componente, a propriedade deve ser declarada apropriadamente no componente filho.\n\n Quando usada sem um argumento, pode ser usada para vincular um objeto contendo pares de nome-valor de atributo.\n\n- **Exemplo**\n\n ```html\n <!-- vincular um atributo -->\n <img v-bind:src=\"imageSrc\" />\n\n <!-- nome de atributo dinâmico -->\n <button v-bind:[key]=\"value\"></button>\n\n <!-- atalho -->\n <img :src=\"imageSrc\" />\n\n <!-- atalho de nome de atributo dinâmico -->\n <button :[key]=\"value\"></button>\n\n <!-- com concatenação de sequência de caracteres em linha -->\n <img :src=\"'/path/to/images/' + fileName\" />\n\n <!-- vínculos de classe -->\n <div :class=\"{ red: isRed }\"></div>\n <div :class=\"[classA, classB]\"></div>\n <div :class=\"[classA, { classB: isB, classC: isC }]\"></div>\n\n <!-- vínculos de estilo -->\n <div :style=\"{ fontSize: size + 'px' }\"></div>\n <div :style=\"[styleObjectA, styleObjectB]\"></div>\n\n <!-- vincular um objeto de atributos -->\n <div v-bind=\"{ id: someProp, 'other-attr': otherProp }\"></div>\n\n <!-- vincular propriedades. -->\n <!-- \"prop\" deve ser declarada no componente filho. -->\n <MyComponent :prop=\"someThing\" />\n\n <!-- passar as propriedades do pai em comum com um componente filho -->\n <MyComponent v-bind=\"$props\" />\n\n <!-- XLink -->\n <svg><a :xlink:special=\"foo\"></a></svg>\n ```\n\n O modificador `.prop` também tem um atalho dedicado `.`:\n\n ```html\n <div :someProperty.prop=\"someObject\"></div>\n\n <!-- equivalente a -->\n <div .someProperty=\"someObject\"></div>\n ```\n\n O modificador `.camel` permite a camelização dum nome de atributo de `v-bind` quando usamos modelos de marcação no DOM, por exemplo o atributo `viewBox` de SVG:\n\n ```html\n <svg :view-box.camel=\"viewBox\"></svg>\n ```\n\n `.camel` não é necessário se estivermos a usar modelos de marcação de sequência de caracteres, pré-compilar o modelo de marcação com uma etapa de construção.\n\n- **Consulte também**\n - [Vínculos de Classe e Estilo](https://pt.vuejs.org/guide/essentials/class-and-style.html)\n - [Componentes - Detalhes da Passagem de Propriedade](https://pt.vuejs.org/guide/components/props.html#prop-passing-details)\n"
612
612
  },
613
613
  "references": [
614
614
  {
@@ -867,7 +867,7 @@
867
867
  "name": "key",
868
868
  "description": {
869
869
  "kind": "markdown",
870
- "value": "\nO atributo especial `key` é usado principalmente como uma dica para o algoritmo de DOM virtual do Vue identificar vnodes ao comparar a nova lista de nós com a velha lista.\n\n- **Espera:** `number | string | symbol`\n\n- **Detalhes**\n\n Sem as chaves, Vue usa um algoritmo que minimiza a movimentação de elementos e tenta corrigir/reusar elementos do mesmo tipo no local, tanto quanto possível. Com chaves, ele reordenará elementos com base na alteração da ordem das chaves, e os elementos com chaves que não estão mais presentes sempre serão removidos/destruídos.\n\n Filhos do mesmo pai comum devem ter **chaves únicas**. Chaves duplicadas causarão erros de apresentação.\n\n O caso de uso mais comum é combinado com `v-for`:\n\n ```html\n <ul>\n <li v-for=\"item in items\" :key=\"item.id\">...</li>\n </ul>\n ```\n\n Também pode ser usado para forçar a substituição de um elemento/componente em vez de reutilizá-lo. Isso pode ser útil quando você deseja:\n\n - Acionar corretamente gatilhos de ciclo de vida de um componente\n - Acionar transições\n\n Por exemplo:\n\n ```html\n <transition>\n <span :key=\"text\">{{ text }}</span>\n </transition>\n ```\n\n Quando `text` mudar, o `<span>` sempre será substituído ao invés de alterado, então uma transição será acionada.\n\n- **Veja também:** [Guia - Interpretação de Lista - Mantendo o Estado com `key`](https://pt.vuejs.org/guide/essentials/list.html#maintaining-state-with-key)\n"
870
+ "value": "\nO atributo especial `key` é primariamente usado como uma sugestão para o algoritmo do DOM virtual da Vue identificar os nós virtuais quando diferenciar a nova lista de nós contra a antiga lista.\n\n- **Espera:** `number | string | symbol`\n\n- **Detalhes**\n\n Sem chaves, a Vue usa um algoritmo que minimiza o movimento de elemento e tenta remendar ou reusar elementos do mesmo tipo no lugar o máximo possível. Com chaves, reorganizará os elementos baseado na mudança de ordem das chaves, e os elementos com chaves que não estão mais presentes sempre serão removidos ou destruídos.\n\n Os filhos do mesmo pai comum devem ter **chaves únicas**. As chaves duplicadas causarão erros de interpretação.\n\n O caso de uso mais comum é combinado com `v-for`:\n\n ```html\n <ul>\n <li v-for=\"item in items\" :key=\"item.id\">...</li>\n </ul>\n ```\n\n Também pode ser usado para forçar a substituição dum elemento ou componente ao invés de reusá-lo. Isto pode ser útil quando queremos:\n\n - Acionar corretamente os gatilhos do ciclo de vida dum componente\n - Acionar transições\n\n Por exemplo:\n\n ```html\n <transition>\n <span :key=\"text\">{{ text }}</span>\n </transition>\n ```\n\n Quando `text` mudar, o `<span>` sempre será substituído ao invés de ser remendado, depois uma transição será acionada.\n\n- **Consulte também** [Guia - Interpretação de Lista - Mantendo o Estado com `key`](https://pt.vuejs.org/guide/essentials/list.html#maintaining-state-with-key)\n"
871
871
  },
872
872
  "references": [
873
873
  {
@@ -904,7 +904,7 @@
904
904
  "name": "ref",
905
905
  "description": {
906
906
  "kind": "markdown",
907
- "value": "\nDenota uma [referência do modelo de marcação](https://pt.vuejs.org/guide/essentials/template-refs.html).\n\n- **Espera:** `string | Function`\n\n- **Detalhes**\n\n `ref` é usado para registrar uma referência a um elemento ou a um componente filho.\n\n Na API de Opções, a referência será registrada sob o objeto `this.$refs` do componente:\n\n ```html\n <!-- armazenado como this.$refs.p -->\n <p ref=\"p\">hello</p>\n ```\n\n Na API de Composição, a referência será armazenada em uma ref com o nome compatível:\n\n ```vue\n <script setup>\n import { ref } from 'vue'\n\n const p = ref()\n </script>\n\n <template>\n <p ref=\"p\">hello</p>\n </template>\n ```\n\n Se usado em um elemento DOM simples, a referência será aquele elemento; se usado em um componente filho, a referência será a instância do componente filho.\n\n Alternativamente `ref` pode aceitar um valor de função que fornece controle total de onde armazenar a referência:\n\n ```html\n <ChildComponent :ref=\"(el) => child = el\" />\n ```\n\n Uma nota importante sobre o tempo de registro de ref: como refs são criadas pelo resultado de uma função _render_, você deve aguardar até que o componente seja montado antes de acessá-las.\n\n `this.$refs` não é reativo, portanto você não deve tentar usar em modelos para vincular dados.\n\n- **Veja também:**\n - [Guia - Referências do Modelo de Marcação](https://pt.vuejs.org/guide/essentials/template-refs.html)\n - [Guia - Atribuindo Tipos as Referências do Modelo de Marcação](https://pt.vuejs.org/guide/typescript/composition-api.html#typing-template-refs) <sup class=\"vt-badge ts\" />\n - [Guia - Tipos as Referências do Modelo de Marcação de Componente](https://pt.vuejs.org/guide/typescript/composition-api.html#typing-component-template-refs) <sup class=\"vt-badge ts\" />\n"
907
+ "value": "\nDenota uma [referência do modelo de marcação](https://pt.vuejs.org/guide/essentials/template-refs.html).\n\n- **Espera:** `string | Function`\n\n- **Detalhes**\n\n `ref` é usado para registar uma referência à um elemento ou à um componente filho.\n\n Na API de Opções, a referência será registada sob o objeto `this.$refs` do componente:\n\n ```html\n <!-- armazenado como this.$refs.p -->\n <p ref=\"p\">hello</p>\n ```\n\n Na API de Composição, a referência será armazenada em uma `ref` com o nome correspondente:\n\n ```vue\n <script setup>\n import { ref } from 'vue'\n\n const p = ref()\n </script>\n\n <template>\n <p ref=\"p\">hello</p>\n </template>\n ```\n\n Se usado sobre um elemento de DOM simples, a referência será este elemento; se usada sobre um componente filho, a referência será a instância do componente filho.\n\n Alternativamente, a `ref` pode aceitar um valor de função que fornece controlo total sobre onde armazenar a referência:\n\n ```html\n <ChildComponent :ref=\"(el) => child = el\" />\n ```\n\n Uma nota importante sobre o tempo de registo da referência: uma vez que as próprias referências são criadas como resultado da função de interpretação, devemos esperar até o componente ser montado antes de acessá-las.\n\n `this.$refs` também não é reativa, portanto não devemos tentar usá-la nos modelos de marcação para vínculo de dados.\n\n- **Consulte também**\n - [Guia - Referências do Modelo de Marcação](https://pt.vuejs.org/guide/essentials/template-refs.html)\n - [Guia - Tipos para Referências do Modelo de Marcação](https://pt.vuejs.org/guide/typescript/composition-api.html#typing-template-refs) <sup class=\"vt-badge ts\" data-text=\"typescript\" />\n - [Guia - Tipos para Referências do Modelo de Marcação do Componente](https://pt.vuejs.org/guide/typescript/composition-api.html#typing-component-template-refs) <sup class=\"vt-badge ts\" data-text=\"typescript\" />\n"
908
908
  },
909
909
  "references": [
910
910
  {
@@ -941,7 +941,7 @@
941
941
  "name": "is",
942
942
  "description": {
943
943
  "kind": "markdown",
944
- "value": "\nUsado para vincular [componentes dinâmicos](https://pt.vuejs.org/guide/essentials/component-basics.html#dynamic-components).\n\n- **Espera:** `string | Component`\n\n- **Uso em elementos nativos** <sup class=\"vt-badge\">3.1+</sup>\n\n Quando o atributo `is` é usado em um elemento HTML nativo, ele será interpretado como um [Elemento embutido personalizado](https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-customized-builtin-example), que é um recurso nativo da plataforma web.\n\n Há, no entanto, um caso de uso em que você pode precisar do Vue para substituir um elemento nativo por um componente Vue, conforme explicado em [Advertências de Analise de Modelo de Marcação de DOM](https://pt.vuejs.org/guide/essentials/component-basics.html#dom-template-parsing-caveats). Você pode prefixar o valor do atributo `is` com o atributo `vue:` para que o Vue apresente o elemento como um componente Vue:\n\n ```html\n <table>\n <tr is=\"vue:my-row-component\"></tr>\n </table>\n ```\n\n- **Veja também:**\n\n - [Elementos Especiais Embutidos - `<component>`](https://pt.vuejs.org/api/built-in-special-elements.html#component)\n - [Componentes Dinâmicos](https://pt.vuejs.org/guide/essentials/component-basics.html#dynamic-components)\n"
944
+ "value": "\nUsado para vincular os [componentes dinâmicos](https://pt.vuejs.org/guide/essentials/component-basics.html#dynamic-components).\n\n- **Espera:** `string | Component`\n\n- **Uso sobre os elementos nativos** <sup class=\"vt-badge\">3.1+</sup>\n\n Quando o atributo `is` for usado sobre um elemento de HTML nativo, será interpretado como um [elemento embutido personalizado](https://html.spec.whatwg.org/multipage/custom-elements#custom-elements-customized-builtin-example), que é uma funcionalidade da plataforma da Web nativa.\n\n Existe, no entanto, um caso de uso onde podemos precisar que a Vue substitua um elemento nativo por um elemento da Vue, como explicado nas [Advertências de Analise do Modelo de Marcação de DOM](https://pt.vuejs.org/guide/essentials/component-basics.html#dom-template-parsing-caveats). Nós podemos prefixar o valor do atributo `is` com `vue:` assim a Vue interpretará o elemento como um componente de Vue:\n\n ```html\n <table>\n <tr is=\"vue:my-row-component\"></tr>\n </table>\n ```\n\n- **Consulte também**\n\n - [Elementos Especiais Embutidos - `<component>`](https://pt.vuejs.org/api/built-in-special-elements.html#component)\n - [Componentes Dinâmicos](https://pt.vuejs.org/guide/essentials/component-basics.html#dynamic-components)\n"
945
945
  },
946
946
  "references": [
947
947
  {
@@ -189,10 +189,9 @@ function resolvePlugins(services, vueCompilerOptions) {
189
189
  async provideSemanticDiagnostics(document, token) {
190
190
  const result = await base.provideSemanticDiagnostics?.(document, token);
191
191
  return result?.map(diagnostic => {
192
- const text = document.getText(diagnostic.range);
193
192
  if (diagnostic.source === 'ts'
194
193
  && diagnostic.code === 2578 /* Unused '@ts-expect-error' directive. */
195
- && text === '// @ts-expect-error __VLS_TS_EXPECT_ERROR') {
194
+ && document.getText(diagnostic.range) === '// @ts-expect-error __VLS_TS_EXPECT_ERROR') {
196
195
  diagnostic.source = 'vue';
197
196
  diagnostic.code = 'ts-2578';
198
197
  diagnostic.message = diagnostic.message.replace(/@ts-expect-error/g, '@vue-expect-error');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue/language-service",
3
- "version": "1.8.11",
3
+ "version": "1.8.13",
4
4
  "main": "out/index.js",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -21,7 +21,7 @@
21
21
  "@volar/language-service": "~1.10.0",
22
22
  "@volar/typescript": "~1.10.0",
23
23
  "@vue/compiler-dom": "^3.3.0",
24
- "@vue/language-core": "1.8.11",
24
+ "@vue/language-core": "1.8.13",
25
25
  "@vue/reactivity": "^3.3.0",
26
26
  "@vue/shared": "^3.3.0",
27
27
  "volar-service-css": "0.0.13",
@@ -40,5 +40,5 @@
40
40
  "vscode-languageserver-protocol": "^3.17.3",
41
41
  "vscode-uri": "^3.0.7"
42
42
  },
43
- "gitHead": "cce193dcc182aad5d02f630fa3ae8a793d443680"
43
+ "gitHead": "4d25501776edb5a0712c10c6921fffbdc9454a23"
44
44
  }