@huyooo/ui 1.0.3 → 1.0.4

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.
Files changed (182) hide show
  1. package/dist/AuthkitAppSetting-BN8-xgNq.js +2674 -0
  2. package/dist/{Contact-M6iyuyNL.js → Contact-DBH8CyKp.js} +105 -113
  3. package/dist/CustomTable-BzGfaAVH.js +276 -0
  4. package/dist/FeedbackModal.vue_vue_type_script_setup_true_lang-B9BqGWm8.js +1480 -0
  5. package/dist/LandingPageDescription-BczWZHKy.js +12 -0
  6. package/dist/{LandingPageLinkGroup-DDNRivMt.js → LandingPageLinkGroup-r-t3H1X0.js} +87 -88
  7. package/dist/LandingPageSectionHeader-CVAqc7bx.js +137 -0
  8. package/dist/{LandingPageSectionTabs-Ce3_Rc2L.js → LandingPageSectionTabs-DhKpOj5F.js} +300 -309
  9. package/dist/LegalDocViewer-DlaLKGyX.js +2501 -0
  10. package/dist/Menu-uCexrsKP.js +199 -0
  11. package/dist/MessageHandle-mEkCsv9e.js +1173 -0
  12. package/dist/MessageList-Ce-_LNTk.js +244 -0
  13. package/dist/PaySubscriptions-CXkEjqr2.js +1326 -0
  14. package/dist/PricingPlans-DoWP5aX7.js +427 -0
  15. package/dist/ReferrerReferees-DgygiIiE.js +237 -0
  16. package/dist/{Upload.vue_vue_type_script_setup_true_lang-B6NOZjK0.js → Upload.vue_vue_type_script_setup_true_lang-VGh2V4o0.js} +1 -1
  17. package/dist/UserMenuInvitationsItem.vue_vue_type_script_setup_true_lang-zgjpFVln.js +592 -0
  18. package/dist/WidthContainer-PeWkCK0p.js +721 -0
  19. package/dist/{apiClients-DrGX2iJy.js → apiClients-BcXOLuYu.js} +131 -98
  20. package/dist/authkit.d.ts +6 -2
  21. package/dist/authkit.js +53 -44
  22. package/dist/common/authProviderIcons.d.ts +12 -0
  23. package/dist/common/globalConfig.d.ts +5 -0
  24. package/dist/common/tableColumnWidths.d.ts +11 -0
  25. package/dist/common.js +3 -3
  26. package/dist/components/AuthProviderIcon.vue.d.ts +12 -0
  27. package/dist/components/Authkit/AppSetting/AuthkitEmailVerify.vue.d.ts +2 -2
  28. package/dist/components/Authkit/AppSetting/AuthkitOAuthBinding.vue.d.ts +2 -1
  29. package/dist/components/Authkit/AppSetting/AuthkitPasskeyBinding.vue.d.ts +14 -0
  30. package/dist/components/Authkit/AppSetting/AuthkitPasswordUpdate.vue.d.ts +11 -1
  31. package/dist/components/Authkit/AppSetting/AuthkitPersonalInformation.vue.d.ts +1 -3
  32. package/dist/components/Authkit/AppSetting/AuthkitPhoneVerify.vue.d.ts +13 -3
  33. package/dist/components/Authkit/Auth/AuthkitBindEmail.vue.d.ts +29 -2
  34. package/dist/components/Authkit/Auth/AuthkitBindPhone.vue.d.ts +2 -2
  35. package/dist/components/Authkit/Auth/AuthkitEmailUpdate.vue.d.ts +2 -2
  36. package/dist/components/Authkit/Auth/AuthkitOauthItem.vue.d.ts +37 -9
  37. package/dist/components/Authkit/Auth/AuthkitOauthList.vue.d.ts +7 -11
  38. package/dist/components/Authkit/Auth/AuthkitPasswordUpdateAndVerify.vue.d.ts +2 -2
  39. package/dist/components/Authkit/Auth/AuthkitPhonePasswordUpdateAndVerify.vue.d.ts +2 -2
  40. package/dist/components/Authkit/Auth/AuthkitServiceAgreementAndPrivacyProtection.vue.d.ts +11 -7
  41. package/dist/components/Authkit/Auth/AuthkitSignInEmailCode.vue.d.ts +2 -2
  42. package/dist/components/Authkit/Auth/AuthkitSignInPhone.vue.d.ts +3 -62
  43. package/dist/components/Authkit/Auth/AuthkitSignUpPhone.vue.d.ts +2 -2
  44. package/dist/components/Authkit/Auth/AuthkitSwitchSignUpOrResetPassword.vue.d.ts +9 -0
  45. package/dist/components/Authkit/AuthkitAuth.vue.d.ts +2 -8
  46. package/dist/components/Authkit/AuthkitAuthModal.vue.d.ts +0 -4
  47. package/dist/components/Authkit/AuthkitProvider.vue.d.ts +5 -2
  48. package/dist/components/Authkit/AuthkitSendVerifyCode.vue.d.ts +2 -1
  49. package/dist/components/CustomTable.vue.d.ts +27 -1
  50. package/dist/components/Ellipsis.vue.d.ts +2 -6
  51. package/dist/components/Feedback/FeedbackList.vue.d.ts +4 -1
  52. package/dist/components/Gradientbackground.vue.d.ts +2 -2
  53. package/dist/components/HeaderMenus.vue.d.ts +4 -1
  54. package/dist/components/InfiniteLoading.vue.d.ts +1 -1
  55. package/dist/components/LandingPage/LandingPageContainer.vue.d.ts +2 -2
  56. package/dist/components/LandingPage/LandingPagePageContent.vue.d.ts +2 -2
  57. package/dist/components/LegalDoc/LegalDocViewer.vue.d.ts +7 -0
  58. package/dist/components/Menu.vue.d.ts +2 -1
  59. package/dist/components/MenuItem.vue.d.ts +3 -1
  60. package/dist/components/Message/MessageAppMessage.vue.d.ts +12 -2
  61. package/dist/components/Message/MessageDetails.vue.d.ts +9 -161
  62. package/dist/components/Message/MessageHandle.vue.d.ts +16 -4
  63. package/dist/components/Message/MessageList.vue.d.ts +4 -3
  64. package/dist/components/Message/MessageNotificationDetails.vue.d.ts +13 -0
  65. package/dist/components/Message/messageBody/DescriptionsMessageBody.vue.d.ts +3 -0
  66. package/dist/components/Message/messageBody/JsonMessageBodyFallback.vue.d.ts +3 -0
  67. package/dist/components/Message/messageBody/TextMessageBody.vue.d.ts +3 -0
  68. package/dist/components/Message/messageBody/descriptionRows.d.ts +14 -0
  69. package/dist/components/Message/messageBody/descriptionsMessageBody.d.ts +32 -0
  70. package/dist/components/Message/messageBody/descriptionsValueRender.d.ts +4 -0
  71. package/dist/components/Message/messageBody/messageBodyRegistry.d.ts +9 -0
  72. package/dist/components/Message/messageBody/registerBuiltinMessageBodies.d.ts +2 -0
  73. package/dist/components/Message/messageBody/types.d.ts +7 -0
  74. package/dist/components/Referrer/ReferrerRefereeCell.vue.d.ts +7 -0
  75. package/dist/components/Referrer/ReferrerReferees.vue.d.ts +1 -0
  76. package/dist/components/UserMenu/UserAccountMenu.vue.d.ts +1 -16
  77. package/dist/components/UserMenu/UserMenuItem.vue.d.ts +4 -0
  78. package/dist/components/UserMenu/UserMenuModals.vue.d.ts +18 -4
  79. package/dist/components/UserMenu/parts/UserAvatar.vue.d.ts +6 -0
  80. package/dist/components/UserMenu/parts/UserBasicInformation.vue.d.ts +7 -2
  81. package/dist/composables/Authkit/fetchAuthPageAboutUs.d.ts +3 -0
  82. package/dist/composables/Authkit/resolveRoutePermission.d.ts +2 -0
  83. package/dist/composables/Authkit/useAuthkitAppsAuthPageInfo.d.ts +16 -0
  84. package/dist/composables/Authkit/useAuthkitAuth.d.ts +2 -0
  85. package/dist/composables/Authkit/useAuthkitPasskey.d.ts +10 -0
  86. package/dist/composables/Authkit/useLegalDocHostActions.d.ts +6 -0
  87. package/dist/composables/Authkit/useLegalDocs.d.ts +19 -0
  88. package/dist/composables/Authkit/useOauth.d.ts +17 -4
  89. package/dist/composables/Authkit/useRegistrationTerms.d.ts +24 -0
  90. package/dist/composables/Authkit/verifyCodeCooldown.d.ts +19 -0
  91. package/dist/composables/Billing/useBillingPlans.d.ts +0 -4
  92. package/dist/composables/Billing/useBillingStatusOptions.d.ts +2 -6
  93. package/dist/composables/Billing/useBillingSubscriptionSummary.d.ts +16 -0
  94. package/dist/composables/Billing/usePaidProductOptions.d.ts +5 -0
  95. package/dist/composables/Message/messageCenterBadgeCounts.d.ts +28 -0
  96. package/dist/composables/UserMenu/useUserMenuBadgeCounts.d.ts +9 -0
  97. package/dist/composables/useInfiniteList.d.ts +19 -0
  98. package/dist/composables/useMessageNotifications.d.ts +3 -6
  99. package/dist/composables.d.ts +4 -2
  100. package/dist/composables.js +50 -45
  101. package/dist/feedback.d.ts +1 -0
  102. package/dist/feedback.js +12 -11
  103. package/dist/fetchAuthPageAboutUs-dzTSwRsB.js +25 -0
  104. package/dist/{Clipboard-Bo7gdpR6.js → index-BkLvw1PU.js} +1 -1
  105. package/dist/landingPage.js +21 -21
  106. package/dist/legalDocs/buildBuiltinUrl.d.ts +3 -0
  107. package/dist/{utils/legalLinks.d.ts → legalDocs/constants.d.ts} +0 -10
  108. package/dist/legalDocs/index.d.ts +7 -0
  109. package/dist/legalDocs/isConfigured.d.ts +7 -0
  110. package/dist/legalDocs/open.d.ts +3 -0
  111. package/dist/legalDocs/resolveAppId.d.ts +8 -0
  112. package/dist/legalDocs/resolveTarget.d.ts +4 -0
  113. package/dist/legalDocs/types.d.ts +12 -0
  114. package/dist/main.js +320 -308
  115. package/dist/message.d.ts +3 -0
  116. package/dist/message.js +301 -21
  117. package/dist/pay.d.ts +1 -1
  118. package/dist/pay.js +14 -17
  119. package/dist/privateCom.js +1 -1
  120. package/dist/referrer.js +1 -1
  121. package/dist/style.css +1 -1
  122. package/dist/types/api/auth.generated.d.ts +1385 -328
  123. package/dist/types/api/billing.generated.d.ts +907 -76
  124. package/dist/types/api/ones.generated.d.ts +131 -2
  125. package/dist/types/api.d.ts +1 -0
  126. package/dist/types/app.d.ts +10 -0
  127. package/dist/types/user.d.ts +1 -0
  128. package/dist/upload.js +2 -2
  129. package/dist/{useAuthkitAppsAuthPageInfo-C2yKgl8t.js → useAuthkitAppsAuthPageInfo-CNudJd04.js} +18 -17
  130. package/dist/useAuthkitAuth-3m0yW6uP.js +267 -0
  131. package/dist/{useAuthkitCreateAndUpdate-oo9517Gj.js → useAuthkitCreateAndUpdate-BsINsI-E.js} +1 -1
  132. package/dist/{useAuthkitUsersProfile-BZDk21c8.js → useAuthkitUsersProfile-DJlMsftY.js} +3 -3
  133. package/dist/useBillingStatusOptions-CfHQOFNw.js +71 -0
  134. package/dist/{useEnsureAuthenticated-BuIbxqsO.js → useEnsureAuthenticated-DNkCCy_Y.js} +2 -2
  135. package/dist/useLegalDocs-DQP_Yq6B.js +106 -0
  136. package/dist/{useMessageNotifications-D85_-mDq.js → useMessageNotifications-CAphguOm.js} +21 -24
  137. package/dist/useRoutePermission-CEiya9AM.js +218 -0
  138. package/dist/useSEO-CDWxbk8B.js +221 -0
  139. package/dist/useSubscriptionCheckout-d_M_rKRa.js +368 -0
  140. package/dist/{useUploadCos-BRKRzSy3.js → useUploadCos-C8BqFPkx.js} +1 -1
  141. package/dist/user.js +1 -1
  142. package/dist/userMenuModal-D-nDaYqM.js +66 -0
  143. package/dist/utils/apiMiddlewares.d.ts +5 -5
  144. package/dist/utils/apiResponse.d.ts +11 -0
  145. package/dist/utils/authProviderIcon.d.ts +3 -0
  146. package/dist/utils/authkit.d.ts +20 -7
  147. package/dist/utils/formatPoints.d.ts +8 -0
  148. package/dist/utils/messageNotificationContent.d.ts +4 -0
  149. package/dist/utils/messageTextLink.d.ts +9 -0
  150. package/dist/utils/passkeySupport.d.ts +8 -0
  151. package/dist/utils/pointsFlowTypes.d.ts +10 -0
  152. package/dist/utils/pointsHistoryDisplay.d.ts +8 -0
  153. package/dist/utils/refundStatusDisplay.d.ts +1 -0
  154. package/dist/utils/subscriptionDisplay.d.ts +7 -0
  155. package/dist/utils/userDisplay.d.ts +41 -0
  156. package/package.json +11 -3
  157. package/dist/AuthkitAppSetting-C-0uuLSg.js +0 -1921
  158. package/dist/AuthkitGithubBinding-C5zEy9zN.js +0 -2207
  159. package/dist/CustomTable-nsxN4Ja4.js +0 -276
  160. package/dist/FeedbackModal.vue_vue_type_script_setup_true_lang-M1NQ-rx-.js +0 -1396
  161. package/dist/LandingPageFAQ-CZJXvor9.js +0 -80
  162. package/dist/LandingPageSectionHeader-D_74W4My.js +0 -69
  163. package/dist/Menu-Cy2ZPeaz.js +0 -170
  164. package/dist/MessageHandle-BG12aX0i.js +0 -924
  165. package/dist/MessageList-CrCF8mU6.js +0 -233
  166. package/dist/MessageNoticeNotificationsDetails.vue_vue_type_script_setup_true_lang-gsjL6yAe.js +0 -142
  167. package/dist/PaySubscriptions-lWnEioX5.js +0 -1241
  168. package/dist/PricingPlans-DFcjOMWS.js +0 -404
  169. package/dist/ReferrerReferees-Cn7KaO8z.js +0 -106
  170. package/dist/UserMenuInvitationsItem.vue_vue_type_script_setup_true_lang-P0X1Exyu.js +0 -520
  171. package/dist/WidthContainer-CF3qOLWW.js +0 -688
  172. package/dist/components/Feedback/FeedbackDetails.vue.d.ts +0 -178
  173. package/dist/composables/Authkit/useLegalLinks.d.ts +0 -34
  174. package/dist/index-D3Kp6R4z.js +0 -4
  175. package/dist/useAuthkitAuth-DmS-H7M2.js +0 -175
  176. package/dist/useBillingStatusOptions-B7xLU3fs.js +0 -145
  177. package/dist/useLegalLinks-Cwr45PBT.js +0 -60
  178. package/dist/useRoutePermission-CaWtjLRA.js +0 -212
  179. package/dist/useSEO-BSMQdBR9.js +0 -158
  180. package/dist/useSubscriptionCheckout-BRk5h9aC.js +0 -365
  181. package/dist/useTableHandle-BdujaiNX.js +0 -69
  182. /package/dist/components/{Feedback/FeedbackVideoPreview.vue.d.ts → VideoPreview.vue.d.ts} +0 -0
@@ -0,0 +1,592 @@
1
+ /* empty css */
2
+ /* empty css */
3
+ import "./index-BkLvw1PU.js";
4
+ import { defineComponent as p, computed as b, openBlock as r, createElementBlock as _, toDisplayString as h, createCommentVNode as U, createVNode as f, unref as t, createBlock as v, withCtx as g, createTextVNode as k, ref as C, createElementVNode as c, watch as x, onMounted as ee, Fragment as q, renderSlot as A, normalizeClass as ne } from "vue";
5
+ import { Avatar as G, Button as N, Dropdown as te, Badge as ae } from "@arco-design/web-vue";
6
+ import { u as H } from "./useAuthkitUsersProfile-DJlMsftY.js";
7
+ import { u as y } from "./useUserMenu-ClPBlvaM.js";
8
+ /* empty css */
9
+ import { g as J, a as se, R as oe } from "./ReferrerReferees-DgygiIiE.js";
10
+ import { _ as S } from "./_plugin-vue_export-helper-CHgC5LLL.js";
11
+ /* empty css */
12
+ import { u as ie } from "./apiClients-BcXOLuYu.js";
13
+ import { f as re, u as le, g as ue, c as ce, s as de, P as pe } from "./PaySubscriptions-CXkEjqr2.js";
14
+ import { d as me } from "./useBillingStatusOptions-CfHQOFNw.js";
15
+ import { A as fe } from "./AuthkitAppSetting-BN8-xgNq.js";
16
+ import { c as _e, u as K } from "./FeedbackModal.vue_vue_type_script_setup_true_lang-B9BqGWm8.js";
17
+ import { M as ve } from "./MessageHandle-mEkCsv9e.js";
18
+ import "./Menu-uCexrsKP.js";
19
+ import { Icon as ge } from "@iconify/vue";
20
+ const be = {
21
+ class: "UserAvatar"
22
+ }, Ue = ["title"], ke = /* @__PURE__ */ p({
23
+ __name: "UserAvatar",
24
+ props: {
25
+ userId: {
26
+ default: ""
27
+ },
28
+ nickname: {
29
+ default: ""
30
+ },
31
+ email: {
32
+ default: ""
33
+ },
34
+ phone: {
35
+ default: ""
36
+ },
37
+ avatar: {
38
+ default: ""
39
+ }
40
+ },
41
+ setup(n) {
42
+ const e = n, o = b(() => J({
43
+ userId: e.userId,
44
+ nickname: e.nickname,
45
+ email: e.email,
46
+ phone: e.phone
47
+ }));
48
+ return (a, i) => (r(), _("div", be, [o.value ? (r(), _("span", {
49
+ key: 0,
50
+ class: "UserAvatar__nickname",
51
+ title: o.value
52
+ }, h(o.value), 9, Ue)) : U("", !0), f(t(G), {
53
+ "image-url": n.avatar,
54
+ size: 32,
55
+ "object-fit": "cover"
56
+ }, null, 8, ["image-url"])]));
57
+ }
58
+ }), ye = /* @__PURE__ */ S(ke, [["__scopeId", "data-v-949e953e"]]), Ie = /* @__PURE__ */ p({
59
+ __name: "UserSignInButton",
60
+ setup(n) {
61
+ const {
62
+ open: e
63
+ } = ie();
64
+ return (o, a) => (r(), v(t(N), {
65
+ type: "primary",
66
+ class: "UserSignInButton",
67
+ onClick: a[0] || (a[0] = (i) => t(e)())
68
+ }, {
69
+ default: g(() => [...a[1] || (a[1] = [k("登陆", -1)])]),
70
+ _: 1
71
+ }));
72
+ }
73
+ }), Se = /* @__PURE__ */ S(Ie, [["__scopeId", "data-v-449a105c"]]), Be = {}, $e = {
74
+ class: "UserMenuDivider",
75
+ role: "separator"
76
+ };
77
+ function he(n, e) {
78
+ return r(), _("div", $e);
79
+ }
80
+ const Me = /* @__PURE__ */ S(Be, [["render", he], ["__scopeId", "data-v-c7d18d97"]]), R = C(0);
81
+ let P = null;
82
+ function Ce() {
83
+ async function n() {
84
+ return P || (P = (async () => {
85
+ const e = await me.productOptions();
86
+ if (!Array.isArray(e)) {
87
+ R.value = 0;
88
+ return;
89
+ }
90
+ R.value = e.filter((o) => {
91
+ var a;
92
+ return (a = o.prices) == null ? void 0 : a.some((i) => i.type === "recurring");
93
+ }).length;
94
+ })().finally(() => {
95
+ P = null;
96
+ }), P);
97
+ }
98
+ return {
99
+ paidProductCount: R,
100
+ loadPaidProductCount: n
101
+ };
102
+ }
103
+ const xe = {
104
+ class: "UserBasicInformation"
105
+ }, Ae = {
106
+ class: "UserBasicInformation__extra"
107
+ }, we = ["title"], Pe = ["title"], De = /* @__PURE__ */ p({
108
+ __name: "UserBasicInformation",
109
+ props: {
110
+ userId: {
111
+ default: ""
112
+ },
113
+ nickname: {
114
+ default: ""
115
+ },
116
+ email: {
117
+ default: ""
118
+ },
119
+ phone: {
120
+ default: ""
121
+ },
122
+ avatarUrl: {
123
+ default: ""
124
+ },
125
+ avatarSize: {
126
+ default: 32
127
+ }
128
+ },
129
+ setup(n) {
130
+ const e = n, o = b(() => ({
131
+ userId: e.userId,
132
+ nickname: e.nickname,
133
+ email: e.email,
134
+ phone: e.phone
135
+ })), a = b(() => J(o.value)), i = b(() => se(o.value));
136
+ return (d, s) => (r(), _("div", xe, [f(t(G), {
137
+ "image-url": n.avatarUrl,
138
+ size: n.avatarSize,
139
+ "object-fit": "cover"
140
+ }, null, 8, ["image-url", "size"]), c("div", Ae, [c("span", {
141
+ class: "UserBasicInformation__nickname",
142
+ title: a.value
143
+ }, h(a.value), 9, we), i.value ? (r(), _("span", {
144
+ key: 0,
145
+ class: "UserBasicInformation__contact",
146
+ title: i.value
147
+ }, h(i.value), 9, Pe)) : U("", !0)])]));
148
+ }
149
+ }), Q = /* @__PURE__ */ S(De, [["__scopeId", "data-v-cb95c00d"]]), Ne = {
150
+ class: "UserSubscriptionBaseInformation"
151
+ }, Re = {
152
+ class: "UserSubscriptionBaseInformation__row"
153
+ }, He = {
154
+ class: "UserSubscriptionBaseInformation__info"
155
+ }, Oe = ["title"], Ve = {
156
+ key: 0,
157
+ class: "UserSubscriptionBaseInformation__info"
158
+ }, ze = ["title"], Te = {
159
+ class: "UserSubscriptionBaseInformation__row"
160
+ }, Le = {
161
+ class: "UserSubscriptionBaseInformation__info"
162
+ }, Ee = {
163
+ class: "UserSubscriptionBaseInformation__value"
164
+ }, je = {
165
+ key: 1,
166
+ class: "UserSubscriptionBaseInformation__row"
167
+ }, Fe = /* @__PURE__ */ p({
168
+ __name: "UserSubscriptionBaseInformation",
169
+ props: {
170
+ currentVersionName: {
171
+ default: ""
172
+ },
173
+ expireDate: {
174
+ default: ""
175
+ },
176
+ pointsBalance: {},
177
+ pendingInvoiceTotal: {},
178
+ loading: {
179
+ type: Boolean,
180
+ default: !1
181
+ },
182
+ canUpgrade: {
183
+ type: Boolean,
184
+ default: !1
185
+ },
186
+ actionLabel: {
187
+ default: "升级"
188
+ }
189
+ },
190
+ emits: ["upgradeHandle", "payHandle", "pointsHandle"],
191
+ setup(n, {
192
+ emit: e
193
+ }) {
194
+ const o = n, a = e, i = b(() => re(o.pointsBalance));
195
+ return (d, s) => (r(), _("div", Ne, [c("div", Re, [c("div", He, [s[3] || (s[3] = c("span", {
196
+ class: "UserSubscriptionBaseInformation__label"
197
+ }, "当前权益:", -1)), c("span", {
198
+ class: "UserSubscriptionBaseInformation__value",
199
+ title: n.currentVersionName
200
+ }, h(n.currentVersionName), 9, Oe)]), n.canUpgrade ? (r(), v(t(N), {
201
+ key: 0,
202
+ type: "primary",
203
+ size: "mini",
204
+ class: "UserSubscriptionBaseInformation__action",
205
+ loading: n.loading,
206
+ onClick: s[0] || (s[0] = (l) => a("upgradeHandle"))
207
+ }, {
208
+ default: g(() => [k(h(n.actionLabel), 1)]),
209
+ _: 1
210
+ }, 8, ["loading"])) : U("", !0)]), n.expireDate ? (r(), _("div", Ve, [s[4] || (s[4] = c("span", {
211
+ class: "UserSubscriptionBaseInformation__label"
212
+ }, "有效期至:", -1)), c("span", {
213
+ class: "UserSubscriptionBaseInformation__value",
214
+ title: n.expireDate
215
+ }, h(n.expireDate), 9, ze)])) : U("", !0), c("div", Te, [c("div", Le, [s[5] || (s[5] = c("span", {
216
+ class: "UserSubscriptionBaseInformation__label"
217
+ }, "积分余额:", -1)), c("span", Ee, h(i.value), 1)]), f(t(N), {
218
+ type: "primary",
219
+ size: "mini",
220
+ class: "UserSubscriptionBaseInformation__action",
221
+ loading: n.loading,
222
+ onClick: s[1] || (s[1] = (l) => a("pointsHandle"))
223
+ }, {
224
+ default: g(() => [...s[6] || (s[6] = [k(" 充值 ", -1)])]),
225
+ _: 1
226
+ }, 8, ["loading"])]), typeof n.pendingInvoiceTotal == "number" && n.pendingInvoiceTotal > 0 ? (r(), _("div", je, [s[8] || (s[8] = c("span", {
227
+ class: "UserSubscriptionBaseInformation__warning"
228
+ }, "有待支付订阅账单", -1)), f(t(N), {
229
+ type: "primary",
230
+ status: "warning",
231
+ size: "mini",
232
+ class: "UserSubscriptionBaseInformation__action",
233
+ loading: n.loading,
234
+ onClick: s[2] || (s[2] = (l) => a("payHandle"))
235
+ }, {
236
+ default: g(() => [...s[7] || (s[7] = [k(" 去支付 ", -1)])]),
237
+ _: 1
238
+ }, 8, ["loading"])])) : U("", !0)]));
239
+ }
240
+ }), Xe = /* @__PURE__ */ S(Fe, [["__scopeId", "data-v-7938abb7"]]), Ye = /* @__PURE__ */ p({
241
+ __name: "UserMenuHeader",
242
+ props: {
243
+ showSubscription: {
244
+ type: Boolean,
245
+ default: !0
246
+ },
247
+ currentVersionName: {
248
+ default: ""
249
+ },
250
+ expireDate: {
251
+ default: ""
252
+ },
253
+ canUpgrade: {
254
+ type: Boolean,
255
+ default: !0
256
+ }
257
+ },
258
+ setup(n) {
259
+ const e = n, {
260
+ userProfile: o
261
+ } = H(), {
262
+ isOpen: a,
263
+ openSubscriptions: i
264
+ } = y(), {
265
+ entitlement: d,
266
+ pointsBalance: s,
267
+ pendingInvoice: l,
268
+ loading: m,
269
+ refresh: B
270
+ } = le(), {
271
+ paidProductCount: I,
272
+ loadPaidProductCount: $
273
+ } = Ce(), u = b(() => e.currentVersionName ? e.currentVersionName : ue(d.value)), O = b(() => {
274
+ var w;
275
+ return e.expireDate || ((w = d.value) == null ? void 0 : w.endAt) || "";
276
+ }), W = b(() => ce(d.value, I.value)), Z = b(() => de(d.value, I.value, e.canUpgrade));
277
+ function V() {
278
+ e.showSubscription && (B(), $());
279
+ }
280
+ return x(a, (w) => {
281
+ w && V();
282
+ }), ee(() => {
283
+ a.value && V();
284
+ }), (w, M) => {
285
+ var z, T, L, E, j, F, X;
286
+ return r(), _(q, null, [f(Q, {
287
+ "user-id": (z = t(o)) == null ? void 0 : z.id,
288
+ "avatar-url": (T = t(o)) == null ? void 0 : T.avatarUrl,
289
+ nickname: (L = t(o)) == null ? void 0 : L.nickname,
290
+ email: (E = t(o)) == null ? void 0 : E.email,
291
+ phone: (j = t(o)) == null ? void 0 : j.phone
292
+ }, null, 8, ["user-id", "avatar-url", "nickname", "email", "phone"]), n.showSubscription ? (r(), v(Xe, {
293
+ key: 0,
294
+ "current-version-name": u.value,
295
+ "expire-date": O.value,
296
+ "points-balance": ((F = t(s)) == null ? void 0 : F.totalPoints) ?? 0,
297
+ "pending-invoice-total": (X = t(l)) == null ? void 0 : X.total,
298
+ loading: t(m),
299
+ "can-upgrade": Z.value,
300
+ "action-label": W.value,
301
+ onUpgradeHandle: M[0] || (M[0] = (Y) => t(i)()),
302
+ onPayHandle: M[1] || (M[1] = (Y) => t(i)({
303
+ target: "invoices"
304
+ })),
305
+ onPointsHandle: M[2] || (M[2] = (Y) => t(i)({
306
+ target: "points"
307
+ }))
308
+ }, null, 8, ["current-version-name", "expire-date", "points-balance", "pending-invoice-total", "loading", "can-upgrade", "action-label"])) : U("", !0)], 64);
309
+ };
310
+ }
311
+ }), qe = {
312
+ class: "UserMenu__content"
313
+ }, Ge = {
314
+ class: "UserMenu__header"
315
+ }, Je = /* @__PURE__ */ p({
316
+ __name: "UserMenu",
317
+ props: {
318
+ position: {
319
+ default: "br"
320
+ },
321
+ dropdownOffsetX: {
322
+ default: "0"
323
+ },
324
+ dropdownOffsetY: {
325
+ default: "0"
326
+ }
327
+ },
328
+ setup(n) {
329
+ const {
330
+ userProfile: e,
331
+ isLoggedIn: o
332
+ } = H(), {
333
+ isOpen: a,
334
+ setOpen: i
335
+ } = y(), d = b({
336
+ get: () => a.value,
337
+ set: (s) => i(s)
338
+ });
339
+ return (s, l) => t(o) ? (r(), v(t(te), {
340
+ key: 1,
341
+ "popup-visible": d.value,
342
+ "onUpdate:popupVisible": l[0] || (l[0] = (m) => d.value = m),
343
+ class: "UserMenu",
344
+ position: n.position,
345
+ "popup-max-height": !1,
346
+ "popup-style": {
347
+ "--user-menu-translate-x": n.dropdownOffsetX ?? "0",
348
+ "--user-menu-translate-y": n.dropdownOffsetY ?? "0"
349
+ }
350
+ }, {
351
+ content: g(() => [c("div", qe, [c("div", Ge, [A(s.$slots, "header", {
352
+ user: t(e)
353
+ }, () => [f(Ye)], !0)]), s.$slots.items ? (r(), v(Me, {
354
+ key: 0
355
+ })) : U("", !0), A(s.$slots, "items", {}, void 0, !0)])]),
356
+ default: g(() => [A(s.$slots, "trigger", {
357
+ user: t(e)
358
+ }, () => {
359
+ var m, B, I, $, u;
360
+ return [f(ye, {
361
+ "user-id": (m = t(e)) == null ? void 0 : m.id,
362
+ nickname: (B = t(e)) == null ? void 0 : B.nickname,
363
+ email: (I = t(e)) == null ? void 0 : I.email,
364
+ phone: ($ = t(e)) == null ? void 0 : $.phone,
365
+ avatar: (u = t(e)) == null ? void 0 : u.avatarUrl
366
+ }, null, 8, ["user-id", "nickname", "email", "phone", "avatar"])];
367
+ }, !0)]),
368
+ _: 3
369
+ }, 8, ["popup-visible", "position", "popup-style"])) : (r(), v(Se, {
370
+ key: 0
371
+ }));
372
+ }
373
+ }), Sn = /* @__PURE__ */ S(Je, [["__scopeId", "data-v-65156499"]]), Ke = ["disabled"], Qe = {
374
+ class: "UserMenuItem__label"
375
+ }, We = {
376
+ class: "UserMenuItem__label-text"
377
+ }, Ze = {
378
+ key: 0,
379
+ class: "UserMenuItem__icon"
380
+ }, en = /* @__PURE__ */ p({
381
+ __name: "UserMenuItem",
382
+ props: {
383
+ icon: {
384
+ default: void 0
385
+ },
386
+ danger: {
387
+ type: Boolean,
388
+ default: !1
389
+ },
390
+ disabled: {
391
+ type: Boolean,
392
+ default: !1
393
+ },
394
+ closeOnClick: {
395
+ type: Boolean,
396
+ default: !0
397
+ },
398
+ badge: {
399
+ default: 0
400
+ }
401
+ },
402
+ emits: ["click"],
403
+ setup(n, {
404
+ emit: e
405
+ }) {
406
+ const o = n, a = b(() => o.badge > 0), i = e, {
407
+ close: d
408
+ } = y();
409
+ function s(l) {
410
+ l.stopPropagation(), !o.disabled && (o.closeOnClick && d(), i("click", l));
411
+ }
412
+ return (l, m) => (r(), _("button", {
413
+ type: "button",
414
+ class: ne(["UserMenuItem", {
415
+ "is-danger": n.danger,
416
+ "is-disabled": n.disabled
417
+ }]),
418
+ disabled: n.disabled,
419
+ onClick: s
420
+ }, [c("span", Qe, [a.value ? (r(), v(t(ae), {
421
+ key: 0,
422
+ count: n.badge,
423
+ "max-count": 99,
424
+ offset: [10, 0]
425
+ }, {
426
+ default: g(() => [c("span", We, [A(l.$slots, "default", {}, void 0, !0)])]),
427
+ _: 3
428
+ }, 8, ["count"])) : A(l.$slots, "default", {
429
+ key: 1
430
+ }, void 0, !0)]), l.$slots.icon || n.icon ? (r(), _("span", Ze, [A(l.$slots, "icon", {}, () => [n.icon ? (r(), v(t(ge), {
431
+ key: 0,
432
+ icon: n.icon,
433
+ width: 16,
434
+ height: 16
435
+ }, null, 8, ["icon"])) : U("", !0)], !0)])) : U("", !0)], 10, Ke));
436
+ }
437
+ }), D = /* @__PURE__ */ S(en, [["__scopeId", "data-v-d5d01729"]]), Bn = /* @__PURE__ */ p({
438
+ __name: "UserMenuModals",
439
+ setup(n) {
440
+ const {
441
+ settingTrigger: e,
442
+ subscriptionsTrigger: o,
443
+ subscriptionsOptions: a,
444
+ messagesTrigger: i,
445
+ feedbackTrigger: d,
446
+ invitationsTrigger: s
447
+ } = y(), l = C(null), m = C(null), B = C(null), I = C(null), $ = C(null);
448
+ return x(e, () => {
449
+ var u;
450
+ (u = l.value) == null || u.setData(null, !0);
451
+ }), x(o, () => {
452
+ var u;
453
+ (u = m.value) == null || u.setData(a.value, !0);
454
+ }), x(i, () => {
455
+ var u;
456
+ (u = B.value) == null || u.openNotification();
457
+ }), x(d, () => {
458
+ var u;
459
+ (u = I.value) == null || u.setData(!0);
460
+ }), x(s, () => {
461
+ var u;
462
+ (u = $.value) == null || u.setData(!0);
463
+ }), (u, O) => (r(), _(q, null, [f(fe, {
464
+ ref_key: "appSettingRef",
465
+ ref: l
466
+ }, null, 512), f(pe, {
467
+ ref_key: "paySubsRef",
468
+ ref: m
469
+ }, null, 512), f(ve, {
470
+ ref_key: "messageHandleRef",
471
+ ref: B
472
+ }, null, 512), f(_e, {
473
+ ref_key: "feedbackModalRef",
474
+ ref: I
475
+ }, null, 512), f(oe, {
476
+ ref_key: "refereesRef",
477
+ ref: $
478
+ }, null, 512)], 64));
479
+ }
480
+ }), nn = {
481
+ class: "UserAccountMenu"
482
+ }, tn = /* @__PURE__ */ p({
483
+ __name: "UserAccountMenu",
484
+ setup(n) {
485
+ const {
486
+ userProfile: e
487
+ } = H();
488
+ return (o, a) => {
489
+ var i, d, s, l, m;
490
+ return r(), _("div", nn, [f(Q, {
491
+ "user-id": (i = t(e)) == null ? void 0 : i.id,
492
+ "avatar-url": (d = t(e)) == null ? void 0 : d.avatarUrl,
493
+ nickname: (s = t(e)) == null ? void 0 : s.nickname,
494
+ email: (l = t(e)) == null ? void 0 : l.email,
495
+ phone: (m = t(e)) == null ? void 0 : m.phone
496
+ }, null, 8, ["user-id", "avatar-url", "nickname", "email", "phone"])]);
497
+ };
498
+ }
499
+ }), $n = /* @__PURE__ */ S(tn, [["__scopeId", "data-v-fe79b69c"]]), hn = /* @__PURE__ */ p({
500
+ __name: "UserMenuMessageItem",
501
+ setup(n) {
502
+ const {
503
+ openMessages: e
504
+ } = y(), {
505
+ messageUnreadCount: o
506
+ } = K();
507
+ return (a, i) => (r(), v(D, {
508
+ icon: "lucide:chevron-right",
509
+ badge: t(o),
510
+ onClick: t(e)
511
+ }, {
512
+ default: g(() => [...i[0] || (i[0] = [k(" 消息中心 ", -1)])]),
513
+ _: 1
514
+ }, 8, ["badge", "onClick"]));
515
+ }
516
+ }), Mn = /* @__PURE__ */ p({
517
+ __name: "UserMenuSettingItem",
518
+ setup(n) {
519
+ const {
520
+ openSetting: e
521
+ } = y();
522
+ return (o, a) => (r(), v(D, {
523
+ icon: "lucide:user-round",
524
+ onClick: t(e)
525
+ }, {
526
+ default: g(() => [...a[0] || (a[0] = [k("用户信息", -1)])]),
527
+ _: 1
528
+ }, 8, ["onClick"]));
529
+ }
530
+ }), Cn = /* @__PURE__ */ p({
531
+ __name: "UserMenuSubscriptionItem",
532
+ setup(n) {
533
+ const {
534
+ openSubscriptions: e
535
+ } = y();
536
+ return (o, a) => (r(), v(D, {
537
+ icon: "lucide:chevron-right",
538
+ onClick: a[0] || (a[0] = (i) => t(e)())
539
+ }, {
540
+ default: g(() => [...a[1] || (a[1] = [k("订阅与积分", -1)])]),
541
+ _: 1
542
+ }));
543
+ }
544
+ }), xn = /* @__PURE__ */ p({
545
+ __name: "UserMenuFeedbackItem",
546
+ setup(n) {
547
+ const {
548
+ openFeedback: e
549
+ } = y(), {
550
+ feedbackUnreadCount: o
551
+ } = K();
552
+ return (a, i) => (r(), v(D, {
553
+ icon: "lucide:chevron-right",
554
+ badge: t(o),
555
+ onClick: t(e)
556
+ }, {
557
+ default: g(() => [...i[0] || (i[0] = [k(" 系统反馈 ", -1)])]),
558
+ _: 1
559
+ }, 8, ["badge", "onClick"]));
560
+ }
561
+ }), An = /* @__PURE__ */ p({
562
+ __name: "UserMenuInvitationsItem",
563
+ setup(n) {
564
+ const {
565
+ openInvitations: e
566
+ } = y();
567
+ return (o, a) => (r(), v(D, {
568
+ icon: "lucide:chevron-right",
569
+ onClick: t(e)
570
+ }, {
571
+ default: g(() => [...a[0] || (a[0] = [k("邀请", -1)])]),
572
+ _: 1
573
+ }, 8, ["onClick"]));
574
+ }
575
+ });
576
+ export {
577
+ $n as U,
578
+ xn as _,
579
+ ye as a,
580
+ Q as b,
581
+ Sn as c,
582
+ Me as d,
583
+ Ye as e,
584
+ An as f,
585
+ D as g,
586
+ hn as h,
587
+ Bn as i,
588
+ Mn as j,
589
+ Cn as k,
590
+ Se as l,
591
+ Xe as m
592
+ };