@hlw-uni/mp-vue 1.0.21 → 1.0.22

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.d.ts CHANGED
@@ -9,6 +9,4 @@ export { default as HlwHeader } from './components/hlw-header/index.vue';
9
9
  export { default as HlwLoading } from './components/hlw-loading/index.vue';
10
10
  export { default as HlwMenu } from './components/hlw-menu/index.vue';
11
11
  export type { HlwMenuItem } from './components/hlw-menu/types';
12
- export { default as HlwMenuList } from './components/hlw-menu-list/index.vue';
13
12
  export { default as HlwPage } from './components/hlw-page/index.vue';
14
- export type { MenuItem } from './components/hlw-menu-list/types';
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("vue")) : typeof define === "function" && define.amd ? define(["exports", "vue"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.HlwUniVue = {}, global.vue));
3
3
  })(this, function(exports2, vue) {
4
4
  "use strict";
5
- const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
5
+ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
6
6
  ...{ name: "HlwAd" },
7
7
  __name: "index",
8
8
  props: {
@@ -33,13 +33,13 @@
33
33
  };
34
34
  }
35
35
  });
36
- const _hoisted_1$7 = ["src"];
37
- const _hoisted_2$7 = {
36
+ const _hoisted_1$6 = ["src"];
37
+ const _hoisted_2$6 = {
38
38
  key: 1,
39
39
  class: "hlw-avatar__placeholder"
40
40
  };
41
- const _hoisted_3$5 = { class: "hlw-avatar__initial" };
42
- const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
41
+ const _hoisted_3$4 = { class: "hlw-avatar__initial" };
42
+ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
43
43
  __name: "index",
44
44
  props: {
45
45
  src: {},
@@ -64,8 +64,8 @@
64
64
  src: __props.src,
65
65
  mode: "aspectFill",
66
66
  onError: _cache[0] || (_cache[0] = ($event) => loadError.value = true)
67
- }, null, 40, _hoisted_1$7)) : (vue.openBlock(), vue.createElementBlock("view", _hoisted_2$7, [
68
- vue.createElementVNode("text", _hoisted_3$5, vue.toDisplayString(initial.value), 1)
67
+ }, null, 40, _hoisted_1$6)) : (vue.openBlock(), vue.createElementBlock("view", _hoisted_2$6, [
68
+ vue.createElementVNode("text", _hoisted_3$4, vue.toDisplayString(initial.value), 1)
69
69
  ]))
70
70
  ], 2);
71
71
  };
@@ -78,22 +78,22 @@
78
78
  }
79
79
  return target;
80
80
  };
81
- const index$7 = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-7e8f98a5"]]);
82
- const _hoisted_1$6 = { class: "hlw-card" };
83
- const _hoisted_2$6 = {
81
+ const index$6 = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-7e8f98a5"]]);
82
+ const _hoisted_1$5 = { class: "hlw-card" };
83
+ const _hoisted_2$5 = {
84
84
  key: 0,
85
85
  class: "hlw-card-header"
86
86
  };
87
- const _hoisted_3$4 = { class: "flex items-center justify-between px-5 py-4 border-0 border-b border-dashed border-slate-200 bg-slate-50/30" };
88
- const _hoisted_4$3 = { key: 0 };
89
- const _hoisted_5$2 = { class: "text-sm font-bold text-slate-800 flex items-center gap-2 tracking-wide" };
90
- const _hoisted_6$2 = { key: 1 };
91
- const _hoisted_7$2 = {
87
+ const _hoisted_3$3 = { class: "flex items-center justify-between px-5 py-4 border-0 border-b border-dashed border-slate-200 bg-slate-50/30" };
88
+ const _hoisted_4$2 = { key: 0 };
89
+ const _hoisted_5$1 = { class: "text-sm font-bold text-slate-800 flex items-center gap-2 tracking-wide" };
90
+ const _hoisted_6$1 = { key: 1 };
91
+ const _hoisted_7$1 = {
92
92
  key: 0,
93
93
  class: "text-[10px] text-slate-400 bg-slate-50 px-2 py-1 rounded border border-slate-100 tracking-wide"
94
94
  };
95
95
  const _hoisted_8$1 = { class: "hlw-card-body" };
96
- const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
96
+ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
97
97
  ...{
98
98
  options: {
99
99
  styleIsolation: "shared",
@@ -109,13 +109,13 @@
109
109
  },
110
110
  setup(__props) {
111
111
  return (_ctx, _cache) => {
112
- return vue.openBlock(), vue.createElementBlock("view", _hoisted_1$6, [
113
- _ctx.$slots.header || __props.title || __props.icon || _ctx.$slots["header-left"] || _ctx.$slots["header-right"] ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_2$6, [
112
+ return vue.openBlock(), vue.createElementBlock("view", _hoisted_1$5, [
113
+ _ctx.$slots.header || __props.title || __props.icon || _ctx.$slots["header-left"] || _ctx.$slots["header-right"] ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_2$5, [
114
114
  vue.renderSlot(_ctx.$slots, "header", {}, () => [
115
- vue.createElementVNode("view", _hoisted_3$4, [
116
- _ctx.$slots["header-left"] || __props.title || __props.icon ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_4$3, [
115
+ vue.createElementVNode("view", _hoisted_3$3, [
116
+ _ctx.$slots["header-left"] || __props.title || __props.icon ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_4$2, [
117
117
  vue.renderSlot(_ctx.$slots, "header-left", {}, () => [
118
- vue.createElementVNode("view", _hoisted_5$2, [
118
+ vue.createElementVNode("view", _hoisted_5$1, [
119
119
  __props.icon ? (vue.openBlock(), vue.createElementBlock("text", {
120
120
  key: 0,
121
121
  class: vue.normalizeClass([__props.icon, __props.iconColor])
@@ -124,9 +124,9 @@
124
124
  ])
125
125
  ], true)
126
126
  ])) : vue.createCommentVNode("", true),
127
- _ctx.$slots["header-right"] || __props.extra ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_6$2, [
127
+ _ctx.$slots["header-right"] || __props.extra ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_6$1, [
128
128
  vue.renderSlot(_ctx.$slots, "header-right", {}, () => [
129
- __props.extra ? (vue.openBlock(), vue.createElementBlock("text", _hoisted_7$2, vue.toDisplayString(__props.extra), 1)) : vue.createCommentVNode("", true)
129
+ __props.extra ? (vue.openBlock(), vue.createElementBlock("text", _hoisted_7$1, vue.toDisplayString(__props.extra), 1)) : vue.createCommentVNode("", true)
130
130
  ], true)
131
131
  ])) : vue.createCommentVNode("", true)
132
132
  ])
@@ -139,15 +139,15 @@
139
139
  };
140
140
  }
141
141
  });
142
- const index$6 = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-787fc3a7"]]);
143
- const _hoisted_1$5 = { class: "hlw-empty" };
144
- const _hoisted_2$5 = ["src"];
145
- const _hoisted_3$3 = {
142
+ const index$5 = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-787fc3a7"]]);
143
+ const _hoisted_1$4 = { class: "hlw-empty" };
144
+ const _hoisted_2$4 = ["src"];
145
+ const _hoisted_3$2 = {
146
146
  key: 1,
147
147
  class: "hlw-empty__icon"
148
148
  };
149
- const _hoisted_4$2 = { class: "hlw-empty__text" };
150
- const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
149
+ const _hoisted_4$1 = { class: "hlw-empty__text" };
150
+ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
151
151
  __name: "index",
152
152
  props: {
153
153
  text: {},
@@ -155,29 +155,29 @@
155
155
  },
156
156
  setup(__props) {
157
157
  return (_ctx, _cache) => {
158
- return vue.openBlock(), vue.createElementBlock("view", _hoisted_1$5, [
158
+ return vue.openBlock(), vue.createElementBlock("view", _hoisted_1$4, [
159
159
  __props.image ? (vue.openBlock(), vue.createElementBlock("image", {
160
160
  key: 0,
161
161
  class: "hlw-empty__image",
162
162
  src: __props.image,
163
163
  mode: "aspectFit"
164
- }, null, 8, _hoisted_2$5)) : (vue.openBlock(), vue.createElementBlock("text", _hoisted_3$3, "📦")),
165
- vue.createElementVNode("text", _hoisted_4$2, vue.toDisplayString(__props.text || "暂无数据"), 1),
164
+ }, null, 8, _hoisted_2$4)) : (vue.openBlock(), vue.createElementBlock("text", _hoisted_3$2, "📦")),
165
+ vue.createElementVNode("text", _hoisted_4$1, vue.toDisplayString(__props.text || "暂无数据"), 1),
166
166
  vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
167
167
  ]);
168
168
  };
169
169
  }
170
170
  });
171
- const index$5 = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-72364322"]]);
172
- const _hoisted_1$4 = {
171
+ const index$4 = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-72364322"]]);
172
+ const _hoisted_1$3 = {
173
173
  key: 0,
174
174
  class: "header-placeholder"
175
175
  };
176
- const _hoisted_2$4 = {
176
+ const _hoisted_2$3 = {
177
177
  key: 0,
178
178
  class: "header-title header-title--center"
179
179
  };
180
- const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
180
+ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
181
181
  __name: "index",
182
182
  props: {
183
183
  extraHeight: { default: 0 },
@@ -264,9 +264,9 @@
264
264
  }, vue.toDisplayString(props.title), 5)
265
265
  ], true)
266
266
  ], 2),
267
- props.titleAlign === "center" ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_1$4)) : vue.createCommentVNode("", true)
267
+ props.titleAlign === "center" ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_1$3)) : vue.createCommentVNode("", true)
268
268
  ], 64)) : vue.renderSlot(_ctx.$slots, "default", { key: 1 }, () => [
269
- props.title ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_2$4, [
269
+ props.title ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_2$3, [
270
270
  vue.createElementVNode("text", {
271
271
  class: "header-title-text",
272
272
  style: vue.normalizeStyle(titleStyle.value)
@@ -278,43 +278,43 @@
278
278
  };
279
279
  }
280
280
  });
281
- const index$4 = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-9a6c839c"]]);
282
- const _hoisted_1$3 = { class: "hlw-loading" };
283
- const _hoisted_2$3 = {
281
+ const index$3 = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-9a6c839c"]]);
282
+ const _hoisted_1$2 = { class: "hlw-loading" };
283
+ const _hoisted_2$2 = {
284
284
  key: 0,
285
285
  class: "hlw-loading__text"
286
286
  };
287
- const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
287
+ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
288
288
  __name: "index",
289
289
  props: {
290
290
  text: {}
291
291
  },
292
292
  setup(__props) {
293
293
  return (_ctx, _cache) => {
294
- return vue.openBlock(), vue.createElementBlock("view", _hoisted_1$3, [
294
+ return vue.openBlock(), vue.createElementBlock("view", _hoisted_1$2, [
295
295
  _cache[0] || (_cache[0] = vue.createElementVNode("view", { class: "hlw-loading__spinner" }, null, -1)),
296
- __props.text ? (vue.openBlock(), vue.createElementBlock("text", _hoisted_2$3, vue.toDisplayString(__props.text), 1)) : vue.createCommentVNode("", true)
296
+ __props.text ? (vue.openBlock(), vue.createElementBlock("text", _hoisted_2$2, vue.toDisplayString(__props.text), 1)) : vue.createCommentVNode("", true)
297
297
  ]);
298
298
  };
299
299
  }
300
300
  });
301
- const index$3 = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-14242381"]]);
302
- const _hoisted_1$2 = {
301
+ const index$2 = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-14242381"]]);
302
+ const _hoisted_1$1 = {
303
303
  key: 0,
304
304
  class: "hlw-menu-title"
305
305
  };
306
- const _hoisted_2$2 = {
306
+ const _hoisted_2$1 = {
307
307
  key: 1,
308
308
  class: "hlw-menu-title-divider"
309
309
  };
310
- const _hoisted_3$2 = { class: "hlw-menu-left" };
311
- const _hoisted_4$1 = { class: "hlw-menu-label" };
312
- const _hoisted_5$1 = { class: "hlw-menu-right" };
313
- const _hoisted_6$1 = {
310
+ const _hoisted_3$1 = { class: "hlw-menu-left" };
311
+ const _hoisted_4 = { class: "hlw-menu-label" };
312
+ const _hoisted_5 = { class: "hlw-menu-right" };
313
+ const _hoisted_6 = {
314
314
  key: 0,
315
315
  class: "hlw-menu-value"
316
316
  };
317
- const _hoisted_7$1 = ["onClick"];
317
+ const _hoisted_7 = ["onClick"];
318
318
  const _hoisted_8 = { class: "hlw-menu-left" };
319
319
  const _hoisted_9 = { class: "hlw-menu-label" };
320
320
  const _hoisted_10 = { class: "hlw-menu-right" };
@@ -335,7 +335,7 @@
335
335
  const _hoisted_16 = ["onClick"];
336
336
  const _hoisted_17 = { class: "hlw-menu-grid-icon-wrap" };
337
337
  const _hoisted_18 = { class: "hlw-menu-grid-label" };
338
- const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
338
+ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
339
339
  __name: "index",
340
340
  props: {
341
341
  items: {},
@@ -357,10 +357,10 @@
357
357
  return vue.openBlock(), vue.createElementBlock("view", {
358
358
  class: vue.normalizeClass(["hlw-menu", { "hlw-menu--no-border": !props.border }])
359
359
  }, [
360
- props.title ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_1$2, [
360
+ props.title ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_1$1, [
361
361
  vue.createElementVNode("text", null, vue.toDisplayString(props.title), 1)
362
362
  ])) : vue.createCommentVNode("", true),
363
- props.title ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_2$2)) : vue.createCommentVNode("", true),
363
+ props.title ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_2$1)) : vue.createCommentVNode("", true),
364
364
  props.mode === "list" ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 2 }, vue.renderList(visibleItems.value, (item, index2) => {
365
365
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: index2 }, [
366
366
  item.url ? (vue.openBlock(), vue.createBlock(_component_navigator, {
@@ -370,7 +370,7 @@
370
370
  "hover-class": "hlw-menu-item--active"
371
371
  }, {
372
372
  default: vue.withCtx(() => [
373
- vue.createElementVNode("view", _hoisted_3$2, [
373
+ vue.createElementVNode("view", _hoisted_3$1, [
374
374
  vue.createElementVNode("view", {
375
375
  class: vue.normalizeClass(["hlw-menu-icon", `hlw-menu-icon--${item.iconTheme || "slate"}`])
376
376
  }, [
@@ -378,10 +378,10 @@
378
378
  class: vue.normalizeClass(item.icon)
379
379
  }, null, 2)
380
380
  ], 2),
381
- vue.createElementVNode("text", _hoisted_4$1, vue.toDisplayString(item.label), 1)
381
+ vue.createElementVNode("text", _hoisted_4, vue.toDisplayString(item.label), 1)
382
382
  ]),
383
- vue.createElementVNode("view", _hoisted_5$1, [
384
- item.value ? (vue.openBlock(), vue.createElementBlock("text", _hoisted_6$1, vue.toDisplayString(item.value), 1)) : vue.createCommentVNode("", true),
383
+ vue.createElementVNode("view", _hoisted_5, [
384
+ item.value ? (vue.openBlock(), vue.createElementBlock("text", _hoisted_6, vue.toDisplayString(item.value), 1)) : vue.createCommentVNode("", true),
385
385
  item.tag ? (vue.openBlock(), vue.createElementBlock("text", {
386
386
  key: 1,
387
387
  class: vue.normalizeClass(["hlw-menu-tag", [`hlw-menu-tag--${item.tagTheme || "rose"}`, item.tagPulse ? "hlw-menu-tag-pulse" : ""]])
@@ -415,7 +415,7 @@
415
415
  }, vue.toDisplayString(item.tag), 3)) : vue.createCommentVNode("", true),
416
416
  _cache[1] || (_cache[1] = vue.createElementVNode("text", { class: "i-fa6-solid-chevron-right hlw-menu-arrow" }, null, -1))
417
417
  ])
418
- ], 8, _hoisted_7$1)),
418
+ ], 8, _hoisted_7)),
419
419
  index2 < visibleItems.value.length - 1 ? (vue.openBlock(), vue.createElementBlock("view", _hoisted_13)) : vue.createCommentVNode("", true)
420
420
  ], 64);
421
421
  }), 128)) : (vue.openBlock(), vue.createElementBlock("view", {
@@ -476,59 +476,7 @@
476
476
  };
477
477
  }
478
478
  });
479
- const index$2 = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-1e8beec7"]]);
480
- const _hoisted_1$1 = { class: "hlw-menu-list" };
481
- const _hoisted_2$1 = ["onTap"];
482
- const _hoisted_3$1 = { class: "hlw-menu-list__left" };
483
- const _hoisted_4 = {
484
- key: 0,
485
- class: "hlw-menu-list__icon"
486
- };
487
- const _hoisted_5 = { class: "hlw-menu-list__label" };
488
- const _hoisted_6 = { class: "hlw-menu-list__right" };
489
- const _hoisted_7 = {
490
- key: 0,
491
- class: "hlw-menu-list__value"
492
- };
493
- const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
494
- __name: "index",
495
- props: {
496
- items: {}
497
- },
498
- emits: ["click"],
499
- setup(__props, { emit: __emit }) {
500
- const emit = __emit;
501
- function onTap(item) {
502
- if (item.url) {
503
- uni.navigateTo({ url: item.url });
504
- } else if (item.action) {
505
- item.action();
506
- }
507
- emit("click", item);
508
- }
509
- return (_ctx, _cache) => {
510
- return vue.openBlock(), vue.createElementBlock("view", _hoisted_1$1, [
511
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.items, (item) => {
512
- return vue.openBlock(), vue.createElementBlock("view", {
513
- key: item.key,
514
- class: "hlw-menu-list__item",
515
- onTap: ($event) => onTap(item)
516
- }, [
517
- vue.createElementVNode("view", _hoisted_3$1, [
518
- item.icon ? (vue.openBlock(), vue.createElementBlock("text", _hoisted_4, vue.toDisplayString(item.icon), 1)) : vue.createCommentVNode("", true),
519
- vue.createElementVNode("text", _hoisted_5, vue.toDisplayString(item.label), 1)
520
- ]),
521
- vue.createElementVNode("view", _hoisted_6, [
522
- item.value ? (vue.openBlock(), vue.createElementBlock("text", _hoisted_7, vue.toDisplayString(item.value), 1)) : vue.createCommentVNode("", true),
523
- _cache[0] || (_cache[0] = vue.createElementVNode("text", { class: "hlw-menu-list__arrow" }, "›", -1))
524
- ])
525
- ], 40, _hoisted_2$1);
526
- }), 128))
527
- ]);
528
- };
529
- }
530
- });
531
- const index$1 = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-e465b0b4"]]);
479
+ const index$1 = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-1e8beec7"]]);
532
480
  const _hoisted_1 = { class: "hlw-page" };
533
481
  const _hoisted_2 = { class: "hlw-page-header" };
534
482
  const _hoisted_3 = { class: "hlw-page-footer" };
@@ -574,14 +522,13 @@
574
522
  }
575
523
  });
576
524
  const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-155bc02a"]]);
577
- exports2.HlwAd = _sfc_main$8;
578
- exports2.HlwAvatar = index$7;
579
- exports2.HlwCard = index$6;
580
- exports2.HlwEmpty = index$5;
581
- exports2.HlwHeader = index$4;
582
- exports2.HlwLoading = index$3;
583
- exports2.HlwMenu = index$2;
584
- exports2.HlwMenuList = index$1;
525
+ exports2.HlwAd = _sfc_main$7;
526
+ exports2.HlwAvatar = index$6;
527
+ exports2.HlwCard = index$5;
528
+ exports2.HlwEmpty = index$4;
529
+ exports2.HlwHeader = index$3;
530
+ exports2.HlwLoading = index$2;
531
+ exports2.HlwMenu = index$1;
585
532
  exports2.HlwPage = index;
586
533
  Object.defineProperty(exports2, Symbol.toStringTag, { value: "Module" });
587
534
  });
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, resolveComponent, openBlock, createBlock, ref, computed, createElementBlock, normalizeClass, createElementVNode, toDisplayString, renderSlot, createCommentVNode, useSlots, normalizeStyle, unref, Fragment, renderList, withCtx, createVNode } from "vue";
2
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
3
3
  ...{ name: "HlwAd" },
4
4
  __name: "index",
5
5
  props: {
@@ -30,13 +30,13 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
30
30
  };
31
31
  }
32
32
  });
33
- const _hoisted_1$7 = ["src"];
34
- const _hoisted_2$7 = {
33
+ const _hoisted_1$6 = ["src"];
34
+ const _hoisted_2$6 = {
35
35
  key: 1,
36
36
  class: "hlw-avatar__placeholder"
37
37
  };
38
- const _hoisted_3$5 = { class: "hlw-avatar__initial" };
39
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
38
+ const _hoisted_3$4 = { class: "hlw-avatar__initial" };
39
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
40
40
  __name: "index",
41
41
  props: {
42
42
  src: {},
@@ -61,8 +61,8 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
61
61
  src: __props.src,
62
62
  mode: "aspectFill",
63
63
  onError: _cache[0] || (_cache[0] = ($event) => loadError.value = true)
64
- }, null, 40, _hoisted_1$7)) : (openBlock(), createElementBlock("view", _hoisted_2$7, [
65
- createElementVNode("text", _hoisted_3$5, toDisplayString(initial.value), 1)
64
+ }, null, 40, _hoisted_1$6)) : (openBlock(), createElementBlock("view", _hoisted_2$6, [
65
+ createElementVNode("text", _hoisted_3$4, toDisplayString(initial.value), 1)
66
66
  ]))
67
67
  ], 2);
68
68
  };
@@ -75,22 +75,22 @@ const _export_sfc = (sfc, props) => {
75
75
  }
76
76
  return target;
77
77
  };
78
- const index$7 = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-7e8f98a5"]]);
79
- const _hoisted_1$6 = { class: "hlw-card" };
80
- const _hoisted_2$6 = {
78
+ const index$6 = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-7e8f98a5"]]);
79
+ const _hoisted_1$5 = { class: "hlw-card" };
80
+ const _hoisted_2$5 = {
81
81
  key: 0,
82
82
  class: "hlw-card-header"
83
83
  };
84
- const _hoisted_3$4 = { class: "flex items-center justify-between px-5 py-4 border-0 border-b border-dashed border-slate-200 bg-slate-50/30" };
85
- const _hoisted_4$3 = { key: 0 };
86
- const _hoisted_5$2 = { class: "text-sm font-bold text-slate-800 flex items-center gap-2 tracking-wide" };
87
- const _hoisted_6$2 = { key: 1 };
88
- const _hoisted_7$2 = {
84
+ const _hoisted_3$3 = { class: "flex items-center justify-between px-5 py-4 border-0 border-b border-dashed border-slate-200 bg-slate-50/30" };
85
+ const _hoisted_4$2 = { key: 0 };
86
+ const _hoisted_5$1 = { class: "text-sm font-bold text-slate-800 flex items-center gap-2 tracking-wide" };
87
+ const _hoisted_6$1 = { key: 1 };
88
+ const _hoisted_7$1 = {
89
89
  key: 0,
90
90
  class: "text-[10px] text-slate-400 bg-slate-50 px-2 py-1 rounded border border-slate-100 tracking-wide"
91
91
  };
92
92
  const _hoisted_8$1 = { class: "hlw-card-body" };
93
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
93
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
94
94
  ...{
95
95
  options: {
96
96
  styleIsolation: "shared",
@@ -106,13 +106,13 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
106
106
  },
107
107
  setup(__props) {
108
108
  return (_ctx, _cache) => {
109
- return openBlock(), createElementBlock("view", _hoisted_1$6, [
110
- _ctx.$slots.header || __props.title || __props.icon || _ctx.$slots["header-left"] || _ctx.$slots["header-right"] ? (openBlock(), createElementBlock("view", _hoisted_2$6, [
109
+ return openBlock(), createElementBlock("view", _hoisted_1$5, [
110
+ _ctx.$slots.header || __props.title || __props.icon || _ctx.$slots["header-left"] || _ctx.$slots["header-right"] ? (openBlock(), createElementBlock("view", _hoisted_2$5, [
111
111
  renderSlot(_ctx.$slots, "header", {}, () => [
112
- createElementVNode("view", _hoisted_3$4, [
113
- _ctx.$slots["header-left"] || __props.title || __props.icon ? (openBlock(), createElementBlock("view", _hoisted_4$3, [
112
+ createElementVNode("view", _hoisted_3$3, [
113
+ _ctx.$slots["header-left"] || __props.title || __props.icon ? (openBlock(), createElementBlock("view", _hoisted_4$2, [
114
114
  renderSlot(_ctx.$slots, "header-left", {}, () => [
115
- createElementVNode("view", _hoisted_5$2, [
115
+ createElementVNode("view", _hoisted_5$1, [
116
116
  __props.icon ? (openBlock(), createElementBlock("text", {
117
117
  key: 0,
118
118
  class: normalizeClass([__props.icon, __props.iconColor])
@@ -121,9 +121,9 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
121
121
  ])
122
122
  ], true)
123
123
  ])) : createCommentVNode("", true),
124
- _ctx.$slots["header-right"] || __props.extra ? (openBlock(), createElementBlock("view", _hoisted_6$2, [
124
+ _ctx.$slots["header-right"] || __props.extra ? (openBlock(), createElementBlock("view", _hoisted_6$1, [
125
125
  renderSlot(_ctx.$slots, "header-right", {}, () => [
126
- __props.extra ? (openBlock(), createElementBlock("text", _hoisted_7$2, toDisplayString(__props.extra), 1)) : createCommentVNode("", true)
126
+ __props.extra ? (openBlock(), createElementBlock("text", _hoisted_7$1, toDisplayString(__props.extra), 1)) : createCommentVNode("", true)
127
127
  ], true)
128
128
  ])) : createCommentVNode("", true)
129
129
  ])
@@ -136,15 +136,15 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
136
136
  };
137
137
  }
138
138
  });
139
- const index$6 = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-787fc3a7"]]);
140
- const _hoisted_1$5 = { class: "hlw-empty" };
141
- const _hoisted_2$5 = ["src"];
142
- const _hoisted_3$3 = {
139
+ const index$5 = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-787fc3a7"]]);
140
+ const _hoisted_1$4 = { class: "hlw-empty" };
141
+ const _hoisted_2$4 = ["src"];
142
+ const _hoisted_3$2 = {
143
143
  key: 1,
144
144
  class: "hlw-empty__icon"
145
145
  };
146
- const _hoisted_4$2 = { class: "hlw-empty__text" };
147
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
146
+ const _hoisted_4$1 = { class: "hlw-empty__text" };
147
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
148
148
  __name: "index",
149
149
  props: {
150
150
  text: {},
@@ -152,29 +152,29 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
152
152
  },
153
153
  setup(__props) {
154
154
  return (_ctx, _cache) => {
155
- return openBlock(), createElementBlock("view", _hoisted_1$5, [
155
+ return openBlock(), createElementBlock("view", _hoisted_1$4, [
156
156
  __props.image ? (openBlock(), createElementBlock("image", {
157
157
  key: 0,
158
158
  class: "hlw-empty__image",
159
159
  src: __props.image,
160
160
  mode: "aspectFit"
161
- }, null, 8, _hoisted_2$5)) : (openBlock(), createElementBlock("text", _hoisted_3$3, "📦")),
162
- createElementVNode("text", _hoisted_4$2, toDisplayString(__props.text || "暂无数据"), 1),
161
+ }, null, 8, _hoisted_2$4)) : (openBlock(), createElementBlock("text", _hoisted_3$2, "📦")),
162
+ createElementVNode("text", _hoisted_4$1, toDisplayString(__props.text || "暂无数据"), 1),
163
163
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
164
164
  ]);
165
165
  };
166
166
  }
167
167
  });
168
- const index$5 = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-72364322"]]);
169
- const _hoisted_1$4 = {
168
+ const index$4 = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-72364322"]]);
169
+ const _hoisted_1$3 = {
170
170
  key: 0,
171
171
  class: "header-placeholder"
172
172
  };
173
- const _hoisted_2$4 = {
173
+ const _hoisted_2$3 = {
174
174
  key: 0,
175
175
  class: "header-title header-title--center"
176
176
  };
177
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
177
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
178
178
  __name: "index",
179
179
  props: {
180
180
  extraHeight: { default: 0 },
@@ -261,9 +261,9 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
261
261
  }, toDisplayString(props.title), 5)
262
262
  ], true)
263
263
  ], 2),
264
- props.titleAlign === "center" ? (openBlock(), createElementBlock("view", _hoisted_1$4)) : createCommentVNode("", true)
264
+ props.titleAlign === "center" ? (openBlock(), createElementBlock("view", _hoisted_1$3)) : createCommentVNode("", true)
265
265
  ], 64)) : renderSlot(_ctx.$slots, "default", { key: 1 }, () => [
266
- props.title ? (openBlock(), createElementBlock("view", _hoisted_2$4, [
266
+ props.title ? (openBlock(), createElementBlock("view", _hoisted_2$3, [
267
267
  createElementVNode("text", {
268
268
  class: "header-title-text",
269
269
  style: normalizeStyle(titleStyle.value)
@@ -275,43 +275,43 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
275
275
  };
276
276
  }
277
277
  });
278
- const index$4 = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-9a6c839c"]]);
279
- const _hoisted_1$3 = { class: "hlw-loading" };
280
- const _hoisted_2$3 = {
278
+ const index$3 = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-9a6c839c"]]);
279
+ const _hoisted_1$2 = { class: "hlw-loading" };
280
+ const _hoisted_2$2 = {
281
281
  key: 0,
282
282
  class: "hlw-loading__text"
283
283
  };
284
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
284
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
285
285
  __name: "index",
286
286
  props: {
287
287
  text: {}
288
288
  },
289
289
  setup(__props) {
290
290
  return (_ctx, _cache) => {
291
- return openBlock(), createElementBlock("view", _hoisted_1$3, [
291
+ return openBlock(), createElementBlock("view", _hoisted_1$2, [
292
292
  _cache[0] || (_cache[0] = createElementVNode("view", { class: "hlw-loading__spinner" }, null, -1)),
293
- __props.text ? (openBlock(), createElementBlock("text", _hoisted_2$3, toDisplayString(__props.text), 1)) : createCommentVNode("", true)
293
+ __props.text ? (openBlock(), createElementBlock("text", _hoisted_2$2, toDisplayString(__props.text), 1)) : createCommentVNode("", true)
294
294
  ]);
295
295
  };
296
296
  }
297
297
  });
298
- const index$3 = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-14242381"]]);
299
- const _hoisted_1$2 = {
298
+ const index$2 = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-14242381"]]);
299
+ const _hoisted_1$1 = {
300
300
  key: 0,
301
301
  class: "hlw-menu-title"
302
302
  };
303
- const _hoisted_2$2 = {
303
+ const _hoisted_2$1 = {
304
304
  key: 1,
305
305
  class: "hlw-menu-title-divider"
306
306
  };
307
- const _hoisted_3$2 = { class: "hlw-menu-left" };
308
- const _hoisted_4$1 = { class: "hlw-menu-label" };
309
- const _hoisted_5$1 = { class: "hlw-menu-right" };
310
- const _hoisted_6$1 = {
307
+ const _hoisted_3$1 = { class: "hlw-menu-left" };
308
+ const _hoisted_4 = { class: "hlw-menu-label" };
309
+ const _hoisted_5 = { class: "hlw-menu-right" };
310
+ const _hoisted_6 = {
311
311
  key: 0,
312
312
  class: "hlw-menu-value"
313
313
  };
314
- const _hoisted_7$1 = ["onClick"];
314
+ const _hoisted_7 = ["onClick"];
315
315
  const _hoisted_8 = { class: "hlw-menu-left" };
316
316
  const _hoisted_9 = { class: "hlw-menu-label" };
317
317
  const _hoisted_10 = { class: "hlw-menu-right" };
@@ -332,7 +332,7 @@ const _hoisted_15 = { class: "hlw-menu-grid-label" };
332
332
  const _hoisted_16 = ["onClick"];
333
333
  const _hoisted_17 = { class: "hlw-menu-grid-icon-wrap" };
334
334
  const _hoisted_18 = { class: "hlw-menu-grid-label" };
335
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
335
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
336
336
  __name: "index",
337
337
  props: {
338
338
  items: {},
@@ -354,10 +354,10 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
354
354
  return openBlock(), createElementBlock("view", {
355
355
  class: normalizeClass(["hlw-menu", { "hlw-menu--no-border": !props.border }])
356
356
  }, [
357
- props.title ? (openBlock(), createElementBlock("view", _hoisted_1$2, [
357
+ props.title ? (openBlock(), createElementBlock("view", _hoisted_1$1, [
358
358
  createElementVNode("text", null, toDisplayString(props.title), 1)
359
359
  ])) : createCommentVNode("", true),
360
- props.title ? (openBlock(), createElementBlock("view", _hoisted_2$2)) : createCommentVNode("", true),
360
+ props.title ? (openBlock(), createElementBlock("view", _hoisted_2$1)) : createCommentVNode("", true),
361
361
  props.mode === "list" ? (openBlock(true), createElementBlock(Fragment, { key: 2 }, renderList(visibleItems.value, (item, index2) => {
362
362
  return openBlock(), createElementBlock(Fragment, { key: index2 }, [
363
363
  item.url ? (openBlock(), createBlock(_component_navigator, {
@@ -367,7 +367,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
367
367
  "hover-class": "hlw-menu-item--active"
368
368
  }, {
369
369
  default: withCtx(() => [
370
- createElementVNode("view", _hoisted_3$2, [
370
+ createElementVNode("view", _hoisted_3$1, [
371
371
  createElementVNode("view", {
372
372
  class: normalizeClass(["hlw-menu-icon", `hlw-menu-icon--${item.iconTheme || "slate"}`])
373
373
  }, [
@@ -375,10 +375,10 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
375
375
  class: normalizeClass(item.icon)
376
376
  }, null, 2)
377
377
  ], 2),
378
- createElementVNode("text", _hoisted_4$1, toDisplayString(item.label), 1)
378
+ createElementVNode("text", _hoisted_4, toDisplayString(item.label), 1)
379
379
  ]),
380
- createElementVNode("view", _hoisted_5$1, [
381
- item.value ? (openBlock(), createElementBlock("text", _hoisted_6$1, toDisplayString(item.value), 1)) : createCommentVNode("", true),
380
+ createElementVNode("view", _hoisted_5, [
381
+ item.value ? (openBlock(), createElementBlock("text", _hoisted_6, toDisplayString(item.value), 1)) : createCommentVNode("", true),
382
382
  item.tag ? (openBlock(), createElementBlock("text", {
383
383
  key: 1,
384
384
  class: normalizeClass(["hlw-menu-tag", [`hlw-menu-tag--${item.tagTheme || "rose"}`, item.tagPulse ? "hlw-menu-tag-pulse" : ""]])
@@ -412,7 +412,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
412
412
  }, toDisplayString(item.tag), 3)) : createCommentVNode("", true),
413
413
  _cache[1] || (_cache[1] = createElementVNode("text", { class: "i-fa6-solid-chevron-right hlw-menu-arrow" }, null, -1))
414
414
  ])
415
- ], 8, _hoisted_7$1)),
415
+ ], 8, _hoisted_7)),
416
416
  index2 < visibleItems.value.length - 1 ? (openBlock(), createElementBlock("view", _hoisted_13)) : createCommentVNode("", true)
417
417
  ], 64);
418
418
  }), 128)) : (openBlock(), createElementBlock("view", {
@@ -473,59 +473,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
473
473
  };
474
474
  }
475
475
  });
476
- const index$2 = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-1e8beec7"]]);
477
- const _hoisted_1$1 = { class: "hlw-menu-list" };
478
- const _hoisted_2$1 = ["onTap"];
479
- const _hoisted_3$1 = { class: "hlw-menu-list__left" };
480
- const _hoisted_4 = {
481
- key: 0,
482
- class: "hlw-menu-list__icon"
483
- };
484
- const _hoisted_5 = { class: "hlw-menu-list__label" };
485
- const _hoisted_6 = { class: "hlw-menu-list__right" };
486
- const _hoisted_7 = {
487
- key: 0,
488
- class: "hlw-menu-list__value"
489
- };
490
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
491
- __name: "index",
492
- props: {
493
- items: {}
494
- },
495
- emits: ["click"],
496
- setup(__props, { emit: __emit }) {
497
- const emit = __emit;
498
- function onTap(item) {
499
- if (item.url) {
500
- uni.navigateTo({ url: item.url });
501
- } else if (item.action) {
502
- item.action();
503
- }
504
- emit("click", item);
505
- }
506
- return (_ctx, _cache) => {
507
- return openBlock(), createElementBlock("view", _hoisted_1$1, [
508
- (openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
509
- return openBlock(), createElementBlock("view", {
510
- key: item.key,
511
- class: "hlw-menu-list__item",
512
- onTap: ($event) => onTap(item)
513
- }, [
514
- createElementVNode("view", _hoisted_3$1, [
515
- item.icon ? (openBlock(), createElementBlock("text", _hoisted_4, toDisplayString(item.icon), 1)) : createCommentVNode("", true),
516
- createElementVNode("text", _hoisted_5, toDisplayString(item.label), 1)
517
- ]),
518
- createElementVNode("view", _hoisted_6, [
519
- item.value ? (openBlock(), createElementBlock("text", _hoisted_7, toDisplayString(item.value), 1)) : createCommentVNode("", true),
520
- _cache[0] || (_cache[0] = createElementVNode("text", { class: "hlw-menu-list__arrow" }, "›", -1))
521
- ])
522
- ], 40, _hoisted_2$1);
523
- }), 128))
524
- ]);
525
- };
526
- }
527
- });
528
- const index$1 = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-e465b0b4"]]);
476
+ const index$1 = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-1e8beec7"]]);
529
477
  const _hoisted_1 = { class: "hlw-page" };
530
478
  const _hoisted_2 = { class: "hlw-page-header" };
531
479
  const _hoisted_3 = { class: "hlw-page-footer" };
@@ -572,13 +520,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
572
520
  });
573
521
  const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-155bc02a"]]);
574
522
  export {
575
- _sfc_main$8 as HlwAd,
576
- index$7 as HlwAvatar,
577
- index$6 as HlwCard,
578
- index$5 as HlwEmpty,
579
- index$4 as HlwHeader,
580
- index$3 as HlwLoading,
581
- index$2 as HlwMenu,
582
- index$1 as HlwMenuList,
523
+ _sfc_main$7 as HlwAd,
524
+ index$6 as HlwAvatar,
525
+ index$5 as HlwCard,
526
+ index$4 as HlwEmpty,
527
+ index$3 as HlwHeader,
528
+ index$2 as HlwLoading,
529
+ index$1 as HlwMenu,
583
530
  index as HlwPage
584
531
  };
package/dist/style.css CHANGED
@@ -354,51 +354,7 @@ from {
354
354
  to {
355
355
  transform: rotate(360deg);
356
356
  }
357
- }
358
- .hlw-menu-list[data-v-e465b0b4] {
359
- background: #fff;
360
- border-radius: 16rpx;
361
- overflow: hidden;
362
- }
363
- .hlw-menu-list__item[data-v-e465b0b4] {
364
- display: flex;
365
- align-items: center;
366
- justify-content: space-between;
367
- padding: 28rpx 32rpx;
368
- border-bottom: 1rpx solid #f5f5f5;
369
- }
370
- .hlw-menu-list__item[data-v-e465b0b4]:last-child {
371
- border-bottom: none;
372
- }
373
- .hlw-menu-list__left[data-v-e465b0b4] {
374
- display: flex;
375
- align-items: center;
376
- gap: 16rpx;
377
- }
378
- .hlw-menu-list__icon[data-v-e465b0b4] {
379
- font-size: 36rpx;
380
- width: 44rpx;
381
- text-align: center;
382
- }
383
- .hlw-menu-list__label[data-v-e465b0b4] {
384
- font-size: 30rpx;
385
- color: #333;
386
- }
387
- .hlw-menu-list__right[data-v-e465b0b4] {
388
- display: flex;
389
- align-items: center;
390
- gap: 8rpx;
391
- }
392
- .hlw-menu-list__value[data-v-e465b0b4] {
393
- font-size: 28rpx;
394
- color: #999;
395
- }
396
- .hlw-menu-list__arrow[data-v-e465b0b4] {
397
- font-size: 36rpx;
398
- color: #ccc;
399
- line-height: 1;
400
- }
401
- .hlw-page[data-v-155bc02a] {
357
+ }.hlw-page[data-v-155bc02a] {
402
358
  width: 100%;
403
359
  height: 100vh;
404
360
  display: flex;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hlw-uni/mp-vue",
3
- "version": "1.0.21",
3
+ "version": "1.0.22",
4
4
  "description": "hlw-uni Vue 组件库 — 供小程序业务方使用的 UI 组件集合",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
package/src/index.ts CHANGED
@@ -2,14 +2,12 @@
2
2
  * @hlw-uni/mp-vue — Vue 组件库统一导出
3
3
  */
4
4
 
5
- export { default as HlwAd } from './components/hlw-ad/index.vue';
6
- export { default as HlwAvatar } from './components/hlw-avatar/index.vue';
7
- export { default as HlwCard } from './components/hlw-card/index.vue';
8
- export { default as HlwEmpty } from './components/hlw-empty/index.vue';
9
- export { default as HlwHeader } from './components/hlw-header/index.vue';
10
- export { default as HlwLoading } from './components/hlw-loading/index.vue';
11
- export { default as HlwMenu } from './components/hlw-menu/index.vue';
12
- export type { HlwMenuItem } from './components/hlw-menu/types';
13
- export { default as HlwMenuList } from './components/hlw-menu-list/index.vue';
14
- export { default as HlwPage } from './components/hlw-page/index.vue';
15
- export type { MenuItem } from './components/hlw-menu-list/types';
5
+ export { default as HlwAd } from "./components/hlw-ad/index.vue";
6
+ export { default as HlwAvatar } from "./components/hlw-avatar/index.vue";
7
+ export { default as HlwCard } from "./components/hlw-card/index.vue";
8
+ export { default as HlwEmpty } from "./components/hlw-empty/index.vue";
9
+ export { default as HlwHeader } from "./components/hlw-header/index.vue";
10
+ export { default as HlwLoading } from "./components/hlw-loading/index.vue";
11
+ export { default as HlwMenu } from "./components/hlw-menu/index.vue";
12
+ export type { HlwMenuItem } from "./components/hlw-menu/types";
13
+ export { default as HlwPage } from "./components/hlw-page/index.vue";
@@ -1,8 +0,0 @@
1
- export interface MenuItem {
2
- key: string;
3
- label: string;
4
- icon?: string;
5
- value?: string;
6
- url?: string;
7
- action?: () => void;
8
- }
@@ -1,94 +0,0 @@
1
- <template>
2
- <view class="hlw-menu-list">
3
- <view
4
- v-for="item in items"
5
- :key="item.key"
6
- class="hlw-menu-list__item"
7
- @tap="onTap(item)"
8
- >
9
- <view class="hlw-menu-list__left">
10
- <text v-if="item.icon" class="hlw-menu-list__icon">{{ item.icon }}</text>
11
- <text class="hlw-menu-list__label">{{ item.label }}</text>
12
- </view>
13
- <view class="hlw-menu-list__right">
14
- <text v-if="item.value" class="hlw-menu-list__value">{{ item.value }}</text>
15
- <text class="hlw-menu-list__arrow">›</text>
16
- </view>
17
- </view>
18
- </view>
19
- </template>
20
-
21
- <script setup lang="ts">
22
- import type { MenuItem } from './types';
23
-
24
- const props = defineProps<{
25
- items: MenuItem[];
26
- }>();
27
-
28
- const emit = defineEmits<{
29
- (e: 'click', item: MenuItem): void;
30
- }>();
31
-
32
- function onTap(item: MenuItem) {
33
- if (item.url) {
34
- uni.navigateTo({ url: item.url });
35
- } else if (item.action) {
36
- item.action();
37
- }
38
- emit('click', item);
39
- }
40
- </script>
41
-
42
- <style scoped>
43
- .hlw-menu-list {
44
- background: #fff;
45
- border-radius: 16rpx;
46
- overflow: hidden;
47
- }
48
-
49
- .hlw-menu-list__item {
50
- display: flex;
51
- align-items: center;
52
- justify-content: space-between;
53
- padding: 28rpx 32rpx;
54
- border-bottom: 1rpx solid #f5f5f5;
55
- }
56
-
57
- .hlw-menu-list__item:last-child {
58
- border-bottom: none;
59
- }
60
-
61
- .hlw-menu-list__left {
62
- display: flex;
63
- align-items: center;
64
- gap: 16rpx;
65
- }
66
-
67
- .hlw-menu-list__icon {
68
- font-size: 36rpx;
69
- width: 44rpx;
70
- text-align: center;
71
- }
72
-
73
- .hlw-menu-list__label {
74
- font-size: 30rpx;
75
- color: #333;
76
- }
77
-
78
- .hlw-menu-list__right {
79
- display: flex;
80
- align-items: center;
81
- gap: 8rpx;
82
- }
83
-
84
- .hlw-menu-list__value {
85
- font-size: 28rpx;
86
- color: #999;
87
- }
88
-
89
- .hlw-menu-list__arrow {
90
- font-size: 36rpx;
91
- color: #ccc;
92
- line-height: 1;
93
- }
94
- </style>
@@ -1,8 +0,0 @@
1
- export interface MenuItem {
2
- key: string;
3
- label: string;
4
- icon?: string;
5
- value?: string;
6
- url?: string;
7
- action?: () => void;
8
- }