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,29 @@
.v-main {
flex: 1 0 auto;
max-width: 100%;
transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
padding-left: var(--v-layout-left);
padding-right: var(--v-layout-right);
padding-top: var(--v-layout-top);
padding-bottom: var(--v-layout-bottom);
}
.v-main__scroller {
max-width: 100%;
position: relative;
}
.v-main--scrollable {
display: flex;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.v-main--scrollable > .v-main__scroller {
flex: 1 1 auto;
overflow-y: auto;
--v-layout-left: 0px;
--v-layout-right: 0px;
--v-layout-top: 0px;
--v-layout-bottom: 0px;
}

View File

@ -0,0 +1,44 @@
import { createVNode as _createVNode } from "vue";
// Styles
import "./VMain.css";
// Composables
import { makeComponentProps } from "../../composables/component.mjs";
import { useLayout } from "../../composables/layout.mjs";
import { useSsrBoot } from "../../composables/ssrBoot.mjs";
import { makeTagProps } from "../../composables/tag.mjs"; // Utilities
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs";
export const makeVMainProps = propsFactory({
scrollable: Boolean,
...makeComponentProps(),
...makeTagProps({
tag: 'main'
})
}, 'VMain');
export const VMain = genericComponent()({
name: 'VMain',
props: makeVMainProps(),
setup(props, _ref) {
let {
slots
} = _ref;
const {
mainStyles
} = useLayout();
const {
ssrBootStyles
} = useSsrBoot();
useRender(() => _createVNode(props.tag, {
"class": ['v-main', {
'v-main--scrollable': props.scrollable
}, props.class],
"style": [mainStyles.value, ssrBootStyles.value, props.style]
}, {
default: () => [props.scrollable ? _createVNode("div", {
"class": "v-main__scroller"
}, [slots.default?.()]) : slots.default?.()]
}));
return {};
}
});
//# sourceMappingURL=VMain.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"VMain.mjs","names":["makeComponentProps","useLayout","useSsrBoot","makeTagProps","genericComponent","propsFactory","useRender","makeVMainProps","scrollable","Boolean","tag","VMain","name","props","setup","_ref","slots","mainStyles","ssrBootStyles","_createVNode","class","value","style","default"],"sources":["../../../src/components/VMain/VMain.tsx"],"sourcesContent":["// Styles\nimport './VMain.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useLayout } from '@/composables/layout'\nimport { useSsrBoot } from '@/composables/ssrBoot'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVMainProps = propsFactory({\n scrollable: Boolean,\n\n ...makeComponentProps(),\n ...makeTagProps({ tag: 'main' }),\n}, 'VMain')\n\nexport const VMain = genericComponent()({\n name: 'VMain',\n\n props: makeVMainProps(),\n\n setup (props, { slots }) {\n const { mainStyles } = useLayout()\n const { ssrBootStyles } = useSsrBoot()\n\n useRender(() => (\n <props.tag\n class={[\n 'v-main',\n { 'v-main--scrollable': props.scrollable },\n props.class,\n ]}\n style={[\n mainStyles.value,\n ssrBootStyles.value,\n props.style,\n ]}\n >\n { props.scrollable\n ? (\n <div class=\"v-main__scroller\">\n { slots.default?.() }\n </div>\n )\n : slots.default?.()\n }\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VMain = InstanceType<typeof VMain>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,SAAS;AAAA,SACTC,UAAU;AAAA,SACVC,YAAY,qCAErB;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,cAAc,GAAGF,YAAY,CAAC;EACzCG,UAAU,EAAEC,OAAO;EAEnB,GAAGT,kBAAkB,CAAC,CAAC;EACvB,GAAGG,YAAY,CAAC;IAAEO,GAAG,EAAE;EAAO,CAAC;AACjC,CAAC,EAAE,OAAO,CAAC;AAEX,OAAO,MAAMC,KAAK,GAAGP,gBAAgB,CAAC,CAAC,CAAC;EACtCQ,IAAI,EAAE,OAAO;EAEbC,KAAK,EAAEN,cAAc,CAAC,CAAC;EAEvBO,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAW,CAAC,GAAGhB,SAAS,CAAC,CAAC;IAClC,MAAM;MAAEiB;IAAc,CAAC,GAAGhB,UAAU,CAAC,CAAC;IAEtCI,SAAS,CAAC,MAAAa,YAAA,CAAAN,KAAA,CAAAH,GAAA;MAAA,SAEC,CACL,QAAQ,EACR;QAAE,oBAAoB,EAAEG,KAAK,CAACL;MAAW,CAAC,EAC1CK,KAAK,CAACO,KAAK,CACZ;MAAA,SACM,CACLH,UAAU,CAACI,KAAK,EAChBH,aAAa,CAACG,KAAK,EACnBR,KAAK,CAACS,KAAK;IACZ;MAAAC,OAAA,EAAAA,CAAA,MAECV,KAAK,CAACL,UAAU,GAAAW,YAAA;QAAA;MAAA,IAGVH,KAAK,CAACO,OAAO,GAAG,CAAC,KAGrBP,KAAK,CAACO,OAAO,GAAG,CAAC;IAAA,EAGxB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}

View File

@ -0,0 +1,27 @@
@use '../../styles/tools'
@use './variables' as *
.v-main
flex: 1 0 auto
max-width: 100%
transition: $main-transition
padding-left: var(--v-layout-left)
padding-right: var(--v-layout-right)
padding-top: var(--v-layout-top)
padding-bottom: var(--v-layout-bottom)
&__scroller
max-width: 100%
position: relative
&--scrollable
display: flex
@include tools.absolute()
& > .v-main__scroller
flex: 1 1 auto
overflow-y: auto
--v-layout-left: 0px
--v-layout-right: 0px
--v-layout-top: 0px
--v-layout-bottom: 0px

View File

@ -0,0 +1,4 @@
@use '../../styles/settings';
// VMain
$main-transition: 0.2s settings.$standard-easing !default;

View File

@ -0,0 +1,131 @@
import * as vue from 'vue';
import { ComponentPropsOptions, ExtractPropTypes } 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>>;
}
declare const VMain: {
new (...args: any[]): vue.CreateComponentPublicInstance<{
style: vue.StyleValue;
tag: string;
scrollable: boolean;
} & {
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 & {
style: vue.StyleValue;
tag: string;
scrollable: boolean;
} & {
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;
scrollable: boolean;
}, 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;
scrollable: boolean;
} & {
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;
scrollable: boolean;
}>;
__isFragment?: undefined;
__isTeleport?: undefined;
__isSuspense?: undefined;
} & vue.ComponentOptionsBase<{
style: vue.StyleValue;
tag: string;
scrollable: boolean;
} & {
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, {
style: vue.StyleValue;
tag: string;
scrollable: boolean;
}, {}, string, vue.SlotsType<Partial<{
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
tag: Omit<{
type: StringConstructor;
default: string;
}, "type" | "default"> & {
type: vue.PropType<string>;
default: string;
};
class: vue.PropType<any>;
style: {
type: vue.PropType<vue.StyleValue>;
default: null;
};
scrollable: BooleanConstructor;
}, vue.ExtractPropTypes<{
tag: Omit<{
type: StringConstructor;
default: string;
}, "type" | "default"> & {
type: vue.PropType<string>;
default: string;
};
class: vue.PropType<any>;
style: {
type: vue.PropType<vue.StyleValue>;
default: null;
};
scrollable: BooleanConstructor;
}>>;
type VMain = InstanceType<typeof VMain>;
export { VMain };

View File

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

View File

@ -0,0 +1 @@
{"version":3,"file":"index.mjs","names":["VMain"],"sources":["../../../src/components/VMain/index.ts"],"sourcesContent":["export { VMain } from './VMain'\n"],"mappings":"SAASA,KAAK"}