Fixed #3802 - Improve folder structure for nuxt configurations

This commit is contained in:
mertsincan 2023-03-26 06:22:57 +01:00
parent 851950270b
commit f5fe822afb
563 changed files with 1703 additions and 1095 deletions

View file

@ -0,0 +1,55 @@
/**
*
* InlineMessage component is useful in cases where a single message needs to be displayed related to an element such as forms. It has one property, severity of the message.
*
* [Live Demo](https://www.primevue.org/inlinemessage/)
*
* @module inlinemessage
*
*/
import { VNode } from 'vue';
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
/**
* Defines valid properties in InlineMessage component.
*/
export interface InlineMessageProps {
/**
* Severity level of the message.
* @defaultValue info
*/
severity?: 'success' | 'info' | 'warn' | 'error' | undefined;
}
/**
* Defines valid slots in InlineMessage slots.
*/
export interface InlineMessageSlots {
/**
* Default custom slot.
*/
default(): VNode[];
}
export interface InlineMessageEmits {}
/**
* **PrimeVue - InlineMessage**
*
* _InlineMessage component is useful in cases where a single message needs to be displayed related to an element such as forms. It has one property, severity of the message._
*
* [Live Demo](https://www.primevue.org/inlinemessage/)
* --- ---
* ![PrimeVue](https://primefaces.org/cdn/primevue/images/logo-100.png)
*
* @group Component
*
*/
declare class InlineMessage extends ClassComponent<InlineMessageProps, InlineMessageSlots, InlineMessageEmits> {}
declare module '@vue/runtime-core' {
interface GlobalComponents {
InlineMessage: GlobalComponentConstructor<InlineMessage>;
}
}
export default InlineMessage;

View file

@ -0,0 +1,19 @@
import { mount } from '@vue/test-utils';
import InlineMessage from './InlineMessage.vue';
describe('InlineMessage.vue', () => {
it('should exist', () => {
const wrapper = mount(InlineMessage, {
slots: {
default: 'Username is required'
},
props: {
severity: 'error'
}
});
expect(wrapper.find('.p-inline-message.p-component').exists()).toBe(true);
expect(wrapper.find('.p-inline-message.p-component').text()).toBe('Username is required');
expect(wrapper.find('.p-inline-message-error').exists()).toBe(true);
});
});

View file

@ -0,0 +1,65 @@
<template>
<div aria-live="polite" :class="containerClass">
<span :class="iconClass"></span>
<span class="p-inline-message-text"><slot>&nbsp;</slot></span>
</div>
</template>
<script>
export default {
name: 'InlineMessage',
props: {
severity: {
type: String,
default: 'error'
}
},
timeout: null,
data() {
return {
visible: true
};
},
mounted() {
if (!this.sticky) {
setTimeout(() => {
this.visible = false;
}, this.life);
}
},
computed: {
containerClass() {
return ['p-inline-message p-component p-inline-message-' + this.severity, { 'p-inline-message-icon-only': !this.$slots.default }];
},
iconClass() {
return [
'p-inline-message-icon pi',
{
'pi-info-circle': this.severity === 'info',
'pi-check': this.severity === 'success',
'pi-exclamation-triangle': this.severity === 'warn',
'pi-times-circle': this.severity === 'error'
}
];
}
}
};
</script>
<style>
.p-inline-message {
display: inline-flex;
align-items: center;
justify-content: center;
vertical-align: top;
}
.p-inline-message-icon-only .p-inline-message-text {
visibility: hidden;
width: 0;
}
.p-fluid .p-inline-message {
display: flex;
}
</style>

View file

@ -0,0 +1,9 @@
{
"main": "./inlinemessage.cjs.js",
"module": "./inlinemessage.esm.js",
"unpkg": "./inlinemessage.min.js",
"types": "./InlineMessage.d.ts",
"browser": {
"./sfc": "./InlineMessage.vue"
}
}