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,37 @@
// Composables
import { makeDelayProps, useDelay } from "../../composables/delay.mjs";
import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
import { genericComponent, propsFactory } from "../../util/index.mjs";
export const makeVHoverProps = propsFactory({
disabled: Boolean,
modelValue: {
type: Boolean,
default: undefined
},
...makeDelayProps()
}, 'VHover');
export const VHover = genericComponent()({
name: 'VHover',
props: makeVHoverProps(),
emits: {
'update:modelValue': value => true
},
setup(props, _ref) {
let {
slots
} = _ref;
const isHovering = useProxiedModel(props, 'modelValue');
const {
runOpenDelay,
runCloseDelay
} = useDelay(props, value => !props.disabled && (isHovering.value = value));
return () => slots.default?.({
isHovering: isHovering.value,
props: {
onMouseenter: runOpenDelay,
onMouseleave: runCloseDelay
}
});
}
});
//# sourceMappingURL=VHover.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"VHover.mjs","names":["makeDelayProps","useDelay","useProxiedModel","genericComponent","propsFactory","makeVHoverProps","disabled","Boolean","modelValue","type","default","undefined","VHover","name","props","emits","value","setup","_ref","slots","isHovering","runOpenDelay","runCloseDelay","onMouseenter","onMouseleave"],"sources":["../../../src/components/VHover/VHover.tsx"],"sourcesContent":["// Composables\nimport { makeDelayProps, useDelay } from '@/composables/delay'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { genericComponent, propsFactory } from '@/util'\n\ntype VHoverSlots = {\n default: {\n isHovering: boolean | undefined\n props: Record<string, unknown>\n }\n}\n\nexport const makeVHoverProps = propsFactory({\n disabled: Boolean,\n modelValue: {\n type: Boolean,\n default: undefined,\n },\n\n ...makeDelayProps(),\n}, 'VHover')\n\nexport const VHover = genericComponent<VHoverSlots>()({\n name: 'VHover',\n\n props: makeVHoverProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isHovering = useProxiedModel(props, 'modelValue')\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => !props.disabled && (isHovering.value = value))\n\n return () => slots.default?.({\n isHovering: isHovering.value,\n props: {\n onMouseenter: runOpenDelay,\n onMouseleave: runCloseDelay,\n },\n })\n },\n})\n\nexport type VHover = InstanceType<typeof VHover>\n"],"mappings":"AAAA;AAAA,SACSA,cAAc,EAAEC,QAAQ;AAAA,SACxBC,eAAe,8CAExB;AAAA,SACSC,gBAAgB,EAAEC,YAAY;AASvC,OAAO,MAAMC,eAAe,GAAGD,YAAY,CAAC;EAC1CE,QAAQ,EAAEC,OAAO;EACjBC,UAAU,EAAE;IACVC,IAAI,EAAEF,OAAO;IACbG,OAAO,EAAEC;EACX,CAAC;EAED,GAAGX,cAAc,CAAC;AACpB,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,MAAMY,MAAM,GAAGT,gBAAgB,CAAc,CAAC,CAAC;EACpDU,IAAI,EAAE,QAAQ;EAEdC,KAAK,EAAET,eAAe,CAAC,CAAC;EAExBU,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAc,IAAK;EAC3C,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,UAAU,GAAGlB,eAAe,CAACY,KAAK,EAAE,YAAY,CAAC;IACvD,MAAM;MAAEO,YAAY;MAAEC;IAAc,CAAC,GAAGrB,QAAQ,CAACa,KAAK,EAAEE,KAAK,IAAI,CAACF,KAAK,CAACR,QAAQ,KAAKc,UAAU,CAACJ,KAAK,GAAGA,KAAK,CAAC,CAAC;IAE/G,OAAO,MAAMG,KAAK,CAACT,OAAO,GAAG;MAC3BU,UAAU,EAAEA,UAAU,CAACJ,KAAK;MAC5BF,KAAK,EAAE;QACLS,YAAY,EAAEF,YAAY;QAC1BG,YAAY,EAAEF;MAChB;IACF,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}

View File

@ -0,0 +1,188 @@
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 VHover: {
new (...args: any[]): vue.CreateComponentPublicInstance<{
disabled: boolean;
} & {
modelValue?: boolean | undefined;
closeDelay?: string | number | undefined;
openDelay?: string | number | undefined;
} & {
$children?: vue.VNodeChild | {
default?: ((arg: {
isHovering: boolean | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
} | ((arg: {
isHovering: boolean | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild);
'v-slots'?: {
default?: false | ((arg: {
isHovering: boolean | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | ((arg: {
isHovering: boolean | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
} & {
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[] | undefined, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
'update:modelValue': (value: boolean) => true;
}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
disabled: boolean;
} & {
modelValue?: boolean | undefined;
closeDelay?: string | number | undefined;
openDelay?: string | number | undefined;
} & {
$children?: vue.VNodeChild | {
default?: ((arg: {
isHovering: boolean | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
} | ((arg: {
isHovering: boolean | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild);
'v-slots'?: {
default?: false | ((arg: {
isHovering: boolean | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | ((arg: {
isHovering: boolean | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
} & {
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
}, {
disabled: boolean;
modelValue: boolean;
}, true, {}, vue.SlotsType<Partial<{
default: (arg: {
isHovering: boolean | undefined;
props: Record<string, unknown>;
}) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
}>>, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, {
disabled: boolean;
} & {
modelValue?: boolean | undefined;
closeDelay?: string | number | undefined;
openDelay?: string | number | undefined;
} & {
$children?: vue.VNodeChild | {
default?: ((arg: {
isHovering: boolean | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
} | ((arg: {
isHovering: boolean | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild);
'v-slots'?: {
default?: false | ((arg: {
isHovering: boolean | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | ((arg: {
isHovering: boolean | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
} & {
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[] | undefined, {}, {}, {}, {
disabled: boolean;
modelValue: boolean;
}>;
__isFragment?: undefined;
__isTeleport?: undefined;
__isSuspense?: undefined;
} & vue.ComponentOptionsBase<{
disabled: boolean;
} & {
modelValue?: boolean | undefined;
closeDelay?: string | number | undefined;
openDelay?: string | number | undefined;
} & {
$children?: vue.VNodeChild | {
default?: ((arg: {
isHovering: boolean | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
} | ((arg: {
isHovering: boolean | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild);
'v-slots'?: {
default?: false | ((arg: {
isHovering: boolean | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | ((arg: {
isHovering: boolean | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
} & {
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[] | undefined, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
'update:modelValue': (value: boolean) => true;
}, string, {
disabled: boolean;
modelValue: boolean;
}, {}, string, vue.SlotsType<Partial<{
default: (arg: {
isHovering: boolean | undefined;
props: Record<string, unknown>;
}) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
closeDelay: (StringConstructor | NumberConstructor)[];
openDelay: (StringConstructor | NumberConstructor)[];
disabled: BooleanConstructor;
modelValue: {
type: BooleanConstructor;
default: undefined;
};
}, vue.ExtractPropTypes<{
closeDelay: (StringConstructor | NumberConstructor)[];
openDelay: (StringConstructor | NumberConstructor)[];
disabled: BooleanConstructor;
modelValue: {
type: BooleanConstructor;
default: undefined;
};
}>>;
type VHover = InstanceType<typeof VHover>;
export { VHover };

View File

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

View File

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