@windrun-huaiin/third-ui 6.3.1 → 7.0.0

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 (76) hide show
  1. package/package.json +15 -53
  2. package/dist/chunk-45PUPAKX.js +0 -128
  3. package/dist/chunk-45PUPAKX.js.map +0 -1
  4. package/dist/chunk-5BELDGQB.mjs +0 -19
  5. package/dist/chunk-5BELDGQB.mjs.map +0 -1
  6. package/dist/chunk-ECWCWQCD.js +0 -231
  7. package/dist/chunk-ECWCWQCD.js.map +0 -1
  8. package/dist/chunk-EH6BJNHH.mjs +0 -3266
  9. package/dist/chunk-EH6BJNHH.mjs.map +0 -1
  10. package/dist/chunk-ETOMEWHS.mjs +0 -231
  11. package/dist/chunk-ETOMEWHS.mjs.map +0 -1
  12. package/dist/chunk-GPRHQYBI.mjs +0 -2962
  13. package/dist/chunk-GPRHQYBI.mjs.map +0 -1
  14. package/dist/chunk-M4ASGKEP.mjs +0 -128
  15. package/dist/chunk-M4ASGKEP.mjs.map +0 -1
  16. package/dist/chunk-NQKOD34Z.js +0 -2962
  17. package/dist/chunk-NQKOD34Z.js.map +0 -1
  18. package/dist/chunk-OZQO43WJ.js +0 -981
  19. package/dist/chunk-OZQO43WJ.js.map +0 -1
  20. package/dist/chunk-SQFKTU52.mjs +0 -981
  21. package/dist/chunk-SQFKTU52.mjs.map +0 -1
  22. package/dist/chunk-UNJOOO7O.js +0 -101
  23. package/dist/chunk-UNJOOO7O.js.map +0 -1
  24. package/dist/chunk-WWEZQKHX.mjs +0 -103
  25. package/dist/chunk-WWEZQKHX.mjs.map +0 -1
  26. package/dist/chunk-XCKOFS5W.js +0 -3266
  27. package/dist/chunk-XCKOFS5W.js.map +0 -1
  28. package/dist/chunk-ZURRPUFV.js +0 -19
  29. package/dist/chunk-ZURRPUFV.js.map +0 -1
  30. package/dist/clerk/index.d.mts +0 -15
  31. package/dist/clerk/index.d.ts +0 -15
  32. package/dist/clerk/index.js +0 -52
  33. package/dist/clerk/index.js.map +0 -1
  34. package/dist/clerk/index.mjs +0 -52
  35. package/dist/clerk/index.mjs.map +0 -1
  36. package/dist/clerk/server.d.mts +0 -28
  37. package/dist/clerk/server.d.ts +0 -28
  38. package/dist/clerk/server.js +0 -188
  39. package/dist/clerk/server.js.map +0 -1
  40. package/dist/clerk/server.mjs +0 -188
  41. package/dist/clerk/server.mjs.map +0 -1
  42. package/dist/cta.css +0 -16
  43. package/dist/fuma/mdx/index.d.mts +0 -133
  44. package/dist/fuma/mdx/index.d.ts +0 -133
  45. package/dist/fuma/mdx/index.js +0 -40
  46. package/dist/fuma/mdx/index.js.map +0 -1
  47. package/dist/fuma/mdx/index.mjs +0 -40
  48. package/dist/fuma/mdx/index.mjs.map +0 -1
  49. package/dist/fuma/server.d.mts +0 -77
  50. package/dist/fuma/server.d.ts +0 -77
  51. package/dist/fuma/server.js +0 -27481
  52. package/dist/fuma/server.js.map +0 -1
  53. package/dist/fuma/server.mjs +0 -27481
  54. package/dist/fuma/server.mjs.map +0 -1
  55. package/dist/fuma.css +0 -106
  56. package/dist/lib/server.d.mts +0 -4670
  57. package/dist/lib/server.d.ts +0 -4670
  58. package/dist/lib/server.js +0 -152
  59. package/dist/lib/server.js.map +0 -1
  60. package/dist/lib/server.mjs +0 -152
  61. package/dist/lib/server.mjs.map +0 -1
  62. package/dist/main/index.d.mts +0 -198
  63. package/dist/main/index.d.ts +0 -198
  64. package/dist/main/index.js +0 -32
  65. package/dist/main/index.js.map +0 -1
  66. package/dist/main/index.mjs +0 -32
  67. package/dist/main/index.mjs.map +0 -1
  68. package/dist/main/server.d.mts +0 -64
  69. package/dist/main/server.d.ts +0 -64
  70. package/dist/main/server.js +0 -615
  71. package/dist/main/server.js.map +0 -1
  72. package/dist/main/server.mjs +0 -615
  73. package/dist/main/server.mjs.map +0 -1
  74. package/dist/third-ui.css +0 -66
  75. package/dist/toc-base-BC7kXpDU.d.mts +0 -15
  76. package/dist/toc-base-BC7kXpDU.d.ts +0 -15
@@ -1,615 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }/* eslint-disable */
2
-
3
-
4
-
5
-
6
-
7
- var _chunkXCKOFS5Wjs = require('../chunk-XCKOFS5W.js');
8
-
9
-
10
- var _chunk45PUPAKXjs = require('../chunk-45PUPAKX.js');
11
-
12
-
13
- var _chunkECWCWQCDjs = require('../chunk-ECWCWQCD.js');
14
-
15
-
16
-
17
- var _chunkNQKOD34Zjs = require('../chunk-NQKOD34Z.js');
18
-
19
-
20
-
21
- var _chunkUNJOOO7Ojs = require('../chunk-UNJOOO7O.js');
22
-
23
- // src/main/server.ts
24
- _chunkUNJOOO7Ojs.init_cjs_shims.call(void 0, );
25
-
26
- // src/main/gallery.tsx
27
- _chunkUNJOOO7Ojs.init_cjs_shims.call(void 0, );
28
- var _server = require('next-intl/server');
29
- var _image = require('next/image'); var _image2 = _interopRequireDefault(_image);
30
- var _jsxruntime = require('react/jsx-runtime');
31
- function Gallery(_0) {
32
- return _chunkUNJOOO7Ojs.__async.call(void 0, this, arguments, function* ({ locale, sectionClassName, button }) {
33
- const t = yield _server.getTranslations.call(void 0, { locale, namespace: "gallery" });
34
- const galleryItems = t.raw("prompts");
35
- const data = {
36
- titleL: t("titleL"),
37
- eyesOn: t("eyesOn"),
38
- titleR: t("titleR"),
39
- description: t("description"),
40
- items: galleryItems.map((item, index) => ({
41
- id: `gallery-item-${index}`,
42
- url: item.url,
43
- altMsg: item.altMsg
44
- })),
45
- defaultImgUrl: t.raw("defaultImgUrl"),
46
- downloadPrefix: t("downloadPrefix")
47
- };
48
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { id: "gallery", className: _chunkECWCWQCDjs.cn.call(void 0, "container mx-auto px-4 py-20 scroll-mt-20", sectionClassName), children: [
49
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h2", { className: "text-3xl md:text-4xl font-bold text-center mb-6", children: [
50
- data.titleL,
51
- " ",
52
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-purple-500", children: data.eyesOn }),
53
- " ",
54
- data.titleR
55
- ] }),
56
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-center max-w-2xl mx-auto mb-16", children: data.description }),
57
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6", children: data.items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
58
- "div",
59
- {
60
- className: "group relative overflow-hidden rounded-xl",
61
- "data-gallery-item": item.id,
62
- "data-gallery-index": index,
63
- children: [
64
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
65
- _image2.default,
66
- {
67
- src: item.url,
68
- alt: item.altMsg,
69
- width: 600,
70
- height: 600,
71
- className: "w-full h-80 object-cover transition duration-300 group-hover:scale-105",
72
- "data-gallery-image": item.id
73
- }
74
- ),
75
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-0 flex items-end justify-end p-4 opacity-0 group-hover:opacity-100 transition duration-300", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
76
- "button",
77
- {
78
- className: "p-2 rounded-full bg-black/50 hover:bg-black/70 text-white/80 hover:text-white transition-all duration-300",
79
- "data-gallery-download": item.id,
80
- "aria-label": `Download ${item.altMsg}`,
81
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { className: "h-5 w-5 text-white", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" }) })
82
- }
83
- ) })
84
- ]
85
- },
86
- item.id
87
- )) }),
88
- button && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-center mt-12", children: button }),
89
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXCKOFS5Wjs.GalleryInteractive, { data })
90
- ] });
91
- });
92
- }
93
-
94
- // src/main/usage.tsx
95
- _chunkUNJOOO7Ojs.init_cjs_shims.call(void 0, );
96
-
97
-
98
- function Usage(_0) {
99
- return _chunkUNJOOO7Ojs.__async.call(void 0, this, arguments, function* ({
100
- locale,
101
- sectionClassName
102
- }) {
103
- const t = yield _server.getTranslations.call(void 0, { locale, namespace: "usage" });
104
- const steps = t.raw("steps");
105
- const data = {
106
- title: t("title"),
107
- eyesOn: t("eyesOn"),
108
- description: _chunkXCKOFS5Wjs.richText.call(void 0, t, "description"),
109
- steps: steps.map((step, index) => ({
110
- id: `usage-step-${index}`,
111
- title: step.title,
112
- description: _chunkXCKOFS5Wjs.richText.call(void 0, t, `steps.${index}.description`),
113
- iconKey: step.iconKey,
114
- stepNumber: index + 1
115
- }))
116
- };
117
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { id: "usage", className: _chunkECWCWQCDjs.cn.call(void 0, "px-16 py-10 mx-16 md:mx-32 scroll-mt-20", sectionClassName), children: [
118
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h2", { className: "text-3xl md:text-4xl font-bold text-center mb-4", children: [
119
- data.title,
120
- " ",
121
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-purple-500", children: data.eyesOn })
122
- ] }),
123
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-center text-gray-600 dark:text-gray-400 mb-12 text-base md:text-lg mx-auto whitespace-nowrap", children: data.description }),
124
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-gray-50 dark:bg-gray-800/60 border border-gray-200 dark:border-gray-700 rounded-2xl p-8 md:p-12 shadow-sm dark:shadow-none", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 md:grid-cols-3 gap-8 gap-y-12", children: data.steps.map((step) => {
125
- const Icon = _chunkNQKOD34Zjs.getGlobalIcon.call(void 0, step.iconKey);
126
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-usage-step": step.id, className: "flex items-start", children: [
127
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-shrink-0 mr-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "w-8 h-8 text-purple-500" }) }),
128
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
129
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-xl font-semibold mb-3 text-gray-900 dark:text-gray-100 flex items-center", children: `${step.stepNumber}. ${step.title}` }),
130
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-gray-700 dark:text-gray-300", children: step.description })
131
- ] })
132
- ] }, step.id);
133
- }) }) })
134
- ] });
135
- });
136
- }
137
-
138
- // src/main/features.tsx
139
- _chunkUNJOOO7Ojs.init_cjs_shims.call(void 0, );
140
-
141
-
142
- function Features(_0) {
143
- return _chunkUNJOOO7Ojs.__async.call(void 0, this, arguments, function* ({
144
- locale,
145
- sectionClassName
146
- }) {
147
- const t = yield _server.getTranslations.call(void 0, { locale, namespace: "features" });
148
- const featureItems = t.raw("items");
149
- const data = {
150
- title: t("title"),
151
- eyesOn: t("eyesOn"),
152
- description: _chunkXCKOFS5Wjs.richText.call(void 0, t, "description"),
153
- items: featureItems.map((feature, index) => ({
154
- id: `feature-item-${index}`,
155
- title: feature.title,
156
- description: _chunkXCKOFS5Wjs.richText.call(void 0, t, `items.${index}.description`),
157
- iconKey: feature.iconKey
158
- }))
159
- };
160
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { id: "features", className: _chunkECWCWQCDjs.cn.call(void 0, "px-16 py-10 mx-16 md:mx-32 scroll-mt-18", sectionClassName), children: [
161
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h2", { className: "text-3xl md:text-4xl font-bold text-center mb-4", children: [
162
- data.title,
163
- " ",
164
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-purple-500", children: data.eyesOn })
165
- ] }),
166
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-center text-gray-600 dark:text-gray-400 mb-12 text-base md:text-lg mx-auto whitespace-nowrap", children: data.description }),
167
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 md:grid-cols-3 gap-8 gap-y-12", children: data.items.map((feature) => {
168
- const Icon = _chunkNQKOD34Zjs.getGlobalIcon.call(void 0, feature.iconKey);
169
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
170
- "div",
171
- {
172
- "data-feature-id": feature.id,
173
- className: "bg-white dark:bg-gray-800/60 p-8 rounded-xl border border-gray-200 dark:border-gray-700 hover:border-purple-300 dark:hover:border-purple-500/50 transition shadow-sm dark:shadow-none",
174
- children: [
175
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-4xl mb-4 flex items-center justify-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "w-8 h-8" }) }),
176
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-xl font-semibold mb-3 text-gray-900 dark:text-gray-100", children: feature.title }),
177
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-gray-700 dark:text-gray-300", children: feature.description })
178
- ]
179
- },
180
- feature.id
181
- );
182
- }) })
183
- ] });
184
- });
185
- }
186
-
187
- // src/main/tips.tsx
188
- _chunkUNJOOO7Ojs.init_cjs_shims.call(void 0, );
189
-
190
-
191
- function Tips(_0) {
192
- return _chunkUNJOOO7Ojs.__async.call(void 0, this, arguments, function* ({
193
- locale,
194
- sectionClassName
195
- }) {
196
- const t = yield _server.getTranslations.call(void 0, { locale, namespace: "tips" });
197
- const sections = t.raw("sections");
198
- const processedSections = sections.map((section, index) => ({
199
- id: `tip-section-${index}`,
200
- title: section.title,
201
- description: _chunkXCKOFS5Wjs.richText.call(void 0, t, `sections.${index}.description`)
202
- }));
203
- const midPoint = Math.ceil(processedSections.length / 2);
204
- const leftColumn = processedSections.slice(0, midPoint);
205
- const rightColumn = processedSections.slice(midPoint);
206
- const data = {
207
- title: t("title"),
208
- eyesOn: t("eyesOn"),
209
- leftColumn,
210
- rightColumn
211
- };
212
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { id: "tips", className: _chunkECWCWQCDjs.cn.call(void 0, "px-16 py-10 mx-16 md:mx-32 scroll-mt-20", sectionClassName), children: [
213
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h2", { className: "text-3xl md:text-4xl font-bold text-center mb-16", children: [
214
- data.title,
215
- " ",
216
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-purple-500", children: data.eyesOn })
217
- ] }),
218
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 md:grid-cols-2 gap-12 bg-gray-50 dark:bg-gray-800/60 border border-gray-200 dark:border-gray-700 rounded-2xl p-8 md:p-12 shadow-sm dark:shadow-none", children: [data.leftColumn, data.rightColumn].map((column, colIndex) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-8", children: column.map((tip) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-tip-id": tip.id, className: "space-y-4", children: [
219
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-2xl font-semibold", children: tip.title }),
220
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "", children: tip.description })
221
- ] }, tip.id)) }, colIndex)) })
222
- ] });
223
- });
224
- }
225
-
226
- // src/main/faq.tsx
227
- _chunkUNJOOO7Ojs.init_cjs_shims.call(void 0, );
228
-
229
-
230
- function FAQ(_0) {
231
- return _chunkUNJOOO7Ojs.__async.call(void 0, this, arguments, function* ({
232
- locale,
233
- sectionClassName
234
- }) {
235
- const t = yield _server.getTranslations.call(void 0, { locale, namespace: "faq" });
236
- const rawItems = t.raw("items");
237
- const data = {
238
- title: t("title"),
239
- description: _chunkXCKOFS5Wjs.richText.call(void 0, t, "description"),
240
- items: rawItems.map((item, index) => ({
241
- id: `faq-item-${index}`,
242
- question: item.question,
243
- answer: _chunkXCKOFS5Wjs.richText.call(void 0, t, `items.${index}.answer`)
244
- }))
245
- };
246
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { id: "faq", className: _chunkECWCWQCDjs.cn.call(void 0, "px-16 py-10 mx-16 md:mx-32 scroll-mt-20", sectionClassName), children: [
247
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-3xl md:text-4xl font-bold text-center mb-4", children: data.title }),
248
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-center text-gray-600 dark:text-gray-400 mb-12 text-base md:text-lg mx-auto", children: data.description }),
249
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-6", children: data.items.map((item) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
250
- "div",
251
- {
252
- "data-faq-id": item.id,
253
- className: "bg-white dark:bg-gray-800/60 p-6 rounded-xl border border-gray-200 dark:border-gray-700 hover:border-purple-300 dark:hover:border-purple-500/50 transition shadow-sm dark:shadow-none",
254
- children: [
255
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
256
- "button",
257
- {
258
- className: "w-full flex items-center justify-between text-left focus:outline-none",
259
- "data-faq-toggle": item.id,
260
- "aria-expanded": "false",
261
- children: [
262
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-lg font-semibold text-gray-900 dark:text-gray-100", children: item.question }),
263
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
264
- "svg",
265
- {
266
- className: "w-6 h-6 text-gray-400 ml-2 transition-transform duration-200",
267
- "data-faq-icon": item.id,
268
- fill: "none",
269
- stroke: "currentColor",
270
- viewBox: "0 0 24 24",
271
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" })
272
- }
273
- )
274
- ]
275
- }
276
- ),
277
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
278
- "div",
279
- {
280
- className: "mt-4 text-gray-700 dark:text-gray-300 text-base hidden",
281
- "data-faq-content": item.id,
282
- children: item.answer
283
- }
284
- )
285
- ]
286
- },
287
- item.id
288
- )) }),
289
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXCKOFS5Wjs.FAQInteractive, { data })
290
- ] });
291
- });
292
- }
293
-
294
- // src/main/seo-content.tsx
295
- _chunkUNJOOO7Ojs.init_cjs_shims.call(void 0, );
296
-
297
-
298
- function SeoContent(_0) {
299
- return _chunkUNJOOO7Ojs.__async.call(void 0, this, arguments, function* ({
300
- locale,
301
- sectionClassName
302
- }) {
303
- const t = yield _server.getTranslations.call(void 0, { locale, namespace: "seoContent" });
304
- const rawSections = t.raw("sections");
305
- const data = {
306
- title: t("title"),
307
- eyesOn: t("eyesOn"),
308
- description: t("description"),
309
- intro: _chunkXCKOFS5Wjs.richText.call(void 0, t, "intro"),
310
- sections: rawSections.map((section, index) => ({
311
- id: `seo-section-${index}`,
312
- title: section.title,
313
- content: _chunkXCKOFS5Wjs.richText.call(void 0, t, `sections.${index}.content`)
314
- })),
315
- conclusion: _chunkXCKOFS5Wjs.richText.call(void 0, t, "conclusion")
316
- };
317
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { id: "seo", className: _chunkECWCWQCDjs.cn.call(void 0, "px-16 py-10 mx-16 md:mx-32 scroll-mt-20", sectionClassName), children: [
318
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h2", { className: "text-3xl md:text-4xl font-bold text-center mb-8", children: [
319
- data.title,
320
- " ",
321
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-purple-500", children: data.eyesOn })
322
- ] }),
323
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-center text-gray-600 dark:text-gray-400 mb-12 text-lg", children: data.description }),
324
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-gray-50 dark:bg-gray-800/60 border border-gray-200 dark:border-gray-700 rounded-2xl p-8 md:p-12 shadow-sm dark:shadow-none", children: [
325
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-10", children: [
326
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-gray-600 dark:text-gray-400 text-lg", children: data.intro }),
327
- data.sections.map((section) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-seo-section": section.id, children: [
328
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-xl font-semibold mb-3 text-gray-900 dark:text-gray-100 flex items-center", children: section.title }),
329
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-gray-700 dark:text-gray-300", children: section.content })
330
- ] }, section.id))
331
- ] }),
332
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "mt-10 text-gray-600 dark:text-gray-400 text-lg", children: data.conclusion })
333
- ] })
334
- ] });
335
- });
336
- }
337
-
338
- // src/main/cta.tsx
339
- _chunkUNJOOO7Ojs.init_cjs_shims.call(void 0, );
340
-
341
-
342
- function CTA(_0) {
343
- return _chunkUNJOOO7Ojs.__async.call(void 0, this, arguments, function* ({
344
- locale,
345
- sectionClassName
346
- }) {
347
- const t = yield _server.getTranslations.call(void 0, { locale, namespace: "cta" });
348
- const data = {
349
- title: t("title"),
350
- eyesOn: t("eyesOn"),
351
- description1: _chunkXCKOFS5Wjs.richText.call(void 0, t, "description1"),
352
- description2: t("description2"),
353
- button: t("button"),
354
- url: t("url")
355
- };
356
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "section", { id: "cta", className: _chunkECWCWQCDjs.cn.call(void 0, "px-16 py-20 mx-16 md:mx-32 scroll-mt-20", sectionClassName), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "\n bg-gradient-to-r from-[#f7f8fa] via-[#e0c3fc] to-[#b2fefa]\n dark:bg-gradient-to-r dark:from-[#2d0b4e] dark:via-[#6a3fa0] dark:to-[#3a185a]\n rounded-2xl p-12 text-center\n bg-[length:200%_auto] animate-cta-gradient-wave\n ", children: [
357
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "h2", { className: "text-3xl md:text-4xl font-bold mb-6", children: [
358
- data.title,
359
- " ",
360
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-purple-400", children: data.eyesOn }),
361
- "?"
362
- ] }),
363
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-2xl mx-auto mb-8", children: [
364
- data.description1,
365
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "br", {}),
366
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-purple-400", children: data.description2 })
367
- ] }),
368
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
369
- _chunk45PUPAKXjs.GradientButton,
370
- {
371
- title: data.button,
372
- href: data.url,
373
- align: "center"
374
- }
375
- )
376
- ] }) });
377
- });
378
- }
379
-
380
- // src/main/footer.tsx
381
- _chunkUNJOOO7Ojs.init_cjs_shims.call(void 0, );
382
-
383
- var _link = require('next/link'); var _link2 = _interopRequireDefault(_link);
384
-
385
- function Footer(_0) {
386
- return _chunkUNJOOO7Ojs.__async.call(void 0, this, arguments, function* ({ locale }) {
387
- const tFooter = yield _server.getTranslations.call(void 0, { locale, namespace: "footer" });
388
- const data = {
389
- terms: tFooter("terms", { defaultValue: "Terms of Service" }),
390
- privacy: tFooter("privacy", { defaultValue: "Privacy Policy" }),
391
- contactUs: tFooter("contactUs", { defaultValue: "Contact Us" }),
392
- email: tFooter("email"),
393
- company: tFooter("company"),
394
- copyright: tFooter("copyright", { year: (/* @__PURE__ */ new Date()).getFullYear(), name: tFooter("company") })
395
- };
396
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-10 w-full mx-auto border-t-purple-700/80 border-t-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "footer", { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full flex flex-col items-center justify-center px-4 py-8 space-y-3", children: [
397
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-center space-x-6 text-xs", children: [
398
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _link2.default, { href: `/${locale}/legal/terms`, className: "flex items-center space-x-1 hover:underline", children: [
399
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNQKOD34Zjs.globalLucideIcons.ReceiptText, { className: "h-3.5 w-3.5" }),
400
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: data.terms })
401
- ] }),
402
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _link2.default, { href: `/${locale}/legal/privacy`, className: "flex items-center space-x-1 hover:underline", children: [
403
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNQKOD34Zjs.globalLucideIcons.ShieldUser, { className: "h-3.5 w-3.5" }),
404
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: data.privacy })
405
- ] }),
406
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative group", children: [
407
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute left-2/3 -translate-x-1/4 bottom-full mb-1 hidden group-hover:block bg-zinc-600 text-white text-xs rounded px-3 py-1 whitespace-nowrap z-10 shadow-lg", children: data.email }),
408
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
409
- "a",
410
- {
411
- href: `mailto:${data.email}`,
412
- className: "flex items-center space-x-1 underline cursor-pointer px-2",
413
- children: [
414
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNQKOD34Zjs.globalLucideIcons.Mail, { className: "h-3.5 w-3.5" }),
415
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: data.contactUs })
416
- ]
417
- }
418
- )
419
- ] })
420
- ] }),
421
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-xs text-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: data.copyright }) })
422
- ] }) }) });
423
- });
424
- }
425
-
426
- // src/main/price-plan.tsx
427
- _chunkUNJOOO7Ojs.init_cjs_shims.call(void 0, );
428
-
429
-
430
- function PricePlan(_0) {
431
- return _chunkUNJOOO7Ojs.__async.call(void 0, this, arguments, function* ({
432
- locale,
433
- currency = "$",
434
- pricePlanConfig,
435
- sectionClassName
436
- }) {
437
- var _a, _b;
438
- const t = yield _server.getTranslations.call(void 0, { locale, namespace: "pricePlan" });
439
- const data = {
440
- title: t("title"),
441
- subtitle: t("subtitle"),
442
- billingSwitch: t.raw("billingSwitch"),
443
- plans: t.raw("plans"),
444
- currency,
445
- pricePlanConfig
446
- };
447
- const billingOptions = data.pricePlanConfig.billingOptions;
448
- const prices = data.pricePlanConfig.prices;
449
- const minPlanFeaturesCount = data.pricePlanConfig.minPlanFeaturesCount;
450
- const defaultBilling = billingOptions.find((opt) => opt.key === data.billingSwitch.defaultKey) || billingOptions[0];
451
- const defaultBillingDisplay = data.billingSwitch.options.find((opt) => opt.key === data.billingSwitch.defaultKey) || data.billingSwitch.options[0];
452
- const maxFeaturesCount = Math.max(
453
- ...data.plans.map((plan) => {
454
- var _a2;
455
- return ((_a2 = plan.features) == null ? void 0 : _a2.length) || 0;
456
- }),
457
- minPlanFeaturesCount || 0
458
- );
459
- const getFeatureRows = (plan) => {
460
- const features = plan.features || [];
461
- const filled = [...features];
462
- while (filled.length < maxFeaturesCount) filled.push(null);
463
- return filled;
464
- };
465
- function renderPrice(plan, billingKey = data.billingSwitch.defaultKey) {
466
- const priceValue = prices[plan.key];
467
- const currentBilling = billingOptions.find((opt) => opt.key === billingKey) || defaultBilling;
468
- const currentBillingDisplay = data.billingSwitch.options.find((opt) => opt.key === billingKey) || defaultBillingDisplay;
469
- const billingSubTitle = (currentBillingDisplay == null ? void 0 : currentBillingDisplay.subTitle) || "";
470
- if (typeof priceValue !== "number" || isNaN(priceValue)) {
471
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-start w-full", "data-price-container": plan.key, children: [
472
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-end gap-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-4xl font-extrabold text-gray-900 dark:text-gray-100", "data-price-value": plan.key, children: priceValue }) }),
473
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-2 min-h-[24px] mt-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkECWCWQCDjs.cn.call(void 0, "text-xs text-gray-700 dark:text-gray-300 font-medium", plan.showBillingSubTitle === false && "opacity-0 select-none"), "data-price-subtitle": plan.key, children: plan.showBillingSubTitle === false ? "" : billingSubTitle }) })
474
- ] });
475
- }
476
- const originValue = Number(priceValue);
477
- const discount = currentBilling.discount;
478
- const hasDiscount = discount !== 0;
479
- const saleValue = originValue * (1 - discount);
480
- const formatPrice = (v) => Number(v.toFixed(2)).toString();
481
- const unit = currentBillingDisplay.unit || "";
482
- let discountText = "";
483
- if (hasDiscount && currentBillingDisplay.discountText) {
484
- discountText = currentBillingDisplay.discountText.replace("{percent}", String(Math.round(Math.abs(discount) * 100)));
485
- }
486
- const showNaN = saleValue < 0;
487
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-start w-full", "data-price-container": plan.key, children: [
488
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-end gap-2", children: [
489
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-4xl font-extrabold text-gray-900 dark:text-gray-100", "data-price-value": plan.key, children: [
490
- data.currency,
491
- showNaN ? "NaN" : hasDiscount ? formatPrice(saleValue) : formatPrice(originValue)
492
- ] }),
493
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-lg text-gray-700 dark:text-gray-300 font-medium mb-1", "data-price-unit": plan.key, children: unit })
494
- ] }),
495
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 min-h-[24px] mt-1", children: [
496
- hasDiscount && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
497
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-base text-gray-400 line-through", "data-price-original": plan.key, children: [
498
- data.currency,
499
- showNaN ? "NaN" : formatPrice(originValue)
500
- ] }),
501
- discountText && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "px-2 py-0.5 text-xs rounded bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200 font-semibold align-middle", "data-price-discount": plan.key, children: discountText })
502
- ] }),
503
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkECWCWQCDjs.cn.call(void 0, "text-xs text-gray-700 dark:text-gray-300 font-medium", plan.showBillingSubTitle === false && "opacity-0 select-none"), "data-price-subtitle": plan.key, children: plan.showBillingSubTitle === false ? "" : billingSubTitle })
504
- ] })
505
- ] });
506
- }
507
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { id: "pricing", className: _chunkECWCWQCDjs.cn.call(void 0, "px-4 py-10 md:px-16 md:py-16 mx-auto max-w-7xl scroll-mt-10", sectionClassName), children: [
508
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-3xl md:text-4xl font-bold text-center mb-3", children: data.title }),
509
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-center text-gray-600 dark:text-gray-400 mb-8 text-base md:text-lg mx-auto", children: data.subtitle }),
510
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center", children: [
511
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center relative mb-3", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex bg-white dark:bg-gray-900 border border-gray-300 dark:border-gray-700 rounded-full p-1", "data-billing-switch": true, children: [
512
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
513
- "button",
514
- {
515
- className: _chunkECWCWQCDjs.cn.call(void 0,
516
- "min-w-[120px] px-6 py-2 font-medium transition text-lg relative",
517
- data.billingSwitch.defaultKey === "monthly" ? "text-white bg-gradient-to-r from-purple-400 to-pink-500 hover:from-purple-500 hover:to-pink-600 dark:from-purple-500 dark:to-pink-600 dark:hover:from-purple-600 rounded-full shadow-sm" : "text-gray-800 dark:text-gray-200 hover:text-gray-900 dark:hover:text-gray-100 rounded-full"
518
- ),
519
- "data-billing-button": "monthly",
520
- type: "button",
521
- children: ((_a = data.billingSwitch.options.find((opt) => opt.key === "monthly")) == null ? void 0 : _a.name) || "Monthly"
522
- }
523
- ),
524
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
525
- "button",
526
- {
527
- className: _chunkECWCWQCDjs.cn.call(void 0,
528
- "min-w-[120px] px-6 py-2 font-medium transition text-lg relative",
529
- data.billingSwitch.defaultKey === "yearly" ? "text-white bg-gradient-to-r from-purple-400 to-pink-500 hover:from-purple-500 hover:to-pink-600 dark:from-purple-500 dark:to-pink-600 dark:hover:from-purple-600 rounded-full shadow-sm" : "text-gray-800 dark:text-gray-200 hover:text-gray-900 dark:hover:text-gray-100 rounded-full"
530
- ),
531
- "data-billing-button": "yearly",
532
- type: "button",
533
- children: ((_b = data.billingSwitch.options.find((opt) => opt.key === "yearly")) == null ? void 0 : _b.name) || "Yearly"
534
- }
535
- )
536
- ] }) }),
537
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 flex items-center justify-center mb-3", "data-discount-info": true, children: (() => {
538
- const opt = data.billingSwitch.options.find((opt2) => opt2.key === data.billingSwitch.defaultKey);
539
- const bOpt = billingOptions.find((opt2) => opt2.key === data.billingSwitch.defaultKey);
540
- if (!(opt && bOpt && opt.discountText && bOpt.discount !== 0)) return null;
541
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "px-2 py-1 text-xs rounded bg-yellow-100 text-yellow-800 font-semibold align-middle text-center inline-flex items-center justify-center whitespace-nowrap", children: opt.discountText.replace(
542
- "{percent}",
543
- String(Math.round(Math.abs(bOpt.discount) * 100))
544
- ) });
545
- })() })
546
- ] }),
547
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "grid grid-cols-1 md:grid-cols-3 gap-8", children: data.plans.map((plan, _idx) => {
548
- var _a2, _b2, _c;
549
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
550
- "div",
551
- {
552
- "data-price-plan": plan.key,
553
- className: _chunkECWCWQCDjs.cn.call(void 0,
554
- "flex flex-col bg-white dark:bg-gray-800/60 rounded-2xl border border-gray-300 dark:border-[#7c3aed40] transition p-8 h-full shadow-sm dark:shadow-none",
555
- "hover:border-2 hover:border-purple-500",
556
- "focus-within:border-2 focus-within:border-purple-500"
557
- ),
558
- style: { minHeight: maxFeaturesCount * 100 },
559
- children: [
560
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 mb-2", children: [
561
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xl font-bold text-gray-900 dark:text-gray-100", children: plan.title }),
562
- plan.titleTags && plan.titleTags.map((tag, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "px-2 py-0.5 text-xs rounded bg-orange-100 text-orange-800 dark:bg-orange-900 dark:text-orange-200 font-semibold align-middle", children: tag }, i))
563
- ] }),
564
- renderPrice(plan),
565
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "flex-1 mb-6 mt-4", children: getFeatureRows(plan).map((feature, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "li", { className: "flex items-center gap-2 mb-2 min-h-[28px]", "data-feature-item": `${plan.key}-${i}`, children: [
566
- feature ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex items-center justify-center w-5 h-5 rounded-full bg-green-100 text-green-700 dark:bg-green-900 dark:text-green-200 mr-1", children: feature.icon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: feature.icon }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-bold", children: "\u2713" }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex items-center justify-center w-5 h-5 rounded-full mr-1", children: "\xA0" }),
567
- feature && feature.tag && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "px-1 py-0.5 text-[6px] rounded bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200 font-semibold align-middle", children: feature.tag }),
568
- feature ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative group cursor-pointer text-sm text-gray-800 dark:text-gray-200", children: [
569
- feature.description,
570
- feature.tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
571
- "span",
572
- {
573
- className: "ml-1 align-middle inline-flex",
574
- "data-tooltip-trigger": `${plan.key}-${i}`,
575
- "data-tooltip-content": feature.tooltip,
576
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }) })
577
- }
578
- )
579
- ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "\xA0" })
580
- ] }, i)) }),
581
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" }),
582
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
583
- "button",
584
- {
585
- className: _chunkECWCWQCDjs.cn.call(void 0,
586
- "w-full py-2 mt-auto text-white text-base font-bold shadow-lg hover:shadow-xl transition-all duration-300 rounded-full",
587
- ((_a2 = plan.button) == null ? void 0 : _a2.disabled) ? "bg-gray-400 cursor-not-allowed" : "bg-gradient-to-r from-purple-400 to-pink-500 hover:from-purple-500 hover:to-pink-600 dark:from-purple-500 dark:to-pink-600 dark:hover:from-purple-600 dark:hover:to-pink-700"
588
- ),
589
- disabled: (_b2 = plan.button) == null ? void 0 : _b2.disabled,
590
- type: "button",
591
- "data-plan-button": plan.key,
592
- children: ((_c = plan.button) == null ? void 0 : _c.text) || "--"
593
- }
594
- )
595
- ]
596
- },
597
- plan.key
598
- );
599
- }) }),
600
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXCKOFS5Wjs.PricePlanInteractive, { data })
601
- ] });
602
- });
603
- }
604
-
605
-
606
-
607
-
608
-
609
-
610
-
611
-
612
-
613
-
614
- exports.CTA = CTA; exports.FAQ = FAQ; exports.Features = Features; exports.Footer = Footer; exports.Gallery = Gallery; exports.PricePlan = PricePlan; exports.SeoContent = SeoContent; exports.Tips = Tips; exports.Usage = Usage;
615
- //# sourceMappingURL=server.js.map