@mooncellwiki/prts-design-vue 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Event/AkCountdown.vue.d.ts +1 -1
- package/dist/components/Voice/AkVoice.vue.d.ts +3 -2
- package/dist/components/Voice/AkVoiceList.vue.d.ts +3 -3
- package/dist/components/Voice/context.d.ts +1 -3
- package/dist/index.js +25 -32
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -7,7 +7,7 @@ type __VLS_Props = {
|
|
|
7
7
|
active?: boolean;
|
|
8
8
|
/** 最小单位:min 到分(默认,每分钟刷新)· sec 到秒 */
|
|
9
9
|
precision?: "min" | "sec";
|
|
10
|
-
/** 最多显示几格,从最大的单位数起:2 → 「03 days 14 hrs」/ 不足一天时「14 hrs 27
|
|
10
|
+
/** 最多显示几格,从最大的单位数起:2 → 「03 days 14 hrs」/ 不足一天时「14 hrs 27 mins」(首页幻灯片);不写则一直显示到 precision */
|
|
11
11
|
parts?: number;
|
|
12
12
|
};
|
|
13
13
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* 一条语音:播放钮(+ 下载钮)+
|
|
2
|
+
* 一条语音:播放钮(+ 下载钮)+ 标题行(解锁条件 / 编号)+ 台词。一般放在 AkVoiceList 里,跟列表的语种走。
|
|
3
|
+
* 标题旁不再标语种:当前语种在上面的切换条里,每条再标一遍只是复读,而「方言」这类也没有靠谱的缩写。
|
|
3
4
|
* 播放钮标 data-no-toggle:皮肤脚本会在 document 上替模板输出的纯 CSS 播放钮翻 is-playing(演示用),这里的 is-playing 跟真实播放状态走,
|
|
4
5
|
* 不退出那层委托就会两边各翻一次(点一下在放但图标还是播放,再点停了图标却变成暂停)。
|
|
5
6
|
*/
|
|
@@ -14,7 +15,7 @@ type __VLS_Props = {
|
|
|
14
15
|
code?: string;
|
|
15
16
|
/** 游戏内解锁条件(提升至精英阶段1以查看),标题行里的灰标 */
|
|
16
17
|
unlock?: string;
|
|
17
|
-
/** 语种键:不在 AkVoiceList 里时用它取 text / src
|
|
18
|
+
/** 语种键:不在 AkVoiceList 里时用它取 text / src、标台词的 HTML lang;在列表里时跟列表的 v-model */
|
|
18
19
|
lang?: string;
|
|
19
20
|
/** 下载地址(现网是 torappu 的 wav):一个串,或按语种的对象(同 src);给了就在播放钮旁出一枚同款下载钮 */
|
|
20
21
|
download?: string | Record<string, string>;
|
|
@@ -3,14 +3,14 @@ import { type VoiceLanguage, type VoiceText } from "./context";
|
|
|
3
3
|
* 语音列表(= 现网 {{:xx/语音记录}} 的 VoiceTable):若干 AkVoice,外框 + 悬停行底色。
|
|
4
4
|
* 上方最多两排切换条(.ak-voice-toolbar 里排一行,放不下时后一排整组换行):
|
|
5
5
|
* - texts:文本(台词的语言),多选、可以一个都不选,v-model:shown-texts;AkVoice 的 text 按文本键给对象,选中的几种一种一行
|
|
6
|
-
* - languages:语种(音频差分,普通话 / 方言 / 日 / 英 / 韩,带 CV 名),单选,v-model;AkVoice 的 src
|
|
7
|
-
* 只给 languages 时 AkVoice 的 text
|
|
6
|
+
* - languages:语种(音频差分,普通话 / 方言 / 日 / 英 / 韩,带 CV 名),单选,v-model;AkVoice 的 src 按语种键给对象
|
|
7
|
+
* 只给 languages 时 AkVoice 的 text 也按语种给,切语种同时换台词和音频地址。
|
|
8
8
|
* 当前语种 / 选中的文本经 provide 给子项;播放全页只有一条(见 player.ts)。
|
|
9
9
|
* 切换条标 data-no-toggle:皮肤脚本会在 document 上替模板输出的纯 CSS 芯片翻 is-active / aria-pressed,这里的状态归 Vue 管,
|
|
10
10
|
* 不退出那层委托就会两边各翻一次(点第二下反而取消选中)。
|
|
11
11
|
*/
|
|
12
12
|
type __VLS_Props = {
|
|
13
|
-
/** 语种选项 { value, label,
|
|
13
|
+
/** 语种选项 { value, label, cv? }(同 Naive 的 options);不给就没有语种切换条 */
|
|
14
14
|
languages?: VoiceLanguage[];
|
|
15
15
|
/** 文本语言选项 { value, label };不给就没有文本切换条,台词跟语种走 */
|
|
16
16
|
texts?: VoiceText[];
|
|
@@ -5,8 +5,6 @@ export interface VoiceLanguage {
|
|
|
5
5
|
value: string;
|
|
6
6
|
/** 切换条上的名字(中文-普通话) */
|
|
7
7
|
label: string;
|
|
8
|
-
/** 条目标题旁的徽标(CN / 粤 / JP …);不写时是 value 的大写 */
|
|
9
|
-
badge?: string;
|
|
10
8
|
/** 配音演员(切换条上名字后的小字) */
|
|
11
9
|
cv?: string;
|
|
12
10
|
}
|
|
@@ -17,7 +15,7 @@ export interface VoiceText {
|
|
|
17
15
|
/** 切换条上的名字 */
|
|
18
16
|
label: string;
|
|
19
17
|
}
|
|
20
|
-
/** AkVoiceList 给 AkVoice
|
|
18
|
+
/** AkVoiceList 给 AkVoice 的:当前语种、文本语言选项与选中的几种 */
|
|
21
19
|
export declare const voiceListKey: InjectionKey<ComputedRef<{
|
|
22
20
|
lang?: string;
|
|
23
21
|
languages: readonly VoiceLanguage[];
|
package/dist/index.js
CHANGED
|
@@ -4204,7 +4204,7 @@ var _hoisted_7$11 = {
|
|
|
4204
4204
|
class: "ak-op-card__elite"
|
|
4205
4205
|
};
|
|
4206
4206
|
var _hoisted_8$9 = ["src", "alt"];
|
|
4207
|
-
var _hoisted_9$
|
|
4207
|
+
var _hoisted_9$5 = {
|
|
4208
4208
|
key: 2,
|
|
4209
4209
|
class: "ak-op-card__badge"
|
|
4210
4210
|
};
|
|
@@ -4280,7 +4280,7 @@ var AkOpCard_default = /* @__PURE__ */ defineComponent({
|
|
|
4280
4280
|
src: __props.eliteIcon,
|
|
4281
4281
|
alt: __props.elite === void 0 ? "" : `精英${CN[__props.elite]}`
|
|
4282
4282
|
}, null, 8, _hoisted_8$9)])) : createCommentVNode("", true),
|
|
4283
|
-
_ctx.$slots.badge ? (openBlock(), createElementBlock("span", _hoisted_9$
|
|
4283
|
+
_ctx.$slots.badge ? (openBlock(), createElementBlock("span", _hoisted_9$5, [renderSlot(_ctx.$slots, "badge")])) : createCommentVNode("", true)
|
|
4284
4284
|
]), createElementVNode("span", _hoisted_10$4, [createTextVNode(toDisplayString(__props.name), 1), __props.sub ? (openBlock(), createElementBlock("span", _hoisted_11$4, toDisplayString(__props.sub), 1)) : createCommentVNode("", true)])]),
|
|
4285
4285
|
_: 3
|
|
4286
4286
|
}, 8, [
|
|
@@ -4630,7 +4630,7 @@ var _hoisted_6$10 = {
|
|
|
4630
4630
|
};
|
|
4631
4631
|
var _hoisted_7$10 = { key: 0 };
|
|
4632
4632
|
var _hoisted_8$8 = { key: 1 };
|
|
4633
|
-
var _hoisted_9$
|
|
4633
|
+
var _hoisted_9$4 = { key: 2 };
|
|
4634
4634
|
var _hoisted_10$3 = {
|
|
4635
4635
|
key: 0,
|
|
4636
4636
|
class: "ak-skill__aside"
|
|
@@ -4705,7 +4705,7 @@ var AkSkill_default = /* @__PURE__ */ defineComponent({
|
|
|
4705
4705
|
kind: "init",
|
|
4706
4706
|
value: __props.init
|
|
4707
4707
|
}, null, 8, ["value"])])) : createCommentVNode("", true),
|
|
4708
|
-
__props.duration !== void 0 ? (openBlock(), createElementBlock("span", _hoisted_9$
|
|
4708
|
+
__props.duration !== void 0 ? (openBlock(), createElementBlock("span", _hoisted_9$4, [_cache[0] || (_cache[0] = createTextVNode("持续 ", -1)), createElementVNode("b", null, toDisplayString(durationText.value), 1)])) : createCommentVNode("", true)
|
|
4709
4709
|
])) : createCommentVNode("", true)]),
|
|
4710
4710
|
wide.value ? (openBlock(), createElementBlock("div", _hoisted_10$3, [__props.unlock ? (openBlock(), createElementBlock("span", _hoisted_11$3, [__props.unlockIcon ? (openBlock(), createElementBlock("img", {
|
|
4711
4711
|
key: 0,
|
|
@@ -4841,7 +4841,7 @@ var _hoisted_5$11 = {
|
|
|
4841
4841
|
var _hoisted_6$9 = ["aria-current"];
|
|
4842
4842
|
var _hoisted_7$9 = { class: "lv" };
|
|
4843
4843
|
var _hoisted_8$7 = { class: "desc" };
|
|
4844
|
-
var _hoisted_9$
|
|
4844
|
+
var _hoisted_9$3 = ["textContent"];
|
|
4845
4845
|
var _hoisted_10$2 = ["textContent"];
|
|
4846
4846
|
var _hoisted_11$2 = ["textContent"];
|
|
4847
4847
|
var _hoisted_12$2 = {
|
|
@@ -4918,7 +4918,7 @@ var AkSkillSheet_default = /* @__PURE__ */ defineComponent({
|
|
|
4918
4918
|
createElementVNode("td", {
|
|
4919
4919
|
class: "num",
|
|
4920
4920
|
textContent: toDisplayString(num(row.init))
|
|
4921
|
-
}, null, 8, _hoisted_9$
|
|
4921
|
+
}, null, 8, _hoisted_9$3),
|
|
4922
4922
|
createElementVNode("td", {
|
|
4923
4923
|
class: "num",
|
|
4924
4924
|
textContent: toDisplayString(num(row.cost))
|
|
@@ -5117,7 +5117,7 @@ var _hoisted_6$7 = {
|
|
|
5117
5117
|
};
|
|
5118
5118
|
var _hoisted_7$7 = ["rowspan"];
|
|
5119
5119
|
var _hoisted_8$5 = { class: "cond" };
|
|
5120
|
-
var _hoisted_9$
|
|
5120
|
+
var _hoisted_9$2 = { class: "desc" };
|
|
5121
5121
|
var _hoisted_10$1 = { class: "ak-talent-table__base" };
|
|
5122
5122
|
var _hoisted_11$1 = { class: "ak-talent-table__pot" };
|
|
5123
5123
|
var _hoisted_12$1 = { key: 0 };
|
|
@@ -5223,7 +5223,7 @@ var AkTalentTable_default = /* @__PURE__ */ defineComponent({
|
|
|
5223
5223
|
row,
|
|
5224
5224
|
index: i
|
|
5225
5225
|
}, () => [createTextVNode(toDisplayString(row.condition), 1)])]),
|
|
5226
|
-
createElementVNode("td", _hoisted_9$
|
|
5226
|
+
createElementVNode("td", _hoisted_9$2, [row.potential !== void 0 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createElementVNode("span", _hoisted_10$1, [renderSlot(_ctx.$slots, "description", {
|
|
5227
5227
|
row,
|
|
5228
5228
|
index: i,
|
|
5229
5229
|
potential: false
|
|
@@ -5507,7 +5507,7 @@ var _hoisted_5$8 = {
|
|
|
5507
5507
|
var _hoisted_6$6 = ["src"];
|
|
5508
5508
|
var _hoisted_7$6 = { class: "ak-module__name" };
|
|
5509
5509
|
var _hoisted_8$4 = ["data-ak-tip"];
|
|
5510
|
-
var _hoisted_9$
|
|
5510
|
+
var _hoisted_9$1 = ["id"];
|
|
5511
5511
|
var _hoisted_10 = {
|
|
5512
5512
|
key: 1,
|
|
5513
5513
|
class: "ak-module__more"
|
|
@@ -5591,7 +5591,7 @@ var AkModule_default = /* @__PURE__ */ defineComponent({
|
|
|
5591
5591
|
key: 0,
|
|
5592
5592
|
id: `${unref(id)}-story`,
|
|
5593
5593
|
class: "ak-module__story"
|
|
5594
|
-
}, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_9$
|
|
5594
|
+
}, [renderSlot(_ctx.$slots, "default")], 8, _hoisted_9$1)) : createCommentVNode("", true),
|
|
5595
5595
|
__props.collapsible && _ctx.$slots.default ? (openBlock(), createElementBlock("label", _hoisted_10, [
|
|
5596
5596
|
withDirectives(createElementVNode("input", {
|
|
5597
5597
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => open.value = $event),
|
|
@@ -5689,7 +5689,7 @@ var AkModuleUnlock_default = /* @__PURE__ */ defineComponent({
|
|
|
5689
5689
|
});
|
|
5690
5690
|
//#endregion
|
|
5691
5691
|
//#region src/components/Voice/context.ts
|
|
5692
|
-
/** AkVoiceList 给 AkVoice
|
|
5692
|
+
/** AkVoiceList 给 AkVoice 的:当前语种、文本语言选项与选中的几种 */
|
|
5693
5693
|
var voiceListKey = Symbol("AkVoiceList");
|
|
5694
5694
|
/** 游戏语种键 → HTML lang(读屏按语种发音);不认识的键不写 lang */
|
|
5695
5695
|
var HTML_LANG = {
|
|
@@ -5713,7 +5713,7 @@ var _hoisted_5$6 = ["aria-labelledby"];
|
|
|
5713
5713
|
var _hoisted_6$4 = ["id"];
|
|
5714
5714
|
var _hoisted_7$4 = ["aria-pressed", "onClick"];
|
|
5715
5715
|
var _hoisted_8$3 = { key: 0 };
|
|
5716
|
-
var _hoisted_9
|
|
5716
|
+
var _hoisted_9 = { class: "ak-voice-list ak-not-prose" };
|
|
5717
5717
|
//#endregion
|
|
5718
5718
|
//#region src/components/Voice/AkVoiceList.vue
|
|
5719
5719
|
var AkVoiceList_default = /* @__PURE__ */ defineComponent({
|
|
@@ -5784,7 +5784,7 @@ var AkVoiceList_default = /* @__PURE__ */ defineComponent({
|
|
|
5784
5784
|
}, [createTextVNode(toDisplayString(l.label), 1), l.cv ? (openBlock(), createElementBlock("small", _hoisted_8$3, toDisplayString(l.cv), 1)) : createCommentVNode("", true)], 10, _hoisted_7$4);
|
|
5785
5785
|
}), 128)),
|
|
5786
5786
|
renderSlot(_ctx.$slots, "header-extra")
|
|
5787
|
-
], 8, _hoisted_5$6)) : createCommentVNode("", true)])) : createCommentVNode("", true), createElementVNode("div", _hoisted_9
|
|
5787
|
+
], 8, _hoisted_5$6)) : createCommentVNode("", true)])) : createCommentVNode("", true), createElementVNode("div", _hoisted_9, [renderSlot(_ctx.$slots, "default")])]);
|
|
5788
5788
|
};
|
|
5789
5789
|
}
|
|
5790
5790
|
});
|
|
@@ -5832,22 +5832,18 @@ var _hoisted_3$7 = [
|
|
|
5832
5832
|
var _hoisted_4$6 = { class: "ak-voice__title" };
|
|
5833
5833
|
var _hoisted_5$5 = {
|
|
5834
5834
|
key: 0,
|
|
5835
|
-
class: "ak-
|
|
5835
|
+
class: "ak-voice__cond"
|
|
5836
5836
|
};
|
|
5837
5837
|
var _hoisted_6$3 = {
|
|
5838
5838
|
key: 1,
|
|
5839
|
-
class: "ak-
|
|
5839
|
+
class: "ak-code-id"
|
|
5840
5840
|
};
|
|
5841
5841
|
var _hoisted_7$3 = {
|
|
5842
5842
|
key: 2,
|
|
5843
|
-
class: "ak-code-id"
|
|
5844
|
-
};
|
|
5845
|
-
var _hoisted_8$2 = {
|
|
5846
|
-
key: 3,
|
|
5847
5843
|
class: "ak-voice__wave",
|
|
5848
5844
|
"aria-hidden": "true"
|
|
5849
5845
|
};
|
|
5850
|
-
var
|
|
5846
|
+
var _hoisted_8$2 = ["lang"];
|
|
5851
5847
|
//#endregion
|
|
5852
5848
|
//#region src/components/Voice/AkVoice.vue
|
|
5853
5849
|
var AkVoice_default = /* @__PURE__ */ defineComponent({
|
|
@@ -5877,10 +5873,6 @@ var AkVoice_default = /* @__PURE__ */ defineComponent({
|
|
|
5877
5873
|
});
|
|
5878
5874
|
const src = computed(() => pick(props.src));
|
|
5879
5875
|
const download = computed(() => pick(props.download));
|
|
5880
|
-
const badge = computed(() => {
|
|
5881
|
-
const k = lang.value;
|
|
5882
|
-
return k && (list?.value.languages.find((l) => l.value === k)?.badge ?? k.toUpperCase());
|
|
5883
|
-
});
|
|
5884
5876
|
const id = Symbol("AkVoice");
|
|
5885
5877
|
const isPlaying = computed(() => playing.value === id);
|
|
5886
5878
|
onBeforeUnmount(() => isPlaying.value && stop());
|
|
@@ -5911,16 +5903,15 @@ var AkVoice_default = /* @__PURE__ */ defineComponent({
|
|
|
5911
5903
|
})], 8, _hoisted_3$7)) : createCommentVNode("", true),
|
|
5912
5904
|
createElementVNode("div", null, [createElementVNode("div", _hoisted_4$6, [
|
|
5913
5905
|
createTextVNode(toDisplayString(__props.title) + " ", 1),
|
|
5914
|
-
|
|
5915
|
-
__props.
|
|
5916
|
-
|
|
5917
|
-
isPlaying.value ? (openBlock(), createElementBlock("span", _hoisted_8$2, [(openBlock(), createElementBlock(Fragment, null, renderList(5, (n) => {
|
|
5906
|
+
__props.unlock ? (openBlock(), createElementBlock("span", _hoisted_5$5, toDisplayString(__props.unlock), 1)) : createCommentVNode("", true),
|
|
5907
|
+
__props.code ? (openBlock(), createElementBlock("span", _hoisted_6$3, toDisplayString(__props.code), 1)) : createCommentVNode("", true),
|
|
5908
|
+
isPlaying.value ? (openBlock(), createElementBlock("span", _hoisted_7$3, [(openBlock(), createElementBlock(Fragment, null, renderList(5, (n) => {
|
|
5918
5909
|
return createElementVNode("i", { key: n });
|
|
5919
5910
|
}), 64))])) : createCommentVNode("", true)
|
|
5920
5911
|
]), createElementVNode("div", {
|
|
5921
5912
|
class: "ak-voice__text",
|
|
5922
5913
|
lang: lang.value && unref(HTML_LANG)[lang.value]
|
|
5923
|
-
}, toDisplayString(text.value), 9,
|
|
5914
|
+
}, toDisplayString(text.value), 9, _hoisted_8$2)])
|
|
5924
5915
|
]);
|
|
5925
5916
|
};
|
|
5926
5917
|
}
|
|
@@ -6393,13 +6384,13 @@ var AkCountdown_default = /* @__PURE__ */ defineComponent({
|
|
|
6393
6384
|
{
|
|
6394
6385
|
ms: 864e5,
|
|
6395
6386
|
mod: Infinity,
|
|
6396
|
-
unit: "
|
|
6387
|
+
unit: "day",
|
|
6397
6388
|
zh: "天"
|
|
6398
6389
|
},
|
|
6399
6390
|
{
|
|
6400
6391
|
ms: 36e5,
|
|
6401
6392
|
mod: 24,
|
|
6402
|
-
unit: "
|
|
6393
|
+
unit: "hr",
|
|
6403
6394
|
zh: "小时"
|
|
6404
6395
|
},
|
|
6405
6396
|
{
|
|
@@ -6427,6 +6418,8 @@ var AkCountdown_default = /* @__PURE__ */ defineComponent({
|
|
|
6427
6418
|
});
|
|
6428
6419
|
const spoken = computed(() => `剩余 ${cells.value.map((c) => `${c.value} ${c.zh}`).join(" ")}`);
|
|
6429
6420
|
const pad2 = (n) => String(n).padStart(2, "0");
|
|
6421
|
+
/** 单位都是缩写 + 复数 s,数值为 1 时用单数:01 day / 01 hr / 01 min / 01 sec */
|
|
6422
|
+
const label = (c) => c.value === 1 ? c.unit : `${c.unit}s`;
|
|
6430
6423
|
return (_ctx, _cache) => {
|
|
6431
6424
|
return remaining.value > 0 ? (openBlock(), createElementBlock("span", {
|
|
6432
6425
|
key: 0,
|
|
@@ -6437,7 +6430,7 @@ var AkCountdown_default = /* @__PURE__ */ defineComponent({
|
|
|
6437
6430
|
return openBlock(), createElementBlock("span", {
|
|
6438
6431
|
key: c.unit,
|
|
6439
6432
|
"aria-hidden": "true"
|
|
6440
|
-
}, [createElementVNode("b", null, toDisplayString(pad2(c.value)), 1), createElementVNode("small", null, toDisplayString(c
|
|
6433
|
+
}, [createElementVNode("b", null, toDisplayString(pad2(c.value)), 1), createElementVNode("small", null, toDisplayString(label(c)), 1)]);
|
|
6441
6434
|
}), 128))], 8, _hoisted_1$2)) : createCommentVNode("", true);
|
|
6442
6435
|
};
|
|
6443
6436
|
}
|