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,128 @@
.v-toolbar {
align-items: flex-start;
display: flex;
flex: none;
flex-direction: column;
justify-content: space-between;
max-width: 100%;
overflow: hidden;
position: relative;
transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
transition-property: height, width, transform, max-width, left, right, top, bottom, box-shadow;
width: 100%;
border-color: rgba(var(--v-border-color), var(--v-border-opacity));
border-style: solid;
border-width: 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-light));
color: rgba(var(--v-theme-on-surface-light), var(--v-high-emphasis-opacity));
}
.v-toolbar--border {
border-width: thin;
box-shadow: none;
}
.v-toolbar--absolute {
position: absolute;
}
.v-toolbar--collapse {
max-width: 112px;
overflow: hidden;
border-end-end-radius: 24px;
}
.v-toolbar--collapse .v-toolbar-title {
display: none;
}
.v-toolbar--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-toolbar--floating {
display: inline-flex;
}
.v-toolbar--rounded {
border-radius: 4px;
}
.v-toolbar__content,
.v-toolbar__extension {
align-items: center;
display: flex;
flex: 0 0 auto;
position: relative;
transition: inherit;
width: 100%;
}
.v-toolbar__content > .v-btn:first-child {
margin-inline-start: 10px;
}
.v-toolbar__content > .v-btn:last-child {
margin-inline-end: 10px;
}
.v-toolbar__content > .v-toolbar-title {
margin-inline-start: 16px;
}
.v-toolbar--density-prominent .v-toolbar__content {
align-items: flex-start;
}
.v-toolbar__image {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
opacity: var(--v-toolbar-image-opacity, 1);
transition-property: opacity;
}
.v-toolbar__prepend,
.v-toolbar__append {
align-items: center;
align-self: stretch;
display: flex;
}
.v-toolbar__prepend {
margin-inline: 10px auto;
}
.v-toolbar__append {
margin-inline: auto 10px;
}
.v-toolbar-title {
flex: 1 1;
font-size: 1.25rem;
min-width: 0;
font-size: 1.25rem;
font-weight: 400;
letter-spacing: 0;
line-height: 1.75rem;
text-transform: none;
}
.v-toolbar--density-prominent .v-toolbar-title {
align-self: flex-end;
padding-bottom: 6px;
font-size: 1.5rem;
font-weight: 400;
letter-spacing: 0;
line-height: 2.25rem;
text-transform: none;
}
.v-toolbar-title__placeholder {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.v-toolbar-items {
display: flex;
height: inherit;
align-self: stretch;
}
.v-toolbar-items > .v-btn {
border-radius: 0;
}

View File

@ -0,0 +1,164 @@
import { resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
// Styles
import "./VToolbar.css";
// Components
import { VToolbarTitle } from "./VToolbarTitle.mjs";
import { VExpandTransition } from "../transitions/index.mjs";
import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs";
import { VImg } from "../VImg/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 { makeElevationProps, useElevation } from "../../composables/elevation.mjs";
import { useRtl } from "../../composables/locale.mjs";
import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
import { makeTagProps } from "../../composables/tag.mjs";
import { makeThemeProps, provideTheme } from "../../composables/theme.mjs"; // Utilities
import { computed, shallowRef, toRef } from 'vue';
import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
const allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'];
export const makeVToolbarProps = propsFactory({
absolute: Boolean,
collapse: Boolean,
color: String,
density: {
type: String,
default: 'default',
validator: v => allowedDensities.includes(v)
},
extended: Boolean,
extensionHeight: {
type: [Number, String],
default: 48
},
flat: Boolean,
floating: Boolean,
height: {
type: [Number, String],
default: 64
},
image: String,
title: String,
...makeBorderProps(),
...makeComponentProps(),
...makeElevationProps(),
...makeRoundedProps(),
...makeTagProps({
tag: 'header'
}),
...makeThemeProps()
}, 'VToolbar');
export const VToolbar = genericComponent()({
name: 'VToolbar',
props: makeVToolbarProps(),
setup(props, _ref) {
let {
slots
} = _ref;
const {
backgroundColorClasses,
backgroundColorStyles
} = useBackgroundColor(toRef(props, 'color'));
const {
borderClasses
} = useBorder(props);
const {
elevationClasses
} = useElevation(props);
const {
roundedClasses
} = useRounded(props);
const {
themeClasses
} = provideTheme(props);
const {
rtlClasses
} = useRtl();
const isExtended = shallowRef(!!(props.extended || slots.extension?.()));
const contentHeight = computed(() => parseInt(Number(props.height) + (props.density === 'prominent' ? Number(props.height) : 0) - (props.density === 'comfortable' ? 8 : 0) - (props.density === 'compact' ? 16 : 0), 10));
const extensionHeight = computed(() => isExtended.value ? parseInt(Number(props.extensionHeight) + (props.density === 'prominent' ? Number(props.extensionHeight) : 0) - (props.density === 'comfortable' ? 4 : 0) - (props.density === 'compact' ? 8 : 0), 10) : 0);
provideDefaults({
VBtn: {
variant: 'text'
}
});
useRender(() => {
const hasTitle = !!(props.title || slots.title);
const hasImage = !!(slots.image || props.image);
const extension = slots.extension?.();
isExtended.value = !!(props.extended || extension);
return _createVNode(props.tag, {
"class": ['v-toolbar', {
'v-toolbar--absolute': props.absolute,
'v-toolbar--collapse': props.collapse,
'v-toolbar--flat': props.flat,
'v-toolbar--floating': props.floating,
[`v-toolbar--density-${props.density}`]: true
}, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class],
"style": [backgroundColorStyles.value, props.style]
}, {
default: () => [hasImage && _createVNode("div", {
"key": "image",
"class": "v-toolbar__image"
}, [!slots.image ? _createVNode(VImg, {
"key": "image-img",
"cover": true,
"src": props.image
}, null) : _createVNode(VDefaultsProvider, {
"key": "image-defaults",
"disabled": !props.image,
"defaults": {
VImg: {
cover: true,
src: props.image
}
}
}, slots.image)]), _createVNode(VDefaultsProvider, {
"defaults": {
VTabs: {
height: convertToUnit(contentHeight.value)
}
}
}, {
default: () => [_createVNode("div", {
"class": "v-toolbar__content",
"style": {
height: convertToUnit(contentHeight.value)
}
}, [slots.prepend && _createVNode("div", {
"class": "v-toolbar__prepend"
}, [slots.prepend?.()]), hasTitle && _createVNode(VToolbarTitle, {
"key": "title",
"text": props.title
}, {
text: slots.title
}), slots.default?.(), slots.append && _createVNode("div", {
"class": "v-toolbar__append"
}, [slots.append?.()])])]
}), _createVNode(VDefaultsProvider, {
"defaults": {
VTabs: {
height: convertToUnit(extensionHeight.value)
}
}
}, {
default: () => [_createVNode(VExpandTransition, null, {
default: () => [isExtended.value && _createVNode("div", {
"class": "v-toolbar__extension",
"style": {
height: convertToUnit(extensionHeight.value)
}
}, [extension])]
})]
})]
});
});
return {
contentHeight,
extensionHeight
};
}
});
//# sourceMappingURL=VToolbar.mjs.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,108 @@
@use '../../styles/tools'
@use './variables' as *
// Block
.v-toolbar
align-items: flex-start
display: flex
flex: $toolbar-flex
flex-direction: column
justify-content: space-between
max-width: 100%
overflow: hidden
position: relative
transition: $toolbar-transition
transition-property: height, width, transform, max-width, left, right, top, bottom, box-shadow
width: 100%
@include tools.border($toolbar-border...)
@include tools.elevation($toolbar-elevation)
@include tools.rounded($toolbar-border-radius)
@include tools.theme($toolbar-theme...)
&--absolute
position: absolute
&--collapse
max-width: $toolbar-collapsed-max-width
overflow: hidden
border-end-end-radius: $toolbar-collapsed-border-radius
.v-toolbar-title
display: none
&--flat
@include tools.elevation($toolbar-flat-elevation)
&--floating
display: inline-flex
&--rounded
@include tools.rounded($toolbar-rounded-border-radius)
.v-toolbar__content,
.v-toolbar__extension
align-items: center
display: flex
flex: 0 0 auto
position: relative
transition: inherit
width: 100%
.v-toolbar__content
> .v-btn:first-child
margin-inline-start: $toolbar-prepend-btn-margin-start
> .v-btn:last-child
margin-inline-end: $toolbar-append-btn-margin-end
> .v-toolbar-title
margin-inline-start: $toolbar-title-margin
.v-toolbar--density-prominent &
align-items: flex-start
.v-toolbar__image
@include tools.absolute()
display: flex
opacity: var(--v-toolbar-image-opacity, 1)
transition-property: opacity
.v-toolbar__prepend,
.v-toolbar__append
align-items: center
align-self: stretch
display: flex
.v-toolbar__prepend
margin-inline: $toolbar-prepend-btn-margin-start auto
.v-toolbar__append
margin-inline: auto $toolbar-append-btn-margin-end
.v-toolbar-title
flex: 1 1
font-size: $toolbar-title-font-size
min-width: 0
@include tools.typography($toolbar-title-typography...)
.v-toolbar--density-prominent &
align-self: flex-end
padding-bottom: 6px
@include tools.typography($toolbar-prominent-title-typography...)
.v-toolbar-title__placeholder
overflow: hidden
text-overflow: ellipsis
white-space: nowrap
.v-toolbar-items
display: flex
height: inherit
align-self: stretch
> .v-btn
border-radius: 0

View File

@ -0,0 +1,35 @@
import { createVNode as _createVNode } from "vue";
// Composables
import { makeComponentProps } from "../../composables/component.mjs";
import { provideDefaults } from "../../composables/defaults.mjs";
import { makeVariantProps } from "../../composables/variant.mjs"; // Utilities
import { toRef } from 'vue';
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs";
export const makeVToolbarItemsProps = propsFactory({
...makeComponentProps(),
...makeVariantProps({
variant: 'text'
})
}, 'VToolbarItems');
export const VToolbarItems = genericComponent()({
name: 'VToolbarItems',
props: makeVToolbarItemsProps(),
setup(props, _ref) {
let {
slots
} = _ref;
provideDefaults({
VBtn: {
color: toRef(props, 'color'),
height: 'inherit',
variant: toRef(props, 'variant')
}
});
useRender(() => _createVNode("div", {
"class": ['v-toolbar-items', props.class],
"style": props.style
}, [slots.default?.()]));
return {};
}
});
//# sourceMappingURL=VToolbarItems.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"VToolbarItems.mjs","names":["makeComponentProps","provideDefaults","makeVariantProps","toRef","genericComponent","propsFactory","useRender","makeVToolbarItemsProps","variant","VToolbarItems","name","props","setup","_ref","slots","VBtn","color","height","_createVNode","class","style","default"],"sources":["../../../src/components/VToolbar/VToolbarItems.tsx"],"sourcesContent":["// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeVariantProps } from '@/composables/variant'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVToolbarItemsProps = propsFactory({\n ...makeComponentProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n}, 'VToolbarItems')\n\nexport const VToolbarItems = genericComponent()({\n name: 'VToolbarItems',\n\n props: makeVToolbarItemsProps(),\n\n setup (props, { slots }) {\n provideDefaults({\n VBtn: {\n color: toRef(props, 'color'),\n height: 'inherit',\n variant: toRef(props, 'variant'),\n },\n })\n\n useRender(() => (\n <div\n class={[\n 'v-toolbar-items',\n props.class,\n ]}\n style={ props.style }\n >\n { slots.default?.() }\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VToolbarItems = InstanceType<typeof VToolbarItems>\n"],"mappings":";AAAA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,eAAe;AAAA,SACfC,gBAAgB,yCAEzB;AACA,SAASC,KAAK,QAAQ,KAAK;AAAA,SAClBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,sBAAsB,GAAGF,YAAY,CAAC;EACjD,GAAGL,kBAAkB,CAAC,CAAC;EACvB,GAAGE,gBAAgB,CAAC;IAAEM,OAAO,EAAE;EAAO,CAAU;AAClD,CAAC,EAAE,eAAe,CAAC;AAEnB,OAAO,MAAMC,aAAa,GAAGL,gBAAgB,CAAC,CAAC,CAAC;EAC9CM,IAAI,EAAE,eAAe;EAErBC,KAAK,EAAEJ,sBAAsB,CAAC,CAAC;EAE/BK,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrBZ,eAAe,CAAC;MACdc,IAAI,EAAE;QACJC,KAAK,EAAEb,KAAK,CAACQ,KAAK,EAAE,OAAO,CAAC;QAC5BM,MAAM,EAAE,SAAS;QACjBT,OAAO,EAAEL,KAAK,CAACQ,KAAK,EAAE,SAAS;MACjC;IACF,CAAC,CAAC;IAEFL,SAAS,CAAC,MAAAY,YAAA;MAAA,SAEC,CACL,iBAAiB,EACjBP,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,32 @@
import { createVNode as _createVNode } from "vue";
// Composables
import { makeComponentProps } from "../../composables/component.mjs";
import { makeTagProps } from "../../composables/tag.mjs"; // Utilities
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs";
export const makeVToolbarTitleProps = propsFactory({
text: String,
...makeComponentProps(),
...makeTagProps()
}, 'VToolbarTitle');
export const VToolbarTitle = genericComponent()({
name: 'VToolbarTitle',
props: makeVToolbarTitleProps(),
setup(props, _ref) {
let {
slots
} = _ref;
useRender(() => {
const hasText = !!(slots.default || slots.text || props.text);
return _createVNode(props.tag, {
"class": ['v-toolbar-title', props.class],
"style": props.style
}, {
default: () => [hasText && _createVNode("div", {
"class": "v-toolbar-title__placeholder"
}, [slots.text ? slots.text() : props.text, slots.default?.()])]
});
});
return {};
}
});
//# sourceMappingURL=VToolbarTitle.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"VToolbarTitle.mjs","names":["makeComponentProps","makeTagProps","genericComponent","propsFactory","useRender","makeVToolbarTitleProps","text","String","VToolbarTitle","name","props","setup","_ref","slots","hasText","default","_createVNode","tag","class","style"],"sources":["../../../src/components/VToolbar/VToolbarTitle.tsx"],"sourcesContent":["// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVToolbarTitleProps = propsFactory({\n text: String,\n\n ...makeComponentProps(),\n ...makeTagProps(),\n}, 'VToolbarTitle')\n\nexport type VToolbarTitleSlots = {\n default: never\n text: never\n}\n\nexport const VToolbarTitle = genericComponent<VToolbarTitleSlots>()({\n name: 'VToolbarTitle',\n\n props: makeVToolbarTitleProps(),\n\n setup (props, { slots }) {\n useRender(() => {\n const hasText = !!(slots.default || slots.text || props.text)\n\n return (\n <props.tag\n class={[\n 'v-toolbar-title',\n props.class,\n ]}\n style={ props.style }\n >\n { hasText && (\n <div class=\"v-toolbar-title__placeholder\">\n { slots.text ? slots.text() : props.text }\n\n { slots.default?.() }\n </div>\n )}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VToolbarTitle = InstanceType<typeof VToolbarTitle>\n"],"mappings":";AAAA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,YAAY,qCAErB;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,sBAAsB,GAAGF,YAAY,CAAC;EACjDG,IAAI,EAAEC,MAAM;EAEZ,GAAGP,kBAAkB,CAAC,CAAC;EACvB,GAAGC,YAAY,CAAC;AAClB,CAAC,EAAE,eAAe,CAAC;AAOnB,OAAO,MAAMO,aAAa,GAAGN,gBAAgB,CAAqB,CAAC,CAAC;EAClEO,IAAI,EAAE,eAAe;EAErBC,KAAK,EAAEL,sBAAsB,CAAC,CAAC;EAE/BM,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrBR,SAAS,CAAC,MAAM;MACd,MAAMU,OAAO,GAAG,CAAC,EAAED,KAAK,CAACE,OAAO,IAAIF,KAAK,CAACP,IAAI,IAAII,KAAK,CAACJ,IAAI,CAAC;MAE7D,OAAAU,YAAA,CAAAN,KAAA,CAAAO,GAAA;QAAA,SAEW,CACL,iBAAiB,EACjBP,KAAK,CAACQ,KAAK,CACZ;QAAA,SACOR,KAAK,CAACS;MAAK;QAAAJ,OAAA,EAAAA,CAAA,MAEjBD,OAAO,IAAAE,YAAA;UAAA;QAAA,IAEHH,KAAK,CAACP,IAAI,GAAGO,KAAK,CAACP,IAAI,CAAC,CAAC,GAAGI,KAAK,CAACJ,IAAI,EAEtCO,KAAK,CAACE,OAAO,GAAG,CAAC,EAEtB;MAAA;IAGP,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}

View File

@ -0,0 +1,71 @@
@use "sass:map";
@use '../../styles/settings';
@use "../../styles/settings/variables";
@use "../../styles/tools/functions";
// VToolbar
$toolbar-background: rgb(var(--v-theme-surface-light)) !default;
$toolbar-color: rgba(var(--v-theme-on-surface-light), var(--v-high-emphasis-opacity)) !default;
$toolbar-border-color: settings.$border-color-root !default;
$toolbar-border-radius: map.get(settings.$rounded, 0) !default;
$toolbar-border-style: settings.$border-style-root !default;
$toolbar-border-thin-width: thin !default;
$toolbar-border-width: 0 !default;
$toolbar-btn-icon-size: 48px !default;
$toolbar-collapsed-border-radius: 24px !default;
$toolbar-collapsed-max-width: 112px !default;
$toolbar-elevation: 0 !default;
$toolbar-flat-elevation: 0 !default;
$toolbar-flex: none !default;
$toolbar-prepend-btn-margin-start: 10px !default;
$toolbar-append-btn-margin-end: 10px !default;
$toolbar-rounded-border-radius: variables.$border-radius-root !default;
$toolbar-transition: .2s variables.$standard-easing !default;
// VToolbarTitle
$toolbar-title-margin: 16px !default;
$toolbar-title-font-size: 1.25rem !default;
$toolbar-title-font-weight: 400 !default;
$toolbar-title-letter-spacing: 0 !default;
$toolbar-title-line-height: 1.75rem !default;
$toolbar-title-text-transform: none !default;
$toolbar-prominent-title-font-size: 1.5rem !default;
$toolbar-prominent-title-font-weight: 400 !default;
$toolbar-prominent-title-letter-spacing: 0 !default;
$toolbar-prominent-title-line-height: 2.25rem !default;
$toolbar-prominent-title-text-transform: none !default;
// Lists
$toolbar-border: (
$toolbar-border-color,
$toolbar-border-style,
$toolbar-border-width,
$toolbar-border-thin-width
) !default;
$toolbar-title-typography: (
$toolbar-title-font-size,
$toolbar-title-font-weight,
$toolbar-title-letter-spacing,
$toolbar-title-line-height,
$toolbar-title-text-transform
) !default;
$toolbar-prominent-title-typography: (
$toolbar-prominent-title-font-size,
$toolbar-prominent-title-font-weight,
$toolbar-prominent-title-letter-spacing,
$toolbar-prominent-title-line-height,
$toolbar-prominent-title-text-transform
) !default;
$toolbar-theme: (
$toolbar-background,
$toolbar-color
) !default;
// Deprecated
$toolbar-content-padding-x: 16px !default;
$toolbar-content-padding-y: 4px !default;
$toolbar-title-extended-padding: 56px !default;

View File

@ -0,0 +1,625 @@
import * as vue from 'vue';
import { ComponentPropsOptions, ExtractPropTypes, PropType } from 'vue';
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 Density = null | 'prominent' | 'default' | 'comfortable' | 'compact';
declare const VToolbar: {
new (...args: any[]): vue.CreateComponentPublicInstance<{
flat: boolean;
absolute: boolean;
height: string | number;
style: vue.StyleValue;
tag: string;
collapse: boolean;
density: Density;
extended: boolean;
extensionHeight: string | number;
floating: boolean;
} & {
border?: string | number | boolean | undefined;
color?: string | undefined;
title?: string | undefined;
image?: 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;
image?: (() => vue.VNodeChild) | undefined;
prepend?: (() => vue.VNodeChild) | undefined;
append?: (() => vue.VNodeChild) | undefined;
title?: (() => vue.VNodeChild) | undefined;
extension?: (() => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
image?: false | (() => vue.VNodeChild) | undefined;
prepend?: false | (() => vue.VNodeChild) | undefined;
append?: false | (() => vue.VNodeChild) | undefined;
title?: false | (() => vue.VNodeChild) | undefined;
extension?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:image"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:title"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:extension"?: false | (() => vue.VNodeChild) | undefined;
}, {
contentHeight: vue.ComputedRef<number>;
extensionHeight: vue.ComputedRef<number>;
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
flat: boolean;
absolute: boolean;
height: string | number;
style: vue.StyleValue;
tag: string;
collapse: boolean;
density: Density;
extended: boolean;
extensionHeight: string | number;
floating: boolean;
} & {
border?: string | number | boolean | undefined;
color?: string | undefined;
title?: string | undefined;
image?: 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;
image?: (() => vue.VNodeChild) | undefined;
prepend?: (() => vue.VNodeChild) | undefined;
append?: (() => vue.VNodeChild) | undefined;
title?: (() => vue.VNodeChild) | undefined;
extension?: (() => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
image?: false | (() => vue.VNodeChild) | undefined;
prepend?: false | (() => vue.VNodeChild) | undefined;
append?: false | (() => vue.VNodeChild) | undefined;
title?: false | (() => vue.VNodeChild) | undefined;
extension?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:image"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:title"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:extension"?: false | (() => vue.VNodeChild) | undefined;
}, {
flat: boolean;
absolute: boolean;
height: string | number;
style: vue.StyleValue;
tag: string;
collapse: boolean;
rounded: string | number | boolean;
density: Density;
extended: boolean;
extensionHeight: string | number;
floating: boolean;
}, true, {}, vue.SlotsType<Partial<{
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
image: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
prepend: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
append: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
title: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
extension: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
}>>, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, {
flat: boolean;
absolute: boolean;
height: string | number;
style: vue.StyleValue;
tag: string;
collapse: boolean;
density: Density;
extended: boolean;
extensionHeight: string | number;
floating: boolean;
} & {
border?: string | number | boolean | undefined;
color?: string | undefined;
title?: string | undefined;
image?: 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;
image?: (() => vue.VNodeChild) | undefined;
prepend?: (() => vue.VNodeChild) | undefined;
append?: (() => vue.VNodeChild) | undefined;
title?: (() => vue.VNodeChild) | undefined;
extension?: (() => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
image?: false | (() => vue.VNodeChild) | undefined;
prepend?: false | (() => vue.VNodeChild) | undefined;
append?: false | (() => vue.VNodeChild) | undefined;
title?: false | (() => vue.VNodeChild) | undefined;
extension?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:image"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:title"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:extension"?: false | (() => vue.VNodeChild) | undefined;
}, {
contentHeight: vue.ComputedRef<number>;
extensionHeight: vue.ComputedRef<number>;
}, {}, {}, {}, {
flat: boolean;
absolute: boolean;
height: string | number;
style: vue.StyleValue;
tag: string;
collapse: boolean;
rounded: string | number | boolean;
density: Density;
extended: boolean;
extensionHeight: string | number;
floating: boolean;
}>;
__isFragment?: undefined;
__isTeleport?: undefined;
__isSuspense?: undefined;
} & vue.ComponentOptionsBase<{
flat: boolean;
absolute: boolean;
height: string | number;
style: vue.StyleValue;
tag: string;
collapse: boolean;
density: Density;
extended: boolean;
extensionHeight: string | number;
floating: boolean;
} & {
border?: string | number | boolean | undefined;
color?: string | undefined;
title?: string | undefined;
image?: 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;
image?: (() => vue.VNodeChild) | undefined;
prepend?: (() => vue.VNodeChild) | undefined;
append?: (() => vue.VNodeChild) | undefined;
title?: (() => vue.VNodeChild) | undefined;
extension?: (() => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
image?: false | (() => vue.VNodeChild) | undefined;
prepend?: false | (() => vue.VNodeChild) | undefined;
append?: false | (() => vue.VNodeChild) | undefined;
title?: false | (() => vue.VNodeChild) | undefined;
extension?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:image"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:title"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:extension"?: false | (() => vue.VNodeChild) | undefined;
}, {
contentHeight: vue.ComputedRef<number>;
extensionHeight: vue.ComputedRef<number>;
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
flat: boolean;
absolute: boolean;
height: string | number;
style: vue.StyleValue;
tag: string;
collapse: boolean;
rounded: string | number | boolean;
density: Density;
extended: boolean;
extensionHeight: string | number;
floating: boolean;
}, {}, string, vue.SlotsType<Partial<{
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
image: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
prepend: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
append: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
title: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
extension: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
theme: StringConstructor;
tag: Omit<{
type: StringConstructor;
default: string;
}, "type" | "default"> & {
type: PropType<string>;
default: string;
};
rounded: {
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
default: undefined;
};
elevation: {
type: (StringConstructor | NumberConstructor)[];
validator(v: any): boolean;
};
class: PropType<any>;
style: {
type: PropType<vue.StyleValue>;
default: null;
};
border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
absolute: BooleanConstructor;
collapse: BooleanConstructor;
color: StringConstructor;
density: {
type: PropType<Density>;
default: string;
validator: (v: any) => boolean;
};
extended: BooleanConstructor;
extensionHeight: {
type: (StringConstructor | NumberConstructor)[];
default: number;
};
flat: BooleanConstructor;
floating: BooleanConstructor;
height: {
type: (StringConstructor | NumberConstructor)[];
default: number;
};
image: StringConstructor;
title: StringConstructor;
}, vue.ExtractPropTypes<{
theme: StringConstructor;
tag: Omit<{
type: StringConstructor;
default: string;
}, "type" | "default"> & {
type: PropType<string>;
default: string;
};
rounded: {
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
default: undefined;
};
elevation: {
type: (StringConstructor | NumberConstructor)[];
validator(v: any): boolean;
};
class: PropType<any>;
style: {
type: PropType<vue.StyleValue>;
default: null;
};
border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
absolute: BooleanConstructor;
collapse: BooleanConstructor;
color: StringConstructor;
density: {
type: PropType<Density>;
default: string;
validator: (v: any) => boolean;
};
extended: BooleanConstructor;
extensionHeight: {
type: (StringConstructor | NumberConstructor)[];
default: number;
};
flat: BooleanConstructor;
floating: BooleanConstructor;
height: {
type: (StringConstructor | NumberConstructor)[];
default: number;
};
image: StringConstructor;
title: StringConstructor;
}>>;
type VToolbar = InstanceType<typeof VToolbar>;
declare const VToolbarTitle: {
new (...args: any[]): vue.CreateComponentPublicInstance<{
style: vue.StyleValue;
tag: string;
} & {
text?: string | undefined;
class?: any;
} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
text?: (() => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
text?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:text"?: false | (() => vue.VNodeChild) | undefined;
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
style: vue.StyleValue;
tag: string;
} & {
text?: string | undefined;
class?: any;
} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
text?: (() => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
text?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:text"?: false | (() => vue.VNodeChild) | undefined;
}, {
style: vue.StyleValue;
tag: string;
}, true, {}, vue.SlotsType<Partial<{
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
text: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
}>>, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, {
style: vue.StyleValue;
tag: string;
} & {
text?: string | undefined;
class?: any;
} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
text?: (() => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
text?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:text"?: false | (() => vue.VNodeChild) | undefined;
}, {}, {}, {}, {}, {
style: vue.StyleValue;
tag: string;
}>;
__isFragment?: undefined;
__isTeleport?: undefined;
__isSuspense?: undefined;
} & vue.ComponentOptionsBase<{
style: vue.StyleValue;
tag: string;
} & {
text?: string | undefined;
class?: any;
} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
text?: (() => vue.VNodeChild) | undefined;
};
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
text?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:text"?: false | (() => vue.VNodeChild) | undefined;
}, {}, 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;
}>[];
text: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
tag: {
type: StringConstructor;
default: string;
};
class: vue.PropType<any>;
style: {
type: vue.PropType<vue.StyleValue>;
default: null;
};
text: StringConstructor;
}, vue.ExtractPropTypes<{
tag: {
type: StringConstructor;
default: string;
};
class: vue.PropType<any>;
style: {
type: vue.PropType<vue.StyleValue>;
default: null;
};
text: StringConstructor;
}>>;
type VToolbarTitle = InstanceType<typeof VToolbarTitle>;
declare const VToolbarItems: {
new (...args: any[]): vue.CreateComponentPublicInstance<{
variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
style: vue.StyleValue;
} & {
color?: string | undefined;
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;
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
style: vue.StyleValue;
} & {
color?: string | undefined;
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;
}, {
variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
style: vue.StyleValue;
}, true, {}, vue.SlotsType<Partial<{
default: () => 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;
} & {
color?: string | undefined;
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;
}, {}, {}, {}, {}, {
variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
style: vue.StyleValue;
}>;
__isFragment?: undefined;
__isTeleport?: undefined;
__isSuspense?: undefined;
} & vue.ComponentOptionsBase<{
variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
style: vue.StyleValue;
} & {
color?: string | undefined;
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;
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
style: vue.StyleValue;
}, {}, string, vue.SlotsType<Partial<{
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
color: StringConstructor;
variant: Omit<{
type: vue.PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
default: string;
validator: (v: any) => boolean;
}, "type" | "default"> & {
type: vue.PropType<NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">>;
default: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
};
class: vue.PropType<any>;
style: {
type: vue.PropType<vue.StyleValue>;
default: null;
};
}, vue.ExtractPropTypes<{
color: StringConstructor;
variant: Omit<{
type: vue.PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
default: string;
validator: (v: any) => boolean;
}, "type" | "default"> & {
type: vue.PropType<NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">>;
default: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
};
class: vue.PropType<any>;
style: {
type: vue.PropType<vue.StyleValue>;
default: null;
};
}>>;
type VToolbarItems = InstanceType<typeof VToolbarItems>;
export { VToolbar, VToolbarItems, VToolbarTitle };

View File

@ -0,0 +1,4 @@
export { VToolbar } from "./VToolbar.mjs";
export { VToolbarTitle } from "./VToolbarTitle.mjs";
export { VToolbarItems } from "./VToolbarItems.mjs";
//# sourceMappingURL=index.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"index.mjs","names":["VToolbar","VToolbarTitle","VToolbarItems"],"sources":["../../../src/components/VToolbar/index.ts"],"sourcesContent":["export { VToolbar } from './VToolbar'\nexport { VToolbarTitle } from './VToolbarTitle'\nexport { VToolbarItems } from './VToolbarItems'\n"],"mappings":"SAASA,QAAQ;AAAA,SACRC,aAAa;AAAA,SACbC,aAAa"}