pull/7366/head
Cagatay Civici 2025-03-04 10:12:58 +03:00
commit 5d8684ce81
13 changed files with 272 additions and 305 deletions

View File

@ -5,8 +5,8 @@
<div class="card flex justify-center"> <div class="card flex justify-center">
<Form v-slot="$form" :resolver="resolver" :initialValues="initialValues" @submit="onFormSubmit" class="flex justify-center flex-col gap-4 w-full md:w-56"> <Form v-slot="$form" :resolver="resolver" :initialValues="initialValues" @submit="onFormSubmit" class="flex justify-center flex-col gap-4 w-full md:w-56">
<div class="flex flex-col gap-1"> <div class="flex flex-col gap-1">
<AutoComplete name="country" optionLabel="name" :suggestions="filteredCountries" @complete="search" fluid /> <AutoComplete name="country.name" optionLabel="name" :suggestions="filteredCountries" @complete="search" fluid />
<Message v-if="$form.country?.invalid" severity="error" size="small" variant="simple">{{ $form.country.error?.message }}</Message> <Message v-if="$form.country?.name?.invalid" severity="error" size="small" variant="simple">{{ $form.country.name.error?.message }}</Message>
</div> </div>
<Button type="submit" severity="secondary" label="Submit" /> <Button type="submit" severity="secondary" label="Submit" />
</Form> </Form>
@ -41,8 +41,8 @@ export default {
basic: ` basic: `
<Form v-slot="$form" :resolver="resolver" :initialValues="initialValues" @submit="onFormSubmit" class="flex justify-center flex-col gap-4 w-full md:w-56"> <Form v-slot="$form" :resolver="resolver" :initialValues="initialValues" @submit="onFormSubmit" class="flex justify-center flex-col gap-4 w-full md:w-56">
<div class="flex flex-col gap-1"> <div class="flex flex-col gap-1">
<AutoComplete name="country" optionLabel="name" :suggestions="filteredCountries" @complete="search" /> <AutoComplete name="country.name" optionLabel="name" :suggestions="filteredCountries" @complete="search" />
<Message v-if="$form.country?.invalid" severity="error" size="small" variant="simple">{{ $form.country.error?.message }}</Message> <Message v-if="$form.country?.name?.invalid" severity="error" size="small" variant="simple">{{ $form.country.name.error?.message }}</Message>
</div> </div>
<Button type="submit" severity="secondary" label="Submit" /> <Button type="submit" severity="secondary" label="Submit" />
</Form> </Form>
@ -52,8 +52,8 @@ export default {
<div class="card flex justify-center"> <div class="card flex justify-center">
<Form v-slot="$form" :resolver="resolver" :initialValues="initialValues" @submit="onFormSubmit" class="flex justify-center flex-col gap-4 w-full md:w-56"> <Form v-slot="$form" :resolver="resolver" :initialValues="initialValues" @submit="onFormSubmit" class="flex justify-center flex-col gap-4 w-full md:w-56">
<div class="flex flex-col gap-1"> <div class="flex flex-col gap-1">
<AutoComplete name="country" optionLabel="name" :suggestions="filteredCountries" @complete="search" /> <AutoComplete name="country.name" optionLabel="name" :suggestions="filteredCountries" @complete="search" />
<Message v-if="$form.country?.invalid" severity="error" size="small" variant="simple">{{ $form.country.error?.message }}</Message> <Message v-if="$form.country?.name?.invalid" severity="error" size="small" variant="simple">{{ $form.country.name.error?.message }}</Message>
</div> </div>
<Button type="submit" severity="secondary" label="Submit" /> <Button type="submit" severity="secondary" label="Submit" />
</Form> </Form>
@ -116,8 +116,8 @@ export default {
<div class="card flex justify-center"> <div class="card flex justify-center">
<Form v-slot="$form" :resolver="resolver" :initialValues="initialValues" @submit="onFormSubmit" class="flex justify-center flex-col gap-4 w-full md:w-56"> <Form v-slot="$form" :resolver="resolver" :initialValues="initialValues" @submit="onFormSubmit" class="flex justify-center flex-col gap-4 w-full md:w-56">
<div class="flex flex-col gap-1"> <div class="flex flex-col gap-1">
<AutoComplete name="country" optionLabel="name" :suggestions="filteredCountries" @complete="search" /> <AutoComplete name="country.name" optionLabel="name" :suggestions="filteredCountries" @complete="search" />
<Message v-if="$form.country?.invalid" severity="error" size="small" variant="simple">{{ $form.country.error?.message }}</Message> <Message v-if="$form.country?.name?.invalid" severity="error" size="small" variant="simple">{{ $form.country.name.error?.message }}</Message>
</div> </div>
<Button type="submit" severity="secondary" label="Submit" /> <Button type="submit" severity="secondary" label="Submit" />
</Form> </Form>

View File

@ -8247,7 +8247,7 @@
"name": "iconPos", "name": "iconPos",
"optional": true, "optional": true,
"readonly": false, "readonly": false,
"type": "\"left\" | \"right\" | \"top\" | \"bottom\"", "type": "HintedString<\"left\" | \"right\" | \"top\" | \"bottom\">",
"default": "left", "default": "left",
"description": "Position of the icon." "description": "Position of the icon."
}, },
@ -8367,7 +8367,7 @@
"name": "size", "name": "size",
"optional": true, "optional": true,
"readonly": false, "readonly": false,
"type": "\"small\" | \"large\"", "type": "HintedString<\"small\" | \"large\">",
"default": "", "default": "",
"description": "Defines the size of the button." "description": "Defines the size of the button."
}, },
@ -8375,7 +8375,7 @@
"name": "variant", "name": "variant",
"optional": true, "optional": true,
"readonly": false, "readonly": false,
"type": "\"outlined\" | \"text\" | \"link\"", "type": "HintedString<\"outlined\" | \"text\" | \"link\">",
"default": "undefined", "default": "undefined",
"description": "Specifies the variant of the component." "description": "Specifies the variant of the component."
}, },

View File

@ -23,6 +23,7 @@ My new Nuxt module for doing amazing things.
## Features ## Features
<!-- Highlight some of the features your module provide here --> <!-- Highlight some of the features your module provide here -->
- ⛰ &nbsp;Foo - ⛰ &nbsp;Foo
- 🚠 &nbsp;Bar - 🚠 &nbsp;Bar
- 🌲 &nbsp;Baz - 🌲 &nbsp;Baz
@ -37,7 +38,6 @@ npx nuxi module add my-module
That's it! You can now use My Module in your Nuxt app ✨ That's it! You can now use My Module in your Nuxt app ✨
## Contribution ## Contribution
<details> <details>
@ -69,16 +69,13 @@ That's it! You can now use My Module in your Nuxt app ✨
</details> </details>
<!-- Badges --> <!-- Badges -->
[npm-version-src]: https://img.shields.io/npm/v/my-module/latest.svg?style=flat&colorA=020420&colorB=00DC82 [npm-version-src]: https://img.shields.io/npm/v/my-module/latest.svg?style=flat&colorA=020420&colorB=00DC82
[npm-version-href]: https://npmjs.com/package/my-module [npm-version-href]: https://npmjs.com/package/my-module
[npm-downloads-src]: https://img.shields.io/npm/dm/my-module.svg?style=flat&colorA=020420&colorB=00DC82 [npm-downloads-src]: https://img.shields.io/npm/dm/my-module.svg?style=flat&colorA=020420&colorB=00DC82
[npm-downloads-href]: https://npm.chart.dev/my-module [npm-downloads-href]: https://npm.chart.dev/my-module
[license-src]: https://img.shields.io/npm/l/my-module.svg?style=flat&colorA=020420&colorB=00DC82 [license-src]: https://img.shields.io/npm/l/my-module.svg?style=flat&colorA=020420&colorB=00DC82
[license-href]: https://npmjs.com/package/my-module [license-href]: https://npmjs.com/package/my-module
[nuxt-src]: https://img.shields.io/badge/Nuxt-020420?logo=nuxt.js [nuxt-src]: https://img.shields.io/badge/Nuxt-020420?logo=nuxt.js
[nuxt-href]: https://nuxt.com [nuxt-href]: https://nuxt.com

View File

@ -1,15 +1,15 @@
import { fileURLToPath } from 'node:url' import { fileURLToPath } from 'node:url';
import { describe, it, expect } from 'vitest' import { describe, it, expect } from 'vitest';
import { setup, $fetch } from '@nuxt/test-utils/e2e' import { setup, $fetch } from '@nuxt/test-utils/e2e';
describe('ssr', async () => { describe('ssr', async () => {
await setup({ await setup({
rootDir: fileURLToPath(new URL('./fixtures/basic', import.meta.url)), rootDir: fileURLToPath(new URL('./fixtures/basic', import.meta.url))
}) });
it('renders the index page', async () => { it('renders the index page', async () => {
// Get response to a server-rendered page with `$fetch`. // Get response to a server-rendered page with `$fetch`.
const html = await $fetch('/') const html = await $fetch('/');
expect(html).toContain('<div>basic</div>') expect(html).toContain('<div>basic</div>');
}) });
}) });

View File

@ -1,7 +1,5 @@
import MyModule from '../../../src/module' import MyModule from '../../../src/module';
export default defineNuxtConfig({ export default defineNuxtConfig({
modules: [ modules: [MyModule]
MyModule, });
],
})

View File

@ -702,8 +702,6 @@ export default {
this.hide(); this.hide();
} }
} }
event.preventDefault();
}, },
onEscapeKey(event) { onEscapeKey(event) {
this.overlayVisible && this.hide(true); this.overlayVisible && this.hide(true);

View File

@ -103,7 +103,7 @@ export interface ButtonProps extends ButtonHTMLAttributes {
* Position of the icon. * Position of the icon.
* @defaultValue left * @defaultValue left
*/ */
iconPos?: 'left' | 'right' | 'top' | 'bottom' | undefined; iconPos?: HintedString<'left' | 'right' | 'top' | 'bottom'> | undefined;
/** /**
* Style class of the icon. * Style class of the icon.
*/ */
@ -171,12 +171,12 @@ export interface ButtonProps extends ButtonHTMLAttributes {
/** /**
* Defines the size of the button. * Defines the size of the button.
*/ */
size?: 'small' | 'large' | undefined; size?: HintedString<'small' | 'large'> | undefined;
/** /**
* Specifies the variant of the component. * Specifies the variant of the component.
* @defaultValue undefined * @defaultValue undefined
*/ */
variant?: 'outlined' | 'text' | 'link' | undefined; variant?: HintedString<'outlined' | 'text' | 'link'> | undefined;
/** /**
* Add a plain textual class to the button without a background initially. * Add a plain textual class to the button without a background initially.
* @defaultValue false * @defaultValue false

File diff suppressed because it is too large Load Diff