@huyooo/ui 0.5.27 → 0.5.30

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 (30) hide show
  1. package/dist/{AuthkitAuthModal-P9GI9wIQ.js → AuthkitAuthModal-BUicw-gi.js} +15 -15
  2. package/dist/{AuthkitAuthorize-Bv2MspFC.js → AuthkitAuthorize--PZTQ6P_.js} +1 -1
  3. package/dist/{Clipboard-CIWjWQOZ.js → Clipboard-07wvmu-K.js} +3 -2
  4. package/dist/{CustomTable-BGm0KdAy.js → CustomTable-B8i1SbFB.js} +3 -2
  5. package/dist/{FeedbackItem-DLJhHHDM.js → FeedbackItem-CdNcEvhG.js} +9 -10
  6. package/dist/{FeedbackModal-OsCK3NqC.js → FeedbackModal-BmQ-U6uw.js} +18 -17
  7. package/dist/LandingPageSectionTabs-DF0LV5IB.js +1233 -0
  8. package/dist/{MessageHandle-CdOMmp4n.js → MessageHandle-B7xIxdar.js} +1 -1
  9. package/dist/{PaySubscriptions-DVhnjdi3.js → PaySubscriptions-DW5TFQLM.js} +5 -6
  10. package/dist/{ReferrerReferees-Bfu2z-0W.js → ReferrerReferees-B74Ti5ip.js} +3 -3
  11. package/dist/{UserAccountMenu-AhID9xxq.js → UserAccountMenu-CBcYE5WO.js} +12 -10
  12. package/dist/{WidthContainer-BACUO8zY.js → WidthContainer-CLh37Was.js} +4 -4
  13. package/dist/authkit.js +3 -3
  14. package/dist/common.js +2 -2
  15. package/dist/components/LandingPage/LandingPageShowcase.vue.d.ts +20 -17
  16. package/dist/composables.js +3 -3
  17. package/dist/feedback.js +3 -3
  18. package/dist/index.js +16 -16
  19. package/dist/landingPage.js +1 -1
  20. package/dist/message.js +1 -1
  21. package/dist/pay.js +1 -1
  22. package/dist/referrer.js +1 -1
  23. package/dist/style.css +1 -1
  24. package/dist/useAuthkitCreateAndUpdate-C7pOKxNA.js +25 -0
  25. package/dist/{useDownloads-BpQUd6AV.js → useDownloads-B7Leb86s.js} +5 -4
  26. package/dist/{useTableHandle-DujKY4Bl.js → useTableHandle-DGz8Wwsj.js} +15 -14
  27. package/dist/user.js +1 -1
  28. package/package.json +1 -1
  29. package/dist/LandingPageSectionTabs-DTVCmfyQ.js +0 -58318
  30. package/dist/useAuthkitCreateAndUpdate-BpTxxKc0.js +0 -24
@@ -0,0 +1,1233 @@
1
+ import { createElementBlock as i, openBlock as s, renderSlot as v, defineComponent as g, createVNode as d, withCtx as l, createElementVNode as e, normalizeStyle as P, Fragment as h, createTextVNode as f, ref as x, renderList as b, toDisplayString as c, normalizeClass as k, createBlock as L, computed as w, unref as A, createCommentVNode as T, createStaticVNode as E, watch as F, withDirectives as G, vShow as O } from "vue";
2
+ import { _ } from "./_plugin-vue_export-helper-CHgC5LLL.js";
3
+ import { m as U, n as W, k as R, D as C, f as Z, e as J, h as B, g as $, L as K, i as Q } from "./LandingPageSectionHeader-s8hjsGuu.js";
4
+ import { C as X, a as Y } from "./CollapseItem-Cw1vcdLu.js";
5
+ import { Icon as q } from "@iconify/vue";
6
+ import { useWindowSize as D } from "@vueuse/core";
7
+ import { c as ee } from "./index-Bb-d5pBq.js";
8
+ /* empty css */
9
+ /* empty css */
10
+ import { Tag as te } from "@arco-design/web-vue";
11
+ const se = {}, ae = {
12
+ class: "SubTitle"
13
+ };
14
+ function ne(n, t) {
15
+ return s(), i("div", ae, [v(n.$slots, "default", {}, void 0, !0)]);
16
+ }
17
+ const H = /* @__PURE__ */ _(se, [["render", ne], ["__scopeId", "data-v-3decf2d4"]]), ie = {}, oe = {
18
+ class: "Title"
19
+ };
20
+ function re(n, t) {
21
+ return s(), i("h2", oe, [v(n.$slots, "default", {}, void 0, !0)]);
22
+ }
23
+ const M = /* @__PURE__ */ _(ie, [["render", re], ["__scopeId", "data-v-58078aa8"]]), ce = {
24
+ class: "BlockHeader"
25
+ }, le = /* @__PURE__ */ g({
26
+ __name: "LandingPageBlockHeader",
27
+ setup(n) {
28
+ return (t, r) => (s(), i("div", ce, [d(M, {
29
+ class: "BlockHeaderTitle"
30
+ }, {
31
+ default: l(() => [v(t.$slots, "title", {}, void 0, !0)]),
32
+ _: 3
33
+ }), d(H, {
34
+ class: "BlockHeaderSubTitle"
35
+ }, {
36
+ default: l(() => [v(t.$slots, "subTitle", {}, void 0, !0)]),
37
+ _: 3
38
+ })]));
39
+ }
40
+ }), de = /* @__PURE__ */ _(le, [["__scopeId", "data-v-8d51bb3a"]]), ue = {
41
+ class: "BlockLayout"
42
+ }, _e = /* @__PURE__ */ g({
43
+ __name: "LandingPageBlockLayout",
44
+ props: {
45
+ columns: {
46
+ type: Number,
47
+ default: 1
48
+ },
49
+ flexDirection: {
50
+ type: String,
51
+ default: "column"
52
+ }
53
+ },
54
+ setup(n) {
55
+ const t = n;
56
+ return (r, o) => (s(), i("section", ue, [v(r.$slots, "BlockHeader", {}, void 0, !0), e("div", {
57
+ class: "BlockBody",
58
+ style: P({
59
+ gridTemplateColumns: `repeat(${t.columns}, 1fr)`,
60
+ flexDirection: t.flexDirection
61
+ })
62
+ }, [v(r.$slots, "BlockBody", {}, void 0, !0)], 4)]));
63
+ }
64
+ }), pe = /* @__PURE__ */ _(_e, [["__scopeId", "data-v-84ed1aaa"]]), ge = /* @__PURE__ */ g({
65
+ __name: "LandingPageAbout",
66
+ setup(n) {
67
+ const t = [{
68
+ data: {
69
+ name: "Janette Lynch",
70
+ title: "Senior Director",
71
+ avatar: {
72
+ src: "https://images.unsplash.com/photo-1580489944761-15a19d654956?&fit=crop&w=280",
73
+ alt: "Janette Lynch"
74
+ }
75
+ }
76
+ }, {
77
+ data: {
78
+ name: "Marcell Ziemann",
79
+ title: "Principal Strategist",
80
+ avatar: {
81
+ src: "https://images.unsplash.com/photo-1633332755192-727a05c4013d?&fit=crop&w=280",
82
+ alt: "Marcell Ziemann"
83
+ }
84
+ }
85
+ }, {
86
+ data: {
87
+ name: "Robert Palmer",
88
+ title: "Marketing Engineer",
89
+ avatar: {
90
+ src: "https://images.unsplash.com/photo-1535713875002-d1d0cf377fde?&fit=crop&w=280",
91
+ alt: "Robert Palmer"
92
+ }
93
+ }
94
+ }, {
95
+ data: {
96
+ name: "Daniel Collins",
97
+ title: "Chief Sales Officer",
98
+ avatar: {
99
+ src: "https://astroship-pro.web3templates.com/_astro/photo-1487309078313-fad80c3ec1e5_6PMfa.avif",
100
+ alt: "Robert Palmer"
101
+ }
102
+ }
103
+ }];
104
+ return (r, o) => (s(), i(h, null, [d(pe, null, {
105
+ BlockHeader: l(() => [d(de, null, {
106
+ title: l(() => [...o[0] || (o[0] = [f("核心团队", -1)])]),
107
+ subTitle: l(() => [...o[1] || (o[1] = [f("我们是一个充满激情的小团队。", -1)])]),
108
+ _: 1
109
+ })]),
110
+ BlockBody: l(() => [d(U, {
111
+ title: "Empowering the world with Astro.",
112
+ 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."
113
+ }), d(W, {
114
+ "published-team-members": t
115
+ })]),
116
+ _: 1
117
+ }), d(R, {
118
+ image: "https://astroship-pro.web3templates.com/_astro/employee.DPridi10_Z23eRat.avif",
119
+ "image-alt": "Happy Team",
120
+ title: "Mission",
121
+ highlight: "Our ",
122
+ description: "We're a multi-cultural team from around the world! ...",
123
+ features: ["Intelligent Task Management", "Real-time Collaboration", "Data Security & Privacy"]
124
+ })], 64));
125
+ }
126
+ }), Qs = /* @__PURE__ */ _(ge, [["__scopeId", "data-v-a40e05a5"]]), fe = {
127
+ class: "nav"
128
+ }, me = {
129
+ class: "section"
130
+ }, he = ["href"], ve = {
131
+ class: "section"
132
+ }, be = ["href"], ye = /* @__PURE__ */ g({
133
+ __name: "LandingPageAside",
134
+ setup(n) {
135
+ const t = x([{
136
+ text: "Editor",
137
+ href: "/docs/editor/getting-started/overview"
138
+ }, {
139
+ text: "Collaboration",
140
+ href: "/docs/collaboration/getting-started/overview"
141
+ }, {
142
+ text: "Content AI",
143
+ href: "/docs/content-ai/getting-started/overview"
144
+ }, {
145
+ text: "Comments",
146
+ href: "/docs/comments/getting-started/overview"
147
+ }, {
148
+ text: "Documents",
149
+ href: "/docs/collaboration/documents"
150
+ }]), r = x([{
151
+ text: "Guides",
152
+ href: "/docs/guides"
153
+ }, {
154
+ text: "Examples",
155
+ href: "/docs/examples"
156
+ }, {
157
+ text: "Contributing",
158
+ href: "/docs/resources/contributing"
159
+ }, {
160
+ text: "Editor changelog",
161
+ href: "/docs/resources/changelog"
162
+ }, {
163
+ text: "Pro license",
164
+ href: "/docs/resources/pro-license"
165
+ }]);
166
+ return (o, a) => (s(), i("nav", fe, [a[2] || (a[2] = e("div", {
167
+ class: "section"
168
+ }, [e("div", {
169
+ class: "section-title"
170
+ }, "Getting started"), e("div", null, [e("a", {
171
+ class: "link active",
172
+ href: "/docs"
173
+ }, "Overview")])], -1)), e("div", me, [a[0] || (a[0] = e("div", {
174
+ class: "section-title"
175
+ }, "Browse by feature", -1)), e("div", null, [(s(!0), i(h, null, b(t.value, (u) => (s(), i("a", {
176
+ key: u.text,
177
+ class: "link",
178
+ href: u.href
179
+ }, c(u.text), 9, he))), 128))])]), e("div", ve, [a[1] || (a[1] = e("div", {
180
+ class: "section-title"
181
+ }, "Resources", -1)), e("div", null, [(s(!0), i(h, null, b(r.value, (u) => (s(), i("a", {
182
+ key: u.text,
183
+ class: "link",
184
+ href: u.href
185
+ }, c(u.text), 9, be))), 128))])])]));
186
+ }
187
+ }), Xs = /* @__PURE__ */ _(ye, [["__scopeId", "data-v-b516bb75"]]), $e = /* @__PURE__ */ g({
188
+ __name: "LandingPageButton",
189
+ props: {
190
+ type: {}
191
+ },
192
+ setup(n) {
193
+ return (t, r) => (s(), i("div", {
194
+ class: k(["heroButton", [n.type === "primary" ? "heroButtonPrimary" : "heroButtonSecondary"]])
195
+ }, [v(t.$slots, "default", {}, void 0, !0)], 2));
196
+ }
197
+ }), ke = /* @__PURE__ */ _($e, [["__scopeId", "data-v-d26fdf8b"]]), Pe = {}, Le = {
198
+ class: "Card"
199
+ };
200
+ function xe(n, t) {
201
+ return s(), i("div", Le, [v(n.$slots, "default", {}, void 0, !0)]);
202
+ }
203
+ const z = /* @__PURE__ */ _(Pe, [["render", xe], ["__scopeId", "data-v-cdb3f77d"]]), Ie = "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", we = {
204
+ class: "cta-container"
205
+ }, Ce = ["src"], Se = {
206
+ class: "cta-content"
207
+ }, Te = {
208
+ class: "cta-title"
209
+ }, Ae = {
210
+ class: "cta-description"
211
+ }, Be = {
212
+ class: "cta-actions"
213
+ }, qe = /* @__PURE__ */ g({
214
+ __name: "LandingPageCta",
215
+ props: {
216
+ title: {
217
+ default: "迫不及待想使用翻译?"
218
+ },
219
+ description: {
220
+ default: "立即开始您的翻译之旅"
221
+ },
222
+ backgroundUrl: {
223
+ default: Ie
224
+ },
225
+ backgroundSize: {
226
+ default: "120%"
227
+ }
228
+ },
229
+ setup(n) {
230
+ const t = n;
231
+ return (r, o) => (s(), i("div", we, [e("img", {
232
+ src: t.backgroundUrl,
233
+ class: "cta-background",
234
+ alt: "background",
235
+ style: P({
236
+ width: t.backgroundSize,
237
+ height: t.backgroundSize
238
+ })
239
+ }, null, 12, Ce), e("div", Se, [e("h1", Te, c(t.title), 1), e("div", Ae, c(t.description), 1), e("div", Be, [v(r.$slots, "actions", {}, void 0, !0)])])]));
240
+ }
241
+ }), Ys = /* @__PURE__ */ _(qe, [["__scopeId", "data-v-4a709ec3"]]), Fe = /* @__PURE__ */ g({
242
+ __name: "LandingPageFAQ",
243
+ props: {
244
+ activeKeys: {
245
+ default: () => []
246
+ },
247
+ faqItems: {
248
+ default: () => [{
249
+ question: "你们有免费试用吗?",
250
+ answer: "我们提供1个月的免费试用"
251
+ }, {
252
+ question: "我可以申请退款吗?",
253
+ answer: "不支持退款,但您可以随时取消订阅。取消订阅后将于下一个结算日的次日生效,在此之前您可以使用服务。为了避免被收取下一计费期的费用,请在下一个计费日期前至少 24 小时取消。"
254
+ }, {
255
+ question: "付费会员的配额什么时候会重置?会在月初吗?",
256
+ answer: "配额重置发生在您订阅后一个月,并非基于日历月。例如,如果您在4月15日订阅,您的配额将在5月15日重置。"
257
+ }, {
258
+ question: "从月付费订阅升级至年付费订阅,费用和有效期是如何计算的?",
259
+ answer: "从月度付费升级至年度付费时,会基于您剩余的月度付费价值计算差额。服务期从升级日起至次年同日。"
260
+ }, {
261
+ question: "你们提供技术支持吗?",
262
+ answer: "是的,在付费期间我们提供全天候的技术支持,可以通过电子邮箱和微信联系我们。"
263
+ }, {
264
+ question: "使用期间有什么限制吗?",
265
+ answer: "在使用期间如果发现开发者违反法律法规或在恶意应用程序中使用等任何不当使用行为,包括但不限于共享或出售订阅,都是被禁止的,可能会导致您的账户被终止且不予退款。我们有权终止服务,详情请参阅《付费服务协议》"
266
+ }]
267
+ }
268
+ },
269
+ setup(n) {
270
+ const t = n;
271
+ return (r, o) => (s(), L(X, {
272
+ "active-keys": t.activeKeys
273
+ }, {
274
+ default: l(() => [(s(!0), i(h, null, b(t.faqItems, (a, u) => (s(), L(Y, {
275
+ key: u,
276
+ index: u
277
+ }, {
278
+ header: l(() => [f(c(a.question), 1)]),
279
+ default: l(() => [d(C, null, {
280
+ default: l(() => [f(c(a.answer), 1)]),
281
+ _: 2
282
+ }, 1024)]),
283
+ _: 2
284
+ }, 1032, ["index"]))), 128))]),
285
+ _: 1
286
+ }, 8, ["active-keys"]));
287
+ }
288
+ }), ea = /* @__PURE__ */ _(Fe, [["__scopeId", "data-v-581e8f75"]]), Ve = {
289
+ class: "feature-title"
290
+ }, De = /* @__PURE__ */ g({
291
+ __name: "LandingPageFeatures",
292
+ props: {
293
+ features: {
294
+ default: () => [{
295
+ title: "什么是ShipAny?",
296
+ description: "ShipAny是一个无代码平台,帮助您在几小时内而不是几天内构建和发布AI产品。",
297
+ icon: ""
298
+ }, {
299
+ title: "认证与支付",
300
+ description: "内置认证和Stripe支付处理,开箱即用。",
301
+ icon: ""
302
+ }, {
303
+ title: "数据基础设施",
304
+ description: "为您的AI模型和用户数据提供安全且可扩展的数据库基础设施。",
305
+ icon: ""
306
+ }, {
307
+ title: "实时部署",
308
+ description: "持续部署工作流,确保您的AI创业公司始终保持最新状态。",
309
+ icon: ""
310
+ }, {
311
+ title: "业务分析",
312
+ description: "跟踪用户行为和业务指标,做出明智决策。",
313
+ icon: ""
314
+ }, {
315
+ title: "AI模型集成",
316
+ description: "轻松集成来自OpenAI、Anthropic等的最新AI模型。",
317
+ icon: ""
318
+ }]
319
+ },
320
+ iconColor: {
321
+ default: "rgb(184, 154, 120)"
322
+ },
323
+ iconBorderColor: {
324
+ default: "rgb(184, 154, 120)"
325
+ }
326
+ },
327
+ setup(n) {
328
+ const t = n, {
329
+ width: r
330
+ } = D(), o = w(() => r.value <= 768 ? 1 : r.value <= 1024 ? 2 : 3), a = w(() => ({
331
+ gridTemplateColumns: `repeat(${o.value}, 1fr)`
332
+ }));
333
+ return (u, p) => (s(), i("div", {
334
+ class: "Features",
335
+ style: P(a.value)
336
+ }, [(s(!0), i(h, null, b(t.features, (m) => (s(), L(z, {
337
+ key: m.title
338
+ }, {
339
+ default: l(() => [e("div", {
340
+ class: "icon-container",
341
+ style: P({
342
+ color: t.iconColor,
343
+ border: `1px solid ${t.iconBorderColor}`
344
+ })
345
+ }, [d(A(q), {
346
+ class: "icon",
347
+ icon: m.icon
348
+ }, null, 8, ["icon"])], 4), e("h3", Ve, c(m.title), 1), d(C, null, {
349
+ default: l(() => [f(c(m.description), 1)]),
350
+ _: 2
351
+ }, 1024)]),
352
+ _: 2
353
+ }, 1024))), 128))], 4));
354
+ }
355
+ }), ta = /* @__PURE__ */ _(De, [["__scopeId", "data-v-6d3228a1"]]), He = {
356
+ class: "tt-feature-list"
357
+ }, Me = {
358
+ class: "tt-feature-content"
359
+ }, ze = {
360
+ class: "heading-small"
361
+ }, je = {
362
+ class: "text-small"
363
+ }, Ne = /* @__PURE__ */ g({
364
+ __name: "LandingPageFeatures2",
365
+ props: {
366
+ list: {
367
+ type: Array,
368
+ required: !0
369
+ }
370
+ },
371
+ setup(n) {
372
+ const t = n;
373
+ return (r, o) => (s(), i("div", He, [(s(!0), i(h, null, b(t.list, (a, u) => (s(), i("div", {
374
+ key: u,
375
+ class: "tt-feature-item centered"
376
+ }, [o[1] || (o[1] = e("div", {
377
+ class: "tt-feature-icon"
378
+ }, [e("img", {
379
+ src: "https://cdn.prod.website-files.com/645a9acecda2e0594fac6126/66cda872417824f6aabdc2ad_check-highlight-badge.svg",
380
+ loading: "lazy",
381
+ class: "feature-media"
382
+ })], -1)), e("div", Me, [e("h3", ze, c(a.title), 1), e("p", je, [f(c(a.descriptions) + " ", 1), o[0] || (o[0] = e("br", null, null, -1))])])]))), 128))]));
383
+ }
384
+ }), sa = /* @__PURE__ */ _(Ne, [["__scopeId", "data-v-abd3c70a"]]), Ee = {
385
+ class: "Footer"
386
+ }, V = "support@huyooo.com", Ge = /* @__PURE__ */ g({
387
+ __name: "LandingPageFooter",
388
+ setup(n) {
389
+ const t = x("京ICP备2024077422号 Copyright © 2024-2024 北京忽柚科技有限公司"), r = x("https://beian.miit.gov.cn/#/Integrated/index");
390
+ function o() {
391
+ const I = ee(V, "", "");
392
+ window.location.href = I;
393
+ }
394
+ const a = x([{
395
+ type: "text",
396
+ icon: "ic:baseline-email",
397
+ content: V,
398
+ select: o
399
+ }, {
400
+ type: "image",
401
+ icon: "ic:baseline-wechat",
402
+ content: "https://beian.miit.gov.cn/#/Integrated/index",
403
+ select() {
404
+ }
405
+ }]);
406
+ return (u, p) => (s(), i("div", Ee, [d(Z, null, {
407
+ LandingPageBrandInfo: l(() => [d(K, {
408
+ icon: "https://ghibliaigenerator.app/logo.png",
409
+ name: "ONES",
410
+ description: "几小时内构建和发布AI产品,无需数日。"
411
+ })]),
412
+ LandingPageLinkGroup: l(() => [d(B, {
413
+ title: "产品"
414
+ }, {
415
+ item: l(() => [d($, null, {
416
+ default: l(() => [...p[0] || (p[0] = [f("功能", -1)])]),
417
+ _: 1
418
+ }), d($, null, {
419
+ default: l(() => [...p[1] || (p[1] = [f("展示", -1)])]),
420
+ _: 1
421
+ }), d($, null, {
422
+ default: l(() => [...p[2] || (p[2] = [f("价格", -1)])]),
423
+ _: 1
424
+ })]),
425
+ _: 1
426
+ }), d(B, {
427
+ title: "资源"
428
+ }, {
429
+ item: l(() => [d($, null, {
430
+ default: l(() => [...p[3] || (p[3] = [f("安全性与合规性", -1)])]),
431
+ _: 1
432
+ })]),
433
+ _: 1
434
+ }), d(B, {
435
+ title: "公司"
436
+ }, {
437
+ item: l(() => [d($, null, {
438
+ default: l(() => [...p[4] || (p[4] = [f("博客", -1)])]),
439
+ _: 1
440
+ }), d($, null, {
441
+ default: l(() => [...p[5] || (p[5] = [f("公司简介", -1)])]),
442
+ _: 1
443
+ }), d($, null, {
444
+ default: l(() => [...p[6] || (p[6] = [f("个人信息收集清单", -1)])]),
445
+ _: 1
446
+ }), d($, null, {
447
+ default: l(() => [...p[7] || (p[7] = [f("第三方信息共享清单", -1)])]),
448
+ _: 1
449
+ }), d($, null, {
450
+ default: l(() => [...p[8] || (p[8] = [f("用户服务协议", -1)])]),
451
+ _: 1
452
+ }), d($, null, {
453
+ default: l(() => [...p[9] || (p[9] = [f("隐私协议", -1)])]),
454
+ _: 1
455
+ })]),
456
+ _: 1
457
+ })]),
458
+ LandingPageFooterContact: l(() => [d(J, {
459
+ "beian-text": t.value,
460
+ "beian-url": r.value,
461
+ links: a.value
462
+ }, null, 8, ["beian-text", "beian-url", "links"])]),
463
+ _: 1
464
+ })]));
465
+ }
466
+ }), aa = /* @__PURE__ */ _(Ge, [["__scopeId", "data-v-619d1298"]]), Oe = {
467
+ class: "hero"
468
+ }, Ue = {
469
+ class: "heroContent"
470
+ }, We = {
471
+ class: "heroHeading"
472
+ }, Re = {
473
+ class: "heroTitle"
474
+ }, Ze = {
475
+ class: "heroDescription"
476
+ }, Je = {
477
+ class: "heroActions"
478
+ }, Ke = {
479
+ key: 0,
480
+ class: "heroImage"
481
+ }, Qe = ["src", "alt"], Xe = {
482
+ key: 1,
483
+ class: "heroImage"
484
+ }, Ye = /* @__PURE__ */ g({
485
+ __name: "LandingPageHero",
486
+ props: {
487
+ title: {
488
+ type: String,
489
+ default: () => ""
490
+ },
491
+ description: {
492
+ type: String,
493
+ default: () => ""
494
+ },
495
+ heroSource: {
496
+ type: String,
497
+ default: () => ""
498
+ },
499
+ imageAlt: {
500
+ type: String,
501
+ default: () => "Hero Image"
502
+ }
503
+ },
504
+ setup(n) {
505
+ const t = n;
506
+ return (r, o) => (s(), i("main", Oe, [e("div", Ue, [e("div", We, [e("h1", Re, [v(r.$slots, "title", {}, () => [f(c(t.title), 1)], !0)])]), e("div", Ze, [e("div", null, c(t.description), 1)]), e("div", Je, [v(r.$slots, "actions", {}, void 0, !0)])]), t.heroSource ? (s(), i("div", Ke, [e("img", {
507
+ src: t.heroSource,
508
+ alt: t.imageAlt || "Hero Image",
509
+ loading: "eager",
510
+ class: "hero-image"
511
+ }, null, 8, Qe)])) : (s(), i("div", Xe, [v(r.$slots, "heroSource", {}, void 0, !0)]))]));
512
+ }
513
+ }), na = /* @__PURE__ */ _(Ye, [["__scopeId", "data-v-3c9b32bf"]]), et = {
514
+ class: "logos-list"
515
+ }, tt = /* @__PURE__ */ g({
516
+ __name: "LandingPageLogos",
517
+ props: {
518
+ title: {
519
+ default: "Works with your technologies"
520
+ },
521
+ subTitle: {
522
+ default: ""
523
+ },
524
+ logos: {
525
+ default: () => [{
526
+ name: "simple-icons:react"
527
+ }, {
528
+ name: "simple-icons:svelte"
529
+ }, {
530
+ name: "simple-icons:astro"
531
+ }, {
532
+ name: "simple-icons:css3"
533
+ }, {
534
+ name: "simple-icons:alpinedotjs"
535
+ }, {
536
+ name: "simple-icons:vercel"
537
+ }]
538
+ }
539
+ },
540
+ setup(n) {
541
+ const t = n;
542
+ return (r, o) => (s(), i("div", et, [(s(!0), i(h, null, b(t.logos, (a, u) => (s(), L(A(q), {
543
+ key: u,
544
+ icon: a.name,
545
+ class: "logo-icon"
546
+ }, null, 8, ["icon"]))), 128))]));
547
+ }
548
+ }), ia = /* @__PURE__ */ _(tt, [["__scopeId", "data-v-1a08e627"]]), st = /* @__PURE__ */ g({
549
+ __name: "LandingPagePageContent",
550
+ props: {
551
+ maxWidth: {
552
+ default: "1380px"
553
+ },
554
+ center: {
555
+ type: Boolean,
556
+ default: !0
557
+ },
558
+ padding: {
559
+ default: "0px 0px 40px 0px "
560
+ },
561
+ gap: {
562
+ default: "90px"
563
+ },
564
+ flexDirection: {
565
+ default: "column"
566
+ }
567
+ },
568
+ setup(n) {
569
+ const t = n, r = w(() => ({
570
+ maxWidth: t.maxWidth,
571
+ margin: t.center ? "0 auto" : void 0,
572
+ width: "100%",
573
+ padding: t.padding,
574
+ display: "flex",
575
+ flexDirection: t.flexDirection ?? "column",
576
+ gap: t.gap
577
+ }));
578
+ return (o, a) => (s(), i("div", {
579
+ class: "PageContent",
580
+ style: P(r.value)
581
+ }, [v(o.$slots, "default", {}, void 0, !0)], 4));
582
+ }
583
+ }), oa = /* @__PURE__ */ _(st, [["__scopeId", "data-v-00ec8180"]]), at = {
584
+ class: "Tabs"
585
+ }, nt = {
586
+ class: "tabs-root"
587
+ }, it = {
588
+ role: "radiogroup",
589
+ "aria-required": "false",
590
+ dir: "ltr",
591
+ class: "tabs-group",
592
+ tabindex: "0"
593
+ }, ot = ["id", "aria-checked", "data-state", "value", "tabindex", "onClick"], rt = {
594
+ key: 0,
595
+ "data-state": "checked",
596
+ class: "tabs-radio-icon"
597
+ }, ct = ["for"], lt = {
598
+ key: 0,
599
+ class: "tabs-badge"
600
+ }, dt = /* @__PURE__ */ g({
601
+ __name: "LandingPageTabs",
602
+ props: {
603
+ tabs: {
604
+ type: Array,
605
+ required: !0
606
+ },
607
+ modelValue: {
608
+ type: String,
609
+ required: !0
610
+ }
611
+ },
612
+ emits: ["update:modelValue"],
613
+ setup(n) {
614
+ const t = n;
615
+ return (r, o) => (s(), i("div", at, [e("div", nt, [e("div", it, [(s(!0), i(h, null, b(t.tabs, (a) => (s(), i("div", {
616
+ key: a.value,
617
+ class: k(["tabs-item", {
618
+ "tabs-item-active": a.value === n.modelValue
619
+ }])
620
+ }, [e("button", {
621
+ id: a.value,
622
+ type: "button",
623
+ role: "radio",
624
+ "aria-checked": a.value === n.modelValue,
625
+ "data-state": a.value === n.modelValue ? "checked" : "unchecked",
626
+ value: a.value,
627
+ class: "tabs-radio",
628
+ tabindex: a.value === n.modelValue ? 0 : -1,
629
+ onClick: (u) => r.$emit("update:modelValue", a.value)
630
+ }, [a.value === n.modelValue ? (s(), i("span", rt)) : T("", !0)], 8, ot), e("label", {
631
+ class: "tabs-label",
632
+ for: a.value
633
+ }, [e("span", null, c(a.label), 1), a.badge ? (s(), i("div", lt, c(a.badge), 1)) : T("", !0)], 8, ct)], 2))), 128))])])]));
634
+ }
635
+ }), ut = /* @__PURE__ */ _(dt, [["__scopeId", "data-v-9eb67a93"]]), _t = {
636
+ class: "PriceGroup"
637
+ }, pt = /* @__PURE__ */ g({
638
+ __name: "LandingPagePriceGroup",
639
+ setup(n) {
640
+ const t = x("subscribe-monthly");
641
+ return (r, o) => (s(), i("div", _t, [d(ut, {
642
+ modelValue: t.value,
643
+ "onUpdate:modelValue": o[0] || (o[0] = (a) => t.value = a),
644
+ tabs: [{
645
+ value: "subscribe-monthly",
646
+ label: "按月订阅"
647
+ }, {
648
+ value: "subscribe-yearly",
649
+ label: "按年订阅",
650
+ badge: "节省17%"
651
+ }, {
652
+ value: "pay-as-you-go",
653
+ label: "按需付费"
654
+ }]
655
+ }, null, 8, ["modelValue"]), v(r.$slots, "default", {}, void 0, !0)]));
656
+ }
657
+ }), ra = /* @__PURE__ */ _(pt, [["__scopeId", "data-v-43a35f55"]]), gt = {
658
+ class: "PricingCard"
659
+ }, ft = {
660
+ class: "title"
661
+ }, mt = {
662
+ class: "titleText"
663
+ }, ht = {
664
+ class: "description"
665
+ }, vt = {
666
+ class: "priceAndDiscount"
667
+ }, bt = {
668
+ class: "price"
669
+ }, yt = {
670
+ class: "discount"
671
+ }, $t = {
672
+ style: {
673
+ position: "relative",
674
+ top: "3px"
675
+ }
676
+ }, kt = {
677
+ key: 1,
678
+ class: "priceNotDiscount"
679
+ }, Pt = {
680
+ class: "cycle"
681
+ }, Lt = {
682
+ class: "features"
683
+ }, xt = /* @__PURE__ */ g({
684
+ __name: "LandingPagePricingCard",
685
+ props: {
686
+ loading: {
687
+ type: Boolean,
688
+ required: !1,
689
+ default: () => !1
690
+ },
691
+ title: {
692
+ type: String,
693
+ required: !0
694
+ },
695
+ description: {
696
+ type: String,
697
+ required: !0
698
+ },
699
+ price: {
700
+ type: Number,
701
+ required: !0
702
+ },
703
+ discount: {
704
+ type: Number,
705
+ required: !1,
706
+ default: () => 99
707
+ },
708
+ unit: {
709
+ type: String,
710
+ required: !0
711
+ },
712
+ cycle: {
713
+ type: String,
714
+ required: !0
715
+ },
716
+ highlight: {
717
+ type: Boolean,
718
+ required: !0
719
+ },
720
+ badge: {
721
+ type: Object,
722
+ required: !0
723
+ },
724
+ button: {
725
+ type: Object,
726
+ required: !0
727
+ },
728
+ orientation: {
729
+ type: String,
730
+ required: !0
731
+ },
732
+ align: {
733
+ type: String,
734
+ required: !0
735
+ },
736
+ features: {
737
+ type: Array,
738
+ required: !0
739
+ }
740
+ },
741
+ emits: ["toPay"],
742
+ setup(n, {
743
+ emit: t
744
+ }) {
745
+ const r = t, o = n;
746
+ function a() {
747
+ r("toPay");
748
+ }
749
+ return (u, p) => (s(), i("div", gt, [e("div", null, [e("div", ft, [e("span", mt, c(o.title), 1), o.badge.label ? (s(), L(A(te), {
750
+ key: 0,
751
+ color: "arcoblue"
752
+ }, {
753
+ default: l(() => [f(c(o.badge.label), 1)]),
754
+ _: 1
755
+ })) : T("", !0)]), e("div", ht, c(o.description), 1)]), e("div", vt, [o.discount !== null ? (s(), i(h, {
756
+ key: 0
757
+ }, [e("span", bt, [e("span", null, c(o.price), 1), e("span", null, c(o.unit), 1)]), e("span", yt, [e("span", $t, c(o.discount), 1), e("span", null, c(o.unit), 1)])], 64)) : (s(), i("span", kt, [e("span", null, c(o.price), 1), e("span", null, c(o.unit), 1)])), e("span", Pt, c(o.cycle), 1)]), e("div", Lt, [(s(!0), i(h, null, b(o.features, (m, I) => (s(), L(Q, {
758
+ key: I,
759
+ description: m.title
760
+ }, null, 8, ["description"]))), 128))]), d(ke, {
761
+ class: "handle",
762
+ type: "primary",
763
+ loading: o.loading,
764
+ disabled: !(o.discount || o.price),
765
+ onClick: a
766
+ }, {
767
+ default: l(() => [f(c(o.button.label), 1)]),
768
+ _: 1
769
+ }, 8, ["loading", "disabled"])]));
770
+ }
771
+ }), ca = /* @__PURE__ */ _(xt, [["__scopeId", "data-v-0b730439"]]), It = {}, wt = {
772
+ class: "PricingGrid"
773
+ }, Ct = {
774
+ class: "content"
775
+ };
776
+ function St(n, t) {
777
+ return s(), i("div", wt, [e("div", Ct, [v(n.$slots, "default", {}, void 0, !0)])]);
778
+ }
779
+ const la = /* @__PURE__ */ _(It, [["render", St], ["__scopeId", "data-v-1f26d3ee"]]), Tt = {
780
+ class: "sections-container"
781
+ }, At = {
782
+ class: "container"
783
+ }, Bt = ["src", "alt"], qt = {
784
+ class: "header"
785
+ }, Ft = {
786
+ class: "features-list"
787
+ }, Vt = {
788
+ class: "content"
789
+ }, Dt = {
790
+ class: "feature-title"
791
+ }, Ht = /* @__PURE__ */ g({
792
+ __name: "LandingPageSections",
793
+ props: {
794
+ title: {
795
+ default: "什么是ShipAny"
796
+ },
797
+ subTitle: {
798
+ default: "ShipAny是一个用于构建AI优先创业公司的无代码框架。在几分钟内构建美观、生产就绪的AI应用程序。"
799
+ },
800
+ imageUrl: {
801
+ default: "https://picsum.photos/600/400?random=6"
802
+ },
803
+ imageAlt: {
804
+ default: "ShipAny平台截图"
805
+ },
806
+ features: {
807
+ default: () => [{
808
+ title: "即用型模板",
809
+ description: "从数十个生产就绪的AI模板中选择,快速开始。",
810
+ color: "green",
811
+ iconPath: "M5 13l4 4L19 7"
812
+ }, {
813
+ title: "专业设计",
814
+ description: "由专业人士精心打造的UI组件,遵循最佳实践。",
815
+ color: "blue",
816
+ iconPath: "M13 10V3L4 14h7v7l9-11h-7z"
817
+ }, {
818
+ title: "内置部署",
819
+ description: "几分钟内将您的AI应用程序部署到生产环境。",
820
+ color: "purple",
821
+ 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"
822
+ }]
823
+ },
824
+ reverse: {
825
+ type: Boolean,
826
+ default: !1
827
+ }
828
+ },
829
+ setup(n) {
830
+ const t = n;
831
+ return (r, o) => (s(), i("section", Tt, [e("div", At, [e("div", {
832
+ class: k(["content-wrapper", {
833
+ reverse: t.reverse
834
+ }])
835
+ }, [e("div", {
836
+ class: k(["image-container", {
837
+ "order-2": t.reverse,
838
+ "order-1": !t.reverse
839
+ }])
840
+ }, [e("img", {
841
+ src: t.imageUrl,
842
+ alt: t.imageAlt,
843
+ class: "image"
844
+ }, null, 8, Bt)], 2), e("div", {
845
+ class: k(["text-container", {
846
+ "order-1": t.reverse,
847
+ "order-2": !t.reverse
848
+ }])
849
+ }, [e("div", qt, [d(M, null, {
850
+ default: l(() => [f(c(t.title), 1)]),
851
+ _: 1
852
+ }), d(H, null, {
853
+ default: l(() => [f(c(t.subTitle), 1)]),
854
+ _: 1
855
+ })]), e("div", Ft, [(s(!0), i(h, null, b(t.features, (a, u) => (s(), i("div", {
856
+ key: u,
857
+ class: "feature-item"
858
+ }, [e("div", {
859
+ class: k(["icon-container", [`icon-${a.color}`]])
860
+ }, [...o[0] || (o[0] = [e("div", {
861
+ class: "dot"
862
+ }, null, -1)])], 2), e("div", Vt, [e("div", Dt, c(a.title), 1), d(C, null, {
863
+ default: l(() => [f(c(a.description), 1)]),
864
+ _: 2
865
+ }, 1024)])]))), 128))])], 2)], 2)])]));
866
+ }
867
+ }), da = /* @__PURE__ */ _(Ht, [["__scopeId", "data-v-f7a4d89a"]]), Mt = ["onClick"], zt = ["src", "alt"], jt = {
868
+ class: "card-content"
869
+ }, Nt = {
870
+ class: "card-title"
871
+ }, Et = /* @__PURE__ */ g({
872
+ __name: "LandingPageShowcase",
873
+ props: {
874
+ items: {},
875
+ showControls: {
876
+ type: Boolean,
877
+ default: !0
878
+ },
879
+ columns: {
880
+ default: 4
881
+ },
882
+ cardHeight: {
883
+ default: 160
884
+ },
885
+ objectFit: {
886
+ default: "cover"
887
+ }
888
+ },
889
+ emits: ["cardClick"],
890
+ setup(n, {
891
+ emit: t
892
+ }) {
893
+ const r = n, o = t, {
894
+ width: a
895
+ } = D();
896
+ function u(y) {
897
+ o("cardClick", y);
898
+ }
899
+ const p = w(() => a.value <= 768 ? 1 : a.value <= 1024 ? 2 : r.columns || 4), m = w(() => ({
900
+ gridTemplateColumns: `repeat(${p.value}, 1fr)`
901
+ })), I = w(() => ({
902
+ height: `${r.cardHeight}px`,
903
+ objectFit: r.objectFit
904
+ }));
905
+ return (y, j) => (s(), i("div", {
906
+ class: "Showcase",
907
+ style: P(m.value)
908
+ }, [(s(!0), i(h, null, b(r.items, (S, N) => (s(), i("div", {
909
+ key: N,
910
+ class: "showcase-card",
911
+ onClick: (js) => u(S)
912
+ }, [e("img", {
913
+ src: S.image,
914
+ alt: S.alt,
915
+ style: P(I.value)
916
+ }, null, 12, zt), e("div", jt, [e("div", Nt, c(S.title), 1), d(C, null, {
917
+ default: l(() => [f(c(S.description), 1)]),
918
+ _: 2
919
+ }, 1024)])], 8, Mt))), 128))], 4));
920
+ }
921
+ }), ua = /* @__PURE__ */ _(Et, [["__scopeId", "data-v-28446bb3"]]), Gt = {
922
+ class: "Stats"
923
+ }, Ot = {
924
+ key: 0,
925
+ class: "stats-label"
926
+ }, Ut = {
927
+ class: "stats-number"
928
+ }, Wt = {
929
+ class: "stats-label"
930
+ }, Rt = /* @__PURE__ */ g({
931
+ __name: "LandingPageStats",
932
+ props: {
933
+ title: {
934
+ default: "用户喜爱ShipAny"
935
+ },
936
+ subTitle: {
937
+ default: "看看我们的客户怎么说"
938
+ },
939
+ stats: {
940
+ default: () => [{
941
+ title: "",
942
+ number: "250+",
943
+ label: "已启动的创业公司"
944
+ }, {
945
+ title: "",
946
+ number: "30+",
947
+ label: "AI模板"
948
+ }, {
949
+ title: "",
950
+ number: "5",
951
+ label: "星级评分"
952
+ }]
953
+ }
954
+ },
955
+ setup(n) {
956
+ const t = n;
957
+ return (r, o) => (s(), i("div", Gt, [(s(!0), i(h, null, b(t.stats, (a, u) => (s(), i("div", {
958
+ key: u,
959
+ class: "stats-item"
960
+ }, [a.title ? (s(), i("div", Ot, c(a.title), 1)) : T("", !0), e("div", Ut, c(a.number), 1), e("div", Wt, c(a.label), 1)]))), 128))]));
961
+ }
962
+ }), _a = /* @__PURE__ */ _(Rt, [["__scopeId", "data-v-7aa9af80"]]), Zt = {
963
+ class: "stepNumber"
964
+ }, Jt = {
965
+ class: "count"
966
+ }, Kt = {
967
+ class: "stepTitle"
968
+ }, Qt = /* @__PURE__ */ g({
969
+ __name: "LandingPageSteps",
970
+ props: {
971
+ columns: {
972
+ type: Number,
973
+ default: 3
974
+ },
975
+ steps: {
976
+ type: Array,
977
+ default: () => [{
978
+ title: "选择您的项目",
979
+ description: "从我们的AI模板库中选择或使用我们的拖放构建器从头开始。"
980
+ }, {
981
+ title: "构建您的项目",
982
+ description: "使用我们的直观编辑器自定义您的项目。添加您的品牌、内容并配置AI模型。"
983
+ }, {
984
+ title: "部署到生产环境",
985
+ description: "一键将您的AI应用程序部署到我们的全球基础设施并开始服务客户。"
986
+ }]
987
+ }
988
+ },
989
+ setup(n) {
990
+ const t = n;
991
+ return (r, o) => (s(), i("div", {
992
+ class: "Steps",
993
+ style: P({
994
+ gridTemplateColumns: `repeat(${t.columns}, 1fr)`
995
+ // flexDirection: props.flexDirection,
996
+ })
997
+ }, [(s(!0), i(h, null, b(t.steps, (a, u) => (s(), i("div", {
998
+ key: u,
999
+ class: "stepItem"
1000
+ }, [e("div", Zt, [e("span", Jt, c(u + 1), 1)]), e("h3", Kt, c(a.title), 1), d(C, null, {
1001
+ default: l(() => [f(c(a.description), 1)]),
1002
+ _: 2
1003
+ }, 1024)]))), 128))], 4));
1004
+ }
1005
+ }), pa = /* @__PURE__ */ _(Qt, [["__scopeId", "data-v-1ecd9597"]]), Xt = {
1006
+ class: "Testimonial"
1007
+ }, Yt = {
1008
+ class: "user-info"
1009
+ }, es = {
1010
+ class: "user-avatar"
1011
+ }, ts = ["src", "alt"], ss = {
1012
+ class: "user-name"
1013
+ }, as = {
1014
+ class: "user-title"
1015
+ }, ns = /* @__PURE__ */ g({
1016
+ __name: "LandingPageTestimonial",
1017
+ props: {
1018
+ testimonials: {
1019
+ default: () => []
1020
+ }
1021
+ },
1022
+ setup(n) {
1023
+ const t = n;
1024
+ return (r, o) => (s(), i("div", Xt, [(s(!0), i(h, null, b(t.testimonials, (a, u) => (s(), L(z, {
1025
+ key: u
1026
+ }, {
1027
+ default: l(() => [e("div", null, [d(C, null, {
1028
+ default: l(() => [f(c(`"${a.content}"`), 1)]),
1029
+ _: 2
1030
+ }, 1024)]), e("div", Yt, [e("span", es, [e("img", {
1031
+ src: a.avatar,
1032
+ alt: a.name
1033
+ }, null, 8, ts)]), e("div", null, [e("div", ss, c(a.name), 1), e("div", as, c(a.title), 1)])])]),
1034
+ _: 2
1035
+ }, 1024))), 128))]));
1036
+ }
1037
+ }), ga = /* @__PURE__ */ _(ns, [["__scopeId", "data-v-bc49d7bc"]]), is = ["href"], os = /* @__PURE__ */ g({
1038
+ __name: "LandingPageTips",
1039
+ props: {
1040
+ href: {
1041
+ type: String,
1042
+ default: "/zh"
1043
+ },
1044
+ text: {
1045
+ type: String,
1046
+ default: "✨ 免费吉卜力AI艺术!立即注册获得3次免费创作!☝️"
1047
+ }
1048
+ },
1049
+ setup(n) {
1050
+ const t = n;
1051
+ return (r, o) => (s(), i("a", {
1052
+ href: t.href,
1053
+ class: "tips-link"
1054
+ }, c(t.text), 9, is));
1055
+ }
1056
+ }), fa = /* @__PURE__ */ _(os, [["__scopeId", "data-v-f5784dd1"]]), rs = {}, cs = {
1057
+ class: "sidebar"
1058
+ };
1059
+ function ls(n, t) {
1060
+ return s(), i("div", cs, [...t[0] || (t[0] = [E('<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)])]);
1061
+ }
1062
+ const ma = /* @__PURE__ */ _(rs, [["render", ls], ["__scopeId", "data-v-251905ff"]]), ds = {
1063
+ class: "feature-card"
1064
+ }, us = {
1065
+ class: "feature-image"
1066
+ }, _s = ["src", "alt"], ps = {
1067
+ class: "feature-title"
1068
+ }, gs = {
1069
+ class: "feature-description"
1070
+ }, fs = {
1071
+ class: "feature-platforms"
1072
+ }, ms = /* @__PURE__ */ g({
1073
+ __name: "LandingPageFeatureCard",
1074
+ props: {
1075
+ feature: {}
1076
+ },
1077
+ setup(n) {
1078
+ return (t, r) => (s(), i("div", ds, [e("div", us, [e("img", {
1079
+ src: n.feature.image,
1080
+ alt: n.feature.title,
1081
+ loading: "lazy",
1082
+ decoding: "async"
1083
+ }, null, 8, _s)]), e("h3", ps, c(n.feature.title), 1), e("p", gs, c(n.feature.description), 1), e("div", fs, [(s(!0), i(h, null, b(n.feature.platforms, (o) => (s(), L(A(q), {
1084
+ key: o.name,
1085
+ icon: o.icon,
1086
+ class: "platform-icon"
1087
+ }, null, 8, ["icon"]))), 128))])]));
1088
+ }
1089
+ }), ha = /* @__PURE__ */ _(ms, [["__scopeId", "data-v-474acd19"]]), hs = {
1090
+ class: "feature-section-header"
1091
+ }, vs = {
1092
+ class: "feature-section-title"
1093
+ }, bs = ["innerHTML"], ys = /* @__PURE__ */ g({
1094
+ __name: "LandingPageFeatureSectionHeader",
1095
+ props: {
1096
+ title: {},
1097
+ description: {}
1098
+ },
1099
+ setup(n) {
1100
+ return (t, r) => (s(), i("div", hs, [e("h2", vs, c(n.title), 1), e("p", {
1101
+ class: "feature-section-description",
1102
+ innerHTML: n.description
1103
+ }, null, 8, bs)]));
1104
+ }
1105
+ }), va = /* @__PURE__ */ _(ys, [["__scopeId", "data-v-8fe145ad"]]), $s = {}, ks = {
1106
+ class: "features-grid"
1107
+ };
1108
+ function Ps(n, t) {
1109
+ return s(), i("div", ks, [v(n.$slots, "default", {}, void 0, !0)]);
1110
+ }
1111
+ const ba = /* @__PURE__ */ _($s, [["render", Ps], ["__scopeId", "data-v-392f636b"]]), Ls = {
1112
+ class: "testimonials-container"
1113
+ }, xs = {
1114
+ class: "testimonial-header"
1115
+ }, Is = ["onClick"], ws = {
1116
+ class: "user-avatar"
1117
+ }, Cs = ["src", "alt"], Ss = {
1118
+ class: "user-info"
1119
+ }, Ts = {
1120
+ class: "user-name"
1121
+ }, As = {
1122
+ class: "user-title"
1123
+ }, Bs = {
1124
+ class: "testimonial-content"
1125
+ }, qs = /* @__PURE__ */ g({
1126
+ __name: "LandingPageTestimonialCard",
1127
+ props: {
1128
+ testimonials: {}
1129
+ },
1130
+ setup(n) {
1131
+ function t(r) {
1132
+ r.link && window.open(r.link, "_blank");
1133
+ }
1134
+ return (r, o) => (s(), i("div", Ls, [(s(!0), i(h, null, b(n.testimonials, (a) => (s(), i("div", {
1135
+ key: a.name,
1136
+ class: "testimonial-card"
1137
+ }, [e("div", xs, [e("div", {
1138
+ class: k(["user-link", {
1139
+ "no-link": !a.link
1140
+ }]),
1141
+ onClick: (u) => t(a)
1142
+ }, [e("div", ws, [e("img", {
1143
+ src: a.avatar,
1144
+ alt: a.name,
1145
+ width: "260",
1146
+ height: "260",
1147
+ loading: "lazy",
1148
+ decoding: "async",
1149
+ class: "avatar-image"
1150
+ }, null, 8, Cs)]), e("div", Ss, [e("span", Ts, c(a.name), 1), e("span", As, c(a.title), 1)])], 10, Is)]), e("p", Bs, c(a.content), 1)]))), 128))]));
1151
+ }
1152
+ }), ya = /* @__PURE__ */ _(qs, [["__scopeId", "data-v-6e10d8a8"]]), Fs = {
1153
+ class: "tabs"
1154
+ }, Vs = {
1155
+ class: "tabs-header"
1156
+ }, Ds = ["onClick"], Hs = {
1157
+ class: "tab-label"
1158
+ }, Ms = {
1159
+ class: "tabs-content"
1160
+ }, zs = /* @__PURE__ */ g({
1161
+ __name: "LandingPageSectionTabs",
1162
+ props: {
1163
+ tabs: {},
1164
+ defaultActiveTab: {
1165
+ default: ""
1166
+ },
1167
+ modelValue: {
1168
+ default: ""
1169
+ }
1170
+ },
1171
+ emits: ["update:modelValue", "tabChange"],
1172
+ setup(n, {
1173
+ emit: t
1174
+ }) {
1175
+ var p;
1176
+ const r = n, o = t, a = x(r.modelValue || r.defaultActiveTab || ((p = r.tabs[0]) == null ? void 0 : p.id) || "");
1177
+ function u(m) {
1178
+ a.value = m, o("update:modelValue", m), o("tabChange", m);
1179
+ }
1180
+ return F(() => r.modelValue, (m) => {
1181
+ m && (a.value = m);
1182
+ }), F(() => r.defaultActiveTab, (m) => {
1183
+ m && !r.modelValue && (a.value = m);
1184
+ }), (m, I) => (s(), i("div", Fs, [e("div", Vs, [(s(!0), i(h, null, b(n.tabs, (y) => (s(), i("div", {
1185
+ key: y.id,
1186
+ class: k(["tab-item", {
1187
+ active: a.value === y.id
1188
+ }]),
1189
+ onClick: (j) => u(y.id)
1190
+ }, [e("span", Hs, c(y.label), 1)], 10, Ds))), 128))]), e("div", Ms, [(s(!0), i(h, null, b(n.tabs, (y) => G((s(), i("div", {
1191
+ key: y.id,
1192
+ class: "tab-panel"
1193
+ }, [v(m.$slots, y.id, {
1194
+ tab: y
1195
+ }, () => [v(m.$slots, "default", {
1196
+ tab: y
1197
+ }, void 0, !0)], !0)])), [[O, a.value === y.id]])), 128))])]));
1198
+ }
1199
+ }), $a = /* @__PURE__ */ _(zs, [["__scopeId", "data-v-22e880ae"]]);
1200
+ export {
1201
+ ya as A,
1202
+ ke as B,
1203
+ z as C,
1204
+ $a as D,
1205
+ Qs as L,
1206
+ ut as T,
1207
+ Xs as a,
1208
+ de as b,
1209
+ pe as c,
1210
+ Ys as d,
1211
+ ea as e,
1212
+ ta as f,
1213
+ sa as g,
1214
+ aa as h,
1215
+ na as i,
1216
+ ia as j,
1217
+ oa as k,
1218
+ ra as l,
1219
+ ca as m,
1220
+ la as n,
1221
+ da as o,
1222
+ ua as p,
1223
+ _a as q,
1224
+ pa as r,
1225
+ H as s,
1226
+ ga as t,
1227
+ fa as u,
1228
+ M as v,
1229
+ ma as w,
1230
+ ha as x,
1231
+ va as y,
1232
+ ba as z
1233
+ };