Initial commit: GamePortrait 竖屏版 - 深色豪华主题

This commit is contained in:
li
2026-01-16 17:47:53 +08:00
commit 40976e4b45
26611 changed files with 2843638 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
import { type ExtractPropTypes } from 'vue';
export type LoadingType = 'circular' | 'spinner';
export declare const loadingProps: {
size: (NumberConstructor | StringConstructor)[];
type: {
type: import("vue").PropType<LoadingType>;
default: LoadingType;
};
color: StringConstructor;
vertical: BooleanConstructor;
textSize: (NumberConstructor | StringConstructor)[];
textColor: StringConstructor;
};
export type LoadingProps = ExtractPropTypes<typeof loadingProps>;
declare const _default: import("vue").DefineComponent<{
size: (NumberConstructor | StringConstructor)[];
type: {
type: import("vue").PropType<LoadingType>;
default: LoadingType;
};
color: StringConstructor;
vertical: BooleanConstructor;
textSize: (NumberConstructor | StringConstructor)[];
textColor: StringConstructor;
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
size: (NumberConstructor | StringConstructor)[];
type: {
type: import("vue").PropType<LoadingType>;
default: LoadingType;
};
color: StringConstructor;
vertical: BooleanConstructor;
textSize: (NumberConstructor | StringConstructor)[];
textColor: StringConstructor;
}>>, {
type: LoadingType;
vertical: boolean;
}>;
export default _default;
+71
View File
@@ -0,0 +1,71 @@
import { createVNode as _createVNode } from "vue";
import { computed, defineComponent } from "vue";
import { extend, addUnit, numericProp, getSizeStyle, makeStringProp, createNamespace } from "../utils/index.mjs";
const [name, bem] = createNamespace("loading");
const SpinIcon = Array(12).fill(null).map((_, index) => _createVNode("i", {
"class": bem("line", String(index + 1))
}, null));
const CircularIcon = _createVNode("svg", {
"class": bem("circular"),
"viewBox": "25 25 50 50"
}, [_createVNode("circle", {
"cx": "50",
"cy": "50",
"r": "20",
"fill": "none"
}, null)]);
const loadingProps = {
size: numericProp,
type: makeStringProp("circular"),
color: String,
vertical: Boolean,
textSize: numericProp,
textColor: String
};
var stdin_default = defineComponent({
name,
props: loadingProps,
setup(props, {
slots
}) {
const spinnerStyle = computed(() => extend({
color: props.color
}, getSizeStyle(props.size)));
const renderIcon = () => {
const DefaultIcon = props.type === "spinner" ? SpinIcon : CircularIcon;
return _createVNode("span", {
"class": bem("spinner", props.type),
"style": spinnerStyle.value
}, [slots.icon ? slots.icon() : DefaultIcon]);
};
const renderText = () => {
var _a;
if (slots.default) {
return _createVNode("span", {
"class": bem("text"),
"style": {
fontSize: addUnit(props.textSize),
color: (_a = props.textColor) != null ? _a : props.color
}
}, [slots.default()]);
}
};
return () => {
const {
type,
vertical
} = props;
return _createVNode("div", {
"class": bem([type, {
vertical
}]),
"aria-live": "polite",
"aria-busy": true
}, [renderIcon(), renderText()]);
};
}
});
export {
stdin_default as default,
loadingProps
};
+1
View File
@@ -0,0 +1 @@
:root{--van-loading-text-color: var(--van-text-color-2);--van-loading-text-font-size: var(--van-font-size-md);--van-loading-spinner-color: var(--van-gray-5);--van-loading-spinner-size: 30px;--van-loading-spinner-duration: .8s}.van-loading{position:relative;color:var(--van-loading-spinner-color);font-size:0;vertical-align:middle}.van-loading__spinner{position:relative;display:inline-block;width:var(--van-loading-spinner-size);max-width:100%;height:var(--van-loading-spinner-size);max-height:100%;vertical-align:middle;animation:van-rotate var(--van-loading-spinner-duration) linear infinite}.van-loading__spinner--spinner{animation-timing-function:steps(12)}.van-loading__spinner--circular{animation-duration:2s}.van-loading__line{position:absolute;top:0;left:0;width:100%;height:100%}.van-loading__line:before{display:block;width:2px;height:25%;margin:0 auto;background-color:currentColor;border-radius:40%;content:" "}.van-loading__circular{display:block;width:100%;height:100%}.van-loading__circular circle{animation:van-circular 1.5s ease-in-out infinite;stroke:currentColor;stroke-width:3;stroke-linecap:round}.van-loading__text{display:inline-block;margin-left:var(--van-padding-xs);color:var(--van-loading-text-color);font-size:var(--van-loading-text-font-size);vertical-align:middle}.van-loading--vertical{display:flex;flex-direction:column;align-items:center}.van-loading--vertical .van-loading__text{margin:var(--van-padding-xs) 0 0}@keyframes van-circular{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40}to{stroke-dasharray:90,150;stroke-dashoffset:-120}}.van-loading__line--1{transform:rotate(30deg);opacity:1}.van-loading__line--2{transform:rotate(60deg);opacity:.9375}.van-loading__line--3{transform:rotate(90deg);opacity:.875}.van-loading__line--4{transform:rotate(120deg);opacity:.8125}.van-loading__line--5{transform:rotate(150deg);opacity:.75}.van-loading__line--6{transform:rotate(180deg);opacity:.6875}.van-loading__line--7{transform:rotate(210deg);opacity:.625}.van-loading__line--8{transform:rotate(240deg);opacity:.5625}.van-loading__line--9{transform:rotate(270deg);opacity:.5}.van-loading__line--10{transform:rotate(300deg);opacity:.4375}.van-loading__line--11{transform:rotate(330deg);opacity:.375}.van-loading__line--12{transform:rotate(360deg);opacity:.3125}
+33
View File
@@ -0,0 +1,33 @@
export declare const Loading: import("../utils").WithInstall<import("vue").DefineComponent<{
size: (NumberConstructor | StringConstructor)[];
type: {
type: import("vue").PropType<import("./Loading").LoadingType>;
default: import("./Loading").LoadingType;
};
color: StringConstructor;
vertical: BooleanConstructor;
textSize: (NumberConstructor | StringConstructor)[];
textColor: StringConstructor;
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
size: (NumberConstructor | StringConstructor)[];
type: {
type: import("vue").PropType<import("./Loading").LoadingType>;
default: import("./Loading").LoadingType;
};
color: StringConstructor;
vertical: BooleanConstructor;
textSize: (NumberConstructor | StringConstructor)[];
textColor: StringConstructor;
}>>, {
type: import("./Loading").LoadingType;
vertical: boolean;
}>>;
export default Loading;
export { loadingProps } from './Loading';
export type { LoadingType, LoadingProps } from './Loading';
export type { LoadingThemeVars } from './types';
declare module 'vue' {
interface GlobalComponents {
VanLoading: typeof Loading;
}
}
+10
View File
@@ -0,0 +1,10 @@
import { withInstall } from "../utils/index.mjs";
import _Loading from "./Loading.mjs";
const Loading = withInstall(_Loading);
var stdin_default = Loading;
import { loadingProps } from "./Loading.mjs";
export {
Loading,
stdin_default as default,
loadingProps
};
+1
View File
@@ -0,0 +1 @@
export {};
+2
View File
@@ -0,0 +1,2 @@
import "../../style/base.css";
import "../index.css";
+7
View File
@@ -0,0 +1,7 @@
export type LoadingThemeVars = {
loadingTextColor?: string;
loadingTextFontSize?: string;
loadingSpinnerColor?: string;
loadingSpinnerSize?: string;
loadingSpinnerDuration?: string;
};
View File