@huyooo/ui 0.5.3 → 0.5.5

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 (48) hide show
  1. package/dist/{AuthkitAuthModal-cEi5Hm14.js → AuthkitAuthModal-BjqMoIed.js} +141 -162
  2. package/dist/AuthkitAuthModal.vue_vue_type_style_index_1_lang-BpOmabWi.js +10 -0
  3. package/dist/{AuthkitAuthorize-DksJZktr.js → AuthkitAuthorize-DWb0xKRa.js} +12 -15
  4. package/dist/{Clipboard-CGm0G1dN.js → Clipboard-Bful1lNJ.js} +1 -1
  5. package/dist/CustomTable-B8i1SbFB.js +202 -0
  6. package/dist/{FeedbackItem-Day3rfSw.js → FeedbackItem-bPlL6uEE.js} +15 -14
  7. package/dist/{FeedbackModal-CsRXm-MY.js → FeedbackModal-DJx3R3rM.js} +22 -25
  8. package/dist/Introduce-e3nEDSRY.js +390 -0
  9. package/dist/LandingPageSectionHeader-Dlc5rL21.js +463 -0
  10. package/dist/LandingPageSectionTabs-CrFrtbqu.js +1369 -0
  11. package/dist/{MessageHandle-DqH_478k.js → MessageHandle-BJH_S-61.js} +37 -45
  12. package/dist/{PaySubscriptions-Dp8y1fdJ.js → PaySubscriptions-BGl9BQru.js} +17 -16
  13. package/dist/{ReferrerReferees-xIXZglpy.js → ReferrerReferees-oi-zzWCo.js} +20 -19
  14. package/dist/{Upload.vue_vue_type_script_setup_true_lang-CxGZSDoo.js → Upload.vue_vue_type_script_setup_true_lang-CDyUt05d.js} +11 -10
  15. package/dist/{UserAccountMenu-DD3zoOBd.js → UserAccountMenu-BD8F9vEK.js} +1 -1
  16. package/dist/{UserPanel-C1NGdsFk.js → UserPanel-C6XusLxb.js} +23 -24
  17. package/dist/{WidthContainer-C30YFs9X.js → WidthContainer-uWfPyPEH.js} +19 -18
  18. package/dist/authkit.js +12 -11
  19. package/dist/common.js +2 -2
  20. package/dist/components/PrivateCom/BodyAndFooterLayout.vue.d.ts +17 -0
  21. package/dist/components/PrivateCom/Footer.vue.d.ts +2 -0
  22. package/dist/components/PrivateCom/Introduce.vue.d.ts +2 -0
  23. package/dist/components/PrivateCom/useSEO.d.ts +71 -0
  24. package/dist/composables.js +26 -25
  25. package/dist/feedback.js +3 -3
  26. package/dist/index-Bb-d5pBq.js +1167 -0
  27. package/dist/index.js +367 -359
  28. package/dist/landingPage.js +46 -45
  29. package/dist/main.d.ts +1 -0
  30. package/dist/message.js +2 -2
  31. package/dist/pay.js +1 -1
  32. package/dist/privateCom.d.ts +4 -0
  33. package/dist/privateCom.js +8 -0
  34. package/dist/referrer.js +1 -1
  35. package/dist/style.css +1 -1
  36. package/dist/upload.js +2 -2
  37. package/dist/{AuthkitAuthModal.vue_vue_type_style_index_1_lang-B-QKS_BT.js → useAuthkitAppsAuthPageInfo-Dr5K7ULW.js} +16 -23
  38. package/dist/{useAuthkitUsersProfile-D2UZf7n0.js → useAuthkitUsersProfile-DNOB_Kuk.js} +1 -1
  39. package/dist/{useMessageNotifications-BahKMcby.js → useMessageNotifications-DOH1MS61.js} +1 -1
  40. package/dist/{useRoutePermission-Uxu5S3m1.js → useRoutePermission-DuZZniIv.js} +18 -17
  41. package/dist/{useUploadCos-DNKp_9xt.js → useUploadCos-B5P_PDcy.js} +2 -2
  42. package/dist/user.js +2 -2
  43. package/package.json +6 -1
  44. package/dist/CustomTable-kfI18phy.js +0 -1359
  45. package/dist/LandingPageSectionTabs-DPTZIwiJ.js +0 -1838
  46. package/dist/utils/landingPage.d.ts +0 -1
  47. /package/dist/{index-DaMA6jEr.js → _commonjsHelpers-DaMA6jEr.js} +0 -0
  48. /package/dist/{index-DZIhLe1R.js → globalConfig-DZIhLe1R.js} +0 -0
@@ -1,1838 +0,0 @@
1
- import { createElementBlock as n, openBlock as s, renderSlot as h, defineComponent as f, createVNode as u, withCtx as _, createElementVNode as e, normalizeStyle as x, unref as P, toDisplayString as l, Fragment as v, renderList as b, createBlock as C, normalizeClass as I, createTextVNode as g, ref as k, createCommentVNode as T, withModifiers as E, withDirectives as A, vModelText as q, computed as H, createStaticVNode as O, watch as z, vShow as N } from "vue";
2
- import { _ as d } from "./_plugin-vue_export-helper-CHgC5LLL.js";
3
- import { Icon as w } from "@iconify/vue";
4
- import { C as R, a as W } from "./CollapseItem-Cw1vcdLu.js";
5
- /* empty css */
6
- /* empty css */
7
- import { Tag as Z } from "@arco-design/web-vue";
8
- const K = {}, J = {
9
- class: "SubTitle"
10
- };
11
- function Q(a, t) {
12
- return s(), n("div", J, [h(a.$slots, "default", {}, void 0, !0)]);
13
- }
14
- const D = /* @__PURE__ */ d(K, [["render", Q], ["__scopeId", "data-v-3decf2d4"]]), Y = {}, X = {
15
- class: "Title"
16
- };
17
- function ee(a, t) {
18
- return s(), n("h2", X, [h(a.$slots, "default", {}, void 0, !0)]);
19
- }
20
- const M = /* @__PURE__ */ d(Y, [["render", ee], ["__scopeId", "data-v-58078aa8"]]), te = {
21
- class: "BlockHeader"
22
- }, se = /* @__PURE__ */ f({
23
- __name: "LandingPageBlockHeader",
24
- setup(a) {
25
- return (t, c) => (s(), n("div", te, [u(M, {
26
- class: "BlockHeaderTitle"
27
- }, {
28
- default: _(() => [h(t.$slots, "title", {}, void 0, !0)]),
29
- _: 3
30
- }), u(D, {
31
- class: "BlockHeaderSubTitle"
32
- }, {
33
- default: _(() => [h(t.$slots, "subTitle", {}, void 0, !0)]),
34
- _: 3
35
- })]));
36
- }
37
- }), ae = /* @__PURE__ */ d(se, [["__scopeId", "data-v-8d51bb3a"]]), ne = {
38
- class: "BlockLayout"
39
- }, ie = /* @__PURE__ */ f({
40
- __name: "LandingPageBlockLayout",
41
- props: {
42
- columns: {
43
- type: Number,
44
- default: 1
45
- },
46
- flexDirection: {
47
- type: String,
48
- default: "column"
49
- }
50
- },
51
- setup(a) {
52
- const t = a;
53
- return (c, i) => (s(), n("section", ne, [h(c.$slots, "BlockHeader", {}, void 0, !0), e("div", {
54
- class: "BlockBody",
55
- style: x({
56
- gridTemplateColumns: `repeat(${t.columns}, 1fr)`,
57
- flexDirection: t.flexDirection
58
- })
59
- }, [h(c.$slots, "BlockBody", {}, void 0, !0)], 4)]));
60
- }
61
- }), oe = /* @__PURE__ */ d(ie, [["__scopeId", "data-v-84ed1aaa"]]), ce = {
62
- description: "",
63
- class: "mission-list-item"
64
- }, le = {
65
- class: "mission-list-text"
66
- }, re = /* @__PURE__ */ f({
67
- __name: "LandingPageListItem",
68
- props: {
69
- description: {
70
- default: ""
71
- }
72
- },
73
- setup(a) {
74
- const t = a;
75
- return (c, i) => (s(), n("div", ce, [u(P(w), {
76
- icon: "mingcute:check-circle-fill",
77
- class: "mission-list-icon"
78
- }), e("span", le, l(t.description), 1)]));
79
- }
80
- }), U = /* @__PURE__ */ d(re, [["__scopeId", "data-v-4973c791"]]), de = {
81
- class: "mission-container"
82
- }, ue = {
83
- class: "mission-image-wrapper"
84
- }, _e = ["src", "alt"], pe = {
85
- class: "mission-content"
86
- }, fe = {
87
- class: "mission-title"
88
- }, me = {
89
- class: "mission-title-highlight"
90
- }, ge = {
91
- class: "mission-desc"
92
- }, he = {
93
- class: "mission-list"
94
- }, ve = {
95
- style: {
96
- display: "none"
97
- }
98
- }, $e = /* @__PURE__ */ f({
99
- __name: "LandingPageMission",
100
- props: {
101
- image: {},
102
- imageAlt: {},
103
- title: {},
104
- highlight: {},
105
- description: {},
106
- features: {}
107
- },
108
- setup(a) {
109
- return (t, c) => (s(), n("div", de, [e("div", ue, [c[0] || (c[0] = e("div", {
110
- class: "mission-bg1"
111
- }, null, -1)), e("img", {
112
- src: t.image,
113
- alt: t.imageAlt,
114
- loading: "lazy",
115
- width: "1270",
116
- decoding: "async",
117
- class: "mission-img"
118
- }, null, 8, _e)]), e("div", pe, [e("h2", fe, [e("span", me, l(t.highlight), 1), e("strong", null, l(t.title), 1)]), e("p", ge, l(t.description), 1), e("div", he, [(s(!0), n(v, null, b(t.features, (i, o) => (s(), C(U, {
119
- key: o,
120
- description: i
121
- }, null, 8, ["description"]))), 128))])]), (s(), n("svg", ve, c[1] || (c[1] = [e("symbol", {
122
- id: "ai:ph:check-circle-fill"
123
- }, [e("path", {
124
- fill: "currentColor",
125
- d: "M128 24a104 104 0 1 0 104 104A104.11 104.11 0 0 0 128 24m45.66 85.66l-56 56a8 8 0 0 1-11.32 0l-24-24a8 8 0 0 1 11.32-11.32L112 148.69l50.34-50.35a8 8 0 0 1 11.32 11.32"
126
- })], -1)])))]));
127
- }
128
- }), ye = /* @__PURE__ */ d($e, [["__scopeId", "data-v-511c032f"]]), be = {
129
- class: "team-info-container"
130
- }, ke = {
131
- class: "team-info-title"
132
- }, Ce = {
133
- class: "team-info-desc"
134
- }, Le = /* @__PURE__ */ f({
135
- __name: "LandingPageTeamInfo",
136
- props: {
137
- title: {},
138
- description: {}
139
- },
140
- setup(a) {
141
- const t = a;
142
- return (c, i) => (s(), n("div", be, [e("div", ke, l(t.title), 1), e("p", Ce, l(t.description), 1)]));
143
- }
144
- }), Pe = /* @__PURE__ */ d(Le, [["__scopeId", "data-v-2074e0d7"]]), we = {}, xe = {
145
- class: "Description"
146
- };
147
- function Ie(a, t) {
148
- return s(), n("div", xe, [h(a.$slots, "default", {}, void 0, !0)]);
149
- }
150
- const S = /* @__PURE__ */ d(we, [["render", Ie], ["__scopeId", "data-v-501deb41"]]), Se = {
151
- class: "grid-container"
152
- }, Te = {
153
- class: "square"
154
- }, Ae = ["src", "alt", "sizes", "width", "height"], qe = {
155
- class: "footer"
156
- }, Be = {
157
- class: "name"
158
- }, ze = /* @__PURE__ */ f({
159
- __name: "LandingPageTeamList",
160
- props: {
161
- publishedTeamMembers: {},
162
- sizes: {},
163
- width: {},
164
- height: {},
165
- pictureClass: {}
166
- },
167
- setup(a) {
168
- return (t, c) => (s(), n("div", Se, [(s(!0), n(v, null, b(t.publishedTeamMembers, (i) => (s(), n("div", {
169
- key: i.data.name,
170
- class: "group"
171
- }, [e("div", Te, [e("img", {
172
- src: i.data.avatar.src,
173
- alt: i.data.avatar.alt,
174
- sizes: t.sizes,
175
- width: t.width,
176
- height: t.height,
177
- class: I(t.pictureClass ? `${t.pictureClass} picture-img` : "picture-img")
178
- }, null, 10, Ae)]), e("div", qe, [e("h2", Be, l(i.data.name), 1), u(S, null, {
179
- default: _(() => [g(l(i.data.title), 1)]),
180
- _: 2
181
- }, 1024)])]))), 128))]));
182
- }
183
- }), Fe = /* @__PURE__ */ d(ze, [["__scopeId", "data-v-aae1a797"]]), Ve = /* @__PURE__ */ f({
184
- __name: "LandingPageAbout",
185
- setup(a) {
186
- const t = [{
187
- data: {
188
- name: "Janette Lynch",
189
- title: "Senior Director",
190
- avatar: {
191
- src: "https://images.unsplash.com/photo-1580489944761-15a19d654956?&fit=crop&w=280",
192
- alt: "Janette Lynch"
193
- }
194
- }
195
- }, {
196
- data: {
197
- name: "Marcell Ziemann",
198
- title: "Principal Strategist",
199
- avatar: {
200
- src: "https://images.unsplash.com/photo-1633332755192-727a05c4013d?&fit=crop&w=280",
201
- alt: "Marcell Ziemann"
202
- }
203
- }
204
- }, {
205
- data: {
206
- name: "Robert Palmer",
207
- title: "Marketing Engineer",
208
- avatar: {
209
- src: "https://images.unsplash.com/photo-1535713875002-d1d0cf377fde?&fit=crop&w=280",
210
- alt: "Robert Palmer"
211
- }
212
- }
213
- }, {
214
- data: {
215
- name: "Daniel Collins",
216
- title: "Chief Sales Officer",
217
- avatar: {
218
- src: "https://astroship-pro.web3templates.com/_astro/photo-1487309078313-fad80c3ec1e5_6PMfa.avif",
219
- alt: "Robert Palmer"
220
- }
221
- }
222
- }];
223
- return (c, i) => (s(), n(v, null, [u(oe, null, {
224
- BlockHeader: _(() => [u(ae, null, {
225
- title: _(() => i[0] || (i[0] = [g("核心团队")])),
226
- subTitle: _(() => i[1] || (i[1] = [g("我们是一个充满激情的小团队。")])),
227
- _: 1
228
- })]),
229
- BlockBody: _(() => [u(Pe, {
230
- title: "Empowering the world with Astro.",
231
- description: "We're a multi-cultural team from around the world! We come from diverse backgrounds, bringing different personalities, experiences and skills to the job. This is what makes our team so special."
232
- }), u(Fe, {
233
- "published-team-members": t
234
- })]),
235
- _: 1
236
- }), u(ye, {
237
- image: "https://astroship-pro.web3templates.com/_astro/employee.DPridi10_Z23eRat.avif",
238
- "image-alt": "Happy Team",
239
- title: "Mission",
240
- highlight: "Our ",
241
- description: "We're a multi-cultural team from around the world! ...",
242
- features: ["Intelligent Task Management", "Real-time Collaboration", "Data Security & Privacy"]
243
- })], 64));
244
- }
245
- }), wn = /* @__PURE__ */ d(Ve, [["__scopeId", "data-v-a40e05a5"]]), He = {
246
- class: "nav"
247
- }, De = {
248
- class: "section"
249
- }, Me = ["href"], Ue = {
250
- class: "section"
251
- }, je = ["href"], Ge = /* @__PURE__ */ f({
252
- __name: "LandingPageAside",
253
- setup(a) {
254
- const t = k([{
255
- text: "Editor",
256
- href: "/docs/editor/getting-started/overview"
257
- }, {
258
- text: "Collaboration",
259
- href: "/docs/collaboration/getting-started/overview"
260
- }, {
261
- text: "Content AI",
262
- href: "/docs/content-ai/getting-started/overview"
263
- }, {
264
- text: "Comments",
265
- href: "/docs/comments/getting-started/overview"
266
- }, {
267
- text: "Documents",
268
- href: "/docs/collaboration/documents"
269
- }]), c = k([{
270
- text: "Guides",
271
- href: "/docs/guides"
272
- }, {
273
- text: "Examples",
274
- href: "/docs/examples"
275
- }, {
276
- text: "Contributing",
277
- href: "/docs/resources/contributing"
278
- }, {
279
- text: "Editor changelog",
280
- href: "/docs/resources/changelog"
281
- }, {
282
- text: "Pro license",
283
- href: "/docs/resources/pro-license"
284
- }]);
285
- return (i, o) => (s(), n("nav", He, [o[2] || (o[2] = e("div", {
286
- class: "section"
287
- }, [e("div", {
288
- class: "section-title"
289
- }, "Getting started"), e("div", null, [e("a", {
290
- class: "link active",
291
- href: "/docs"
292
- }, "Overview")])], -1)), e("div", De, [o[0] || (o[0] = e("div", {
293
- class: "section-title"
294
- }, "Browse by feature", -1)), e("div", null, [(s(!0), n(v, null, b(t.value, (r) => (s(), n("a", {
295
- key: r.text,
296
- class: "link",
297
- href: r.href
298
- }, l(r.text), 9, Me))), 128))])]), e("div", Ue, [o[1] || (o[1] = e("div", {
299
- class: "section-title"
300
- }, "Resources", -1)), e("div", null, [(s(!0), n(v, null, b(c.value, (r) => (s(), n("a", {
301
- key: r.text,
302
- class: "link",
303
- href: r.href
304
- }, l(r.text), 9, je))), 128))])])]));
305
- }
306
- }), xn = /* @__PURE__ */ d(Ge, [["__scopeId", "data-v-b516bb75"]]), Ee = ["src"], Oe = /* @__PURE__ */ f({
307
- __name: "LandingPageLogo",
308
- props: {
309
- name: {
310
- type: String,
311
- required: !1,
312
- default: () => "#2d2d2d"
313
- },
314
- icon: {
315
- type: String,
316
- required: !1,
317
- default: () => ""
318
- },
319
- color: {
320
- type: String,
321
- required: !1,
322
- default: () => "#2d2d2d"
323
- },
324
- fontSize: {
325
- type: String,
326
- required: !1,
327
- default: () => "16px"
328
- },
329
- iconSize: {
330
- type: String,
331
- required: !1,
332
- default: () => "42px"
333
- }
334
- },
335
- emits: ["to"],
336
- setup(a, {
337
- emit: t
338
- }) {
339
- const c = a, i = t;
340
- function o() {
341
- i("to");
342
- }
343
- return (r, m) => (s(), n("div", {
344
- class: "Logo",
345
- onClick: o
346
- }, [a.icon ? (s(), n("img", {
347
- key: 0,
348
- class: "icon",
349
- src: a.icon,
350
- alt: "logo",
351
- style: x({
352
- width: c.iconSize,
353
- height: c.iconSize
354
- })
355
- }, null, 12, Ee)) : T("", !0), e("div", {
356
- class: "text",
357
- style: x({
358
- color: c.color,
359
- fontSize: c.fontSize
360
- })
361
- }, l(a.name), 5)]));
362
- }
363
- }), Ne = /* @__PURE__ */ d(Oe, [["__scopeId", "data-v-f259564c"]]), Re = {
364
- class: "BrandInfo"
365
- }, We = /* @__PURE__ */ f({
366
- __name: "LandingPageBrandInfo",
367
- props: {
368
- icon: {
369
- type: String,
370
- required: !0
371
- },
372
- name: {
373
- type: String,
374
- required: !0
375
- },
376
- description: {
377
- type: String,
378
- required: !0
379
- },
380
- color: {
381
- type: String,
382
- default: "#2d2d2d"
383
- },
384
- fontSize: {
385
- type: String,
386
- default: "14px"
387
- },
388
- iconSize: {
389
- type: String,
390
- default: "32px"
391
- }
392
- },
393
- setup(a) {
394
- const t = a;
395
- return (c, i) => (s(), n("div", Re, [u(Ne, {
396
- icon: t.icon,
397
- name: t.name,
398
- color: t.color,
399
- "font-size": t.fontSize,
400
- "icon-size": t.iconSize
401
- }, null, 8, ["icon", "name", "color", "font-size", "icon-size"]), u(S, null, {
402
- default: _(() => [g(l(t.description), 1)]),
403
- _: 1
404
- })]));
405
- }
406
- }), Ze = /* @__PURE__ */ d(We, [["__scopeId", "data-v-03121641"]]), Ke = /* @__PURE__ */ f({
407
- __name: "LandingPageButton",
408
- props: {
409
- type: {}
410
- },
411
- setup(a) {
412
- return (t, c) => (s(), n("div", {
413
- class: I(["heroButton", [t.type === "primary" ? "heroButtonPrimary" : "heroButtonSecondary"]])
414
- }, [h(t.$slots, "default", {}, void 0, !0)], 2));
415
- }
416
- }), Je = /* @__PURE__ */ d(Ke, [["__scopeId", "data-v-d26fdf8b"]]), Qe = {}, Ye = {
417
- class: "Card"
418
- };
419
- function Xe(a, t) {
420
- return s(), n("div", Ye, [h(a.$slots, "default", {}, void 0, !0)]);
421
- }
422
- const j = /* @__PURE__ */ d(Qe, [["render", Xe], ["__scopeId", "data-v-cdb3f77d"]]), et = {
423
- class: "contact-container"
424
- }, tt = {
425
- class: "contact-info-section"
426
- }, st = {
427
- class: "contact-title"
428
- }, at = {
429
- class: "contact-info"
430
- }, nt = {
431
- class: "contact-info-item"
432
- }, it = {
433
- class: "contact-info-item"
434
- }, ot = ["href"], ct = {
435
- class: "contact-info-item"
436
- }, lt = ["href"], rt = {
437
- class: "contact-form-section"
438
- }, dt = /* @__PURE__ */ f({
439
- __name: "LandingPageContact",
440
- props: {
441
- title: {
442
- default: ""
443
- },
444
- subTitle: {
445
- default: ""
446
- },
447
- contact: {
448
- default: () => ({
449
- title: "联系我们",
450
- description: "有什么想说的吗?我们随时为您提供帮助。请填写表单或发送邮件或拨打电话。"
451
- })
452
- },
453
- address: {
454
- default: "北京市朝阳区建国门外大街1号"
455
- },
456
- email: {
457
- default: "hello@example.com"
458
- },
459
- phone: {
460
- default: "+86 138 0000 0000"
461
- },
462
- mapIcon: {
463
- default: "uil:map-marker"
464
- },
465
- emailIcon: {
466
- default: "uil:envelope"
467
- },
468
- phoneIcon: {
469
- default: "uil:phone"
470
- }
471
- },
472
- setup(a) {
473
- const t = a;
474
- return (c, i) => (s(), n("div", et, [e("div", tt, [e("h2", st, l(t.contact.title), 1), u(S, null, {
475
- default: _(() => [g(l(t.contact.description), 1)]),
476
- _: 1
477
- }), e("div", at, [e("div", nt, [u(P(w), {
478
- class: "contact-info-icon",
479
- icon: c.mapIcon
480
- }, null, 8, ["icon"]), e("span", null, l(t.address), 1)]), e("div", it, [u(P(w), {
481
- class: "contact-info-icon",
482
- icon: t.emailIcon
483
- }, null, 8, ["icon"]), e("a", {
484
- href: `mailto:${c.email}`
485
- }, l(t.email), 9, ot)]), e("div", ct, [u(P(w), {
486
- class: "contact-info-icon",
487
- icon: t.phoneIcon
488
- }, null, 8, ["icon"]), e("a", {
489
- href: `tel:${c.phone}`
490
- }, l(t.phone), 9, lt)])])]), e("div", rt, [h(c.$slots, "contact-form", {}, void 0, !0)])]));
491
- }
492
- }), In = /* @__PURE__ */ d(dt, [["__scopeId", "data-v-50d64cb9"]]), ut = ["value"], _t = ["value"], pt = {
493
- class: "form-group"
494
- }, ft = {
495
- class: "form-group"
496
- }, mt = {
497
- class: "form-group"
498
- }, gt = {
499
- type: "submit",
500
- class: "form-button"
501
- }, ht = {
502
- key: 0,
503
- class: "button-content"
504
- }, vt = {
505
- key: 1
506
- }, $t = /* @__PURE__ */ f({
507
- __name: "LandingPageContactForm",
508
- props: {
509
- accessKey: {
510
- default: "YOUR_ACCESS_KEY_HERE"
511
- },
512
- to: {
513
- default: "support@huyooo.com"
514
- }
515
- },
516
- setup(a) {
517
- const t = a, c = k(!1), i = k(""), o = k(""), r = k({
518
- name: "",
519
- email: "",
520
- message: ""
521
- }), m = async ($) => {
522
- c.value = !0;
523
- const p = $.target;
524
- if (!p.checkValidity()) {
525
- p.querySelectorAll(":invalid")[0].focus();
526
- return;
527
- }
528
- i.value = "发送中...", o.value = "";
529
- try {
530
- const y = await fetch("https://api.web3forms.com/submit", {
531
- method: "POST",
532
- headers: {
533
- "Content-Type": "application/json",
534
- Accept: "application/json"
535
- },
536
- body: JSON.stringify({
537
- access_key: t.accessKey,
538
- to: t.to,
539
- name: r.value.name,
540
- email: r.value.email,
541
- message: r.value.message
542
- })
543
- });
544
- await y.json(), y.status === 200 ? (o.value = "text-green", i.value = "消息发送成功!我们会尽快回复您。") : (o.value = "text-red", i.value = "发送失败,请检查网络连接后重试。");
545
- } catch {
546
- o.value = "text-red", i.value = "发送失败,请稍后再试!";
547
- } finally {
548
- p.reset(), c.value = !1, setTimeout(() => {
549
- i.value = "";
550
- }, 5e3);
551
- }
552
- };
553
- return ($, p) => (s(), n("form", {
554
- id: "form",
555
- action: "https://api.web3forms.com/submit",
556
- method: "POST",
557
- class: I(["contact-form", {
558
- "was-validated": c.value
559
- }]),
560
- novalidate: "",
561
- onSubmit: E(m, ["prevent"])
562
- }, [e("input", {
563
- type: "hidden",
564
- name: "access_key",
565
- value: t.accessKey
566
- }, null, 8, ut), e("input", {
567
- type: "hidden",
568
- name: "to",
569
- value: t.to
570
- }, null, 8, _t), p[11] || (p[11] = e("input", {
571
- type: "checkbox",
572
- class: "hidden",
573
- style: {
574
- display: "none"
575
- },
576
- name: "botcheck"
577
- }, null, -1)), e("div", pt, [p[3] || (p[3] = e("label", {
578
- for: "name",
579
- class: "form-label"
580
- }, [g(" 姓名 "), e("span", {
581
- class: "required"
582
- }, "*")], -1)), A(e("input", {
583
- id: "name",
584
- "onUpdate:modelValue": p[0] || (p[0] = (y) => r.value.name = y),
585
- type: "text",
586
- placeholder: "请输入您的姓名",
587
- required: "",
588
- class: "form-input",
589
- name: "name"
590
- }, null, 512), [[q, r.value.name]]), p[4] || (p[4] = e("div", {
591
- class: "empty-feedback invalid-feedback form-error"
592
- }, " 请输入您的姓名。 ", -1))]), e("div", ft, [p[5] || (p[5] = e("label", {
593
- for: "email_address",
594
- class: "form-label"
595
- }, [g(" 邮箱地址 "), e("span", {
596
- class: "required"
597
- }, "*")], -1)), A(e("input", {
598
- id: "email_address",
599
- "onUpdate:modelValue": p[1] || (p[1] = (y) => r.value.email = y),
600
- type: "email",
601
- placeholder: "请输入您的邮箱地址",
602
- name: "email",
603
- required: "",
604
- class: "form-input"
605
- }, null, 512), [[q, r.value.email]]), p[6] || (p[6] = e("div", {
606
- class: "empty-feedback form-error"
607
- }, " 请输入您的邮箱地址。 ", -1)), p[7] || (p[7] = e("div", {
608
- class: "invalid-feedback form-error"
609
- }, " 请输入有效的邮箱地址。 ", -1))]), e("div", mt, [p[8] || (p[8] = e("label", {
610
- for: "message",
611
- class: "form-label"
612
- }, [g(" 留言内容 "), e("span", {
613
- class: "required"
614
- }, "*")], -1)), A(e("textarea", {
615
- id: "message",
616
- "onUpdate:modelValue": p[2] || (p[2] = (y) => r.value.message = y),
617
- name: "message",
618
- required: "",
619
- placeholder: "请输入您的留言内容",
620
- class: "form-textarea",
621
- rows: "4"
622
- }, null, 512), [[q, r.value.message]]), p[9] || (p[9] = e("div", {
623
- class: "empty-feedback invalid-feedback form-error"
624
- }, " 请输入您的留言内容。 ", -1))]), e("button", gt, [i.value === "发送中..." ? (s(), n("span", ht, p[10] || (p[10] = [e("svg", {
625
- class: "spinner",
626
- xmlns: "http://www.w3.org/2000/svg",
627
- fill: "none",
628
- viewBox: "0 0 24 24"
629
- }, [e("circle", {
630
- class: "spinner-circle",
631
- cx: "12",
632
- cy: "12",
633
- r: "10",
634
- stroke: "currentColor",
635
- "stroke-width": "4"
636
- }), e("path", {
637
- class: "spinner-path",
638
- fill: "currentColor",
639
- d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
640
- })], -1), g(" 发送中... ")]))) : (s(), n("span", vt, "发送信息"))]), i.value && i.value !== "发送中..." ? (s(), n("div", {
641
- key: 0,
642
- class: I(["form-result", o.value])
643
- }, l(i.value), 3)) : T("", !0)], 34));
644
- }
645
- }), Sn = /* @__PURE__ */ d($t, [["__scopeId", "data-v-bd2eaefb"]]), yt = /* @__PURE__ */ f({
646
- __name: "LandingPageContainer",
647
- props: {
648
- flexDirection: {
649
- default: "column"
650
- },
651
- gap: {
652
- default: "80px"
653
- },
654
- padding: {
655
- default: "0px"
656
- }
657
- },
658
- setup(a) {
659
- const t = a;
660
- return (c, i) => (s(), n("div", {
661
- class: "landing-page-container",
662
- style: x({
663
- flexDirection: t.flexDirection,
664
- gap: t.gap,
665
- padding: t.padding
666
- })
667
- }, [h(c.$slots, "default", {}, void 0, !0)], 4));
668
- }
669
- }), Tn = /* @__PURE__ */ d(yt, [["__scopeId", "data-v-4566ee86"]]), bt = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1744'%20height='480'%20viewBox='0%200%201744%20480'%20fill='none'%3e%3cg%20style='mix-blend-mode:luminosity'%20opacity='0.5'%3e%3ccircle%20opacity='0.7'%20cx='861.225'%20cy='247.836'%20r='322.59'%20stroke='%2300000050'%20stroke-width='1.29295'%20/%3e%3ccircle%20opacity='0.6'%20cx='861.225'%20cy='247.836'%20r='387.237'%20stroke='%2300000050'%20stroke-width='1.29295'%20/%3e%3ccircle%20opacity='0.5'%20cx='861.226'%20cy='247.836'%20r='451.884'%20stroke='%2300000050'%20stroke-width='1.29295'%20/%3e%3ccircle%20opacity='0.4'%20cx='861.225'%20cy='247.835'%20r='516.532'%20stroke='%2300000050'%20stroke-width='1.29295'%20/%3e%3ccircle%20opacity='0.3'%20cx='861.225'%20cy='247.836'%20r='581.179'%20stroke='%2300000050'%20stroke-width='1.29295'%20/%3e%3ccircle%20opacity='0.2'%20cx='861.225'%20cy='247.836'%20r='645.826'%20stroke='%2300000050'%20stroke-width='1.29295'%20/%3e%3ccircle%20opacity='0.15'%20cx='861.225'%20cy='247.836'%20r='710.473'%20stroke='%2300000050'%20stroke-width='1.29295'%20/%3e%3ccircle%20opacity='0.1'%20cx='861.225'%20cy='247.836'%20r='775.12'%20stroke='%2300000050'%20stroke-width='1.29295'%20/%3e%3ccircle%20opacity='0.1'%20cx='862.695'%20cy='238.041'%20r='842.161'%20stroke='%2300000050'%20stroke-width='1.40477'%20/%3e%3ccircle%20opacity='0.1'%20cx='872'%20cy='240'%20r='907.243'%20stroke='%2300000050'%20stroke-width='1.51333'%20/%3e%3c/g%3e%3c/svg%3e", kt = {
670
- class: "cta-container"
671
- }, Ct = ["src"], Lt = {
672
- class: "cta-content"
673
- }, Pt = {
674
- class: "cta-title"
675
- }, wt = {
676
- class: "cta-description"
677
- }, xt = {
678
- class: "cta-actions"
679
- }, It = /* @__PURE__ */ f({
680
- __name: "LandingPageCta",
681
- props: {
682
- title: {
683
- default: "迫不及待想使用翻译?"
684
- },
685
- description: {
686
- default: "立即开始您的翻译之旅"
687
- },
688
- backgroundUrl: {
689
- default: bt
690
- },
691
- backgroundSize: {
692
- default: "120%"
693
- }
694
- },
695
- setup(a) {
696
- const t = a;
697
- return (c, i) => (s(), n("div", kt, [e("img", {
698
- src: t.backgroundUrl,
699
- class: "cta-background",
700
- alt: "background",
701
- style: x({
702
- width: t.backgroundSize,
703
- height: t.backgroundSize
704
- })
705
- }, null, 12, Ct), e("div", Lt, [e("h1", Pt, l(t.title), 1), e("div", wt, l(t.description), 1), e("div", xt, [h(c.$slots, "actions", {}, void 0, !0)])])]));
706
- }
707
- }), An = /* @__PURE__ */ d(It, [["__scopeId", "data-v-4a709ec3"]]), St = {}, Tt = {
708
- role: "separator",
709
- class: "divider divider-horizontal"
710
- };
711
- function At(a, t) {
712
- return s(), n("div", Tt);
713
- }
714
- const F = /* @__PURE__ */ d(St, [["render", At], ["__scopeId", "data-v-997fc2a4"]]), qt = /* @__PURE__ */ f({
715
- __name: "LandingPageFAQ",
716
- props: {
717
- activeKeys: {
718
- default: () => []
719
- },
720
- faqItems: {
721
- default: () => [{
722
- question: "你们有免费试用吗?",
723
- answer: "我们提供1个月的免费试用"
724
- }, {
725
- question: "我可以申请退款吗?",
726
- answer: "不支持退款,但您可以随时取消订阅。取消订阅后将于下一个结算日的次日生效,在此之前您可以使用服务。为了避免被收取下一计费期的费用,请在下一个计费日期前至少 24 小时取消。"
727
- }, {
728
- question: "付费会员的配额什么时候会重置?会在月初吗?",
729
- answer: "配额重置发生在您订阅后一个月,并非基于日历月。例如,如果您在4月15日订阅,您的配额将在5月15日重置。"
730
- }, {
731
- question: "从月付费订阅升级至年付费订阅,费用和有效期是如何计算的?",
732
- answer: "从月度付费升级至年度付费时,会基于您剩余的月度付费价值计算差额。服务期从升级日起至次年同日。"
733
- }, {
734
- question: "你们提供技术支持吗?",
735
- answer: "是的,在付费期间我们提供全天候的技术支持,可以通过电子邮箱和微信联系我们。"
736
- }, {
737
- question: "使用期间有什么限制吗?",
738
- answer: "在使用期间如果发现开发者违反法律法规或在恶意应用程序中使用等任何不当使用行为,包括但不限于共享或出售订阅,都是被禁止的,可能会导致您的账户被终止且不予退款。我们有权终止服务,详情请参阅《付费服务协议》"
739
- }]
740
- }
741
- },
742
- setup(a) {
743
- const t = a;
744
- return (c, i) => (s(), C(R, {
745
- "active-keys": t.activeKeys
746
- }, {
747
- default: _(() => [(s(!0), n(v, null, b(t.faqItems, (o, r) => (s(), C(W, {
748
- key: r,
749
- index: r
750
- }, {
751
- header: _(() => [g(l(o.question), 1)]),
752
- default: _(() => [u(S, null, {
753
- default: _(() => [g(l(o.answer), 1)]),
754
- _: 2
755
- }, 1024)]),
756
- _: 2
757
- }, 1032, ["index"]))), 128))]),
758
- _: 1
759
- }, 8, ["active-keys"]));
760
- }
761
- }), qn = /* @__PURE__ */ d(qt, [["__scopeId", "data-v-581e8f75"]]), Bt = {
762
- class: "Features"
763
- }, zt = {
764
- class: "feature-title"
765
- }, Ft = /* @__PURE__ */ f({
766
- __name: "LandingPageFeatures",
767
- props: {
768
- features: {
769
- default: () => [{
770
- title: "什么是ShipAny?",
771
- description: "ShipAny是一个无代码平台,帮助您在几小时内而不是几天内构建和发布AI产品。",
772
- icon: ""
773
- }, {
774
- title: "认证与支付",
775
- description: "内置认证和Stripe支付处理,开箱即用。",
776
- icon: ""
777
- }, {
778
- title: "数据基础设施",
779
- description: "为您的AI模型和用户数据提供安全且可扩展的数据库基础设施。",
780
- icon: ""
781
- }, {
782
- title: "实时部署",
783
- description: "持续部署工作流,确保您的AI创业公司始终保持最新状态。",
784
- icon: ""
785
- }, {
786
- title: "业务分析",
787
- description: "跟踪用户行为和业务指标,做出明智决策。",
788
- icon: ""
789
- }, {
790
- title: "AI模型集成",
791
- description: "轻松集成来自OpenAI、Anthropic等的最新AI模型。",
792
- icon: ""
793
- }]
794
- },
795
- iconColor: {
796
- default: "rgb(184, 154, 120)"
797
- },
798
- iconBorderColor: {
799
- default: "rgb(184, 154, 120)"
800
- }
801
- },
802
- setup(a) {
803
- const t = a;
804
- return (c, i) => (s(), n("div", Bt, [(s(!0), n(v, null, b(t.features, (o) => (s(), C(j, {
805
- key: o.title
806
- }, {
807
- default: _(() => [e("div", {
808
- class: "icon-container",
809
- style: x({
810
- color: t.iconColor,
811
- border: `1px solid ${t.iconBorderColor}`
812
- })
813
- }, [u(P(w), {
814
- class: "icon",
815
- icon: o.icon
816
- }, null, 8, ["icon"])], 4), e("h3", zt, l(o.title), 1), u(S, null, {
817
- default: _(() => [g(l(o.description), 1)]),
818
- _: 2
819
- }, 1024)]),
820
- _: 2
821
- }, 1024))), 128))]));
822
- }
823
- }), Bn = /* @__PURE__ */ d(Ft, [["__scopeId", "data-v-1ee2db18"]]), Vt = {
824
- class: "tt-feature-list"
825
- }, Ht = {
826
- class: "tt-feature-content"
827
- }, Dt = {
828
- class: "heading-small"
829
- }, Mt = {
830
- class: "text-small"
831
- }, Ut = /* @__PURE__ */ f({
832
- __name: "LandingPageFeatures2",
833
- props: {
834
- list: {
835
- type: Array,
836
- required: !0
837
- }
838
- },
839
- setup(a) {
840
- const t = a;
841
- return (c, i) => (s(), n("div", Vt, [(s(!0), n(v, null, b(t.list, (o, r) => (s(), n("div", {
842
- key: r,
843
- class: "tt-feature-item centered"
844
- }, [i[1] || (i[1] = e("div", {
845
- class: "tt-feature-icon"
846
- }, [e("img", {
847
- src: "https://cdn.prod.website-files.com/645a9acecda2e0594fac6126/66cda872417824f6aabdc2ad_check-highlight-badge.svg",
848
- loading: "lazy",
849
- class: "feature-media"
850
- })], -1)), e("div", Ht, [e("h3", Dt, l(o.title), 1), e("p", Mt, [g(l(o.descriptions) + " ", 1), i[0] || (i[0] = e("br", null, null, -1))])])]))), 128))]));
851
- }
852
- }), zn = /* @__PURE__ */ d(Ut, [["__scopeId", "data-v-abd3c70a"]]);
853
- function jt(a, t, c) {
854
- return `mailto:${a}?subject=${encodeURIComponent(t)}&body=${encodeURIComponent(c)}`;
855
- }
856
- const Gt = {
857
- class: "bottom"
858
- }, Et = {
859
- class: "socials"
860
- }, Ot = ["onClick"], Nt = /* @__PURE__ */ f({
861
- __name: "LandingPageFooterContact",
862
- props: {
863
- beianText: {
864
- type: String,
865
- required: !0
866
- },
867
- beianUrl: {
868
- type: String,
869
- required: !0
870
- },
871
- links: {
872
- type: Array,
873
- required: !0
874
- }
875
- },
876
- setup(a) {
877
- const t = a;
878
- function c() {
879
- window.open(t.beianUrl);
880
- }
881
- return (i, o) => (s(), n("div", Gt, [e("span", {
882
- onClick: c
883
- }, l(t.beianText), 1), e("div", Et, [(s(!0), n(v, null, b(a.links, (r, m) => (s(), n("div", {
884
- key: m,
885
- class: "socialItem",
886
- onClick: r.select
887
- }, [r.type === "text" ? (s(), C(P(w), {
888
- key: 0,
889
- icon: r.icon
890
- }, null, 8, ["icon"])) : T("", !0), r.type === "image" ? (s(), C(P(w), {
891
- key: 1,
892
- icon: r.icon
893
- }, null, 8, ["icon"])) : T("", !0)], 8, Ot))), 128))])]));
894
- }
895
- }), Rt = /* @__PURE__ */ d(Nt, [["__scopeId", "data-v-ff6210b9"]]), Wt = {
896
- class: "FooterLayout"
897
- }, Zt = {
898
- class: "body"
899
- }, Kt = {
900
- class: "logo"
901
- }, Jt = {
902
- class: "links"
903
- }, Qt = /* @__PURE__ */ f({
904
- __name: "LandingPageFooterLayout",
905
- setup(a) {
906
- return (t, c) => (s(), n("div", Wt, [u(F), e("div", Zt, [e("div", Kt, [h(t.$slots, "LandingPageBrandInfo", {}, void 0, !0)]), e("div", Jt, [h(t.$slots, "LandingPageLinkGroup", {}, void 0, !0)])]), u(F), h(t.$slots, "LandingPageFooterContact", {}, void 0, !0)]));
907
- }
908
- }), Yt = /* @__PURE__ */ d(Qt, [["__scopeId", "data-v-425841c7"]]), Xt = {}, es = {
909
- class: "Description"
910
- };
911
- function ts(a, t) {
912
- return s(), n("div", es, [h(a.$slots, "default", {}, void 0, !0)]);
913
- }
914
- const L = /* @__PURE__ */ d(Xt, [["render", ts], ["__scopeId", "data-v-ea9ec649"]]), ss = {
915
- class: "list"
916
- }, as = {
917
- class: "title"
918
- }, ns = {
919
- class: "listItemContent"
920
- }, is = /* @__PURE__ */ f({
921
- __name: "LandingPageLinkGroup",
922
- props: {
923
- title: {
924
- default: ""
925
- }
926
- },
927
- setup(a) {
928
- const t = a;
929
- return (c, i) => (s(), n("div", ss, [e("div", as, l(t.title), 1), e("div", ns, [h(c.$slots, "item", {}, void 0, !0)])]));
930
- }
931
- }), B = /* @__PURE__ */ d(is, [["__scopeId", "data-v-0809a48c"]]), os = {
932
- class: "Footer"
933
- }, V = "support@huyooo.com", cs = /* @__PURE__ */ f({
934
- __name: "LandingPageFooter",
935
- setup(a) {
936
- const t = k("京ICP备2024077422号 Copyright © 2024-2024 北京忽柚科技有限公司"), c = k("https://beian.miit.gov.cn/#/Integrated/index");
937
- function i() {
938
- const p = jt(V, "", "");
939
- window.location.href = p;
940
- }
941
- const o = k([{
942
- type: "text",
943
- icon: "ic:baseline-email",
944
- content: V,
945
- select: i
946
- }, {
947
- type: "image",
948
- icon: "ic:baseline-wechat",
949
- content: "https://beian.miit.gov.cn/#/Integrated/index",
950
- select() {
951
- }
952
- }]);
953
- return (r, m) => (s(), n("div", os, [u(Yt, null, {
954
- LandingPageBrandInfo: _(() => [u(Ze, {
955
- icon: "https://ghibliaigenerator.app/logo.png",
956
- name: "ONES",
957
- description: "几小时内构建和发布AI产品,无需数日。"
958
- })]),
959
- LandingPageLinkGroup: _(() => [u(B, {
960
- title: "产品"
961
- }, {
962
- item: _(() => [u(L, null, {
963
- default: _(() => m[0] || (m[0] = [g("功能")])),
964
- _: 1,
965
- __: [0]
966
- }), u(L, null, {
967
- default: _(() => m[1] || (m[1] = [g("展示")])),
968
- _: 1,
969
- __: [1]
970
- }), u(L, null, {
971
- default: _(() => m[2] || (m[2] = [g("价格")])),
972
- _: 1,
973
- __: [2]
974
- })]),
975
- _: 1
976
- }), u(B, {
977
- title: "资源"
978
- }, {
979
- item: _(() => [u(L, null, {
980
- default: _(() => m[3] || (m[3] = [g("安全性与合规性")])),
981
- _: 1,
982
- __: [3]
983
- })]),
984
- _: 1
985
- }), u(B, {
986
- title: "公司"
987
- }, {
988
- item: _(() => [u(L, null, {
989
- default: _(() => m[4] || (m[4] = [g("博客")])),
990
- _: 1,
991
- __: [4]
992
- }), u(L, null, {
993
- default: _(() => m[5] || (m[5] = [g("公司简介")])),
994
- _: 1,
995
- __: [5]
996
- }), u(L, null, {
997
- default: _(() => m[6] || (m[6] = [g("个人信息收集清单")])),
998
- _: 1,
999
- __: [6]
1000
- }), u(L, null, {
1001
- default: _(() => m[7] || (m[7] = [g("第三方信息共享清单")])),
1002
- _: 1,
1003
- __: [7]
1004
- }), u(L, null, {
1005
- default: _(() => m[8] || (m[8] = [g("用户服务协议")])),
1006
- _: 1,
1007
- __: [8]
1008
- }), u(L, null, {
1009
- default: _(() => m[9] || (m[9] = [g("隐私协议")])),
1010
- _: 1,
1011
- __: [9]
1012
- })]),
1013
- _: 1
1014
- })]),
1015
- LandingPageFooterContact: _(() => [u(Rt, {
1016
- "beian-text": t.value,
1017
- "beian-url": c.value,
1018
- links: o.value
1019
- }, null, 8, ["beian-text", "beian-url", "links"])]),
1020
- _: 1
1021
- })]));
1022
- }
1023
- }), Fn = /* @__PURE__ */ d(cs, [["__scopeId", "data-v-ee74e088"]]), ls = {
1024
- class: "hero"
1025
- }, rs = {
1026
- class: "heroContent"
1027
- }, ds = {
1028
- class: "heroHeading"
1029
- }, us = {
1030
- class: "heroTitle"
1031
- }, _s = {
1032
- class: "heroDescription"
1033
- }, ps = {
1034
- class: "heroActions"
1035
- }, fs = {
1036
- class: "heroImage"
1037
- }, ms = /* @__PURE__ */ f({
1038
- __name: "LandingPageHero",
1039
- props: {
1040
- title: {
1041
- type: String,
1042
- default: () => ""
1043
- },
1044
- description: {
1045
- type: String,
1046
- default: () => ""
1047
- },
1048
- heroSource: {
1049
- type: String,
1050
- default: () => ""
1051
- }
1052
- },
1053
- setup(a) {
1054
- const t = a;
1055
- return (c, i) => (s(), n("main", ls, [e("div", rs, [e("div", ds, [e("h1", us, [h(c.$slots, "title", {}, () => [g(l(t.title), 1)], !0)])]), e("div", _s, [e("div", null, l(t.description), 1)]), e("div", ps, [h(c.$slots, "actions", {}, void 0, !0)])]), e("div", fs, [h(c.$slots, "heroSource", {}, void 0, !0)])]));
1056
- }
1057
- }), Vn = /* @__PURE__ */ d(ms, [["__scopeId", "data-v-38f97a3c"]]), gs = {
1058
- class: "logos-list"
1059
- }, hs = /* @__PURE__ */ f({
1060
- __name: "LandingPageLogos",
1061
- props: {
1062
- title: {
1063
- default: "Works with your technologies"
1064
- },
1065
- subTitle: {
1066
- default: ""
1067
- },
1068
- logos: {
1069
- default: () => [{
1070
- name: "simple-icons:react"
1071
- }, {
1072
- name: "simple-icons:svelte"
1073
- }, {
1074
- name: "simple-icons:astro"
1075
- }, {
1076
- name: "simple-icons:css3"
1077
- }, {
1078
- name: "simple-icons:alpinedotjs"
1079
- }, {
1080
- name: "simple-icons:vercel"
1081
- }]
1082
- }
1083
- },
1084
- setup(a) {
1085
- const t = a;
1086
- return (c, i) => (s(), n("div", gs, [(s(!0), n(v, null, b(t.logos, (o, r) => (s(), C(P(w), {
1087
- key: r,
1088
- icon: o.name,
1089
- class: "logo-icon"
1090
- }, null, 8, ["icon"]))), 128))]));
1091
- }
1092
- }), Hn = /* @__PURE__ */ d(hs, [["__scopeId", "data-v-1a08e627"]]), vs = /* @__PURE__ */ f({
1093
- __name: "LandingPagePageContent",
1094
- props: {
1095
- maxWidth: {
1096
- default: "1380px"
1097
- },
1098
- center: {
1099
- type: Boolean,
1100
- default: !0
1101
- },
1102
- padding: {
1103
- default: "0px 0px 40px 0px "
1104
- },
1105
- gap: {
1106
- default: "90px"
1107
- },
1108
- flexDirection: {
1109
- default: "column"
1110
- }
1111
- },
1112
- setup(a) {
1113
- const t = a, c = H(() => ({
1114
- maxWidth: t.maxWidth,
1115
- margin: t.center ? "0 auto" : void 0,
1116
- width: "100%",
1117
- padding: t.padding,
1118
- display: "flex",
1119
- flexDirection: t.flexDirection ?? "column",
1120
- gap: t.gap
1121
- }));
1122
- return (i, o) => (s(), n("div", {
1123
- class: "PageContent",
1124
- style: x(c.value)
1125
- }, [h(i.$slots, "default", {}, void 0, !0)], 4));
1126
- }
1127
- }), Dn = /* @__PURE__ */ d(vs, [["__scopeId", "data-v-00ec8180"]]), $s = {
1128
- class: "Tabs"
1129
- }, ys = {
1130
- class: "tabs-root"
1131
- }, bs = {
1132
- role: "radiogroup",
1133
- "aria-required": "false",
1134
- dir: "ltr",
1135
- class: "tabs-group",
1136
- tabindex: "0"
1137
- }, ks = ["id", "aria-checked", "data-state", "value", "tabindex", "onClick"], Cs = {
1138
- key: 0,
1139
- "data-state": "checked",
1140
- class: "tabs-radio-icon"
1141
- }, Ls = ["for"], Ps = {
1142
- key: 0,
1143
- class: "tabs-badge"
1144
- }, ws = /* @__PURE__ */ f({
1145
- __name: "LandingPageTabs",
1146
- props: {
1147
- tabs: {
1148
- type: Array,
1149
- required: !0
1150
- },
1151
- modelValue: {
1152
- type: String,
1153
- required: !0
1154
- }
1155
- },
1156
- emits: ["update:modelValue"],
1157
- setup(a) {
1158
- const t = a;
1159
- return (c, i) => (s(), n("div", $s, [e("div", ys, [e("div", bs, [(s(!0), n(v, null, b(t.tabs, (o) => (s(), n("div", {
1160
- key: o.value,
1161
- class: I(["tabs-item", {
1162
- "tabs-item-active": o.value === a.modelValue
1163
- }])
1164
- }, [e("button", {
1165
- id: o.value,
1166
- type: "button",
1167
- role: "radio",
1168
- "aria-checked": o.value === a.modelValue,
1169
- "data-state": o.value === a.modelValue ? "checked" : "unchecked",
1170
- value: o.value,
1171
- class: "tabs-radio",
1172
- tabindex: o.value === a.modelValue ? 0 : -1,
1173
- onClick: (r) => c.$emit("update:modelValue", o.value)
1174
- }, [o.value === a.modelValue ? (s(), n("span", Cs)) : T("", !0)], 8, ks), e("label", {
1175
- class: "tabs-label",
1176
- for: o.value
1177
- }, [e("span", null, l(o.label), 1), o.badge ? (s(), n("div", Ps, l(o.badge), 1)) : T("", !0)], 8, Ls)], 2))), 128))])])]));
1178
- }
1179
- }), xs = /* @__PURE__ */ d(ws, [["__scopeId", "data-v-9eb67a93"]]), Is = {
1180
- class: "PriceGroup"
1181
- }, Ss = /* @__PURE__ */ f({
1182
- __name: "LandingPagePriceGroup",
1183
- setup(a) {
1184
- const t = k("subscribe-monthly");
1185
- return (c, i) => (s(), n("div", Is, [u(xs, {
1186
- modelValue: t.value,
1187
- "onUpdate:modelValue": i[0] || (i[0] = (o) => t.value = o),
1188
- tabs: [{
1189
- value: "subscribe-monthly",
1190
- label: "按月订阅"
1191
- }, {
1192
- value: "subscribe-yearly",
1193
- label: "按年订阅",
1194
- badge: "节省17%"
1195
- }, {
1196
- value: "pay-as-you-go",
1197
- label: "按需付费"
1198
- }]
1199
- }, null, 8, ["modelValue"]), h(c.$slots, "default", {}, void 0, !0)]));
1200
- }
1201
- }), Mn = /* @__PURE__ */ d(Ss, [["__scopeId", "data-v-43a35f55"]]), Ts = {
1202
- class: "PricingCard"
1203
- }, As = {
1204
- class: "title"
1205
- }, qs = {
1206
- class: "titleText"
1207
- }, Bs = {
1208
- class: "description"
1209
- }, zs = {
1210
- class: "priceAndDiscount"
1211
- }, Fs = {
1212
- class: "price"
1213
- }, Vs = {
1214
- class: "discount"
1215
- }, Hs = {
1216
- style: {
1217
- position: "relative",
1218
- top: "3px"
1219
- }
1220
- }, Ds = {
1221
- key: 1,
1222
- class: "priceNotDiscount"
1223
- }, Ms = {
1224
- class: "cycle"
1225
- }, Us = {
1226
- class: "features"
1227
- }, js = /* @__PURE__ */ f({
1228
- __name: "LandingPagePricingCard",
1229
- props: {
1230
- loading: {
1231
- type: Boolean,
1232
- required: !1,
1233
- default: () => !1
1234
- },
1235
- title: {
1236
- type: String,
1237
- required: !0
1238
- },
1239
- description: {
1240
- type: String,
1241
- required: !0
1242
- },
1243
- price: {
1244
- type: Number,
1245
- required: !0
1246
- },
1247
- discount: {
1248
- type: Number,
1249
- required: !1,
1250
- default: () => 99
1251
- },
1252
- unit: {
1253
- type: String,
1254
- required: !0
1255
- },
1256
- cycle: {
1257
- type: String,
1258
- required: !0
1259
- },
1260
- highlight: {
1261
- type: Boolean,
1262
- required: !0
1263
- },
1264
- badge: {
1265
- type: Object,
1266
- required: !0
1267
- },
1268
- button: {
1269
- type: Object,
1270
- required: !0
1271
- },
1272
- orientation: {
1273
- type: String,
1274
- required: !0
1275
- },
1276
- align: {
1277
- type: String,
1278
- required: !0
1279
- },
1280
- features: {
1281
- type: Array,
1282
- required: !0
1283
- }
1284
- },
1285
- emits: ["toPay"],
1286
- setup(a, {
1287
- emit: t
1288
- }) {
1289
- const c = t, i = a;
1290
- function o() {
1291
- c("toPay");
1292
- }
1293
- return (r, m) => (s(), n("div", Ts, [e("div", null, [e("div", As, [e("span", qs, l(i.title), 1), i.badge.label ? (s(), C(P(Z), {
1294
- key: 0,
1295
- color: "arcoblue"
1296
- }, {
1297
- default: _(() => [g(l(i.badge.label), 1)]),
1298
- _: 1
1299
- })) : T("", !0)]), e("div", Bs, l(i.description), 1)]), e("div", zs, [i.discount !== null ? (s(), n(v, {
1300
- key: 0
1301
- }, [e("span", Fs, [e("span", null, l(i.price), 1), e("span", null, l(i.unit), 1)]), e("span", Vs, [e("span", Hs, l(i.discount), 1), e("span", null, l(i.unit), 1)])], 64)) : (s(), n("span", Ds, [e("span", null, l(i.price), 1), e("span", null, l(i.unit), 1)])), e("span", Ms, l(i.cycle), 1)]), e("div", Us, [(s(!0), n(v, null, b(i.features, ($, p) => (s(), C(U, {
1302
- key: p,
1303
- description: $.title
1304
- }, null, 8, ["description"]))), 128))]), u(Je, {
1305
- class: "handle",
1306
- type: "primary",
1307
- loading: i.loading,
1308
- disabled: !(i.discount || i.price),
1309
- onClick: o
1310
- }, {
1311
- default: _(() => [g(l(i.button.label), 1)]),
1312
- _: 1
1313
- }, 8, ["loading", "disabled"])]));
1314
- }
1315
- }), Un = /* @__PURE__ */ d(js, [["__scopeId", "data-v-0b730439"]]), Gs = {}, Es = {
1316
- class: "PricingGrid"
1317
- }, Os = {
1318
- class: "content"
1319
- };
1320
- function Ns(a, t) {
1321
- return s(), n("div", Es, [e("div", Os, [h(a.$slots, "default", {}, void 0, !0)])]);
1322
- }
1323
- const jn = /* @__PURE__ */ d(Gs, [["render", Ns], ["__scopeId", "data-v-1f26d3ee"]]), Rs = "data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='40'%20height='40'%20rx='14'%20fill='url(%23paint0_linear_1212_46228)'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M17%2011C13.6863%2011%2011%2013.6863%2011%2017V23C11%2026.3137%2013.6863%2029%2017%2029H23C26.3137%2029%2029%2026.3137%2029%2023V17C29%2013.6863%2026.3137%2011%2023%2011H17ZM20.0002%2015.9091C20.4521%2015.9091%2020.8184%2016.2754%2020.8184%2016.7273V19.1818H23.2718C23.7237%2019.1818%2024.09%2019.5481%2024.09%2020C24.09%2020.4519%2023.7237%2020.8182%2023.2718%2020.8182H20.8184V23.2727C20.8184%2023.7246%2020.4521%2024.0909%2020.0002%2024.0909C19.5484%2024.0909%2019.182%2023.7246%2019.182%2023.2727V20.8182H16.7264C16.2745%2020.8182%2015.9082%2020.4519%2015.9082%2020C15.9082%2019.5481%2016.2745%2019.1818%2016.7264%2019.1818H19.182V16.7273C19.182%2016.2754%2019.5484%2015.9091%2020.0002%2015.9091Z'%20fill='white'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_1212_46228'%20x1='20'%20y1='0'%20x2='20'%20y2='40'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%235766F0'/%3e%3cstop%20offset='1'%20stop-color='%23591EFF'%20stop-opacity='0.81'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e", Ws = "data:image/svg+xml,%3csvg%20width='72'%20height='48'%20viewBox='0%200%2072%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cmask%20id='mask0_1212_46227'%20style='mask-type:alpha'%20maskUnits='userSpaceOnUse'%20x='0'%20y='0'%20width='72'%20height='48'%3e%3crect%20width='72'%20height='48'%20fill='%23D9D9D9'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_1212_46227)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M16.3789%2010.0001C16.3789%209.10554%2017.1041%208.38037%2017.9986%208.38037C18.8932%208.38037%2019.6183%209.10554%2019.6183%2010.0001C19.6183%2011.0172%2019.6664%2011.9775%2019.7585%2012.8841C19.8489%2013.7741%2019.2007%2014.5688%2018.3107%2014.6592C17.4208%2014.7497%2016.626%2014.1015%2016.5356%2013.2115C16.4317%2012.1889%2016.3789%2011.1191%2016.3789%2010.0001ZM18.0425%2019.547C17.7074%2018.7176%2018.1082%2017.7736%2018.9377%2017.4385C19.7671%2017.1035%2020.7111%2017.5043%2021.0461%2018.3337C21.7781%2020.146%2022.7687%2021.655%2023.9669%2022.9209C24.5819%2023.5705%2024.5537%2024.5957%2023.9041%2025.2106C23.2544%2025.8256%2022.2293%2025.7975%2021.6143%2025.1478C20.1362%2023.5862%2018.9254%2021.7329%2018.0425%2019.547ZM26.9161%2029.0658C26.1211%2028.6558%2025.8089%2027.6789%2026.219%2026.8838C26.629%2026.0888%2027.6059%2025.7767%2028.4009%2026.1867C30.0125%2027.0178%2031.8088%2027.6689%2033.753%2028.1757C34.6186%2028.4013%2035.1374%2029.286%2034.9118%2030.1516C34.6861%2031.0172%2033.8015%2031.536%2032.9359%2031.3104C30.8126%2030.7569%2028.7832%2030.0287%2026.9161%2029.0658ZM39.1207%2032.4579C38.2329%2032.348%2037.6022%2031.5393%2037.7121%2030.6516C37.8219%2029.7638%2038.6306%2029.1331%2039.5183%2029.2429C41.4424%2029.4809%2043.4322%2029.6311%2045.4551%2029.7252C46.3487%2029.7668%2047.0394%2030.5249%2046.9978%2031.4185C46.9562%2032.312%2046.1981%2033.0027%2045.3045%2032.9611C43.2229%2032.8643%2041.1475%2032.7086%2039.1207%2032.4579ZM51.4468%2033.1103C50.5523%2033.1036%2049.8326%2032.373%2049.8393%2031.4785C49.846%2030.584%2050.5766%2029.8643%2051.4711%2029.871C51.8002%2029.8735%2052.129%2029.8753%2052.4574%2029.8767L49.0395%2026.4589C48.4537%2025.8731%2048.4537%2024.9233%2049.0395%2024.3376C49.6253%2023.7518%2050.5751%2023.7518%2051.1608%2024.3376L56.5556%2029.7323C57.5319%2030.7086%2057.5319%2032.2915%2056.5556%2033.2678L51.1608%2038.6626C50.5751%2039.2484%2049.6253%2039.2484%2049.0395%2038.6626C48.4537%2038.0768%2048.4537%2037.1271%2049.0395%2036.5413L52.4646%2033.1162C52.1261%2033.1148%2051.7868%2033.1129%2051.4468%2033.1103Z'%20fill='black'%20fill-opacity='0.9'/%3e%3c/g%3e%3c/svg%3e", Zs = {
1324
- class: "section-header"
1325
- }, Ks = {
1326
- class: "title-section"
1327
- }, Js = {
1328
- class: "icon-title"
1329
- }, Qs = ["src", "width", "height"], Ys = {
1330
- class: "title"
1331
- }, Xs = {
1332
- class: "subtitle-section"
1333
- }, ea = ["src", "width", "height"], ta = {
1334
- class: "subtitle"
1335
- }, sa = "图标", aa = "装饰线条", na = /* @__PURE__ */ f({
1336
- __name: "LandingPageSectionHeader",
1337
- props: {
1338
- title: {},
1339
- subtitle: {},
1340
- icon: {
1341
- default: Rs
1342
- },
1343
- iconWidth: {
1344
- default: 40
1345
- },
1346
- iconHeight: {
1347
- default: 40
1348
- },
1349
- dashline: {
1350
- default: Ws
1351
- },
1352
- dashlineWidth: {
1353
- default: 72
1354
- },
1355
- dashlineHeight: {
1356
- default: 48
1357
- }
1358
- },
1359
- setup(a) {
1360
- const t = a;
1361
- return (c, i) => (s(), n("div", Zs, [e("div", Ks, [e("div", Js, [e("img", {
1362
- src: t.icon,
1363
- alt: sa,
1364
- width: t.iconWidth,
1365
- height: t.iconHeight,
1366
- loading: "lazy",
1367
- decoding: "async",
1368
- class: "icon"
1369
- }, null, 8, Qs), e("span", Ys, l(c.title), 1)]), e("div", Xs, [e("img", {
1370
- src: t.dashline,
1371
- alt: aa,
1372
- width: t.dashlineWidth,
1373
- height: t.dashlineHeight,
1374
- loading: "lazy",
1375
- decoding: "async",
1376
- class: "dashline"
1377
- }, null, 8, ea), e("span", ta, l(c.subtitle), 1)])])]));
1378
- }
1379
- }), Gn = /* @__PURE__ */ d(na, [["__scopeId", "data-v-83ea7b70"]]), ia = {
1380
- class: "sections-container"
1381
- }, oa = {
1382
- class: "container"
1383
- }, ca = {
1384
- class: "image-container"
1385
- }, la = ["src", "alt"], ra = {
1386
- class: "text-container"
1387
- }, da = {
1388
- class: "header"
1389
- }, ua = {
1390
- class: "features-list"
1391
- }, _a = {
1392
- class: "content"
1393
- }, pa = {
1394
- class: "feature-title"
1395
- }, fa = /* @__PURE__ */ f({
1396
- __name: "LandingPageSections",
1397
- props: {
1398
- title: {
1399
- default: "什么是ShipAny"
1400
- },
1401
- subTitle: {
1402
- default: "ShipAny是一个用于构建AI优先创业公司的无代码框架。在几分钟内构建美观、生产就绪的AI应用程序。"
1403
- },
1404
- imageUrl: {
1405
- default: "https://picsum.photos/600/400?random=6"
1406
- },
1407
- imageAlt: {
1408
- default: "ShipAny平台截图"
1409
- },
1410
- features: {
1411
- default: () => [{
1412
- title: "即用型模板",
1413
- description: "从数十个生产就绪的AI模板中选择,快速开始。",
1414
- color: "green",
1415
- iconPath: "M5 13l4 4L19 7"
1416
- }, {
1417
- title: "专业设计",
1418
- description: "由专业人士精心打造的UI组件,遵循最佳实践。",
1419
- color: "blue",
1420
- iconPath: "M13 10V3L4 14h7v7l9-11h-7z"
1421
- }, {
1422
- title: "内置部署",
1423
- description: "几分钟内将您的AI应用程序部署到生产环境。",
1424
- color: "purple",
1425
- iconPath: "M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"
1426
- }]
1427
- },
1428
- reverse: {
1429
- type: Boolean,
1430
- default: !1
1431
- }
1432
- },
1433
- setup(a) {
1434
- const t = a;
1435
- return (c, i) => (s(), n("section", ia, [e("div", oa, [e("div", {
1436
- class: I(["content-wrapper", {
1437
- reverse: t.reverse
1438
- }])
1439
- }, [e("div", ca, [e("img", {
1440
- src: t.imageUrl,
1441
- alt: t.imageAlt,
1442
- class: "image"
1443
- }, null, 8, la)]), e("div", ra, [e("div", da, [u(M, null, {
1444
- default: _(() => [g(l(t.title), 1)]),
1445
- _: 1
1446
- }), u(D, null, {
1447
- default: _(() => [g(l(t.subTitle), 1)]),
1448
- _: 1
1449
- })]), e("div", ua, [(s(!0), n(v, null, b(t.features, (o, r) => (s(), n("div", {
1450
- key: r,
1451
- class: "feature-item"
1452
- }, [e("div", {
1453
- class: I(["icon-container", [`icon-${o.color}`]])
1454
- }, i[0] || (i[0] = [e("div", {
1455
- class: "dot"
1456
- }, null, -1)]), 2), e("div", _a, [e("div", pa, l(o.title), 1), u(S, null, {
1457
- default: _(() => [g(l(o.description), 1)]),
1458
- _: 2
1459
- }, 1024)])]))), 128))])])], 2)])]));
1460
- }
1461
- }), En = /* @__PURE__ */ d(fa, [["__scopeId", "data-v-ac2b71bb"]]), ma = {
1462
- class: "Showcase"
1463
- }, ga = ["onClick"], ha = ["src", "alt"], va = {
1464
- class: "card-content"
1465
- }, $a = {
1466
- class: "card-title"
1467
- }, ya = /* @__PURE__ */ f({
1468
- __name: "LandingPageShowcase",
1469
- props: {
1470
- items: {},
1471
- showControls: {
1472
- type: Boolean,
1473
- default: !0
1474
- },
1475
- columns: {
1476
- default: 4
1477
- },
1478
- cardHeight: {
1479
- default: 160
1480
- },
1481
- objectFit: {
1482
- default: "cover"
1483
- }
1484
- },
1485
- emits: ["cardClick"],
1486
- setup(a, {
1487
- emit: t
1488
- }) {
1489
- const c = a, i = t;
1490
- function o(m) {
1491
- i("cardClick", m);
1492
- }
1493
- const r = H(() => ({
1494
- height: `${c.cardHeight}px`,
1495
- objectFit: c.objectFit
1496
- }));
1497
- return (m, $) => (s(), n("div", ma, [(s(!0), n(v, null, b(c.items, (p, y) => (s(), n("div", {
1498
- key: y,
1499
- class: "showcase-card",
1500
- onClick: (G) => o(p)
1501
- }, [e("img", {
1502
- src: p.image,
1503
- alt: p.alt,
1504
- style: x(r.value)
1505
- }, null, 12, ha), e("div", va, [e("div", $a, l(p.title), 1), u(S, null, {
1506
- default: _(() => [g(l(p.description), 1)]),
1507
- _: 2
1508
- }, 1024)])], 8, ga))), 128))]));
1509
- }
1510
- }), On = /* @__PURE__ */ d(ya, [["__scopeId", "data-v-381ed6a6"]]), ba = {
1511
- class: "Stats"
1512
- }, ka = {
1513
- key: 0,
1514
- class: "stats-label"
1515
- }, Ca = {
1516
- class: "stats-number"
1517
- }, La = {
1518
- class: "stats-label"
1519
- }, Pa = /* @__PURE__ */ f({
1520
- __name: "LandingPageStats",
1521
- props: {
1522
- title: {
1523
- default: "用户喜爱ShipAny"
1524
- },
1525
- subTitle: {
1526
- default: "看看我们的客户怎么说"
1527
- },
1528
- stats: {
1529
- default: () => [{
1530
- title: "",
1531
- number: "250+",
1532
- label: "已启动的创业公司"
1533
- }, {
1534
- title: "",
1535
- number: "30+",
1536
- label: "AI模板"
1537
- }, {
1538
- title: "",
1539
- number: "5",
1540
- label: "星级评分"
1541
- }]
1542
- }
1543
- },
1544
- setup(a) {
1545
- const t = a;
1546
- return (c, i) => (s(), n("div", ba, [(s(!0), n(v, null, b(t.stats, (o, r) => (s(), n("div", {
1547
- key: r,
1548
- class: "stats-item"
1549
- }, [o.title ? (s(), n("div", ka, l(o.title), 1)) : T("", !0), e("div", Ca, l(o.number), 1), e("div", La, l(o.label), 1)]))), 128))]));
1550
- }
1551
- }), Nn = /* @__PURE__ */ d(Pa, [["__scopeId", "data-v-7aa9af80"]]), wa = {
1552
- class: "stepNumber"
1553
- }, xa = {
1554
- class: "count"
1555
- }, Ia = {
1556
- class: "stepTitle"
1557
- }, Sa = /* @__PURE__ */ f({
1558
- __name: "LandingPageSteps",
1559
- props: {
1560
- columns: {
1561
- type: Number,
1562
- default: 3
1563
- },
1564
- steps: {
1565
- type: Array,
1566
- default: () => [{
1567
- title: "选择您的项目",
1568
- description: "从我们的AI模板库中选择或使用我们的拖放构建器从头开始。"
1569
- }, {
1570
- title: "构建您的项目",
1571
- description: "使用我们的直观编辑器自定义您的项目。添加您的品牌、内容并配置AI模型。"
1572
- }, {
1573
- title: "部署到生产环境",
1574
- description: "一键将您的AI应用程序部署到我们的全球基础设施并开始服务客户。"
1575
- }]
1576
- }
1577
- },
1578
- setup(a) {
1579
- const t = a;
1580
- return (c, i) => (s(), n("div", {
1581
- class: "Steps",
1582
- style: x({
1583
- gridTemplateColumns: `repeat(${t.columns}, 1fr)`
1584
- // flexDirection: props.flexDirection,
1585
- })
1586
- }, [(s(!0), n(v, null, b(t.steps, (o, r) => (s(), n("div", {
1587
- key: r,
1588
- class: "stepItem"
1589
- }, [e("div", wa, [e("span", xa, l(r + 1), 1)]), e("h3", Ia, l(o.title), 1), u(S, null, {
1590
- default: _(() => [g(l(o.description), 1)]),
1591
- _: 2
1592
- }, 1024)]))), 128))], 4));
1593
- }
1594
- }), Rn = /* @__PURE__ */ d(Sa, [["__scopeId", "data-v-1ecd9597"]]), Ta = {
1595
- class: "Testimonial"
1596
- }, Aa = {
1597
- class: "user-info"
1598
- }, qa = {
1599
- class: "user-avatar"
1600
- }, Ba = ["src", "alt"], za = {
1601
- class: "user-name"
1602
- }, Fa = {
1603
- class: "user-title"
1604
- }, Va = /* @__PURE__ */ f({
1605
- __name: "LandingPageTestimonial",
1606
- props: {
1607
- testimonials: {
1608
- default: () => []
1609
- }
1610
- },
1611
- setup(a) {
1612
- const t = a;
1613
- return (c, i) => (s(), n("div", Ta, [(s(!0), n(v, null, b(t.testimonials, (o, r) => (s(), C(j, {
1614
- key: r
1615
- }, {
1616
- default: _(() => [e("div", null, [u(S, null, {
1617
- default: _(() => [g(l(`"${o.content}"`), 1)]),
1618
- _: 2
1619
- }, 1024)]), e("div", Aa, [e("span", qa, [e("img", {
1620
- src: o.avatar,
1621
- alt: o.name
1622
- }, null, 8, Ba)]), e("div", null, [e("div", za, l(o.name), 1), e("div", Fa, l(o.title), 1)])])]),
1623
- _: 2
1624
- }, 1024))), 128))]));
1625
- }
1626
- }), Wn = /* @__PURE__ */ d(Va, [["__scopeId", "data-v-bc49d7bc"]]), Ha = ["href"], Da = /* @__PURE__ */ f({
1627
- __name: "LandingPageTips",
1628
- props: {
1629
- href: {
1630
- type: String,
1631
- default: "/zh"
1632
- },
1633
- text: {
1634
- type: String,
1635
- default: "✨ 免费吉卜力AI艺术!立即注册获得3次免费创作!☝️"
1636
- }
1637
- },
1638
- setup(a) {
1639
- const t = a;
1640
- return (c, i) => (s(), n("a", {
1641
- href: t.href,
1642
- class: "tips-link"
1643
- }, l(t.text), 9, Ha));
1644
- }
1645
- }), Zn = /* @__PURE__ */ d(Da, [["__scopeId", "data-v-f5784dd1"]]), Ma = {}, Ua = {
1646
- class: "sidebar"
1647
- };
1648
- function ja(a, t) {
1649
- return s(), n("div", Ua, t[0] || (t[0] = [O('<div data-v-251905ff><div class="sidebar-title" data-v-251905ff>On this page</div><a class="sidebar-link active" href="#page-title" data-v-251905ff>Introduction</a><a class="sidebar-link" href="#browse-by-feature" data-v-251905ff>Browse by feature</a><a class="sidebar-link" href="#implement-a-template" data-v-251905ff>Implement a template</a><a class="sidebar-link" href="#integrate-or-deploy-tiptap" data-v-251905ff>Integrate or deploy Tiptap</a><a class="sidebar-link" href="#manage-your-documents" data-v-251905ff>Manage your documents</a><a class="sidebar-link" href="#examples" data-v-251905ff>Examples</a><a class="sidebar-link" href="#guides" data-v-251905ff>Guides</a><a class="sidebar-link" href="#community" data-v-251905ff>Community</a></div>', 1)]));
1650
- }
1651
- const Kn = /* @__PURE__ */ d(Ma, [["render", ja], ["__scopeId", "data-v-251905ff"]]), Ga = {
1652
- class: "feature-card"
1653
- }, Ea = {
1654
- class: "feature-image"
1655
- }, Oa = ["src", "alt"], Na = {
1656
- class: "feature-title"
1657
- }, Ra = {
1658
- class: "feature-description"
1659
- }, Wa = {
1660
- class: "feature-platforms"
1661
- }, Za = /* @__PURE__ */ f({
1662
- __name: "LandingPageFeatureCard",
1663
- props: {
1664
- feature: {}
1665
- },
1666
- setup(a) {
1667
- return (t, c) => (s(), n("div", Ga, [e("div", Ea, [e("img", {
1668
- src: t.feature.image,
1669
- alt: t.feature.title,
1670
- loading: "lazy",
1671
- decoding: "async"
1672
- }, null, 8, Oa)]), e("h3", Na, l(t.feature.title), 1), e("p", Ra, l(t.feature.description), 1), e("div", Wa, [(s(!0), n(v, null, b(t.feature.platforms, (i) => (s(), C(P(w), {
1673
- key: i.name,
1674
- icon: i.icon,
1675
- class: "platform-icon"
1676
- }, null, 8, ["icon"]))), 128))])]));
1677
- }
1678
- }), Jn = /* @__PURE__ */ d(Za, [["__scopeId", "data-v-474acd19"]]), Ka = {
1679
- class: "feature-section-header"
1680
- }, Ja = {
1681
- class: "feature-section-title"
1682
- }, Qa = ["innerHTML"], Ya = /* @__PURE__ */ f({
1683
- __name: "LandingPageFeatureSectionHeader",
1684
- props: {
1685
- title: {},
1686
- description: {}
1687
- },
1688
- setup(a) {
1689
- return (t, c) => (s(), n("div", Ka, [e("h2", Ja, l(t.title), 1), e("p", {
1690
- class: "feature-section-description",
1691
- innerHTML: t.description
1692
- }, null, 8, Qa)]));
1693
- }
1694
- }), Qn = /* @__PURE__ */ d(Ya, [["__scopeId", "data-v-8fe145ad"]]), Xa = {}, en = {
1695
- class: "features-grid"
1696
- };
1697
- function tn(a, t) {
1698
- return s(), n("div", en, [h(a.$slots, "default", {}, void 0, !0)]);
1699
- }
1700
- const Yn = /* @__PURE__ */ d(Xa, [["render", tn], ["__scopeId", "data-v-392f636b"]]), sn = {
1701
- class: "testimonials-container"
1702
- }, an = {
1703
- class: "testimonial-header"
1704
- }, nn = ["onClick"], on = {
1705
- class: "user-avatar"
1706
- }, cn = ["src", "alt"], ln = {
1707
- class: "user-info"
1708
- }, rn = {
1709
- class: "user-name"
1710
- }, dn = {
1711
- class: "user-title"
1712
- }, un = {
1713
- class: "testimonial-content"
1714
- }, _n = /* @__PURE__ */ f({
1715
- __name: "LandingPageTestimonialCard",
1716
- props: {
1717
- testimonials: {}
1718
- },
1719
- setup(a) {
1720
- function t(c) {
1721
- c.link && window.open(c.link, "_blank");
1722
- }
1723
- return (c, i) => (s(), n("div", sn, [(s(!0), n(v, null, b(c.testimonials, (o) => (s(), n("div", {
1724
- key: o.name,
1725
- class: "testimonial-card"
1726
- }, [e("div", an, [e("div", {
1727
- class: I(["user-link", {
1728
- "no-link": !o.link
1729
- }]),
1730
- onClick: (r) => t(o)
1731
- }, [e("div", on, [e("img", {
1732
- src: o.avatar,
1733
- alt: o.name,
1734
- width: "260",
1735
- height: "260",
1736
- loading: "lazy",
1737
- decoding: "async",
1738
- class: "avatar-image"
1739
- }, null, 8, cn)]), e("div", ln, [e("span", rn, l(o.name), 1), e("span", dn, l(o.title), 1)])], 10, nn)]), e("p", un, l(o.content), 1)]))), 128))]));
1740
- }
1741
- }), Xn = /* @__PURE__ */ d(_n, [["__scopeId", "data-v-6e10d8a8"]]), pn = {
1742
- class: "tabs"
1743
- }, fn = {
1744
- class: "tabs-header"
1745
- }, mn = ["onClick"], gn = {
1746
- class: "tab-label"
1747
- }, hn = {
1748
- class: "tabs-content"
1749
- }, vn = /* @__PURE__ */ f({
1750
- __name: "LandingPageSectionTabs",
1751
- props: {
1752
- tabs: {},
1753
- defaultActiveTab: {
1754
- default: ""
1755
- },
1756
- modelValue: {
1757
- default: ""
1758
- }
1759
- },
1760
- emits: ["update:modelValue", "tabChange"],
1761
- setup(a, {
1762
- emit: t
1763
- }) {
1764
- var m;
1765
- const c = a, i = t, o = k(c.modelValue || c.defaultActiveTab || ((m = c.tabs[0]) == null ? void 0 : m.id) || "");
1766
- function r($) {
1767
- o.value = $, i("update:modelValue", $), i("tabChange", $);
1768
- }
1769
- return z(() => c.modelValue, ($) => {
1770
- $ && (o.value = $);
1771
- }), z(() => c.defaultActiveTab, ($) => {
1772
- $ && !c.modelValue && (o.value = $);
1773
- }), ($, p) => (s(), n("div", pn, [e("div", fn, [(s(!0), n(v, null, b($.tabs, (y) => (s(), n("div", {
1774
- key: y.id,
1775
- class: I(["tab-item", {
1776
- active: o.value === y.id
1777
- }]),
1778
- onClick: (G) => r(y.id)
1779
- }, [e("span", gn, l(y.label), 1)], 10, mn))), 128))]), e("div", hn, [(s(!0), n(v, null, b($.tabs, (y) => A((s(), n("div", {
1780
- key: y.id,
1781
- class: "tab-panel"
1782
- }, [h($.$slots, y.id, {
1783
- tab: y
1784
- }, () => [h($.$slots, "default", {
1785
- tab: y
1786
- }, void 0, !0)], !0)])), [[N, o.value === y.id]])), 128))])]));
1787
- }
1788
- }), ei = /* @__PURE__ */ d(vn, [["__scopeId", "data-v-22e880ae"]]);
1789
- export {
1790
- Gn as A,
1791
- Je as B,
1792
- j as C,
1793
- S as D,
1794
- En as E,
1795
- On as F,
1796
- Nn as G,
1797
- Rn as H,
1798
- Pe as I,
1799
- Fe as J,
1800
- Wn as K,
1801
- wn as L,
1802
- Zn as M,
1803
- M as N,
1804
- Kn as O,
1805
- Jn as P,
1806
- Qn as Q,
1807
- Yn as R,
1808
- D as S,
1809
- xs as T,
1810
- Xn as U,
1811
- ei as V,
1812
- xn as a,
1813
- ae as b,
1814
- oe as c,
1815
- Ze as d,
1816
- In as e,
1817
- Sn as f,
1818
- Tn as g,
1819
- An as h,
1820
- F as i,
1821
- qn as j,
1822
- Bn as k,
1823
- zn as l,
1824
- Fn as m,
1825
- Rt as n,
1826
- Yt as o,
1827
- Vn as p,
1828
- L as q,
1829
- B as r,
1830
- U as s,
1831
- Ne as t,
1832
- Hn as u,
1833
- ye as v,
1834
- Dn as w,
1835
- Mn as x,
1836
- Un as y,
1837
- jn as z
1838
- };