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,16 @@
.v-label {
align-items: center;
color: inherit;
display: inline-flex;
font-size: 1rem;
letter-spacing: 0.009375em;
min-width: 0;
opacity: var(--v-medium-emphasis-opacity);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.v-label--clickable {
cursor: pointer;
}

View File

@ -0,0 +1,32 @@
import { createVNode as _createVNode } from "vue";
// Styles
import "./VLabel.css";
// Composables
import { makeComponentProps } from "../../composables/component.mjs";
import { makeThemeProps } from "../../composables/theme.mjs"; // Utilities
import { EventProp, genericComponent, propsFactory, useRender } from "../../util/index.mjs";
export const makeVLabelProps = propsFactory({
text: String,
onClick: EventProp(),
...makeComponentProps(),
...makeThemeProps()
}, 'VLabel');
export const VLabel = genericComponent()({
name: 'VLabel',
props: makeVLabelProps(),
setup(props, _ref) {
let {
slots
} = _ref;
useRender(() => _createVNode("label", {
"class": ['v-label', {
'v-label--clickable': !!props.onClick
}, props.class],
"style": props.style,
"onClick": props.onClick
}, [props.text, slots.default?.()]));
return {};
}
});
//# sourceMappingURL=VLabel.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"VLabel.mjs","names":["makeComponentProps","makeThemeProps","EventProp","genericComponent","propsFactory","useRender","makeVLabelProps","text","String","onClick","VLabel","name","props","setup","_ref","slots","_createVNode","class","style","default"],"sources":["../../../src/components/VLabel/VLabel.tsx"],"sourcesContent":["// Styles\nimport './VLabel.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeThemeProps } from '@/composables/theme'\n\n// Utilities\nimport { EventProp, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVLabelProps = propsFactory({\n text: String,\n\n onClick: EventProp<[MouseEvent]>(),\n\n ...makeComponentProps(),\n ...makeThemeProps(),\n}, 'VLabel')\n\nexport const VLabel = genericComponent()({\n name: 'VLabel',\n\n props: makeVLabelProps(),\n\n setup (props, { slots }) {\n useRender(() => (\n <label\n class={[\n 'v-label',\n {\n 'v-label--clickable': !!props.onClick,\n },\n props.class,\n ]}\n style={ props.style }\n onClick={ props.onClick }\n >\n { props.text }\n\n { slots.default?.() }\n </label>\n ))\n\n return {}\n },\n})\n\nexport type VLabel = InstanceType<typeof VLabel>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,cAAc,uCAEvB;AAAA,SACSC,SAAS,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAE7D,OAAO,MAAMC,eAAe,GAAGF,YAAY,CAAC;EAC1CG,IAAI,EAAEC,MAAM;EAEZC,OAAO,EAAEP,SAAS,CAAe,CAAC;EAElC,GAAGF,kBAAkB,CAAC,CAAC;EACvB,GAAGC,cAAc,CAAC;AACpB,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,MAAMS,MAAM,GAAGP,gBAAgB,CAAC,CAAC,CAAC;EACvCQ,IAAI,EAAE,QAAQ;EAEdC,KAAK,EAAEN,eAAe,CAAC,CAAC;EAExBO,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrBT,SAAS,CAAC,MAAAW,YAAA;MAAA,SAEC,CACL,SAAS,EACT;QACE,oBAAoB,EAAE,CAAC,CAACJ,KAAK,CAACH;MAChC,CAAC,EACDG,KAAK,CAACK,KAAK,CACZ;MAAA,SACOL,KAAK,CAACM,KAAK;MAAA,WACTN,KAAK,CAACH;IAAO,IAErBG,KAAK,CAACL,IAAI,EAEVQ,KAAK,CAACI,OAAO,GAAG,CAAC,EAEtB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}

View File

@ -0,0 +1,18 @@
@use '../../styles/settings'
@use '../../styles/tools'
@use './variables' as *
.v-label
align-items: center
color: $label-color
display: $label-display
font-size: $label-font-size
letter-spacing: $label-letter-spacing
min-width: 0
opacity: var(--v-medium-emphasis-opacity)
overflow: hidden
text-overflow: ellipsis
white-space: nowrap
.v-label--clickable
cursor: pointer

View File

@ -0,0 +1,9 @@
@use '../../styles/settings';
// VLabel
$label-color: inherit !default;
$label-disabled-color: rgba(var(--v-theme-on-surface), var(--v-disabled-opacity)) !default;
$label-display: inline-flex !default;
$label-error-color: rgb(var(--v-theme-error)) !default;
$label-font-size: 1rem !default;
$label-letter-spacing: .009375em !default;

View File

@ -0,0 +1,119 @@
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 VLabel: {
new (...args: any[]): vue.CreateComponentPublicInstance<{
style: vue.StyleValue;
} & {
text?: string | undefined;
class?: any;
onClick?: ((args_0: MouseEvent) => void) | undefined;
theme?: 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;
} & {
text?: string | undefined;
class?: any;
onClick?: ((args_0: MouseEvent) => void) | undefined;
theme?: 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;
} & {
text?: string | undefined;
class?: any;
onClick?: ((args_0: MouseEvent) => void) | undefined;
theme?: 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;
} & {
text?: string | undefined;
class?: any;
onClick?: ((args_0: MouseEvent) => void) | undefined;
theme?: 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<{
theme: StringConstructor;
class: vue.PropType<any>;
style: {
type: vue.PropType<vue.StyleValue>;
default: null;
};
text: StringConstructor;
onClick: vue.PropType<(args_0: MouseEvent) => void>;
}, vue.ExtractPropTypes<{
theme: StringConstructor;
class: vue.PropType<any>;
style: {
type: vue.PropType<vue.StyleValue>;
default: null;
};
text: StringConstructor;
onClick: vue.PropType<(args_0: MouseEvent) => void>;
}>>;
type VLabel = InstanceType<typeof VLabel>;
export { VLabel };

View File

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

View File

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