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,158 @@
.v-banner {
display: grid;
flex: 1 1;
font-size: 0.875rem;
grid-template-areas: "prepend content actions";
grid-template-columns: max-content auto max-content;
grid-template-rows: max-content max-content;
line-height: 1.375rem;
overflow: hidden;
padding-inline: 16px 8px;
padding-top: 16px;
padding-bottom: 16px;
position: relative;
width: 100%;
border-color: rgba(var(--v-border-color), var(--v-border-opacity));
border-style: solid;
border-width: 0 0 thin 0;
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));
border-radius: 0;
background: rgb(var(--v-theme-surface));
color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
}
.v-banner--border {
border-width: thin;
box-shadow: none;
}
.v-banner--absolute {
position: absolute;
}
.v-banner--fixed {
position: fixed;
}
.v-banner--sticky {
position: sticky;
}
.v-banner--rounded {
border-radius: 4px;
}
.v-banner--stacked:not(.v-banner--one-line) {
grid-template-areas: "prepend content" ". actions";
}
.v-banner--stacked .v-banner-text {
padding-inline-end: 36px;
}
.v-banner--density-default .v-banner-actions {
margin-bottom: -8px;
}
.v-banner--density-default.v-banner--one-line {
padding-top: 8px;
padding-bottom: 8px;
}
.v-banner--density-default.v-banner--one-line .v-banner-actions {
margin-bottom: 0;
}
.v-banner--density-default.v-banner--one-line {
padding-top: 10px;
}
.v-banner--density-default.v-banner--two-line {
padding-top: 16px;
padding-bottom: 16px;
}
.v-banner--density-default.v-banner--three-line {
padding-top: 24px;
padding-bottom: 16px;
}
.v-banner--density-default:not(.v-banner--one-line) .v-banner-actions, .v-banner--density-default.v-banner--two-line .v-banner-actions, .v-banner--density-default.v-banner--three-line .v-banner-actions {
margin-top: 20px;
}
.v-banner--density-comfortable .v-banner-actions {
margin-bottom: -4px;
}
.v-banner--density-comfortable.v-banner--one-line {
padding-top: 4px;
padding-bottom: 4px;
}
.v-banner--density-comfortable.v-banner--one-line .v-banner-actions {
margin-bottom: 0;
}
.v-banner--density-comfortable.v-banner--two-line {
padding-top: 12px;
padding-bottom: 12px;
}
.v-banner--density-comfortable.v-banner--three-line {
padding-top: 20px;
padding-bottom: 12px;
}
.v-banner--density-comfortable:not(.v-banner--one-line) .v-banner-actions, .v-banner--density-comfortable.v-banner--two-line .v-banner-actions, .v-banner--density-comfortable.v-banner--three-line .v-banner-actions {
margin-top: 16px;
}
.v-banner--density-compact .v-banner-actions {
margin-bottom: 0px;
}
.v-banner--density-compact.v-banner--one-line {
padding-top: 0px;
padding-bottom: 0px;
}
.v-banner--density-compact.v-banner--one-line .v-banner-actions {
margin-bottom: 0;
}
.v-banner--density-compact.v-banner--two-line {
padding-top: 8px;
padding-bottom: 8px;
}
.v-banner--density-compact.v-banner--three-line {
padding-top: 16px;
padding-bottom: 8px;
}
.v-banner--density-compact:not(.v-banner--one-line) .v-banner-actions, .v-banner--density-compact.v-banner--two-line .v-banner-actions, .v-banner--density-compact.v-banner--three-line .v-banner-actions {
margin-top: 12px;
}
.v-banner--sticky {
top: 0;
}
.v-banner__content {
align-items: center;
display: flex;
grid-area: content;
}
.v-banner__prepend {
align-self: flex-start;
grid-area: prepend;
margin-inline-end: 24px;
}
.v-banner-actions {
align-self: flex-end;
display: flex;
flex: 0 1;
grid-area: actions;
justify-content: flex-end;
}
.v-banner--two-line .v-banner-actions, .v-banner--three-line .v-banner-actions {
margin-top: 20px;
}
.v-banner-text {
-webkit-box-orient: vertical;
display: -webkit-box;
padding-inline-end: 90px;
overflow: hidden;
}
.v-banner--one-line .v-banner-text {
-webkit-line-clamp: 1;
}
.v-banner--two-line .v-banner-text {
-webkit-line-clamp: 2;
}
.v-banner--three-line .v-banner-text {
-webkit-line-clamp: 3;
}
.v-banner--two-line .v-banner-text, .v-banner--three-line .v-banner-text {
align-self: flex-start;
}

View File

@ -0,0 +1,140 @@
import { resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
// Styles
import "./VBanner.css";
// Components
import { VBannerActions } from "./VBannerActions.mjs";
import { VBannerText } from "./VBannerText.mjs";
import { VAvatar } from "../VAvatar/index.mjs";
import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs"; // Composables
import { makeBorderProps, useBorder } from "../../composables/border.mjs";
import { useBackgroundColor } from "../../composables/color.mjs";
import { makeComponentProps } from "../../composables/component.mjs";
import { provideDefaults } from "../../composables/defaults.mjs";
import { makeDensityProps, useDensity } from "../../composables/density.mjs";
import { makeDimensionProps, useDimension } from "../../composables/dimensions.mjs";
import { makeDisplayProps, useDisplay } from "../../composables/display.mjs";
import { makeElevationProps, useElevation } from "../../composables/elevation.mjs";
import { IconValue } from "../../composables/icons.mjs";
import { makeLocationProps, useLocation } from "../../composables/location.mjs";
import { makePositionProps, usePosition } from "../../composables/position.mjs";
import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
import { makeTagProps } from "../../composables/tag.mjs";
import { makeThemeProps, provideTheme } from "../../composables/theme.mjs"; // Utilities
import { toRef } from 'vue';
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
export const makeVBannerProps = propsFactory({
avatar: String,
bgColor: String,
color: String,
icon: IconValue,
lines: String,
stacked: Boolean,
sticky: Boolean,
text: String,
...makeBorderProps(),
...makeComponentProps(),
...makeDensityProps(),
...makeDimensionProps(),
...makeDisplayProps(),
...makeElevationProps(),
...makeLocationProps(),
...makePositionProps(),
...makeRoundedProps(),
...makeTagProps(),
...makeThemeProps()
}, 'VBanner');
export const VBanner = genericComponent()({
name: 'VBanner',
props: makeVBannerProps(),
setup(props, _ref) {
let {
slots
} = _ref;
const {
backgroundColorClasses,
backgroundColorStyles
} = useBackgroundColor(props, 'bgColor');
const {
borderClasses
} = useBorder(props);
const {
densityClasses
} = useDensity(props);
const {
displayClasses,
mobile
} = useDisplay(props);
const {
dimensionStyles
} = useDimension(props);
const {
elevationClasses
} = useElevation(props);
const {
locationStyles
} = useLocation(props);
const {
positionClasses
} = usePosition(props);
const {
roundedClasses
} = useRounded(props);
const {
themeClasses
} = provideTheme(props);
const color = toRef(props, 'color');
const density = toRef(props, 'density');
provideDefaults({
VBannerActions: {
color,
density
}
});
useRender(() => {
const hasText = !!(props.text || slots.text);
const hasPrependMedia = !!(props.avatar || props.icon);
const hasPrepend = !!(hasPrependMedia || slots.prepend);
return _createVNode(props.tag, {
"class": ['v-banner', {
'v-banner--stacked': props.stacked || mobile.value,
'v-banner--sticky': props.sticky,
[`v-banner--${props.lines}-line`]: !!props.lines
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, displayClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class],
"style": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
"role": "banner"
}, {
default: () => [hasPrepend && _createVNode("div", {
"key": "prepend",
"class": "v-banner__prepend"
}, [!slots.prepend ? _createVNode(VAvatar, {
"key": "prepend-avatar",
"color": color.value,
"density": density.value,
"icon": props.icon,
"image": props.avatar
}, null) : _createVNode(VDefaultsProvider, {
"key": "prepend-defaults",
"disabled": !hasPrependMedia,
"defaults": {
VAvatar: {
color: color.value,
density: density.value,
icon: props.icon,
image: props.avatar
}
}
}, slots.prepend)]), _createVNode("div", {
"class": "v-banner__content"
}, [hasText && _createVNode(VBannerText, {
"key": "text"
}, {
default: () => [slots.text?.() ?? props.text]
}), slots.default?.()]), slots.actions && _createVNode(VBannerActions, {
"key": "actions"
}, slots.actions)]
});
});
}
});
//# sourceMappingURL=VBanner.mjs.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,107 @@
@use 'sass:math'
@use '../../styles/tools'
@use './variables' as *
.v-banner
display: grid
flex: 1 1
font-size: $banner-font-size
grid-template-areas: "prepend content actions"
grid-template-columns: max-content auto max-content
grid-template-rows: max-content max-content
line-height: $banner-line-height
overflow: hidden
padding-inline: $banner-padding-inline-start $banner-padding-inline-end
padding-top: $banner-padding * 2
padding-bottom: $banner-padding * 2
position: relative
width: $banner-width
@include tools.border($banner-border...)
@include tools.elevation($banner-elevation)
@include tools.position($banner-positions)
@include tools.rounded($banner-border-radius)
@include tools.theme($banner-theme...)
&--rounded
@include tools.rounded($banner-rounded-border-radius)
&--stacked
&:not(.v-banner--one-line)
grid-template-areas: "prepend content" ". actions"
.v-banner-text
padding-inline-end: $banner-stacked-padding-inline-end
@at-root
@include tools.density('v-banner', $banner-density) using ($modifier)
.v-banner-actions
margin-bottom: -($banner-padding + $modifier)
&.v-banner--one-line
padding-top: $banner-padding + $modifier
padding-bottom: $banner-padding + $modifier
.v-banner-actions
margin-bottom: 0
@if ($modifier == 0px)
&.v-banner--one-line
padding-top: $banner-padding + $modifier + 2
&.v-banner--two-line
padding-top: $banner-padding * 2 + $modifier
padding-bottom: $banner-padding * 2 + $modifier
&.v-banner--three-line
padding-top: $banner-padding * 3 + $modifier
padding-bottom: $banner-padding * 2 + $modifier
&:not(.v-banner--one-line),
&.v-banner--two-line,
&.v-banner--three-line
.v-banner-actions
margin-top: $banner-action-margin + $modifier
&--sticky
top: $banner-sticky-top
.v-banner__content
align-items: center
display: flex
grid-area: content
.v-banner__prepend
align-self: flex-start
grid-area: prepend
margin-inline-end: $banner-prepend-margin-end
.v-banner-actions
align-self: flex-end
display: flex
flex: 0 1
grid-area: actions
justify-content: flex-end
.v-banner--two-line &,
.v-banner--three-line &
margin-top: $banner-actions-line-margin-top
.v-banner-text
-webkit-box-orient: vertical
display: -webkit-box
padding-inline-end: $banner-text-padding-end
overflow: hidden
.v-banner--one-line &
-webkit-line-clamp: 1
.v-banner--two-line &
-webkit-line-clamp: 2
.v-banner--three-line &
-webkit-line-clamp: 3
.v-banner--two-line &,
.v-banner--three-line &
align-self: flex-start

View File

@ -0,0 +1,33 @@
import { createVNode as _createVNode } from "vue";
// Composables
import { makeComponentProps } from "../../composables/component.mjs";
import { provideDefaults } from "../../composables/defaults.mjs"; // Utilities
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs";
export const makeVBannerActionsProps = propsFactory({
color: String,
density: String,
...makeComponentProps()
}, 'VBannerActions');
export const VBannerActions = genericComponent()({
name: 'VBannerActions',
props: makeVBannerActionsProps(),
setup(props, _ref) {
let {
slots
} = _ref;
provideDefaults({
VBtn: {
color: props.color,
density: props.density,
slim: true,
variant: 'text'
}
});
useRender(() => _createVNode("div", {
"class": ['v-banner-actions', props.class],
"style": props.style
}, [slots.default?.()]));
return {};
}
});
//# sourceMappingURL=VBannerActions.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"VBannerActions.mjs","names":["makeComponentProps","provideDefaults","genericComponent","propsFactory","useRender","makeVBannerActionsProps","color","String","density","VBannerActions","name","props","setup","_ref","slots","VBtn","slim","variant","_createVNode","class","style","default"],"sources":["../../../src/components/VBanner/VBannerActions.tsx"],"sourcesContent":["// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVBannerActionsProps = propsFactory({\n color: String,\n density: String,\n\n ...makeComponentProps(),\n}, 'VBannerActions')\n\nexport const VBannerActions = genericComponent()({\n name: 'VBannerActions',\n\n props: makeVBannerActionsProps(),\n\n setup (props, { slots }) {\n provideDefaults({\n VBtn: {\n color: props.color,\n density: props.density,\n slim: true,\n variant: 'text',\n },\n })\n\n useRender(() => (\n <div\n class={[\n 'v-banner-actions',\n props.class,\n ]}\n style={ props.style }\n >\n { slots.default?.() }\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VBannerActions = InstanceType<typeof VBannerActions>\n"],"mappings":";AAAA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,eAAe,0CAExB;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,uBAAuB,GAAGF,YAAY,CAAC;EAClDG,KAAK,EAAEC,MAAM;EACbC,OAAO,EAAED,MAAM;EAEf,GAAGP,kBAAkB,CAAC;AACxB,CAAC,EAAE,gBAAgB,CAAC;AAEpB,OAAO,MAAMS,cAAc,GAAGP,gBAAgB,CAAC,CAAC,CAAC;EAC/CQ,IAAI,EAAE,gBAAgB;EAEtBC,KAAK,EAAEN,uBAAuB,CAAC,CAAC;EAEhCO,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrBZ,eAAe,CAAC;MACdc,IAAI,EAAE;QACJT,KAAK,EAAEK,KAAK,CAACL,KAAK;QAClBE,OAAO,EAAEG,KAAK,CAACH,OAAO;QACtBQ,IAAI,EAAE,IAAI;QACVC,OAAO,EAAE;MACX;IACF,CAAC,CAAC;IAEFb,SAAS,CAAC,MAAAc,YAAA;MAAA,SAEC,CACL,kBAAkB,EAClBP,KAAK,CAACQ,KAAK,CACZ;MAAA,SACOR,KAAK,CAACS;IAAK,IAEjBN,KAAK,CAACO,OAAO,GAAG,CAAC,EAEtB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}

View File

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

View File

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

View File

@ -0,0 +1,46 @@
@use 'sass:map';
@use '../../styles/settings';
@use '../../styles/tools';
// Defaults
$banner-action-margin: 20px !default;
$banner-actions-line-margin-top: 20px !default;
$banner-background: rgb(var(--v-theme-surface)) !default;
$banner-border-color: settings.$border-color-root !default;
$banner-border-radius: map.get(settings.$rounded, 0) !default;
$banner-border-style: settings.$border-style-root !default;
$banner-border-thin-width: thin !default;
$banner-border-width: 0 0 thin 0 !default;
$banner-color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)) !default;
$banner-density: ('default': 0, 'comfortable': -1, 'compact': -2) !default;
$banner-elevation: 0 !default;
$banner-font-size: tools.map-deep-get(settings.$typography, 'body-2', 'size') !default;
$banner-line-height: tools.map-deep-get(settings.$typography, 'subtitle-2', 'line-height') !default;
$banner-padding-inline-start: 16px !default;
$banner-padding-inline-end: 8px !default;
$banner-padding: 8px !default;
$banner-positions: absolute fixed sticky !default;
$banner-prepend-margin-end: 24px !default;
$banner-rounded-border-radius: settings.$border-radius-root !default;
$banner-stacked-padding-inline-end: 36px !default;
$banner-sticky-top: 0 !default;
$banner-text-padding-end: 90px !default;
$banner-width: 100% !default;
// Mobile
$banner-mobile-avatar-margin-end: 16px !default;
$banner-mobile-content-padding-end: 8px !default;
$banner-mobile-padding-end: 8px !default;
$banner-mobile-padding-start: 16px !default;
$banner-border: (
$banner-border-color,
$banner-border-style,
$banner-border-width,
$banner-border-thin-width
) !default;
$banner-theme: (
$banner-background,
$banner-color
) !default;

View File

@ -0,0 +1,574 @@
import * as vue from 'vue';
import { ComponentPropsOptions, ExtractPropTypes, JSXComponent, PropType } from 'vue';
type Density = null | 'default' | 'comfortable' | 'compact';
declare const breakpoints: readonly ["sm", "md", "lg", "xl", "xxl"];
type Breakpoint = typeof breakpoints[number];
type DisplayBreakpoint = 'xs' | Breakpoint;
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 VBanner: {
new (...args: any[]): vue.CreateComponentPublicInstance<{
style: vue.StyleValue;
tag: string;
sticky: boolean;
density: Density;
stacked: boolean;
} & {
location?: Anchor | undefined;
height?: string | number | undefined;
width?: string | number | undefined;
border?: string | number | boolean | 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;
text?: string | undefined;
class?: any;
icon?: IconValue | undefined;
elevation?: string | number | undefined;
theme?: string | undefined;
rounded?: string | number | boolean | undefined;
bgColor?: string | undefined;
mobileBreakpoint?: number | DisplayBreakpoint | undefined;
lines?: "one" | "two" | "three" | undefined;
avatar?: string | undefined;
} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
prepend?: (() => vue.VNodeChild) | undefined;
text?: (() => vue.VNodeChild) | undefined;
actions?: (() => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
prepend?: false | (() => vue.VNodeChild) | undefined;
text?: false | (() => vue.VNodeChild) | undefined;
actions?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:text"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:actions"?: false | (() => vue.VNodeChild) | undefined;
}, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
style: vue.StyleValue;
tag: string;
sticky: boolean;
density: Density;
stacked: boolean;
} & {
location?: Anchor | undefined;
height?: string | number | undefined;
width?: string | number | undefined;
border?: string | number | boolean | 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;
text?: string | undefined;
class?: any;
icon?: IconValue | undefined;
elevation?: string | number | undefined;
theme?: string | undefined;
rounded?: string | number | boolean | undefined;
bgColor?: string | undefined;
mobileBreakpoint?: number | DisplayBreakpoint | undefined;
lines?: "one" | "two" | "three" | undefined;
avatar?: string | undefined;
} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
prepend?: (() => vue.VNodeChild) | undefined;
text?: (() => vue.VNodeChild) | undefined;
actions?: (() => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
prepend?: false | (() => vue.VNodeChild) | undefined;
text?: false | (() => vue.VNodeChild) | undefined;
actions?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:text"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:actions"?: false | (() => vue.VNodeChild) | undefined;
}, {
style: vue.StyleValue;
tag: string;
sticky: boolean;
rounded: string | number | boolean;
density: Density;
stacked: boolean;
}, true, {}, vue.SlotsType<Partial<{
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
prepend: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
text: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
actions: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
}>>, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, {
style: vue.StyleValue;
tag: string;
sticky: boolean;
density: Density;
stacked: boolean;
} & {
location?: Anchor | undefined;
height?: string | number | undefined;
width?: string | number | undefined;
border?: string | number | boolean | 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;
text?: string | undefined;
class?: any;
icon?: IconValue | undefined;
elevation?: string | number | undefined;
theme?: string | undefined;
rounded?: string | number | boolean | undefined;
bgColor?: string | undefined;
mobileBreakpoint?: number | DisplayBreakpoint | undefined;
lines?: "one" | "two" | "three" | undefined;
avatar?: string | undefined;
} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
prepend?: (() => vue.VNodeChild) | undefined;
text?: (() => vue.VNodeChild) | undefined;
actions?: (() => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
prepend?: false | (() => vue.VNodeChild) | undefined;
text?: false | (() => vue.VNodeChild) | undefined;
actions?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:text"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:actions"?: false | (() => vue.VNodeChild) | undefined;
}, {}, {}, {}, {}, {
style: vue.StyleValue;
tag: string;
sticky: boolean;
rounded: string | number | boolean;
density: Density;
stacked: boolean;
}>;
__isFragment?: undefined;
__isTeleport?: undefined;
__isSuspense?: undefined;
} & vue.ComponentOptionsBase<{
style: vue.StyleValue;
tag: string;
sticky: boolean;
density: Density;
stacked: boolean;
} & {
location?: Anchor | undefined;
height?: string | number | undefined;
width?: string | number | undefined;
border?: string | number | boolean | 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;
text?: string | undefined;
class?: any;
icon?: IconValue | undefined;
elevation?: string | number | undefined;
theme?: string | undefined;
rounded?: string | number | boolean | undefined;
bgColor?: string | undefined;
mobileBreakpoint?: number | DisplayBreakpoint | undefined;
lines?: "one" | "two" | "three" | undefined;
avatar?: string | undefined;
} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
prepend?: (() => vue.VNodeChild) | undefined;
text?: (() => vue.VNodeChild) | undefined;
actions?: (() => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
prepend?: false | (() => vue.VNodeChild) | undefined;
text?: false | (() => vue.VNodeChild) | undefined;
actions?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:text"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:actions"?: false | (() => vue.VNodeChild) | undefined;
}, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
style: vue.StyleValue;
tag: string;
sticky: boolean;
rounded: string | number | boolean;
density: Density;
stacked: boolean;
}, {}, string, vue.SlotsType<Partial<{
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
prepend: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
text: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
actions: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
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;
};
mobileBreakpoint: PropType<number | DisplayBreakpoint>;
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: (StringConstructor | BooleanConstructor | NumberConstructor)[];
avatar: StringConstructor;
bgColor: StringConstructor;
color: StringConstructor;
icon: PropType<IconValue>;
lines: PropType<"one" | "two" | "three">;
stacked: BooleanConstructor;
sticky: BooleanConstructor;
text: StringConstructor;
}, vue.ExtractPropTypes<{
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;
};
mobileBreakpoint: PropType<number | DisplayBreakpoint>;
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: (StringConstructor | BooleanConstructor | NumberConstructor)[];
avatar: StringConstructor;
bgColor: StringConstructor;
color: StringConstructor;
icon: PropType<IconValue>;
lines: PropType<"one" | "two" | "three">;
stacked: BooleanConstructor;
sticky: BooleanConstructor;
text: StringConstructor;
}>>;
type VBanner = InstanceType<typeof VBanner>;
declare const VBannerActions: {
new (...args: any[]): vue.CreateComponentPublicInstance<{
style: vue.StyleValue;
} & {
color?: string | undefined;
class?: any;
density?: string | undefined;
} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
style: vue.StyleValue;
} & {
color?: string | undefined;
class?: any;
density?: string | undefined;
} & {
$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;
}, true, {}, vue.SlotsType<Partial<{
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
}>>, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, {
style: vue.StyleValue;
} & {
color?: string | undefined;
class?: any;
density?: string | undefined;
} & {
$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;
}>;
__isFragment?: undefined;
__isTeleport?: undefined;
__isSuspense?: undefined;
} & vue.ComponentOptionsBase<{
style: vue.StyleValue;
} & {
color?: string | undefined;
class?: any;
density?: string | undefined;
} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
style: vue.StyleValue;
}, {}, 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;
};
color: StringConstructor;
density: StringConstructor;
}, vue.ExtractPropTypes<{
class: vue.PropType<any>;
style: {
type: vue.PropType<vue.StyleValue>;
default: null;
};
color: StringConstructor;
density: StringConstructor;
}>>;
type VBannerActions = InstanceType<typeof VBannerActions>;
declare const VBannerText: {
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 VBannerText = InstanceType<typeof VBannerText>;
export { VBanner, VBannerActions, VBannerText };

View File

@ -0,0 +1,4 @@
export { VBanner } from "./VBanner.mjs";
export { VBannerActions } from "./VBannerActions.mjs";
export { VBannerText } from "./VBannerText.mjs";
//# sourceMappingURL=index.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"index.mjs","names":["VBanner","VBannerActions","VBannerText"],"sources":["../../../src/components/VBanner/index.ts"],"sourcesContent":["export { VBanner } from './VBanner'\nexport { VBannerActions } from './VBannerActions'\nexport { VBannerText } from './VBannerText'\n"],"mappings":"SAASA,OAAO;AAAA,SACPC,cAAc;AAAA,SACdC,WAAW"}