@hlw-uni/mp-vue 1.1.5 → 1.1.7

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/index.js CHANGED
@@ -2,826 +2,6 @@
2
2
  typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("vue"), require("@hlw-uni/mp-core"), require("pinia")) : typeof define === "function" && define.amd ? define(["exports", "vue", "@hlw-uni/mp-core", "pinia"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.HlwUniVue = {}, global.vue, global.mpCore, global.pinia));
3
3
  })(this, function(exports2, vue, mpCore, pinia) {
4
4
  "use strict";
5
- const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
6
- ...{ name: "HlwAd" },
7
- __name: "index",
8
- props: {
9
- unitId: {}
10
- },
11
- emits: ["load", "close", "error"],
12
- setup(__props, { emit: __emit }) {
13
- const emit = __emit;
14
- function onLoad(event) {
15
- emit("load", event);
16
- }
17
- function onClose(event) {
18
- emit("close", event);
19
- }
20
- function onError(event) {
21
- var _a, _b;
22
- console.error("[HlwAd] 广告错误:", (_a = event == null ? void 0 : event.detail) == null ? void 0 : _a.errCode, (_b = event == null ? void 0 : event.detail) == null ? void 0 : _b.errMsg);
23
- emit("error", event);
24
- }
25
- return (_ctx, _cache) => {
26
- const _component_ad = vue.resolveComponent("ad");
27
- return vue.openBlock(), vue.createBlock(_component_ad, {
28
- "unit-id": __props.unitId,
29
- onLoad,
30
- onClose,
31
- onError
32
- }, null, 8, ["unit-id"]);
33
- };
34
- }
35
- });
36
- const _hoisted_1$g = ["src"];
37
- const _hoisted_2$d = {
38
- key: 1,
39
- class: "hlw-avatar__placeholder"
40
- };
41
- const _hoisted_3$7 = { class: "hlw-avatar__initial" };
42
- const _sfc_main$g = /* @__PURE__ */ vue.defineComponent({
43
- __name: "index",
44
- props: {
45
- src: {},
46
- name: {},
47
- size: {}
48
- },
49
- setup(__props) {
50
- const props = __props;
51
- const loadError = vue.ref(false);
52
- const initial = vue.computed(() => {
53
- if (!props.name)
54
- return "?";
55
- return props.name.charAt(0).toUpperCase();
56
- });
57
- return (_ctx, _cache) => {
58
- return vue.openBlock(), vue.createElementBlock("view", {
59
- class: vue.normalizeClass(`hlw-avatar hlw-avatar--${__props.size ?? "medium"}`)
60
- }, [
61
- __props.src && !loadError.value ? (vue.openBlock(), vue.createElementBlock("image", {
62
- key: 0,
63
- class: "hlw-avatar__image",
64
- src: __props.src,
65
- mode: "aspectFill",
66
- onError: _cache[0] || (_cache[0] = ($event) => loadError.value = true)
67
- }, null, 40, _hoisted_1$g)) : (vue.openBlock(), vue.createElementBlock("view", _hoisted_2$d, [
68
- vue.createElementVNode("text", _hoisted_3$7, vue.toDisplayString(initial.value), 1)
69
- ]))
70
- ], 2);
71
- };
72
- }
73
- });
74
- const _export_sfc = (sfc, props) => {
75
- const target = sfc.__vccOpts || sfc;
76
- for (const [key, val] of props) {
77
- target[key] = val;
78
- }
79
- return target;
80
- };
81
- const index$g = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-19006b2d"]]);
82
- const _hoisted_1$f = ["disabled", "open-type"];
83
- const _hoisted_2$c = {
84
- key: 0,
85
- class: "hlw-btn-spinner"
86
- };
87
- const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
88
- __name: "index",
89
- props: {
90
- type: { default: "primary" },
91
- size: { default: "medium" },
92
- loading: { type: Boolean, default: false },
93
- disabled: { type: Boolean, default: false },
94
- block: { type: Boolean, default: false },
95
- round: { type: Boolean, default: false },
96
- icon: { default: "" },
97
- openType: { default: "" }
98
- },
99
- emits: ["click"],
100
- setup(__props) {
101
- return (_ctx, _cache) => {
102
- return vue.openBlock(), vue.createElementBlock("button", {
103
- class: vue.normalizeClass(["hlw-btn", [
104
- `hlw-btn--${__props.type}`,
105
- `hlw-btn--${__props.size}`,
106
- { "hlw-btn--block": __props.block, "hlw-btn--round": __props.round, "hlw-btn--disabled": __props.disabled, "hlw-btn--loading": __props.loading }
107
- ]]),
108
- disabled: __props.disabled || __props.loading,
109
- "open-type": __props.openType,
110
- onTap: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click"))
111
- }, [
112
- __props.loading ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_2$c)) : __props.icon ? (vue.openBlock(), vue.createElementBlock("view", {
113
- key: 1,
114
- class: vue.normalizeClass([__props.icon, "hlw-btn-icon"])
115
- }, null, 2)) : vue.createCommentVNode("", true),
116
- vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
117
- ], 42, _hoisted_1$f);
118
- };
119
- }
120
- });
121
- const index$f = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-19a9c118"]]);
122
- const _hoisted_1$e = {
123
- key: 0,
124
- class: "hlw-card-header"
125
- };
126
- const _hoisted_2$b = { class: "hlw-card-header-inner" };
127
- const _hoisted_3$6 = { class: "hlw-card-header-left" };
128
- const _hoisted_4$4 = {
129
- key: 0,
130
- class: "hlw-card-title"
131
- };
132
- const _hoisted_5$2 = {
133
- key: 0,
134
- class: "hlw-card-header-right"
135
- };
136
- const _hoisted_6$2 = {
137
- key: 0,
138
- class: "hlw-card-extra"
139
- };
140
- const _hoisted_7$2 = {
141
- key: 1,
142
- class: "hlw-card-divider"
143
- };
144
- const _hoisted_8$2 = {
145
- key: 2,
146
- class: "hlw-card-footer"
147
- };
148
- const _hoisted_9$2 = { class: "hlw-card-footer-inner" };
149
- const _hoisted_10$2 = { class: "hlw-card-footer-left" };
150
- const _hoisted_11$2 = {
151
- key: 0,
152
- class: "hlw-card-footer-right"
153
- };
154
- const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
155
- __name: "index",
156
- props: {
157
- title: { default: "" },
158
- extra: { default: "" },
159
- border: { type: Boolean, default: true },
160
- radius: { default: "xl" },
161
- divider: { type: Boolean, default: void 0 },
162
- padding: { type: Boolean, default: true }
163
- },
164
- setup(__props) {
165
- const props = __props;
166
- const slots = vue.useSlots();
167
- const hasHeader = vue.computed(
168
- () => !!(props.title || props.extra || slots.header || slots["header-left"] || slots["header-right"])
169
- );
170
- const hasFooter = vue.computed(
171
- () => !!(slots.footer || slots["footer-left"] || slots["footer-right"])
172
- );
173
- const showDivider = vue.computed(() => {
174
- if (props.divider !== void 0)
175
- return props.divider;
176
- return hasHeader.value;
177
- });
178
- return (_ctx, _cache) => {
179
- return vue.openBlock(), vue.createElementBlock("view", {
180
- class: vue.normalizeClass(["hlw-card", [
181
- `hlw-card--radius-${__props.radius}`,
182
- __props.border ? "hlw-card--bordered" : ""
183
- ]])
184
- }, [
185
- hasHeader.value ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_1$e, [
186
- vue.renderSlot(_ctx.$slots, "header", {}, () => [
187
- vue.createElementVNode("view", _hoisted_2$b, [
188
- vue.createElementVNode("view", _hoisted_3$6, [
189
- vue.renderSlot(_ctx.$slots, "header-left", {}, () => [
190
- __props.title ? (vue.openBlock(), vue.createElementBlock("text", _hoisted_4$4, vue.toDisplayString(__props.title), 1)) : vue.createCommentVNode("", true)
191
- ], true)
192
- ]),
193
- _ctx.$slots["header-right"] || __props.extra ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_5$2, [
194
- vue.renderSlot(_ctx.$slots, "header-right", {}, () => [
195
- __props.extra ? (vue.openBlock(), vue.createElementBlock("text", _hoisted_6$2, vue.toDisplayString(__props.extra), 1)) : vue.createCommentVNode("", true)
196
- ], true)
197
- ])) : vue.createCommentVNode("", true)
198
- ])
199
- ], true)
200
- ])) : vue.createCommentVNode("", true),
201
- showDivider.value ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_7$2)) : vue.createCommentVNode("", true),
202
- vue.createElementVNode("view", {
203
- class: vue.normalizeClass(["hlw-card-body", { "hlw-card-body--padded": __props.padding }])
204
- }, [
205
- vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
206
- ], 2),
207
- hasFooter.value ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_8$2, [
208
- vue.renderSlot(_ctx.$slots, "footer", {}, () => [
209
- vue.createElementVNode("view", _hoisted_9$2, [
210
- vue.createElementVNode("view", _hoisted_10$2, [
211
- vue.renderSlot(_ctx.$slots, "footer-left", {}, void 0, true)
212
- ]),
213
- _ctx.$slots["footer-right"] ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_11$2, [
214
- vue.renderSlot(_ctx.$slots, "footer-right", {}, void 0, true)
215
- ])) : vue.createCommentVNode("", true)
216
- ])
217
- ], true)
218
- ])) : vue.createCommentVNode("", true)
219
- ], 2);
220
- };
221
- }
222
- });
223
- const index$e = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-cf55252e"]]);
224
- const _hoisted_1$d = {
225
- key: 0,
226
- class: "hlw-cell-icon"
227
- };
228
- const _hoisted_2$a = { class: "hlw-cell-body" };
229
- const _hoisted_3$5 = { class: "hlw-cell-title" };
230
- const _hoisted_4$3 = {
231
- key: 0,
232
- class: "hlw-cell-label"
233
- };
234
- const _hoisted_5$1 = { class: "hlw-cell-value" };
235
- const _hoisted_6$1 = ["hover-class"];
236
- const _hoisted_7$1 = {
237
- key: 0,
238
- class: "hlw-cell-icon"
239
- };
240
- const _hoisted_8$1 = { class: "hlw-cell-body" };
241
- const _hoisted_9$1 = { class: "hlw-cell-title" };
242
- const _hoisted_10$1 = {
243
- key: 0,
244
- class: "hlw-cell-label"
245
- };
246
- const _hoisted_11$1 = { class: "hlw-cell-value" };
247
- const _hoisted_12$1 = {
248
- key: 1,
249
- class: "hlw-cell-arrow"
250
- };
251
- const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
252
- __name: "index",
253
- props: {
254
- title: { default: "" },
255
- label: { default: "" },
256
- value: { default: "" },
257
- icon: { default: "" },
258
- isLink: { type: Boolean, default: false },
259
- url: { default: "" },
260
- border: { type: Boolean, default: true }
261
- },
262
- emits: ["click"],
263
- setup(__props) {
264
- return (_ctx, _cache) => {
265
- const _component_navigator = vue.resolveComponent("navigator");
266
- return __props.url ? (vue.openBlock(), vue.createBlock(_component_navigator, {
267
- key: 0,
268
- url: __props.url,
269
- class: vue.normalizeClass(["hlw-cell", { "hlw-cell--border": __props.border }]),
270
- "hover-class": "hlw-cell--hover"
271
- }, {
272
- default: vue.withCtx(() => [
273
- __props.icon || _ctx.$slots.icon ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_1$d, [
274
- vue.renderSlot(_ctx.$slots, "icon", {}, () => [
275
- vue.createElementVNode("view", {
276
- class: vue.normalizeClass(__props.icon)
277
- }, null, 2)
278
- ], true)
279
- ])) : vue.createCommentVNode("", true),
280
- vue.createElementVNode("view", _hoisted_2$a, [
281
- vue.createElementVNode("view", _hoisted_3$5, [
282
- vue.renderSlot(_ctx.$slots, "title", {}, () => [
283
- vue.createTextVNode(vue.toDisplayString(__props.title), 1)
284
- ], true),
285
- __props.label ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_4$3, vue.toDisplayString(__props.label), 1)) : vue.createCommentVNode("", true)
286
- ]),
287
- vue.createElementVNode("view", _hoisted_5$1, [
288
- vue.renderSlot(_ctx.$slots, "value", {}, () => [
289
- vue.createTextVNode(vue.toDisplayString(__props.value), 1)
290
- ], true)
291
- ])
292
- ]),
293
- _cache[1] || (_cache[1] = vue.createElementVNode("view", { class: "hlw-cell-arrow" }, null, -1))
294
- ]),
295
- _: 3
296
- }, 8, ["url", "class"])) : (vue.openBlock(), vue.createElementBlock("view", {
297
- key: 1,
298
- class: vue.normalizeClass(["hlw-cell", { "hlw-cell--border": __props.border, "hlw-cell--link": __props.isLink }]),
299
- "hover-class": __props.isLink ? "hlw-cell--hover" : "",
300
- onTap: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click"))
301
- }, [
302
- __props.icon || _ctx.$slots.icon ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_7$1, [
303
- vue.renderSlot(_ctx.$slots, "icon", {}, () => [
304
- vue.createElementVNode("view", {
305
- class: vue.normalizeClass(__props.icon)
306
- }, null, 2)
307
- ], true)
308
- ])) : vue.createCommentVNode("", true),
309
- vue.createElementVNode("view", _hoisted_8$1, [
310
- vue.createElementVNode("view", _hoisted_9$1, [
311
- vue.renderSlot(_ctx.$slots, "title", {}, () => [
312
- vue.createTextVNode(vue.toDisplayString(__props.title), 1)
313
- ], true),
314
- __props.label ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_10$1, vue.toDisplayString(__props.label), 1)) : vue.createCommentVNode("", true)
315
- ]),
316
- vue.createElementVNode("view", _hoisted_11$1, [
317
- vue.renderSlot(_ctx.$slots, "value", {}, () => [
318
- vue.createTextVNode(vue.toDisplayString(__props.value), 1)
319
- ], true)
320
- ])
321
- ]),
322
- __props.isLink ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_12$1)) : vue.createCommentVNode("", true),
323
- vue.renderSlot(_ctx.$slots, "right", {}, void 0, true)
324
- ], 42, _hoisted_6$1));
325
- };
326
- }
327
- });
328
- const index$d = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-996053be"]]);
329
- const _hoisted_1$c = {
330
- key: 0,
331
- class: "hlw-divider-text"
332
- };
333
- const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
334
- __name: "index",
335
- props: {
336
- text: { default: "" },
337
- position: { default: "center" },
338
- dashed: { type: Boolean, default: false }
339
- },
340
- setup(__props) {
341
- return (_ctx, _cache) => {
342
- return vue.openBlock(), vue.createElementBlock("view", {
343
- class: vue.normalizeClass(["hlw-divider", [`hlw-divider--${__props.position}`, { "hlw-divider--dashed": __props.dashed }]])
344
- }, [
345
- _cache[0] || (_cache[0] = vue.createElementVNode("view", { class: "hlw-divider-line" }, null, -1)),
346
- __props.text || _ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_1$c, [
347
- vue.renderSlot(_ctx.$slots, "default", {}, () => [
348
- vue.createTextVNode(vue.toDisplayString(__props.text), 1)
349
- ], true)
350
- ])) : vue.createCommentVNode("", true),
351
- _cache[1] || (_cache[1] = vue.createElementVNode("view", { class: "hlw-divider-line" }, null, -1))
352
- ], 2);
353
- };
354
- }
355
- });
356
- const index$c = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-beaa0298"]]);
357
- const _hoisted_1$b = { class: "hlw-empty" };
358
- const _hoisted_2$9 = ["src"];
359
- const _hoisted_3$4 = {
360
- key: 1,
361
- class: "hlw-empty__icon i-fa6-solid-box-open"
362
- };
363
- const _hoisted_4$2 = { class: "hlw-empty__text" };
364
- const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
365
- __name: "index",
366
- props: {
367
- text: {},
368
- image: {}
369
- },
370
- setup(__props) {
371
- return (_ctx, _cache) => {
372
- return vue.openBlock(), vue.createElementBlock("view", _hoisted_1$b, [
373
- __props.image ? (vue.openBlock(), vue.createElementBlock("image", {
374
- key: 0,
375
- class: "hlw-empty__image",
376
- src: __props.image,
377
- mode: "aspectFit"
378
- }, null, 8, _hoisted_2$9)) : (vue.openBlock(), vue.createElementBlock("view", _hoisted_3$4)),
379
- vue.createElementVNode("text", _hoisted_4$2, vue.toDisplayString(__props.text || "暂无数据"), 1),
380
- vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
381
- ]);
382
- };
383
- }
384
- });
385
- const index$b = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-94fefc47"]]);
386
- const _hoisted_1$a = {
387
- key: 0,
388
- class: "header-placeholder"
389
- };
390
- const _hoisted_2$8 = {
391
- key: 0,
392
- class: "header-title header-title--center"
393
- };
394
- const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
395
- __name: "index",
396
- props: {
397
- extraHeight: { default: 0 },
398
- bgClass: { default: "" },
399
- isBack: { type: Boolean, default: false },
400
- title: { default: "" },
401
- titleAlign: { default: "center" },
402
- titleSize: { default: "var(--font-base, 28rpx)" },
403
- titleWeight: { default: 500 },
404
- titleColor: { default: "" }
405
- },
406
- emits: ["back"],
407
- setup(__props, { emit: __emit }) {
408
- const getNavBarContentHeight = () => {
409
- var _a;
410
- try {
411
- const menuInfo = (_a = uni.getMenuButtonBoundingClientRect) == null ? void 0 : _a.call(uni);
412
- if (!menuInfo)
413
- return 44;
414
- const systemInfo = uni.getSystemInfoSync();
415
- return (menuInfo.top - systemInfo.statusBarHeight) * 2 + menuInfo.height;
416
- } catch {
417
- return 44;
418
- }
419
- };
420
- const getStatusBarHeight = () => {
421
- try {
422
- const systemInfo = uni.getSystemInfoSync();
423
- return systemInfo.statusBarHeight || 20;
424
- } catch {
425
- return 20;
426
- }
427
- };
428
- const NAV_BAR_CONTENT_HEIGHT = getNavBarContentHeight();
429
- const props = __props;
430
- const emit = __emit;
431
- const handleBack = () => {
432
- emit("back");
433
- uni.navigateBack({ delta: 1 });
434
- };
435
- const titleStyle = vue.computed(() => ({
436
- fontSize: props.titleSize,
437
- fontWeight: String(props.titleWeight),
438
- ...props.titleColor ? { color: props.titleColor } : {}
439
- }));
440
- const slots = vue.useSlots();
441
- const hasBgSlot = vue.computed(() => !props.isBack && !!slots.bg);
442
- const statusBarHeight = vue.ref(getStatusBarHeight());
443
- const totalNavBarHeight = vue.computed(() => statusBarHeight.value + NAV_BAR_CONTENT_HEIGHT + props.extraHeight);
444
- return (_ctx, _cache) => {
445
- return vue.openBlock(), vue.createElementBlock("view", {
446
- class: "hlw-header",
447
- style: vue.normalizeStyle({ height: totalNavBarHeight.value + "px" })
448
- }, [
449
- vue.createElementVNode("view", {
450
- class: vue.normalizeClass(["header-bg-layer", hasBgSlot.value ? "" : props.bgClass])
451
- }, [
452
- !props.isBack ? vue.renderSlot(_ctx.$slots, "bg", { key: 0 }, void 0, true) : vue.createCommentVNode("", true)
453
- ], 2),
454
- vue.createElementVNode("view", {
455
- class: "status-bar-spacer",
456
- style: vue.normalizeStyle({ height: statusBarHeight.value + "px" })
457
- }, null, 4),
458
- vue.createElementVNode("view", {
459
- class: "header-content-area",
460
- style: vue.normalizeStyle({ height: vue.unref(NAV_BAR_CONTENT_HEIGHT) + "px" })
461
- }, [
462
- props.isBack ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
463
- vue.createElementVNode("view", {
464
- class: "header-back",
465
- onClick: handleBack
466
- }, [
467
- vue.renderSlot(_ctx.$slots, "back-icon", {}, () => [
468
- _cache[0] || (_cache[0] = vue.createElementVNode("text", { class: "i-fa6-solid-chevron-left header-back-icon" }, null, -1))
469
- ], true)
470
- ]),
471
- vue.createElementVNode("view", {
472
- class: vue.normalizeClass(["header-title", props.titleAlign === "left" ? "header-title--left" : "header-title--center"])
473
- }, [
474
- vue.renderSlot(_ctx.$slots, "title", {}, () => [
475
- vue.createElementVNode("text", {
476
- class: "header-title-text",
477
- style: vue.normalizeStyle(titleStyle.value)
478
- }, vue.toDisplayString(props.title), 5)
479
- ], true)
480
- ], 2),
481
- props.titleAlign === "center" ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_1$a)) : vue.createCommentVNode("", true)
482
- ], 64)) : vue.renderSlot(_ctx.$slots, "default", { key: 1 }, () => [
483
- props.title ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_2$8, [
484
- vue.createElementVNode("text", {
485
- class: "header-title-text",
486
- style: vue.normalizeStyle(titleStyle.value)
487
- }, vue.toDisplayString(props.title), 5)
488
- ])) : vue.createCommentVNode("", true)
489
- ], true)
490
- ], 4)
491
- ], 4);
492
- };
493
- }
494
- });
495
- const index$a = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-8497ffe5"]]);
496
- const _hoisted_1$9 = { class: "hlw-loading" };
497
- const _hoisted_2$7 = {
498
- key: 0,
499
- class: "hlw-loading__text"
500
- };
501
- const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
502
- __name: "index",
503
- props: {
504
- text: {}
505
- },
506
- setup(__props) {
507
- return (_ctx, _cache) => {
508
- return vue.openBlock(), vue.createElementBlock("view", _hoisted_1$9, [
509
- _cache[0] || (_cache[0] = vue.createElementVNode("view", { class: "hlw-loading__spinner" }, null, -1)),
510
- __props.text ? (vue.openBlock(), vue.createElementBlock("text", _hoisted_2$7, vue.toDisplayString(__props.text), 1)) : vue.createCommentVNode("", true)
511
- ]);
512
- };
513
- }
514
- });
515
- const index$9 = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-fd9272d5"]]);
516
- const _hoisted_1$8 = {
517
- key: 0,
518
- class: "hlw-menu-title"
519
- };
520
- const _hoisted_2$6 = {
521
- key: 1,
522
- class: "hlw-menu-title-divider"
523
- };
524
- const _hoisted_3$3 = { class: "hlw-menu-left" };
525
- const _hoisted_4$1 = { class: "hlw-menu-label" };
526
- const _hoisted_5 = { class: "hlw-menu-right" };
527
- const _hoisted_6 = {
528
- key: 0,
529
- class: "hlw-menu-value"
530
- };
531
- const _hoisted_7 = ["onClick"];
532
- const _hoisted_8 = { class: "hlw-menu-left" };
533
- const _hoisted_9 = { class: "hlw-menu-label" };
534
- const _hoisted_10 = { class: "hlw-menu-right" };
535
- const _hoisted_11 = {
536
- key: 0,
537
- class: "i-fa6-solid-circle-notch hlw-menu-spin hlw-menu-muted"
538
- };
539
- const _hoisted_12 = {
540
- key: 1,
541
- class: "hlw-menu-value"
542
- };
543
- const _hoisted_13 = {
544
- key: 2,
545
- class: "hlw-menu-divider"
546
- };
547
- const _hoisted_14 = { class: "hlw-menu-grid-icon-wrap" };
548
- const _hoisted_15 = { class: "hlw-menu-grid-label" };
549
- const _hoisted_16 = ["onClick"];
550
- const _hoisted_17 = { class: "hlw-menu-grid-icon-wrap" };
551
- const _hoisted_18 = { class: "hlw-menu-grid-label" };
552
- const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
553
- __name: "index",
554
- props: {
555
- items: {},
556
- title: { default: "" },
557
- mode: { default: "list" },
558
- columns: { default: 4 },
559
- border: { type: Boolean, default: true }
560
- },
561
- emits: ["click"],
562
- setup(__props, { emit: __emit }) {
563
- const props = __props;
564
- const emit = __emit;
565
- const visibleItems = vue.computed(() => props.items.filter((item) => item.visible !== false));
566
- const handleClick = (item) => {
567
- emit("click", item);
568
- };
569
- return (_ctx, _cache) => {
570
- const _component_navigator = vue.resolveComponent("navigator");
571
- return vue.openBlock(), vue.createElementBlock("view", {
572
- class: vue.normalizeClass(["hlw-menu", { "hlw-menu--no-border": !props.border }])
573
- }, [
574
- props.title ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_1$8, [
575
- vue.createElementVNode("text", null, vue.toDisplayString(props.title), 1)
576
- ])) : vue.createCommentVNode("", true),
577
- props.title ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_2$6)) : vue.createCommentVNode("", true),
578
- props.mode === "list" ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 2 }, vue.renderList(visibleItems.value, (item, index2) => {
579
- return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: index2 }, [
580
- item.url ? (vue.openBlock(), vue.createBlock(_component_navigator, {
581
- key: 0,
582
- url: item.url,
583
- class: "hlw-menu-item",
584
- "hover-class": "hlw-menu-item--active"
585
- }, {
586
- default: vue.withCtx(() => [
587
- vue.createElementVNode("view", _hoisted_3$3, [
588
- vue.createElementVNode("view", {
589
- class: vue.normalizeClass(["hlw-menu-icon", `hlw-menu-icon--${item.iconTheme || "slate"}`])
590
- }, [
591
- vue.createElementVNode("text", {
592
- class: vue.normalizeClass(item.icon)
593
- }, null, 2)
594
- ], 2),
595
- vue.createElementVNode("text", _hoisted_4$1, vue.toDisplayString(item.label), 1)
596
- ]),
597
- vue.createElementVNode("view", _hoisted_5, [
598
- item.value ? (vue.openBlock(), vue.createElementBlock("text", _hoisted_6, vue.toDisplayString(item.value), 1)) : vue.createCommentVNode("", true),
599
- item.tag ? (vue.openBlock(), vue.createElementBlock("text", {
600
- key: 1,
601
- class: vue.normalizeClass(["hlw-menu-tag", [`hlw-menu-tag--${item.tagTheme || "rose"}`, item.tagPulse ? "hlw-menu-tag-pulse" : ""]])
602
- }, vue.toDisplayString(item.tag), 3)) : vue.createCommentVNode("", true),
603
- _cache[0] || (_cache[0] = vue.createElementVNode("text", { class: "i-fa6-solid-chevron-right hlw-menu-arrow" }, null, -1))
604
- ])
605
- ]),
606
- _: 2
607
- }, 1032, ["url"])) : (vue.openBlock(), vue.createElementBlock("view", {
608
- key: 1,
609
- class: "hlw-menu-item",
610
- "hover-class": "hlw-menu-item--active",
611
- onClick: ($event) => handleClick(item)
612
- }, [
613
- vue.createElementVNode("view", _hoisted_8, [
614
- vue.createElementVNode("view", {
615
- class: vue.normalizeClass(["hlw-menu-icon", `hlw-menu-icon--${item.iconTheme || "slate"}`])
616
- }, [
617
- vue.createElementVNode("text", {
618
- class: vue.normalizeClass(item.icon)
619
- }, null, 2)
620
- ], 2),
621
- vue.createElementVNode("text", _hoisted_9, vue.toDisplayString(item.label), 1)
622
- ]),
623
- vue.createElementVNode("view", _hoisted_10, [
624
- item.loading ? (vue.openBlock(), vue.createElementBlock("text", _hoisted_11)) : vue.createCommentVNode("", true),
625
- item.value ? (vue.openBlock(), vue.createElementBlock("text", _hoisted_12, vue.toDisplayString(item.value), 1)) : vue.createCommentVNode("", true),
626
- item.tag ? (vue.openBlock(), vue.createElementBlock("text", {
627
- key: 2,
628
- class: vue.normalizeClass(["hlw-menu-tag", [`hlw-menu-tag--${item.tagTheme || "rose"}`, item.tagPulse ? "hlw-menu-tag-pulse" : ""]])
629
- }, vue.toDisplayString(item.tag), 3)) : vue.createCommentVNode("", true),
630
- _cache[1] || (_cache[1] = vue.createElementVNode("text", { class: "i-fa6-solid-chevron-right hlw-menu-arrow" }, null, -1))
631
- ])
632
- ], 8, _hoisted_7)),
633
- index2 < visibleItems.value.length - 1 ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_13)) : vue.createCommentVNode("", true)
634
- ], 64);
635
- }), 128)) : (vue.openBlock(), vue.createElementBlock("view", {
636
- key: 3,
637
- class: "hlw-menu-grid",
638
- style: vue.normalizeStyle({ gridTemplateColumns: `repeat(${props.columns}, 1fr)` })
639
- }, [
640
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(visibleItems.value, (item, index2) => {
641
- return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: index2 }, [
642
- item.url ? (vue.openBlock(), vue.createBlock(_component_navigator, {
643
- key: 0,
644
- url: item.url,
645
- class: "hlw-menu-grid-item",
646
- "hover-class": "hlw-menu-grid-item--active"
647
- }, {
648
- default: vue.withCtx(() => [
649
- vue.createElementVNode("view", _hoisted_14, [
650
- vue.createElementVNode("view", {
651
- class: vue.normalizeClass(["hlw-menu-icon hlw-menu-icon--grid", `hlw-menu-icon--${item.iconTheme || "slate"}`])
652
- }, [
653
- vue.createElementVNode("text", {
654
- class: vue.normalizeClass(item.icon)
655
- }, null, 2)
656
- ], 2),
657
- item.tag ? (vue.openBlock(), vue.createElementBlock("text", {
658
- key: 0,
659
- class: vue.normalizeClass(["hlw-menu-badge", [`hlw-menu-tag--${item.tagTheme || "rose"}`, item.tagPulse ? "hlw-menu-tag-pulse" : ""]])
660
- }, vue.toDisplayString(item.tag), 3)) : vue.createCommentVNode("", true)
661
- ]),
662
- vue.createElementVNode("text", _hoisted_15, vue.toDisplayString(item.label), 1)
663
- ]),
664
- _: 2
665
- }, 1032, ["url"])) : (vue.openBlock(), vue.createElementBlock("view", {
666
- key: 1,
667
- class: "hlw-menu-grid-item",
668
- "hover-class": "hlw-menu-grid-item--active",
669
- onClick: ($event) => handleClick(item)
670
- }, [
671
- vue.createElementVNode("view", _hoisted_17, [
672
- vue.createElementVNode("view", {
673
- class: vue.normalizeClass(["hlw-menu-icon hlw-menu-icon--grid", `hlw-menu-icon--${item.iconTheme || "slate"}`])
674
- }, [
675
- vue.createElementVNode("text", {
676
- class: vue.normalizeClass(item.icon)
677
- }, null, 2)
678
- ], 2),
679
- item.tag ? (vue.openBlock(), vue.createElementBlock("text", {
680
- key: 0,
681
- class: vue.normalizeClass(["hlw-menu-badge", [`hlw-menu-tag--${item.tagTheme || "rose"}`, item.tagPulse ? "hlw-menu-tag-pulse" : ""]])
682
- }, vue.toDisplayString(item.tag), 3)) : vue.createCommentVNode("", true)
683
- ]),
684
- vue.createElementVNode("text", _hoisted_18, vue.toDisplayString(item.label), 1)
685
- ], 8, _hoisted_16))
686
- ], 64);
687
- }), 128))
688
- ], 4))
689
- ], 2);
690
- };
691
- }
692
- });
693
- const index$8 = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-2d7cd322"]]);
694
- const _hoisted_1$7 = {
695
- key: 0,
696
- class: "hlw-modal-title"
697
- };
698
- const _hoisted_2$5 = { class: "hlw-modal-body" };
699
- const _hoisted_3$2 = { class: "hlw-modal-footer" };
700
- const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
701
- __name: "index",
702
- props: {
703
- show: { type: Boolean, default: false },
704
- title: { default: "" },
705
- showCancel: { type: Boolean, default: true },
706
- confirmText: { default: "确定" },
707
- cancelText: { default: "取消" },
708
- closeOnMask: { type: Boolean, default: true }
709
- },
710
- emits: ["update:show", "confirm", "cancel"],
711
- setup(__props, { emit: __emit }) {
712
- const props = __props;
713
- const emit = __emit;
714
- function close() {
715
- emit("update:show", false);
716
- }
717
- function onMask() {
718
- if (!props.closeOnMask)
719
- return;
720
- close();
721
- }
722
- function onConfirm() {
723
- emit("confirm");
724
- close();
725
- }
726
- function onCancel() {
727
- emit("cancel");
728
- close();
729
- }
730
- return (_ctx, _cache) => {
731
- return __props.show ? (vue.openBlock(), vue.createElementBlock("view", {
732
- key: 0,
733
- class: "hlw-modal-mask",
734
- onTap: vue.withModifiers(onMask, ["self"])
735
- }, [
736
- vue.createElementVNode("view", {
737
- class: vue.normalizeClass(["hlw-modal", { "hlw-modal--show": __props.show }]),
738
- onTap: _cache[0] || (_cache[0] = vue.withModifiers(() => {
739
- }, ["stop"]))
740
- }, [
741
- __props.title ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_1$7, vue.toDisplayString(__props.title), 1)) : vue.createCommentVNode("", true),
742
- vue.createElementVNode("view", _hoisted_2$5, [
743
- vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
744
- ]),
745
- vue.renderSlot(_ctx.$slots, "footer", {}, () => [
746
- vue.createElementVNode("view", _hoisted_3$2, [
747
- __props.showCancel ? (vue.openBlock(), vue.createElementBlock("view", {
748
- key: 0,
749
- class: "hlw-modal-btn hlw-modal-btn--cancel",
750
- onTap: vue.withModifiers(onCancel, ["stop"])
751
- }, vue.toDisplayString(__props.cancelText), 33)) : vue.createCommentVNode("", true),
752
- vue.createElementVNode("view", {
753
- class: "hlw-modal-btn hlw-modal-btn--confirm",
754
- onTap: vue.withModifiers(onConfirm, ["stop"])
755
- }, vue.toDisplayString(__props.confirmText), 33)
756
- ])
757
- ], true)
758
- ], 34)
759
- ], 32)) : vue.createCommentVNode("", true);
760
- };
761
- }
762
- });
763
- const index$7 = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-91d9e108"]]);
764
- const _hoisted_1$6 = {
765
- key: 1,
766
- class: "hlw-notice-left-icon i-fa6-solid-bullhorn"
767
- };
768
- const _hoisted_2$4 = { class: "hlw-notice-text" };
769
- const _hoisted_3$1 = {
770
- key: 1,
771
- class: "hlw-notice-text hlw-notice-text--ellipsis"
772
- };
773
- const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
774
- __name: "index",
775
- props: {
776
- text: { default: "" },
777
- scrollable: { type: Boolean, default: true },
778
- closable: { type: Boolean, default: false },
779
- color: { default: "#ed6a0c" },
780
- background: { default: "#fffbe8" },
781
- speed: { default: 60 },
782
- leftIcon: { default: "" }
783
- },
784
- emits: ["close", "click"],
785
- setup(__props) {
786
- const props = __props;
787
- const closed = vue.ref(false);
788
- const duration = vue.computed(() => Math.max(3, props.text.length * 20 / props.speed));
789
- const animStyle = vue.computed(() => ({ animationDuration: `${duration.value}s` }));
790
- function onClose() {
791
- closed.value = true;
792
- }
793
- return (_ctx, _cache) => {
794
- return !closed.value ? (vue.openBlock(), vue.createElementBlock("view", {
795
- key: 0,
796
- class: "hlw-notice",
797
- style: vue.normalizeStyle({ color: __props.color, background: __props.background })
798
- }, [
799
- __props.leftIcon ? (vue.openBlock(), vue.createElementBlock("view", {
800
- key: 0,
801
- class: vue.normalizeClass([__props.leftIcon, "hlw-notice-left-icon"])
802
- }, null, 2)) : (vue.openBlock(), vue.createElementBlock("view", _hoisted_1$6)),
803
- vue.createElementVNode("view", {
804
- class: "hlw-notice-wrap",
805
- onTap: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click"))
806
- }, [
807
- __props.scrollable ? (vue.openBlock(), vue.createElementBlock("view", {
808
- key: 0,
809
- class: "hlw-notice-scroll",
810
- style: vue.normalizeStyle(animStyle.value)
811
- }, [
812
- vue.createElementVNode("text", _hoisted_2$4, vue.toDisplayString(__props.text), 1)
813
- ], 4)) : (vue.openBlock(), vue.createElementBlock("text", _hoisted_3$1, vue.toDisplayString(__props.text), 1))
814
- ], 32),
815
- __props.closable ? (vue.openBlock(), vue.createElementBlock("view", {
816
- key: 2,
817
- class: "hlw-notice-close i-fa6-solid-xmark",
818
- onTap: onClose
819
- }, null, 32)) : vue.createCommentVNode("", true)
820
- ], 4)) : vue.createCommentVNode("", true);
821
- };
822
- }
823
- });
824
- const index$6 = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-7a758299"]]);
825
5
  const FONT_SCALE_KEY = "hlw_font_scale";
826
6
  const FONT_PRESETS = {
827
7
  small: {
@@ -925,290 +105,6 @@
925
105
  vue.onUnmounted(() => uni.$off(THEME_CHANGE_EVENT, onThemeChange));
926
106
  return { themePageStyle };
927
107
  }
928
- const _hoisted_1$5 = { class: "hlw-page-header" };
929
- const _hoisted_2$3 = { class: "hlw-page-footer" };
930
- const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
931
- __name: "index",
932
- props: {
933
- title: { default: "" },
934
- isBack: { type: Boolean, default: false },
935
- bgClass: { default: "" }
936
- },
937
- setup(__props) {
938
- const props = __props;
939
- const { themePageStyle } = useThemePageStyle();
940
- return (_ctx, _cache) => {
941
- const _component_hlw_header = vue.resolveComponent("hlw-header");
942
- const _component_scroll_view = vue.resolveComponent("scroll-view");
943
- return vue.openBlock(), vue.createElementBlock("view", {
944
- class: "hlw-page",
945
- style: vue.normalizeStyle(vue.unref(themePageStyle))
946
- }, [
947
- vue.createElementVNode("view", _hoisted_1$5, [
948
- vue.renderSlot(_ctx.$slots, "header", {}, () => [
949
- props.title || props.isBack ? (vue.openBlock(), vue.createBlock(_component_hlw_header, {
950
- key: 0,
951
- title: props.title,
952
- "is-back": props.isBack,
953
- "bg-class": props.bgClass
954
- }, null, 8, ["title", "is-back", "bg-class"])) : vue.createCommentVNode("", true)
955
- ], true)
956
- ]),
957
- vue.createVNode(_component_scroll_view, {
958
- class: "hlw-page-content",
959
- "scroll-y": true,
960
- "enable-flex": true,
961
- enhanced: true,
962
- "show-scrollbar": false,
963
- style: vue.normalizeStyle(vue.unref(themePageStyle))
964
- }, {
965
- default: vue.withCtx(() => [
966
- vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
967
- ]),
968
- _: 3
969
- }, 8, ["style"]),
970
- vue.createElementVNode("view", _hoisted_2$3, [
971
- vue.renderSlot(_ctx.$slots, "footer", {}, void 0, true)
972
- ])
973
- ], 4);
974
- };
975
- }
976
- });
977
- const index$5 = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-01bb7796"]]);
978
- const _hoisted_1$4 = {
979
- key: 0,
980
- class: "hlw-popup-header"
981
- };
982
- const _hoisted_2$2 = { class: "hlw-popup-title" };
983
- const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
984
- __name: "index",
985
- props: {
986
- show: { type: Boolean, default: false },
987
- position: { default: "bottom" },
988
- round: { type: Boolean, default: true },
989
- closable: { type: Boolean, default: true },
990
- title: { default: "" }
991
- },
992
- emits: ["update:show", "close"],
993
- setup(__props, { emit: __emit }) {
994
- const emit = __emit;
995
- function onClose() {
996
- emit("update:show", false);
997
- emit("close");
998
- }
999
- return (_ctx, _cache) => {
1000
- return __props.show ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
1001
- vue.createElementVNode("view", {
1002
- class: "hlw-popup-mask",
1003
- onTap: vue.withModifiers(onClose, ["self"])
1004
- }, null, 32),
1005
- vue.createElementVNode("view", {
1006
- class: vue.normalizeClass(["hlw-popup", [`hlw-popup--${__props.position}`, { "hlw-popup--round": __props.round }]]),
1007
- onTap: _cache[0] || (_cache[0] = vue.withModifiers(() => {
1008
- }, ["stop"]))
1009
- }, [
1010
- __props.title || __props.closable ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_1$4, [
1011
- vue.createElementVNode("text", _hoisted_2$2, vue.toDisplayString(__props.title), 1),
1012
- __props.closable ? (vue.openBlock(), vue.createElementBlock("view", {
1013
- key: 0,
1014
- class: "hlw-popup-close i-fa6-solid-xmark",
1015
- onTap: onClose
1016
- }, null, 32)) : vue.createCommentVNode("", true)
1017
- ])) : vue.createCommentVNode("", true),
1018
- vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
1019
- ], 34)
1020
- ], 64)) : vue.createCommentVNode("", true);
1021
- };
1022
- }
1023
- });
1024
- const index$4 = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-be12aee0"]]);
1025
- const _hoisted_1$3 = ["value", "placeholder", "disabled"];
1026
- const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
1027
- __name: "index",
1028
- props: {
1029
- modelValue: { default: "" },
1030
- placeholder: { default: "搜索" },
1031
- disabled: { type: Boolean, default: false },
1032
- clearable: { type: Boolean, default: true },
1033
- shape: { default: "round" },
1034
- background: { default: "" }
1035
- },
1036
- emits: ["update:modelValue", "search", "clear", "focus", "blur"],
1037
- setup(__props, { emit: __emit }) {
1038
- const emit = __emit;
1039
- function onInput(e) {
1040
- var _a;
1041
- emit("update:modelValue", ((_a = e == null ? void 0 : e.detail) == null ? void 0 : _a.value) ?? "");
1042
- }
1043
- function onClear() {
1044
- emit("update:modelValue", "");
1045
- emit("clear");
1046
- }
1047
- return (_ctx, _cache) => {
1048
- return vue.openBlock(), vue.createElementBlock("view", {
1049
- class: "hlw-search",
1050
- style: vue.normalizeStyle(__props.background ? { background: __props.background } : {})
1051
- }, [
1052
- vue.createElementVNode("view", {
1053
- class: vue.normalizeClass(["hlw-search-box", { "hlw-search-box--round": __props.shape === "round" }])
1054
- }, [
1055
- _cache[3] || (_cache[3] = vue.createElementVNode("view", { class: "hlw-search-icon i-fa6-solid-magnifying-glass" }, null, -1)),
1056
- vue.createElementVNode("input", {
1057
- class: "hlw-search-input",
1058
- type: "text",
1059
- value: __props.modelValue,
1060
- placeholder: __props.placeholder,
1061
- disabled: __props.disabled,
1062
- "confirm-type": "search",
1063
- onInput,
1064
- onConfirm: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("search", __props.modelValue)),
1065
- onFocus: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("focus")),
1066
- onBlur: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("blur"))
1067
- }, null, 40, _hoisted_1$3),
1068
- __props.clearable && __props.modelValue ? (vue.openBlock(), vue.createElementBlock("view", {
1069
- key: 0,
1070
- class: "hlw-search-clear i-fa6-solid-xmark",
1071
- onTap: onClear
1072
- }, null, 32)) : vue.createCommentVNode("", true)
1073
- ], 2)
1074
- ], 4);
1075
- };
1076
- }
1077
- });
1078
- const index$3 = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-4fe1bfab"]]);
1079
- const _hoisted_1$2 = { class: "hlw-skeleton-content" };
1080
- const _hoisted_2$1 = {
1081
- key: 0,
1082
- class: "hlw-skeleton-title"
1083
- };
1084
- const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
1085
- __name: "index",
1086
- props: {
1087
- loading: { type: Boolean, default: true },
1088
- rows: { default: 3 },
1089
- avatar: { type: Boolean, default: false },
1090
- title: { type: Boolean, default: true },
1091
- animate: { type: Boolean, default: true },
1092
- avatarSize: { default: "medium" }
1093
- },
1094
- setup(__props) {
1095
- return (_ctx, _cache) => {
1096
- return __props.loading ? (vue.openBlock(), vue.createElementBlock("view", {
1097
- key: 0,
1098
- class: vue.normalizeClass(["hlw-skeleton", { "hlw-skeleton--animate": __props.animate }])
1099
- }, [
1100
- __props.avatar ? (vue.openBlock(), vue.createElementBlock("view", {
1101
- key: 0,
1102
- class: vue.normalizeClass(["hlw-skeleton-avatar", `hlw-skeleton-avatar--${__props.avatarSize}`])
1103
- }, null, 2)) : vue.createCommentVNode("", true),
1104
- vue.createElementVNode("view", _hoisted_1$2, [
1105
- __props.title ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_2$1)) : vue.createCommentVNode("", true),
1106
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.rows, (i) => {
1107
- return vue.openBlock(), vue.createElementBlock("view", {
1108
- key: i,
1109
- class: "hlw-skeleton-row",
1110
- style: vue.normalizeStyle({ width: i === __props.rows ? "60%" : "100%" })
1111
- }, null, 4);
1112
- }), 128))
1113
- ])
1114
- ], 2)) : vue.renderSlot(_ctx.$slots, "default", { key: 1 }, void 0, true);
1115
- };
1116
- }
1117
- });
1118
- const index$2 = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-bc3155a2"]]);
1119
- const _hoisted_1$1 = { class: "hlw-tabs-wrap" };
1120
- const _hoisted_2 = ["onTap"];
1121
- const _hoisted_3 = { class: "hlw-tab-text" };
1122
- const _hoisted_4 = {
1123
- key: 0,
1124
- class: "hlw-tab-badge"
1125
- };
1126
- const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
1127
- __name: "index",
1128
- props: {
1129
- modelValue: { default: 0 },
1130
- items: { default: () => [] },
1131
- scrollable: { type: Boolean, default: false },
1132
- lineWidth: { default: "40rpx" }
1133
- },
1134
- emits: ["update:modelValue", "change"],
1135
- setup(__props, { emit: __emit }) {
1136
- const emit = __emit;
1137
- function onChange(index2) {
1138
- emit("update:modelValue", index2);
1139
- emit("change", index2);
1140
- }
1141
- return (_ctx, _cache) => {
1142
- const _component_scroll_view = vue.resolveComponent("scroll-view");
1143
- return vue.openBlock(), vue.createBlock(_component_scroll_view, {
1144
- class: "hlw-tabs",
1145
- "scroll-x": __props.scrollable,
1146
- enhanced: true,
1147
- "show-scrollbar": false
1148
- }, {
1149
- default: vue.withCtx(() => [
1150
- vue.createElementVNode("view", _hoisted_1$1, [
1151
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.items, (item, index2) => {
1152
- return vue.openBlock(), vue.createElementBlock("view", {
1153
- key: index2,
1154
- class: vue.normalizeClass(["hlw-tab", { "hlw-tab--active": __props.modelValue === index2 }]),
1155
- onTap: ($event) => onChange(index2)
1156
- }, [
1157
- vue.createElementVNode("text", _hoisted_3, vue.toDisplayString(typeof item === "string" ? item : item.label), 1),
1158
- typeof item !== "string" && item.badge ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_4, vue.toDisplayString(item.badge), 1)) : vue.createCommentVNode("", true),
1159
- __props.modelValue === index2 ? (vue.openBlock(), vue.createElementBlock("view", {
1160
- key: 1,
1161
- class: "hlw-tab-line",
1162
- style: vue.normalizeStyle({ width: __props.lineWidth })
1163
- }, null, 4)) : vue.createCommentVNode("", true)
1164
- ], 42, _hoisted_2);
1165
- }), 128))
1166
- ])
1167
- ]),
1168
- _: 1
1169
- }, 8, ["scroll-x"]);
1170
- };
1171
- }
1172
- });
1173
- const index$1 = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-5a47c034"]]);
1174
- const _hoisted_1 = { class: "hlw-tag-text" };
1175
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
1176
- __name: "index",
1177
- props: {
1178
- type: { default: "primary" },
1179
- plain: { type: Boolean, default: false },
1180
- closable: { type: Boolean, default: false },
1181
- size: { default: "medium" },
1182
- round: { type: Boolean, default: false },
1183
- color: { default: "" }
1184
- },
1185
- emits: ["click", "close"],
1186
- setup(__props) {
1187
- const props = __props;
1188
- const customStyle = vue.computed(() => {
1189
- if (!props.color)
1190
- return {};
1191
- return props.plain ? { color: props.color, borderColor: props.color, background: "transparent" } : { background: props.color, color: "#fff", borderColor: props.color };
1192
- });
1193
- return (_ctx, _cache) => {
1194
- return vue.openBlock(), vue.createElementBlock("view", {
1195
- class: vue.normalizeClass(["hlw-tag", [`hlw-tag--${__props.type}`, `hlw-tag--${__props.size}`, { "hlw-tag--plain": __props.plain, "hlw-tag--round": __props.round }]]),
1196
- style: vue.normalizeStyle(customStyle.value),
1197
- onTap: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("click"))
1198
- }, [
1199
- vue.createElementVNode("text", _hoisted_1, [
1200
- vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
1201
- ]),
1202
- __props.closable ? (vue.openBlock(), vue.createElementBlock("view", {
1203
- key: 0,
1204
- class: "hlw-tag-close i-fa6-solid-xmark",
1205
- onTap: _cache[0] || (_cache[0] = vue.withModifiers(($event) => _ctx.$emit("close"), ["stop"]))
1206
- }, null, 32)) : vue.createCommentVNode("", true)
1207
- ], 38);
1208
- };
1209
- }
1210
- });
1211
- const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e4ea56ad"]]);
1212
108
  const useThemeStore = pinia.defineStore(
1213
109
  "theme",
1214
110
  () => {
@@ -1249,24 +145,6 @@
1249
145
  exports2.DEFAULT_THEMES = DEFAULT_THEMES;
1250
146
  exports2.FONT_PRESETS = FONT_PRESETS;
1251
147
  exports2.FONT_SCALE_KEY = FONT_SCALE_KEY;
1252
- exports2.HlwAd = _sfc_main$h;
1253
- exports2.HlwAvatar = index$g;
1254
- exports2.HlwButton = index$f;
1255
- exports2.HlwCard = index$e;
1256
- exports2.HlwCell = index$d;
1257
- exports2.HlwDivider = index$c;
1258
- exports2.HlwEmpty = index$b;
1259
- exports2.HlwHeader = index$a;
1260
- exports2.HlwLoading = index$9;
1261
- exports2.HlwMenu = index$8;
1262
- exports2.HlwModal = index$7;
1263
- exports2.HlwNoticeBar = index$6;
1264
- exports2.HlwPage = index$5;
1265
- exports2.HlwPopup = index$4;
1266
- exports2.HlwSearch = index$3;
1267
- exports2.HlwSkeleton = index$2;
1268
- exports2.HlwTabs = index$1;
1269
- exports2.HlwTag = index;
1270
148
  exports2.THEME_CHANGE_EVENT = THEME_CHANGE_EVENT;
1271
149
  exports2.THEME_COLOR_KEY = THEME_COLOR_KEY;
1272
150
  exports2.buildThemeStyle = buildThemeStyle;