1
0
forked from jchomaz/Vulture

Tracking de l'application VApp (IHM du jeu)

This commit is contained in:
2025-05-11 18:04:12 +02:00
commit 89e9db9b62
17763 changed files with 3718499 additions and 0 deletions

View File

@@ -0,0 +1,210 @@
.v-alert {
display: grid;
flex: 1 1;
grid-template-areas: "prepend content append close" ". content . .";
grid-template-columns: max-content auto max-content max-content;
position: relative;
padding: 16px;
overflow: hidden;
--v-border-color: currentColor;
border-radius: 4px;
}
.v-alert--absolute {
position: absolute;
}
.v-alert--fixed {
position: fixed;
}
.v-alert--sticky {
position: sticky;
}
.v-alert--variant-plain, .v-alert--variant-outlined, .v-alert--variant-text, .v-alert--variant-tonal {
background: transparent;
color: inherit;
}
.v-alert--variant-plain {
opacity: 0.62;
}
.v-alert--variant-plain:focus, .v-alert--variant-plain:hover {
opacity: 1;
}
.v-alert--variant-plain .v-alert__overlay {
display: none;
}
.v-alert--variant-elevated, .v-alert--variant-flat {
background: rgb(var(--v-theme-surface-light));
color: rgba(var(--v-theme-on-surface-light), var(--v-high-emphasis-opacity));
}
.v-alert--variant-elevated {
box-shadow: 0px 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 1px 1px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 3px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
}
.v-alert--variant-flat {
box-shadow: 0px 0px 0px 0px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 0px 0px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 0px 0px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
}
.v-alert--variant-outlined {
border: thin solid currentColor;
}
.v-alert--variant-text .v-alert__overlay {
background: currentColor;
}
.v-alert--variant-tonal .v-alert__underlay {
background: currentColor;
opacity: var(--v-activated-opacity);
border-radius: inherit;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
pointer-events: none;
}
.v-alert--prominent {
grid-template-areas: "prepend content append close" "prepend content . .";
}
.v-alert.v-alert--border {
--v-border-opacity: 0.38;
}
.v-alert.v-alert--border.v-alert--border-start {
padding-inline-start: 24px;
}
.v-alert.v-alert--border.v-alert--border-end {
padding-inline-end: 24px;
}
.v-alert--variant-plain {
transition: 0.2s opacity cubic-bezier(0.4, 0, 0.2, 1);
}
.v-alert--density-default {
padding-bottom: 16px;
padding-top: 16px;
}
.v-alert--density-default.v-alert--border-top {
padding-top: 24px;
}
.v-alert--density-default.v-alert--border-bottom {
padding-bottom: 24px;
}
.v-alert--density-comfortable {
padding-bottom: 12px;
padding-top: 12px;
}
.v-alert--density-comfortable.v-alert--border-top {
padding-top: 20px;
}
.v-alert--density-comfortable.v-alert--border-bottom {
padding-bottom: 20px;
}
.v-alert--density-compact {
padding-bottom: 8px;
padding-top: 8px;
}
.v-alert--density-compact.v-alert--border-top {
padding-top: 16px;
}
.v-alert--density-compact.v-alert--border-bottom {
padding-bottom: 16px;
}
.v-alert__border {
border-radius: inherit;
bottom: 0;
left: 0;
opacity: var(--v-border-opacity);
position: absolute;
pointer-events: none;
right: 0;
top: 0;
width: 100%;
border-color: currentColor;
border-style: solid;
border-width: 0;
}
.v-alert__border--border {
border-width: 8px;
box-shadow: none;
}
.v-alert--border-start .v-alert__border {
border-inline-start-width: 8px;
}
.v-alert--border-end .v-alert__border {
border-inline-end-width: 8px;
}
.v-alert--border-top .v-alert__border {
border-top-width: 8px;
}
.v-alert--border-bottom .v-alert__border {
border-bottom-width: 8px;
}
.v-alert__close {
flex: 0 1 auto;
grid-area: close;
}
.v-alert__content {
align-self: center;
grid-area: content;
overflow: hidden;
}
.v-alert__append,
.v-alert__close {
align-self: flex-start;
margin-inline-start: 16px;
}
.v-alert__append {
align-self: flex-start;
grid-area: append;
}
.v-alert__append + .v-alert__close {
margin-inline-start: 16px;
}
.v-alert__prepend {
align-self: flex-start;
display: flex;
align-items: center;
grid-area: prepend;
margin-inline-end: 16px;
}
.v-alert--prominent .v-alert__prepend {
align-self: center;
}
.v-alert__underlay {
grid-area: none;
position: absolute;
}
.v-alert--border-start .v-alert__underlay {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.v-alert--border-end .v-alert__underlay {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.v-alert--border-top .v-alert__underlay {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.v-alert--border-bottom .v-alert__underlay {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.v-alert-title {
align-items: center;
align-self: center;
display: flex;
font-size: 1.25rem;
font-weight: 500;
hyphens: auto;
letter-spacing: 0.0125em;
line-height: 1.75rem;
overflow-wrap: normal;
text-transform: none;
word-break: normal;
word-wrap: break-word;
}

View File

@@ -0,0 +1,205 @@
import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
// Styles
import "./VAlert.css";
// Components
import { VAlertTitle } from "./VAlertTitle.mjs";
import { VBtn } from "../VBtn/index.mjs";
import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs";
import { VIcon } from "../VIcon/index.mjs"; // Composables
import { useTextColor } from "../../composables/color.mjs";
import { makeComponentProps } from "../../composables/component.mjs";
import { makeDensityProps, useDensity } from "../../composables/density.mjs";
import { makeDimensionProps, useDimension } from "../../composables/dimensions.mjs";
import { makeElevationProps, useElevation } from "../../composables/elevation.mjs";
import { IconValue } from "../../composables/icons.mjs";
import { useLocale } from "../../composables/locale.mjs";
import { makeLocationProps, useLocation } from "../../composables/location.mjs";
import { makePositionProps, usePosition } from "../../composables/position.mjs";
import { useProxiedModel } from "../../composables/proxiedModel.mjs";
import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
import { makeTagProps } from "../../composables/tag.mjs";
import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
import { genOverlays, makeVariantProps, useVariant } from "../../composables/variant.mjs"; // Utilities
import { computed, toRef } from 'vue';
import { genericComponent, propsFactory } from "../../util/index.mjs"; // Types
const allowedTypes = ['success', 'info', 'warning', 'error'];
export const makeVAlertProps = propsFactory({
border: {
type: [Boolean, String],
validator: val => {
return typeof val === 'boolean' || ['top', 'end', 'bottom', 'start'].includes(val);
}
},
borderColor: String,
closable: Boolean,
closeIcon: {
type: IconValue,
default: '$close'
},
closeLabel: {
type: String,
default: '$vuetify.close'
},
icon: {
type: [Boolean, String, Function, Object],
default: null
},
modelValue: {
type: Boolean,
default: true
},
prominent: Boolean,
title: String,
text: String,
type: {
type: String,
validator: val => allowedTypes.includes(val)
},
...makeComponentProps(),
...makeDensityProps(),
...makeDimensionProps(),
...makeElevationProps(),
...makeLocationProps(),
...makePositionProps(),
...makeRoundedProps(),
...makeTagProps(),
...makeThemeProps(),
...makeVariantProps({
variant: 'flat'
})
}, 'VAlert');
export const VAlert = genericComponent()({
name: 'VAlert',
props: makeVAlertProps(),
emits: {
'click:close': e => true,
'update:modelValue': value => true
},
setup(props, _ref) {
let {
emit,
slots
} = _ref;
const isActive = useProxiedModel(props, 'modelValue');
const icon = computed(() => {
if (props.icon === false) return undefined;
if (!props.type) return props.icon;
return props.icon ?? `$${props.type}`;
});
const variantProps = computed(() => ({
color: props.color ?? props.type,
variant: props.variant
}));
const {
themeClasses
} = provideTheme(props);
const {
colorClasses,
colorStyles,
variantClasses
} = useVariant(variantProps);
const {
densityClasses
} = useDensity(props);
const {
dimensionStyles
} = useDimension(props);
const {
elevationClasses
} = useElevation(props);
const {
locationStyles
} = useLocation(props);
const {
positionClasses
} = usePosition(props);
const {
roundedClasses
} = useRounded(props);
const {
textColorClasses,
textColorStyles
} = useTextColor(toRef(props, 'borderColor'));
const {
t
} = useLocale();
const closeProps = computed(() => ({
'aria-label': t(props.closeLabel),
onClick(e) {
isActive.value = false;
emit('click:close', e);
}
}));
return () => {
const hasPrepend = !!(slots.prepend || icon.value);
const hasTitle = !!(slots.title || props.title);
const hasClose = !!(slots.close || props.closable);
return isActive.value && _createVNode(props.tag, {
"class": ['v-alert', props.border && {
'v-alert--border': !!props.border,
[`v-alert--border-${props.border === true ? 'start' : props.border}`]: true
}, {
'v-alert--prominent': props.prominent
}, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
"role": "alert"
}, {
default: () => [genOverlays(false, 'v-alert'), props.border && _createVNode("div", {
"key": "border",
"class": ['v-alert__border', textColorClasses.value],
"style": textColorStyles.value
}, null), hasPrepend && _createVNode("div", {
"key": "prepend",
"class": "v-alert__prepend"
}, [!slots.prepend ? _createVNode(VIcon, {
"key": "prepend-icon",
"density": props.density,
"icon": icon.value,
"size": props.prominent ? 44 : 28
}, null) : _createVNode(VDefaultsProvider, {
"key": "prepend-defaults",
"disabled": !icon.value,
"defaults": {
VIcon: {
density: props.density,
icon: icon.value,
size: props.prominent ? 44 : 28
}
}
}, slots.prepend)]), _createVNode("div", {
"class": "v-alert__content"
}, [hasTitle && _createVNode(VAlertTitle, {
"key": "title"
}, {
default: () => [slots.title?.() ?? props.title]
}), slots.text?.() ?? props.text, slots.default?.()]), slots.append && _createVNode("div", {
"key": "append",
"class": "v-alert__append"
}, [slots.append()]), hasClose && _createVNode("div", {
"key": "close",
"class": "v-alert__close"
}, [!slots.close ? _createVNode(VBtn, _mergeProps({
"key": "close-btn",
"icon": props.closeIcon,
"size": "x-small",
"variant": "text"
}, closeProps.value), null) : _createVNode(VDefaultsProvider, {
"key": "close-defaults",
"defaults": {
VBtn: {
icon: props.closeIcon,
size: 'x-small',
variant: 'text'
}
}
}, {
default: () => [slots.close?.({
props: closeProps.value
})]
})])]
});
};
}
});
//# sourceMappingURL=VAlert.mjs.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,132 @@
@use '../../styles/tools'
@use './variables' as *
.v-alert
display: grid
flex: 1 1
grid-template-areas: "prepend content append close" ". content . ."
grid-template-columns: max-content auto max-content max-content
position: relative
padding: $alert-padding
overflow: hidden
--v-border-color: #{$alert-border-color}
@include tools.position($alert-positions)
@include tools.rounded($alert-border-radius)
@include tools.variant($alert-variants...)
&--prominent
grid-template-areas: "prepend content append close" "prepend content . ."
&.v-alert--border
--v-border-opacity: #{$alert-border-opacity}
&.v-alert--border-start
padding-inline-start: $alert-padding + $alert-border-thin-width
&.v-alert--border-end
padding-inline-end: $alert-padding + $alert-border-thin-width
&--variant-plain
transition: $alert-plain-transition
@at-root
@include tools.density('v-alert', $alert-density) using ($modifier)
padding-bottom: $alert-padding + $modifier
padding-top: $alert-padding + $modifier
&.v-alert--border-top
padding-top: $alert-padding + $alert-border-thin-width + $modifier
&.v-alert--border-bottom
padding-bottom: $alert-padding + $alert-border-thin-width + $modifier
.v-alert__border
border-radius: inherit
bottom: 0
left: 0
opacity: var(--v-border-opacity)
position: absolute
pointer-events: none
right: 0
top: 0
width: 100%
@include tools.border($alert-border...)
.v-alert--border-start &
border-inline-start-width: $alert-border-thin-width
.v-alert--border-end &
border-inline-end-width: $alert-border-thin-width
.v-alert--border-top &
border-top-width: $alert-border-thin-width
.v-alert--border-bottom &
border-bottom-width: $alert-border-thin-width
.v-alert__close
flex: 0 1 auto
grid-area: close
.v-alert__content
align-self: center
grid-area: content
overflow: hidden
.v-alert__append,
.v-alert__close
align-self: flex-start
margin-inline-start: $alert-append-margin-inline-start
.v-alert__append
align-self: flex-start
grid-area: append
+ .v-alert__close
margin-inline-start: $alert-append-close-margin-inline-start
.v-alert__prepend
align-self: flex-start
display: flex
align-items: center
grid-area: prepend
margin-inline-end: $alert-prepend-margin-inline-end
.v-alert--prominent &
align-self: center
.v-alert__underlay
grid-area: none
position: absolute
.v-alert--border-start &
border-top-left-radius: 0
border-bottom-left-radius: 0
.v-alert--border-end &
border-top-right-radius: 0
border-bottom-right-radius: 0
.v-alert--border-top &
border-top-left-radius: 0
border-top-right-radius: 0
.v-alert--border-bottom &
border-bottom-left-radius: 0
border-bottom-right-radius: 0
.v-alert-title
align-items: center
align-self: center
display: flex
font-size: $alert-title-font-size
font-weight: $alert-title-font-weight
hyphens: $alert-title-hyphens
letter-spacing: $alert-title-letter-spacing
line-height: $alert-title-line-height
overflow-wrap: $alert-title-overflow-wrap
text-transform: $alert-title-text-transform
word-break: $alert-title-word-break
word-wrap: $alert-title-word-wrap

View File

@@ -0,0 +1,4 @@
// Utilities
import { createSimpleFunctional } from "../../util/index.mjs";
export const VAlertTitle = createSimpleFunctional('v-alert-title');
//# sourceMappingURL=VAlertTitle.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"VAlertTitle.mjs","names":["createSimpleFunctional","VAlertTitle"],"sources":["../../../src/components/VAlert/VAlertTitle.ts"],"sourcesContent":["// Utilities\nimport { createSimpleFunctional } from '@/util'\n\nexport const VAlertTitle = createSimpleFunctional('v-alert-title')\n\nexport type VAlertTitle = InstanceType<typeof VAlertTitle>\n"],"mappings":"AAAA;AAAA,SACSA,sBAAsB;AAE/B,OAAO,MAAMC,WAAW,GAAGD,sBAAsB,CAAC,eAAe,CAAC"}

View File

@@ -0,0 +1,52 @@
@use '../../styles/settings';
@use '../../styles/tools';
// VAlert
$alert-background: rgb(var(--v-theme-surface-light)) !default;
$alert-border-color: currentColor !default;
$alert-border-opacity: .38 !default;
$alert-border-radius: settings.$border-radius-root !default;
$alert-border-style: settings.$border-style-root !default;
$alert-border-thin-width: 8px !default;
$alert-border-width: 0 !default;
$alert-color: rgba(var(--v-theme-on-surface-light), var(--v-high-emphasis-opacity)) !default;
$alert-density: ('default': 0, 'comfortable': -1, 'compact': -2) !default;
$alert-elevation: 1 !default;
$alert-padding: 16px !default;
$alert-plain-opacity: .62 !default;
$alert-plain-transition: .2s opacity settings.$standard-easing !default;
$alert-positions: absolute fixed sticky !default;
$alert-prepend-margin-inline-end: 16px !default;
$alert-append-margin-inline-start: 16px !default;
$alert-append-close-margin-inline-start: 16px !default;
// VAlertTitle
$alert-title-font-size: tools.map-deep-get(settings.$typography, 'h6', 'size') !default;
$alert-title-font-weight: tools.map-deep-get(settings.$typography, 'h6', 'weight') !default;
$alert-title-hyphens: auto !default;
$alert-title-letter-spacing: tools.map-deep-get(settings.$typography, 'h6', 'letter-spacing') !default;
// $alert-title-line-height: tools.map-deep-get(settings.$typography, 'h6', 'line-height') !default;
$alert-title-line-height: 1.75rem !default;
$alert-title-overflow-wrap: normal !default;
$alert-title-text-transform: none !default;
$alert-title-word-break: normal !default;
$alert-title-word-wrap: break-word !default;
// VAlertText
$alert-text-line-height: 1.35 !default;
// Lists
$alert-border: (
$alert-border-color,
$alert-border-style,
$alert-border-width,
$alert-border-thin-width
) !default;
$alert-variants: (
$alert-background,
$alert-color,
$alert-elevation,
$alert-plain-opacity,
'v-alert'
) !default;

View File

@@ -0,0 +1,632 @@
import * as vue from 'vue';
import { ComponentPropsOptions, ExtractPropTypes, JSXComponent, PropType } from 'vue';
type Density = null | 'default' | 'comfortable' | 'compact';
declare const block: readonly ["top", "bottom"];
declare const inline: readonly ["start", "end", "left", "right"];
type Tblock = typeof block[number];
type Tinline = typeof inline[number];
type Anchor = Tblock | Tinline | 'center' | 'center center' | `${Tblock} ${Tinline | 'center'}` | `${Tinline} ${Tblock | 'center'}`;
interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
}
type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
declare const IconValue: PropType<IconValue>;
declare const allowedTypes: readonly ["success", "info", "warning", "error"];
type ContextualType = typeof allowedTypes[number];
declare const VAlert: {
new (...args: any[]): vue.CreateComponentPublicInstance<{
variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
style: vue.StyleValue;
tag: string;
icon: false | IconValue;
prominent: boolean;
density: Density;
modelValue: boolean;
closable: boolean;
closeIcon: IconValue;
closeLabel: string;
} & {
type?: "error" | "success" | "warning" | "info" | undefined;
location?: Anchor | undefined;
height?: string | number | undefined;
width?: string | number | undefined;
border?: boolean | "end" | "start" | "top" | "bottom" | undefined;
borderColor?: string | undefined;
color?: string | undefined;
maxHeight?: string | number | undefined;
maxWidth?: string | number | undefined;
minHeight?: string | number | undefined;
minWidth?: string | number | undefined;
position?: "fixed" | "absolute" | "static" | "sticky" | "relative" | undefined;
title?: string | undefined;
text?: string | undefined;
class?: any;
elevation?: string | number | undefined;
theme?: string | undefined;
rounded?: string | number | boolean | undefined;
} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
prepend?: (() => vue.VNodeChild) | undefined;
title?: (() => vue.VNodeChild) | undefined;
text?: (() => vue.VNodeChild) | undefined;
append?: (() => vue.VNodeChild) | undefined;
close?: ((arg: {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
prepend?: false | (() => vue.VNodeChild) | undefined;
title?: false | (() => vue.VNodeChild) | undefined;
text?: false | (() => vue.VNodeChild) | undefined;
append?: false | (() => vue.VNodeChild) | undefined;
close?: false | ((arg: {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:title"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:text"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:close"?: false | ((arg: {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
} & {
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
"onClick:close"?: ((e: MouseEvent) => any) | undefined;
}, () => false | JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
'click:close': (e: MouseEvent) => true;
'update:modelValue': (value: boolean) => true;
}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
style: vue.StyleValue;
tag: string;
icon: false | IconValue;
prominent: boolean;
density: Density;
modelValue: boolean;
closable: boolean;
closeIcon: IconValue;
closeLabel: string;
} & {
type?: "error" | "success" | "warning" | "info" | undefined;
location?: Anchor | undefined;
height?: string | number | undefined;
width?: string | number | undefined;
border?: boolean | "end" | "start" | "top" | "bottom" | undefined;
borderColor?: string | undefined;
color?: string | undefined;
maxHeight?: string | number | undefined;
maxWidth?: string | number | undefined;
minHeight?: string | number | undefined;
minWidth?: string | number | undefined;
position?: "fixed" | "absolute" | "static" | "sticky" | "relative" | undefined;
title?: string | undefined;
text?: string | undefined;
class?: any;
elevation?: string | number | undefined;
theme?: string | undefined;
rounded?: string | number | boolean | undefined;
} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
prepend?: (() => vue.VNodeChild) | undefined;
title?: (() => vue.VNodeChild) | undefined;
text?: (() => vue.VNodeChild) | undefined;
append?: (() => vue.VNodeChild) | undefined;
close?: ((arg: {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
prepend?: false | (() => vue.VNodeChild) | undefined;
title?: false | (() => vue.VNodeChild) | undefined;
text?: false | (() => vue.VNodeChild) | undefined;
append?: false | (() => vue.VNodeChild) | undefined;
close?: false | ((arg: {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:title"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:text"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:close"?: false | ((arg: {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
} & {
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
"onClick:close"?: ((e: MouseEvent) => any) | undefined;
}, {
variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
style: vue.StyleValue;
tag: string;
icon: false | IconValue;
rounded: string | number | boolean;
prominent: boolean;
density: Density;
modelValue: boolean;
closable: boolean;
closeIcon: IconValue;
closeLabel: string;
}, true, {}, vue.SlotsType<Partial<{
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
prepend: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
title: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
text: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
append: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
close: (arg: {
props: Record<string, any>;
}) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
}>>, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, {
variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
style: vue.StyleValue;
tag: string;
icon: false | IconValue;
prominent: boolean;
density: Density;
modelValue: boolean;
closable: boolean;
closeIcon: IconValue;
closeLabel: string;
} & {
type?: "error" | "success" | "warning" | "info" | undefined;
location?: Anchor | undefined;
height?: string | number | undefined;
width?: string | number | undefined;
border?: boolean | "end" | "start" | "top" | "bottom" | undefined;
borderColor?: string | undefined;
color?: string | undefined;
maxHeight?: string | number | undefined;
maxWidth?: string | number | undefined;
minHeight?: string | number | undefined;
minWidth?: string | number | undefined;
position?: "fixed" | "absolute" | "static" | "sticky" | "relative" | undefined;
title?: string | undefined;
text?: string | undefined;
class?: any;
elevation?: string | number | undefined;
theme?: string | undefined;
rounded?: string | number | boolean | undefined;
} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
prepend?: (() => vue.VNodeChild) | undefined;
title?: (() => vue.VNodeChild) | undefined;
text?: (() => vue.VNodeChild) | undefined;
append?: (() => vue.VNodeChild) | undefined;
close?: ((arg: {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
prepend?: false | (() => vue.VNodeChild) | undefined;
title?: false | (() => vue.VNodeChild) | undefined;
text?: false | (() => vue.VNodeChild) | undefined;
append?: false | (() => vue.VNodeChild) | undefined;
close?: false | ((arg: {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:title"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:text"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:close"?: false | ((arg: {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
} & {
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
"onClick:close"?: ((e: MouseEvent) => any) | undefined;
}, () => false | JSX.Element, {}, {}, {}, {
variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
style: vue.StyleValue;
tag: string;
icon: false | IconValue;
rounded: string | number | boolean;
prominent: boolean;
density: Density;
modelValue: boolean;
closable: boolean;
closeIcon: IconValue;
closeLabel: string;
}>;
__isFragment?: undefined;
__isTeleport?: undefined;
__isSuspense?: undefined;
} & vue.ComponentOptionsBase<{
variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
style: vue.StyleValue;
tag: string;
icon: false | IconValue;
prominent: boolean;
density: Density;
modelValue: boolean;
closable: boolean;
closeIcon: IconValue;
closeLabel: string;
} & {
type?: "error" | "success" | "warning" | "info" | undefined;
location?: Anchor | undefined;
height?: string | number | undefined;
width?: string | number | undefined;
border?: boolean | "end" | "start" | "top" | "bottom" | undefined;
borderColor?: string | undefined;
color?: string | undefined;
maxHeight?: string | number | undefined;
maxWidth?: string | number | undefined;
minHeight?: string | number | undefined;
minWidth?: string | number | undefined;
position?: "fixed" | "absolute" | "static" | "sticky" | "relative" | undefined;
title?: string | undefined;
text?: string | undefined;
class?: any;
elevation?: string | number | undefined;
theme?: string | undefined;
rounded?: string | number | boolean | undefined;
} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
prepend?: (() => vue.VNodeChild) | undefined;
title?: (() => vue.VNodeChild) | undefined;
text?: (() => vue.VNodeChild) | undefined;
append?: (() => vue.VNodeChild) | undefined;
close?: ((arg: {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
prepend?: false | (() => vue.VNodeChild) | undefined;
title?: false | (() => vue.VNodeChild) | undefined;
text?: false | (() => vue.VNodeChild) | undefined;
append?: false | (() => vue.VNodeChild) | undefined;
close?: false | ((arg: {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:title"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:text"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:close"?: false | ((arg: {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
} & {
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
"onClick:close"?: ((e: MouseEvent) => any) | undefined;
}, () => false | JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
'click:close': (e: MouseEvent) => true;
'update:modelValue': (value: boolean) => true;
}, string, {
variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
style: vue.StyleValue;
tag: string;
icon: false | IconValue;
rounded: string | number | boolean;
prominent: boolean;
density: Density;
modelValue: boolean;
closable: boolean;
closeIcon: IconValue;
closeLabel: string;
}, {}, string, vue.SlotsType<Partial<{
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
prepend: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
title: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
text: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
append: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
close: (arg: {
props: Record<string, any>;
}) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
color: StringConstructor;
variant: Omit<{
type: PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
default: string;
validator: (v: any) => boolean;
}, "type" | "default"> & {
type: PropType<NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">>;
default: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
};
theme: StringConstructor;
tag: {
type: StringConstructor;
default: string;
};
rounded: {
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
default: undefined;
};
position: {
type: PropType<"fixed" | "absolute" | "static" | "sticky" | "relative">;
validator: (v: any) => boolean;
};
location: PropType<Anchor>;
elevation: {
type: (StringConstructor | NumberConstructor)[];
validator(v: any): boolean;
};
height: (StringConstructor | NumberConstructor)[];
maxHeight: (StringConstructor | NumberConstructor)[];
maxWidth: (StringConstructor | NumberConstructor)[];
minHeight: (StringConstructor | NumberConstructor)[];
minWidth: (StringConstructor | NumberConstructor)[];
width: (StringConstructor | NumberConstructor)[];
density: {
type: PropType<Density>;
default: string;
validator: (v: any) => boolean;
};
class: PropType<any>;
style: {
type: PropType<vue.StyleValue>;
default: null;
};
border: {
type: PropType<boolean | "end" | "start" | "top" | "bottom">;
validator: (val: boolean | string) => boolean;
};
borderColor: StringConstructor;
closable: BooleanConstructor;
closeIcon: {
type: PropType<IconValue>;
default: string;
};
closeLabel: {
type: StringConstructor;
default: string;
};
icon: {
type: PropType<false | IconValue>;
default: null;
};
modelValue: {
type: BooleanConstructor;
default: boolean;
};
prominent: BooleanConstructor;
title: StringConstructor;
text: StringConstructor;
type: {
type: PropType<"error" | "success" | "warning" | "info">;
validator: (val: ContextualType) => boolean;
};
}, vue.ExtractPropTypes<{
color: StringConstructor;
variant: Omit<{
type: PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
default: string;
validator: (v: any) => boolean;
}, "type" | "default"> & {
type: PropType<NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">>;
default: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
};
theme: StringConstructor;
tag: {
type: StringConstructor;
default: string;
};
rounded: {
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
default: undefined;
};
position: {
type: PropType<"fixed" | "absolute" | "static" | "sticky" | "relative">;
validator: (v: any) => boolean;
};
location: PropType<Anchor>;
elevation: {
type: (StringConstructor | NumberConstructor)[];
validator(v: any): boolean;
};
height: (StringConstructor | NumberConstructor)[];
maxHeight: (StringConstructor | NumberConstructor)[];
maxWidth: (StringConstructor | NumberConstructor)[];
minHeight: (StringConstructor | NumberConstructor)[];
minWidth: (StringConstructor | NumberConstructor)[];
width: (StringConstructor | NumberConstructor)[];
density: {
type: PropType<Density>;
default: string;
validator: (v: any) => boolean;
};
class: PropType<any>;
style: {
type: PropType<vue.StyleValue>;
default: null;
};
border: {
type: PropType<boolean | "end" | "start" | "top" | "bottom">;
validator: (val: boolean | string) => boolean;
};
borderColor: StringConstructor;
closable: BooleanConstructor;
closeIcon: {
type: PropType<IconValue>;
default: string;
};
closeLabel: {
type: StringConstructor;
default: string;
};
icon: {
type: PropType<false | IconValue>;
default: null;
};
modelValue: {
type: BooleanConstructor;
default: boolean;
};
prominent: BooleanConstructor;
title: StringConstructor;
text: StringConstructor;
type: {
type: PropType<"error" | "success" | "warning" | "info">;
validator: (val: ContextualType) => boolean;
};
}>>;
type VAlert = InstanceType<typeof VAlert>;
declare const VAlertTitle: {
new (...args: any[]): vue.CreateComponentPublicInstance<{
style: vue.StyleValue;
tag: string;
} & {
class?: any;
} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
style: vue.StyleValue;
tag: string;
} & {
class?: any;
} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
}, {
style: vue.StyleValue;
tag: string;
}, true, {}, vue.SlotsType<Partial<{
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
}>>, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, {
style: vue.StyleValue;
tag: string;
} & {
class?: any;
} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>, {}, {}, {}, {
style: vue.StyleValue;
tag: string;
}>;
__isFragment?: undefined;
__isTeleport?: undefined;
__isSuspense?: undefined;
} & vue.ComponentOptionsBase<{
style: vue.StyleValue;
tag: string;
} & {
class?: any;
} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
style: vue.StyleValue;
tag: string;
}, {}, string, vue.SlotsType<Partial<{
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
class: vue.PropType<any>;
style: {
type: vue.PropType<vue.StyleValue>;
default: null;
};
tag: {
type: StringConstructor;
default: string;
};
}, vue.ExtractPropTypes<{
class: vue.PropType<any>;
style: {
type: vue.PropType<vue.StyleValue>;
default: null;
};
tag: {
type: StringConstructor;
default: string;
};
}>>;
type VAlertTitle = InstanceType<typeof VAlertTitle>;
export { VAlert, VAlertTitle };

View File

@@ -0,0 +1,3 @@
export { VAlert } from "./VAlert.mjs";
export { VAlertTitle } from "./VAlertTitle.mjs";
//# sourceMappingURL=index.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.mjs","names":["VAlert","VAlertTitle"],"sources":["../../../src/components/VAlert/index.ts"],"sourcesContent":["export { VAlert } from './VAlert'\nexport { VAlertTitle } from './VAlertTitle'\n"],"mappings":"SAASA,MAAM;AAAA,SACNC,WAAW"}