@dmitriikapustin/ui 0.1.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1595 -798
- package/dist/index.css +4613 -0
- package/dist/index.d.cts +29 -7
- package/dist/index.d.ts +29 -7
- package/dist/index.js +1595 -798
- package/package.json +8 -10
package/dist/index.cjs
CHANGED
|
@@ -40,6 +40,12 @@ var __objRest = (source, exclude) => {
|
|
|
40
40
|
}
|
|
41
41
|
return target;
|
|
42
42
|
};
|
|
43
|
+
|
|
44
|
+
// src/atoms/Spinner.module.scss
|
|
45
|
+
var Spinner_module_default = {
|
|
46
|
+
root: "Spinner_module_root",
|
|
47
|
+
fallback: "Spinner_module_fallback"
|
|
48
|
+
};
|
|
43
49
|
var sizeMap = {
|
|
44
50
|
sm: 32,
|
|
45
51
|
md: 48,
|
|
@@ -47,7 +53,7 @@ var sizeMap = {
|
|
|
47
53
|
};
|
|
48
54
|
var cachedData = null;
|
|
49
55
|
function Spinner({ size = "md", className = "" }) {
|
|
50
|
-
const
|
|
56
|
+
const px = sizeMap[size];
|
|
51
57
|
const [data, setData] = react.useState(() => cachedData);
|
|
52
58
|
react.useEffect(() => {
|
|
53
59
|
if (data) return;
|
|
@@ -66,8 +72,8 @@ function Spinner({ size = "md", className = "" }) {
|
|
|
66
72
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
67
73
|
"div",
|
|
68
74
|
{
|
|
69
|
-
className:
|
|
70
|
-
style: { width:
|
|
75
|
+
className: `${Spinner_module_default.root} ${className}`,
|
|
76
|
+
style: { width: px, height: px },
|
|
71
77
|
"aria-label": "Loading",
|
|
72
78
|
children: data ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
73
79
|
Lottie__default.default,
|
|
@@ -75,27 +81,29 @@ function Spinner({ size = "md", className = "" }) {
|
|
|
75
81
|
animationData: data,
|
|
76
82
|
loop: true,
|
|
77
83
|
autoplay: true,
|
|
78
|
-
style: { width:
|
|
84
|
+
style: { width: px, height: px }
|
|
79
85
|
}
|
|
80
86
|
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
81
87
|
"div",
|
|
82
88
|
{
|
|
83
|
-
className:
|
|
84
|
-
style: { width:
|
|
89
|
+
className: Spinner_module_default.fallback,
|
|
90
|
+
style: { width: px * 0.7, height: px * 0.7 }
|
|
85
91
|
}
|
|
86
92
|
)
|
|
87
93
|
}
|
|
88
94
|
);
|
|
89
95
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
96
|
+
|
|
97
|
+
// src/atoms/Button.module.scss
|
|
98
|
+
var Button_module_default = {
|
|
99
|
+
root: "Button_module_root",
|
|
100
|
+
primary: "Button_module_primary",
|
|
101
|
+
secondary: "Button_module_secondary",
|
|
102
|
+
outline: "Button_module_outline",
|
|
103
|
+
ghost: "Button_module_ghost",
|
|
104
|
+
sm: "Button_module_sm",
|
|
105
|
+
md: "Button_module_md",
|
|
106
|
+
disabled: "Button_module_disabled"
|
|
99
107
|
};
|
|
100
108
|
function Button(_a) {
|
|
101
109
|
var _b = _a, {
|
|
@@ -120,7 +128,7 @@ function Button(_a) {
|
|
|
120
128
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
121
129
|
"button",
|
|
122
130
|
__spreadProps(__spreadValues({
|
|
123
|
-
className:
|
|
131
|
+
className: `${Button_module_default.root} ${Button_module_default[variant]} ${Button_module_default[size]}${disabled || loading ? ` ${Button_module_default.disabled}` : ""}${className ? ` ${className}` : ""}`,
|
|
124
132
|
disabled: disabled || loading
|
|
125
133
|
}, props), {
|
|
126
134
|
children: [
|
|
@@ -131,6 +139,20 @@ function Button(_a) {
|
|
|
131
139
|
})
|
|
132
140
|
);
|
|
133
141
|
}
|
|
142
|
+
|
|
143
|
+
// src/atoms/Input.module.scss
|
|
144
|
+
var Input_module_default = {
|
|
145
|
+
wrapper: "Input_module_wrapper",
|
|
146
|
+
label: "Input_module_label",
|
|
147
|
+
inputWrap: "Input_module_inputWrap",
|
|
148
|
+
input: "Input_module_input",
|
|
149
|
+
hasIconLeft: "Input_module_hasIconLeft",
|
|
150
|
+
hasIconRight: "Input_module_hasIconRight",
|
|
151
|
+
iconLeft: "Input_module_iconLeft",
|
|
152
|
+
iconRight: "Input_module_iconRight",
|
|
153
|
+
error: "Input_module_error",
|
|
154
|
+
errorText: "Input_module_errorText"
|
|
155
|
+
};
|
|
134
156
|
function Input(_a) {
|
|
135
157
|
var _b = _a, {
|
|
136
158
|
label,
|
|
@@ -148,41 +170,37 @@ function Input(_a) {
|
|
|
148
170
|
"id"
|
|
149
171
|
]);
|
|
150
172
|
const inputId = id || (label == null ? void 0 : label.toLowerCase().replace(/\s+/g, "-"));
|
|
151
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
152
|
-
label && /* @__PURE__ */ jsxRuntime.jsx(
|
|
153
|
-
|
|
154
|
-
{
|
|
155
|
-
htmlFor: inputId,
|
|
156
|
-
className: "text-[13px] font-medium text-[var(--fg)] tracking-[-0.25px]",
|
|
157
|
-
children: label
|
|
158
|
-
}
|
|
159
|
-
),
|
|
160
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
161
|
-
icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-3.5 top-1/2 -translate-y-1/2 text-[var(--fg-muted)]", children: icon }),
|
|
173
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Input_module_default.wrapper, children: [
|
|
174
|
+
label && /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: inputId, className: Input_module_default.label, children: label }),
|
|
175
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Input_module_default.inputWrap, children: [
|
|
176
|
+
icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: Input_module_default.iconLeft, children: icon }),
|
|
162
177
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
163
178
|
"input",
|
|
164
179
|
__spreadValues({
|
|
165
180
|
id: inputId,
|
|
166
|
-
className:
|
|
181
|
+
className: `${Input_module_default.input}${icon ? ` ${Input_module_default.hasIconLeft}` : ""}${iconRight ? ` ${Input_module_default.hasIconRight}` : ""}${error ? ` ${Input_module_default.error}` : ""}${className ? ` ${className}` : ""}`
|
|
167
182
|
}, props)
|
|
168
183
|
),
|
|
169
|
-
iconRight && /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
184
|
+
iconRight && /* @__PURE__ */ jsxRuntime.jsx("span", { className: Input_module_default.iconRight, children: iconRight })
|
|
170
185
|
] }),
|
|
171
|
-
error && /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
186
|
+
error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: Input_module_default.errorText, children: error })
|
|
172
187
|
] });
|
|
173
188
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
189
|
+
|
|
190
|
+
// src/atoms/Badge.module.scss
|
|
191
|
+
var Badge_module_default = {
|
|
192
|
+
root: "Badge_module_root",
|
|
193
|
+
default: "Badge_module_default",
|
|
194
|
+
success: "Badge_module_success",
|
|
195
|
+
warning: "Badge_module_warning",
|
|
196
|
+
error: "Badge_module_error",
|
|
197
|
+
info: "Badge_module_info"
|
|
180
198
|
};
|
|
181
199
|
function Badge({ color = "default", children, className = "" }) {
|
|
182
200
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
183
201
|
"span",
|
|
184
202
|
{
|
|
185
|
-
className:
|
|
203
|
+
className: `${Badge_module_default.root} ${Badge_module_default[color]}${className ? ` ${className}` : ""}`,
|
|
186
204
|
children
|
|
187
205
|
}
|
|
188
206
|
);
|
|
@@ -220,71 +238,108 @@ var IconlyEye = IconlyActivity;
|
|
|
220
238
|
var IconlyEyeOff = IconlyActivity;
|
|
221
239
|
var IconlyChevronRight = IconlyActivity;
|
|
222
240
|
var IconlyChevronLeft = IconlyActivity;
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
241
|
+
|
|
242
|
+
// src/atoms/Tag.module.scss
|
|
243
|
+
var Tag_module_default = {
|
|
244
|
+
root: "Tag_module_root",
|
|
245
|
+
default: "Tag_module_default",
|
|
246
|
+
primary: "Tag_module_primary",
|
|
247
|
+
success: "Tag_module_success",
|
|
248
|
+
warning: "Tag_module_warning",
|
|
249
|
+
error: "Tag_module_error",
|
|
250
|
+
closeBtn: "Tag_module_closeBtn"
|
|
229
251
|
};
|
|
230
252
|
function Tag({ color = "default", closable = false, onClose, children, className = "" }) {
|
|
253
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: `${Tag_module_default.root} ${Tag_module_default[color]} ${className}`, children: [
|
|
254
|
+
children,
|
|
255
|
+
closable && /* @__PURE__ */ jsxRuntime.jsx(
|
|
256
|
+
"button",
|
|
257
|
+
{
|
|
258
|
+
onClick: onClose,
|
|
259
|
+
className: Tag_module_default.closeBtn,
|
|
260
|
+
"aria-label": "Remove tag",
|
|
261
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(IconlyClose, { size: 12 })
|
|
262
|
+
}
|
|
263
|
+
)
|
|
264
|
+
] });
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
// src/atoms/Toggle.module.scss
|
|
268
|
+
var Toggle_module_default = {
|
|
269
|
+
root: "Toggle_module_root",
|
|
270
|
+
track: "Toggle_module_track",
|
|
271
|
+
trackOn: "Toggle_module_trackOn",
|
|
272
|
+
trackOff: "Toggle_module_trackOff",
|
|
273
|
+
knob: "Toggle_module_knob",
|
|
274
|
+
knobOn: "Toggle_module_knobOn",
|
|
275
|
+
knobOff: "Toggle_module_knobOff",
|
|
276
|
+
label: "Toggle_module_label",
|
|
277
|
+
disabled: "Toggle_module_disabled"
|
|
278
|
+
};
|
|
279
|
+
function Toggle({
|
|
280
|
+
checked = false,
|
|
281
|
+
onChange,
|
|
282
|
+
label,
|
|
283
|
+
disabled = false,
|
|
284
|
+
className = ""
|
|
285
|
+
}) {
|
|
231
286
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
232
|
-
"
|
|
287
|
+
"label",
|
|
233
288
|
{
|
|
234
|
-
className:
|
|
289
|
+
className: `${Toggle_module_default.root}${disabled ? ` ${Toggle_module_default.disabled}` : ""}${className ? ` ${className}` : ""}`,
|
|
235
290
|
children: [
|
|
236
|
-
|
|
237
|
-
closable && /* @__PURE__ */ jsxRuntime.jsx(
|
|
291
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
238
292
|
"button",
|
|
239
293
|
{
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
"aria-
|
|
243
|
-
|
|
294
|
+
role: "switch",
|
|
295
|
+
type: "button",
|
|
296
|
+
"aria-checked": checked,
|
|
297
|
+
disabled,
|
|
298
|
+
onClick: () => onChange == null ? void 0 : onChange(!checked),
|
|
299
|
+
className: `${Toggle_module_default.track} ${checked ? Toggle_module_default.trackOn : Toggle_module_default.trackOff}${disabled ? ` ${Toggle_module_default.disabled}` : ""}`,
|
|
300
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
301
|
+
"span",
|
|
302
|
+
{
|
|
303
|
+
className: `${Toggle_module_default.knob} ${checked ? Toggle_module_default.knobOn : Toggle_module_default.knobOff}`
|
|
304
|
+
}
|
|
305
|
+
)
|
|
244
306
|
}
|
|
245
|
-
)
|
|
307
|
+
),
|
|
308
|
+
label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: Toggle_module_default.label, children: label })
|
|
246
309
|
]
|
|
247
310
|
}
|
|
248
311
|
);
|
|
249
312
|
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
] });
|
|
271
|
-
}
|
|
272
|
-
var sizeMap2 = {
|
|
273
|
-
sm: { container: "w-8 h-8", text: "text-xs" },
|
|
274
|
-
md: { container: "w-10 h-10", text: "text-sm" },
|
|
275
|
-
lg: { container: "w-12 h-12", text: "text-base" },
|
|
276
|
-
xl: { container: "w-16 h-16", text: "text-lg" }
|
|
313
|
+
|
|
314
|
+
// src/atoms/Avatar.module.scss
|
|
315
|
+
var Avatar_module_default = {
|
|
316
|
+
root: "Avatar_module_root",
|
|
317
|
+
initials: "Avatar_module_initials",
|
|
318
|
+
initialsText: "Avatar_module_initialsText",
|
|
319
|
+
sm: "Avatar_module_sm",
|
|
320
|
+
md: "Avatar_module_md",
|
|
321
|
+
lg: "Avatar_module_lg",
|
|
322
|
+
xl: "Avatar_module_xl",
|
|
323
|
+
textSm: "Avatar_module_textSm",
|
|
324
|
+
textMd: "Avatar_module_textMd",
|
|
325
|
+
textLg: "Avatar_module_textLg",
|
|
326
|
+
textXl: "Avatar_module_textXl"
|
|
327
|
+
};
|
|
328
|
+
var textSizeMap = {
|
|
329
|
+
sm: Avatar_module_default.textSm,
|
|
330
|
+
md: Avatar_module_default.textMd,
|
|
331
|
+
lg: Avatar_module_default.textLg,
|
|
332
|
+
xl: Avatar_module_default.textXl
|
|
277
333
|
};
|
|
278
334
|
function Avatar(_a) {
|
|
279
335
|
var _b = _a, { src, alt = "", initials, size = "md", className = "" } = _b, props = __objRest(_b, ["src", "alt", "initials", "size", "className"]);
|
|
280
|
-
const s = sizeMap2[size];
|
|
281
336
|
if (!src && initials) {
|
|
282
337
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
283
338
|
"div",
|
|
284
339
|
{
|
|
285
|
-
className: `${
|
|
340
|
+
className: `${Avatar_module_default.initials} ${Avatar_module_default[size]}${className ? ` ${className}` : ""}`,
|
|
286
341
|
"aria-label": alt || initials,
|
|
287
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: `${
|
|
342
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: `${Avatar_module_default.initialsText} ${textSizeMap[size]}`, children: initials })
|
|
288
343
|
}
|
|
289
344
|
);
|
|
290
345
|
}
|
|
@@ -296,37 +351,59 @@ function Avatar(_a) {
|
|
|
296
351
|
__spreadValues({
|
|
297
352
|
src: imgSrc,
|
|
298
353
|
alt,
|
|
299
|
-
className: `${
|
|
354
|
+
className: `${Avatar_module_default.root} ${Avatar_module_default[size]}${className ? ` ${className}` : ""}`
|
|
300
355
|
}, props)
|
|
301
356
|
)
|
|
302
357
|
);
|
|
303
358
|
}
|
|
359
|
+
|
|
360
|
+
// src/atoms/Divider.module.scss
|
|
361
|
+
var Divider_module_default = {
|
|
362
|
+
root: "Divider_module_root",
|
|
363
|
+
withLabel: "Divider_module_withLabel",
|
|
364
|
+
line: "Divider_module_line",
|
|
365
|
+
label: "Divider_module_label"
|
|
366
|
+
};
|
|
304
367
|
function Divider({ className = "", label }) {
|
|
305
368
|
if (label) {
|
|
306
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
307
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
308
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
309
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
369
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${Divider_module_default.withLabel}${className ? ` ${className}` : ""}`, children: [
|
|
370
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: Divider_module_default.line }),
|
|
371
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: Divider_module_default.label, children: label }),
|
|
372
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: Divider_module_default.line })
|
|
310
373
|
] });
|
|
311
374
|
}
|
|
312
|
-
return /* @__PURE__ */ jsxRuntime.jsx("hr", { className:
|
|
375
|
+
return /* @__PURE__ */ jsxRuntime.jsx("hr", { className: `${Divider_module_default.root}${className ? ` ${className}` : ""}` });
|
|
313
376
|
}
|
|
314
|
-
|
|
315
|
-
|
|
377
|
+
|
|
378
|
+
// src/atoms/MenuItem.module.scss
|
|
379
|
+
var MenuItem_module_default = {
|
|
380
|
+
root: "MenuItem_module_root",
|
|
381
|
+
icon: "MenuItem_module_icon",
|
|
382
|
+
active: "MenuItem_module_active"
|
|
383
|
+
};
|
|
384
|
+
function MenuItem({ text, active = false, onClick, className = "", icon }) {
|
|
385
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
316
386
|
"button",
|
|
317
387
|
{
|
|
318
388
|
onClick,
|
|
319
|
-
className:
|
|
320
|
-
children:
|
|
389
|
+
className: `${MenuItem_module_default.root}${active ? ` ${MenuItem_module_default.active}` : ""}${className ? ` ${className}` : ""}`,
|
|
390
|
+
children: [
|
|
391
|
+
icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: MenuItem_module_default.icon, children: icon }),
|
|
392
|
+
text
|
|
393
|
+
]
|
|
321
394
|
}
|
|
322
395
|
);
|
|
323
396
|
}
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
397
|
+
|
|
398
|
+
// src/atoms/IconButton.module.scss
|
|
399
|
+
var IconButton_module_default = {
|
|
400
|
+
root: "IconButton_module_root",
|
|
401
|
+
primary: "IconButton_module_primary",
|
|
402
|
+
secondary: "IconButton_module_secondary",
|
|
403
|
+
clear: "IconButton_module_clear",
|
|
404
|
+
disabled: "IconButton_module_disabled",
|
|
405
|
+
contrast: "IconButton_module_contrast",
|
|
406
|
+
isDisabled: "IconButton_module_isDisabled"
|
|
330
407
|
};
|
|
331
408
|
function IconButton(_a) {
|
|
332
409
|
var _b = _a, { icon, variant = "primary", className = "", disabled } = _b, props = __objRest(_b, ["icon", "variant", "className", "disabled"]);
|
|
@@ -334,34 +411,57 @@ function IconButton(_a) {
|
|
|
334
411
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
335
412
|
"button",
|
|
336
413
|
__spreadProps(__spreadValues({
|
|
337
|
-
className:
|
|
414
|
+
className: `${IconButton_module_default.root} ${IconButton_module_default[variant]}${isDisabled ? ` ${IconButton_module_default.isDisabled}` : ""}${className ? ` ${className}` : ""}`,
|
|
338
415
|
disabled: isDisabled
|
|
339
416
|
}, props), {
|
|
340
417
|
children: icon
|
|
341
418
|
})
|
|
342
419
|
);
|
|
343
420
|
}
|
|
421
|
+
|
|
422
|
+
// src/atoms/Logo.module.scss
|
|
423
|
+
var Logo_module_default = {
|
|
424
|
+
short: "Logo_module_short",
|
|
425
|
+
full: "Logo_module_full",
|
|
426
|
+
third: "Logo_module_third",
|
|
427
|
+
thirdText: "Logo_module_thirdText"
|
|
428
|
+
};
|
|
344
429
|
function Logo({ version = "short", className = "" }) {
|
|
345
430
|
if (version === "short") {
|
|
346
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `
|
|
431
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${Logo_module_default.short}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxRuntime.jsx("img", { className: "logo-img", src: "/assets/logos/logo-short.svg", alt: "aiacade.me", width: 19, height: 20 }) });
|
|
347
432
|
}
|
|
348
433
|
if (version === "third") {
|
|
349
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
434
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${Logo_module_default.third}${className ? ` ${className}` : ""}`, children: [
|
|
350
435
|
/* @__PURE__ */ jsxRuntime.jsx("img", { className: "logo-img", src: "/assets/logos/logo-icon.svg", alt: "", width: 20, height: 20 }),
|
|
351
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
436
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: Logo_module_default.thirdText, children: "aiacade.me" })
|
|
352
437
|
] });
|
|
353
438
|
}
|
|
354
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `
|
|
439
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${Logo_module_default.full}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxRuntime.jsx("img", { className: "logo-img", src: "/assets/logos/logo-full.svg", alt: "aiacade.me", width: 130, height: 20 }) });
|
|
355
440
|
}
|
|
441
|
+
|
|
442
|
+
// src/atoms/StatBadge.module.scss
|
|
443
|
+
var StatBadge_module_default = {
|
|
444
|
+
root: "StatBadge_module_root",
|
|
445
|
+
bracket: "StatBadge_module_bracket"
|
|
446
|
+
};
|
|
356
447
|
function StatBadge({ value, suffix, showBrackets = false, className = "" }) {
|
|
357
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("span", { className:
|
|
358
|
-
showBrackets && /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
448
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: `${StatBadge_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
449
|
+
showBrackets && /* @__PURE__ */ jsxRuntime.jsx("span", { className: StatBadge_module_default.bracket, children: "[ " }),
|
|
359
450
|
value,
|
|
360
451
|
" ",
|
|
361
452
|
suffix,
|
|
362
|
-
showBrackets && /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
453
|
+
showBrackets && /* @__PURE__ */ jsxRuntime.jsx("span", { className: StatBadge_module_default.bracket, children: " ]" })
|
|
363
454
|
] });
|
|
364
455
|
}
|
|
456
|
+
|
|
457
|
+
// src/atoms/Textarea.module.scss
|
|
458
|
+
var Textarea_module_default = {
|
|
459
|
+
wrapper: "Textarea_module_wrapper",
|
|
460
|
+
label: "Textarea_module_label",
|
|
461
|
+
textarea: "Textarea_module_textarea",
|
|
462
|
+
error: "Textarea_module_error",
|
|
463
|
+
errorText: "Textarea_module_errorText"
|
|
464
|
+
};
|
|
365
465
|
function Textarea(_a) {
|
|
366
466
|
var _b = _a, {
|
|
367
467
|
label,
|
|
@@ -377,26 +477,30 @@ function Textarea(_a) {
|
|
|
377
477
|
"rows"
|
|
378
478
|
]);
|
|
379
479
|
const textareaId = id || (label == null ? void 0 : label.toLowerCase().replace(/\s+/g, "-"));
|
|
380
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
381
|
-
label && /* @__PURE__ */ jsxRuntime.jsx(
|
|
382
|
-
"label",
|
|
383
|
-
{
|
|
384
|
-
htmlFor: textareaId,
|
|
385
|
-
className: "text-[13px] font-medium text-[var(--fg)] tracking-[-0.25px]",
|
|
386
|
-
children: label
|
|
387
|
-
}
|
|
388
|
-
),
|
|
480
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Textarea_module_default.wrapper, children: [
|
|
481
|
+
label && /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: textareaId, className: Textarea_module_default.label, children: label }),
|
|
389
482
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
390
483
|
"textarea",
|
|
391
484
|
__spreadValues({
|
|
392
485
|
id: textareaId,
|
|
393
486
|
rows,
|
|
394
|
-
className:
|
|
487
|
+
className: `${Textarea_module_default.textarea}${error ? ` ${Textarea_module_default.error}` : ""}${className ? ` ${className}` : ""}`
|
|
395
488
|
}, props)
|
|
396
489
|
),
|
|
397
|
-
error && /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
490
|
+
error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: Textarea_module_default.errorText, children: error })
|
|
398
491
|
] });
|
|
399
492
|
}
|
|
493
|
+
|
|
494
|
+
// src/atoms/Select.module.scss
|
|
495
|
+
var Select_module_default = {
|
|
496
|
+
wrapper: "Select_module_wrapper",
|
|
497
|
+
label: "Select_module_label",
|
|
498
|
+
selectWrap: "Select_module_selectWrap",
|
|
499
|
+
select: "Select_module_select",
|
|
500
|
+
chevron: "Select_module_chevron",
|
|
501
|
+
error: "Select_module_error",
|
|
502
|
+
errorText: "Select_module_errorText"
|
|
503
|
+
};
|
|
400
504
|
function Select(_a) {
|
|
401
505
|
var _b = _a, {
|
|
402
506
|
label,
|
|
@@ -414,21 +518,14 @@ function Select(_a) {
|
|
|
414
518
|
"id"
|
|
415
519
|
]);
|
|
416
520
|
const selectId = id || (label == null ? void 0 : label.toLowerCase().replace(/\s+/g, "-"));
|
|
417
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
418
|
-
label && /* @__PURE__ */ jsxRuntime.jsx(
|
|
419
|
-
|
|
420
|
-
{
|
|
421
|
-
htmlFor: selectId,
|
|
422
|
-
className: "text-[13px] font-medium text-[var(--fg)] tracking-[-0.25px]",
|
|
423
|
-
children: label
|
|
424
|
-
}
|
|
425
|
-
),
|
|
426
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
521
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Select_module_default.wrapper, children: [
|
|
522
|
+
label && /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: selectId, className: Select_module_default.label, children: label }),
|
|
523
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Select_module_default.selectWrap, children: [
|
|
427
524
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
428
525
|
"select",
|
|
429
526
|
__spreadProps(__spreadValues(__spreadValues({
|
|
430
527
|
id: selectId,
|
|
431
|
-
className:
|
|
528
|
+
className: `${Select_module_default.select}${error ? ` ${Select_module_default.error}` : ""}${className ? ` ${className}` : ""}`
|
|
432
529
|
}, !("value" in props) && { defaultValue: "" }), props), {
|
|
433
530
|
children: [
|
|
434
531
|
placeholder && /* @__PURE__ */ jsxRuntime.jsx("option", { value: "", disabled: true, children: placeholder }),
|
|
@@ -436,11 +533,22 @@ function Select(_a) {
|
|
|
436
533
|
]
|
|
437
534
|
})
|
|
438
535
|
),
|
|
439
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
536
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: Select_module_default.chevron, children: /* @__PURE__ */ jsxRuntime.jsx(IconlyChevronDown, { size: 16 }) })
|
|
440
537
|
] }),
|
|
441
|
-
error && /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
538
|
+
error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: Select_module_default.errorText, children: error })
|
|
442
539
|
] });
|
|
443
540
|
}
|
|
541
|
+
|
|
542
|
+
// src/atoms/Checkbox.module.scss
|
|
543
|
+
var Checkbox_module_default = {
|
|
544
|
+
root: "Checkbox_module_root",
|
|
545
|
+
hiddenInput: "Checkbox_module_hiddenInput",
|
|
546
|
+
box: "Checkbox_module_box",
|
|
547
|
+
checked: "Checkbox_module_checked",
|
|
548
|
+
unchecked: "Checkbox_module_unchecked",
|
|
549
|
+
label: "Checkbox_module_label",
|
|
550
|
+
disabled: "Checkbox_module_disabled"
|
|
551
|
+
};
|
|
444
552
|
function Checkbox({
|
|
445
553
|
checked = false,
|
|
446
554
|
onChange,
|
|
@@ -451,7 +559,7 @@ function Checkbox({
|
|
|
451
559
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
452
560
|
"label",
|
|
453
561
|
{
|
|
454
|
-
className:
|
|
562
|
+
className: `${Checkbox_module_default.root}${disabled ? ` ${Checkbox_module_default.disabled}` : ""}${className ? ` ${className}` : ""}`,
|
|
455
563
|
children: [
|
|
456
564
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
457
565
|
"input",
|
|
@@ -460,13 +568,13 @@ function Checkbox({
|
|
|
460
568
|
checked,
|
|
461
569
|
disabled,
|
|
462
570
|
onChange: () => onChange == null ? void 0 : onChange(!checked),
|
|
463
|
-
className:
|
|
571
|
+
className: Checkbox_module_default.hiddenInput
|
|
464
572
|
}
|
|
465
573
|
),
|
|
466
574
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
467
575
|
"span",
|
|
468
576
|
{
|
|
469
|
-
className:
|
|
577
|
+
className: `${Checkbox_module_default.box} ${checked ? Checkbox_module_default.checked : Checkbox_module_default.unchecked}`,
|
|
470
578
|
children: checked && /* @__PURE__ */ jsxRuntime.jsx(
|
|
471
579
|
"svg",
|
|
472
580
|
{
|
|
@@ -489,11 +597,23 @@ function Checkbox({
|
|
|
489
597
|
)
|
|
490
598
|
}
|
|
491
599
|
),
|
|
492
|
-
label && /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
600
|
+
label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: Checkbox_module_default.label, children: label })
|
|
493
601
|
]
|
|
494
602
|
}
|
|
495
603
|
);
|
|
496
604
|
}
|
|
605
|
+
|
|
606
|
+
// src/atoms/Radio.module.scss
|
|
607
|
+
var Radio_module_default = {
|
|
608
|
+
root: "Radio_module_root",
|
|
609
|
+
hiddenInput: "Radio_module_hiddenInput",
|
|
610
|
+
circle: "Radio_module_circle",
|
|
611
|
+
checked: "Radio_module_checked",
|
|
612
|
+
unchecked: "Radio_module_unchecked",
|
|
613
|
+
dot: "Radio_module_dot",
|
|
614
|
+
label: "Radio_module_label",
|
|
615
|
+
disabled: "Radio_module_disabled"
|
|
616
|
+
};
|
|
497
617
|
function Radio({
|
|
498
618
|
checked = false,
|
|
499
619
|
onChange,
|
|
@@ -506,7 +626,7 @@ function Radio({
|
|
|
506
626
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
507
627
|
"label",
|
|
508
628
|
{
|
|
509
|
-
className:
|
|
629
|
+
className: `${Radio_module_default.root}${disabled ? ` ${Radio_module_default.disabled}` : ""}${className ? ` ${className}` : ""}`,
|
|
510
630
|
children: [
|
|
511
631
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
512
632
|
"input",
|
|
@@ -517,60 +637,71 @@ function Radio({
|
|
|
517
637
|
name,
|
|
518
638
|
value,
|
|
519
639
|
onChange: () => onChange == null ? void 0 : onChange(!checked),
|
|
520
|
-
className:
|
|
640
|
+
className: Radio_module_default.hiddenInput
|
|
521
641
|
}
|
|
522
642
|
),
|
|
523
643
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
524
644
|
"span",
|
|
525
645
|
{
|
|
526
|
-
className:
|
|
527
|
-
children: checked && /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
646
|
+
className: `${Radio_module_default.circle} ${checked ? Radio_module_default.checked : Radio_module_default.unchecked}`,
|
|
647
|
+
children: checked && /* @__PURE__ */ jsxRuntime.jsx("span", { className: Radio_module_default.dot })
|
|
528
648
|
}
|
|
529
649
|
),
|
|
530
|
-
label && /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
650
|
+
label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: Radio_module_default.label, children: label })
|
|
531
651
|
]
|
|
532
652
|
}
|
|
533
653
|
);
|
|
534
654
|
}
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
655
|
+
|
|
656
|
+
// src/atoms/Link.module.scss
|
|
657
|
+
var Link_module_default = {
|
|
658
|
+
root: "Link_module_root",
|
|
659
|
+
default: "Link_module_default",
|
|
660
|
+
muted: "Link_module_muted",
|
|
661
|
+
underline: "Link_module_underline"
|
|
539
662
|
};
|
|
540
663
|
function Link(_a) {
|
|
541
664
|
var _b = _a, { variant = "default", className = "", children } = _b, rest = __objRest(_b, ["variant", "className", "children"]);
|
|
542
665
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
543
666
|
"a",
|
|
544
667
|
__spreadProps(__spreadValues({
|
|
545
|
-
className:
|
|
668
|
+
className: `${Link_module_default.root} ${Link_module_default[variant]}${className ? ` ${className}` : ""}`
|
|
546
669
|
}, rest), {
|
|
547
670
|
children
|
|
548
671
|
})
|
|
549
672
|
);
|
|
550
673
|
}
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
674
|
+
|
|
675
|
+
// src/atoms/Tooltip.module.scss
|
|
676
|
+
var Tooltip_module_default = {
|
|
677
|
+
root: "Tooltip_module_root",
|
|
678
|
+
tooltip: "Tooltip_module_tooltip",
|
|
679
|
+
top: "Tooltip_module_top",
|
|
680
|
+
bottom: "Tooltip_module_bottom",
|
|
681
|
+
left: "Tooltip_module_left",
|
|
682
|
+
right: "Tooltip_module_right"
|
|
556
683
|
};
|
|
557
684
|
function Tooltip({ content, position = "top", children, className = "" }) {
|
|
558
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("span", { className:
|
|
685
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: `${Tooltip_module_default.root} ${className}`, children: [
|
|
559
686
|
children,
|
|
560
687
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
561
688
|
"span",
|
|
562
689
|
{
|
|
563
690
|
role: "tooltip",
|
|
564
|
-
className:
|
|
691
|
+
className: `${Tooltip_module_default.tooltip} ${Tooltip_module_default[position]}`,
|
|
565
692
|
children: content
|
|
566
693
|
}
|
|
567
694
|
)
|
|
568
695
|
] });
|
|
569
696
|
}
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
697
|
+
|
|
698
|
+
// src/atoms/Skeleton.module.scss
|
|
699
|
+
var Skeleton_module_default = {
|
|
700
|
+
pulse: "Skeleton_module_pulse",
|
|
701
|
+
root: "Skeleton_module_root",
|
|
702
|
+
line: "Skeleton_module_line",
|
|
703
|
+
circle: "Skeleton_module_circle",
|
|
704
|
+
rect: "Skeleton_module_rect"
|
|
574
705
|
};
|
|
575
706
|
function Skeleton({ variant = "line", width, height, className = "" }) {
|
|
576
707
|
const style = {};
|
|
@@ -583,12 +714,23 @@ function Skeleton({ variant = "line", width, height, className = "" }) {
|
|
|
583
714
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
584
715
|
"div",
|
|
585
716
|
{
|
|
586
|
-
className:
|
|
717
|
+
className: `${Skeleton_module_default.root} ${Skeleton_module_default[variant]} ${className}`,
|
|
587
718
|
style: Object.keys(style).length > 0 ? style : void 0,
|
|
588
719
|
"aria-hidden": "true"
|
|
589
720
|
}
|
|
590
721
|
);
|
|
591
722
|
}
|
|
723
|
+
|
|
724
|
+
// src/atoms/TicketButton.module.scss
|
|
725
|
+
var TicketButton_module_default = {
|
|
726
|
+
root: "TicketButton_module_root",
|
|
727
|
+
stub: "TicketButton_module_stub",
|
|
728
|
+
body: "TicketButton_module_body",
|
|
729
|
+
bodySvg: "TicketButton_module_bodySvg",
|
|
730
|
+
bodyText: "TicketButton_module_bodyText",
|
|
731
|
+
stubSvg: "TicketButton_module_stubSvg",
|
|
732
|
+
stubIcon: "TicketButton_module_stubIcon"
|
|
733
|
+
};
|
|
592
734
|
var DefaultIcon = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntime.jsx("polyline", { points: "9 18 15 12 9 6" }) });
|
|
593
735
|
function TicketButton(_a) {
|
|
594
736
|
var _b = _a, {
|
|
@@ -611,14 +753,14 @@ function TicketButton(_a) {
|
|
|
611
753
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
612
754
|
"button",
|
|
613
755
|
__spreadProps(__spreadValues({
|
|
614
|
-
className:
|
|
756
|
+
className: `${TicketButton_module_default.root} ${className}`
|
|
615
757
|
}, props), {
|
|
616
758
|
children: [
|
|
617
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className:
|
|
759
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: TicketButton_module_default.body, children: [
|
|
618
760
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
619
761
|
"svg",
|
|
620
762
|
{
|
|
621
|
-
className:
|
|
763
|
+
className: TicketButton_module_default.bodySvg,
|
|
622
764
|
viewBox: "0 0 140 56",
|
|
623
765
|
fill: "none",
|
|
624
766
|
preserveAspectRatio: "none",
|
|
@@ -643,13 +785,13 @@ function TicketButton(_a) {
|
|
|
643
785
|
]
|
|
644
786
|
}
|
|
645
787
|
),
|
|
646
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
788
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: TicketButton_module_default.bodyText, style: { color: fg }, children })
|
|
647
789
|
] }),
|
|
648
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className:
|
|
790
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: TicketButton_module_default.stub, children: [
|
|
649
791
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
650
792
|
"svg",
|
|
651
793
|
{
|
|
652
|
-
className:
|
|
794
|
+
className: TicketButton_module_default.stubSvg,
|
|
653
795
|
viewBox: "0 0 56 56",
|
|
654
796
|
fill: "none",
|
|
655
797
|
preserveAspectRatio: "none",
|
|
@@ -673,36 +815,55 @@ function TicketButton(_a) {
|
|
|
673
815
|
]
|
|
674
816
|
}
|
|
675
817
|
),
|
|
676
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
818
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: TicketButton_module_default.stubIcon, style: { color: fg }, children: icon || /* @__PURE__ */ jsxRuntime.jsx(DefaultIcon, {}) })
|
|
677
819
|
] })
|
|
678
820
|
]
|
|
679
821
|
})
|
|
680
822
|
);
|
|
681
823
|
}
|
|
824
|
+
|
|
825
|
+
// src/molecules/Card.module.scss
|
|
826
|
+
var Card_module_default = {
|
|
827
|
+
root: "Card_module_root",
|
|
828
|
+
imageWrapper: "Card_module_imageWrapper",
|
|
829
|
+
image: "Card_module_image",
|
|
830
|
+
body: "Card_module_body",
|
|
831
|
+
title: "Card_module_title",
|
|
832
|
+
description: "Card_module_description",
|
|
833
|
+
footer: "Card_module_footer"
|
|
834
|
+
};
|
|
682
835
|
function Card({ image, title, description, footer, children, className = "" }) {
|
|
683
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
684
|
-
"div",
|
|
685
|
-
{
|
|
686
|
-
|
|
687
|
-
children:
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
children
|
|
693
|
-
] }),
|
|
694
|
-
footer && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-5 py-3 border-t border-[var(--border-color)] bg-[var(--bg-secondary)]", children: footer })
|
|
695
|
-
]
|
|
696
|
-
}
|
|
697
|
-
);
|
|
836
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${Card_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
837
|
+
image && /* @__PURE__ */ jsxRuntime.jsx("div", { className: Card_module_default.imageWrapper, children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: image, alt: title || "", className: Card_module_default.image }) }),
|
|
838
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Card_module_default.body, children: [
|
|
839
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: Card_module_default.title, children: title }),
|
|
840
|
+
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: Card_module_default.description, children: description }),
|
|
841
|
+
children
|
|
842
|
+
] }),
|
|
843
|
+
footer && /* @__PURE__ */ jsxRuntime.jsx("div", { className: Card_module_default.footer, children: footer })
|
|
844
|
+
] });
|
|
698
845
|
}
|
|
846
|
+
|
|
847
|
+
// src/molecules/FormField.module.scss
|
|
848
|
+
var FormField_module_default = {
|
|
849
|
+
root: "FormField_module_root",
|
|
850
|
+
hint: "FormField_module_hint"
|
|
851
|
+
};
|
|
699
852
|
function FormField(_a) {
|
|
700
853
|
var _b = _a, { label, error, hint, icon } = _b, inputProps = __objRest(_b, ["label", "error", "hint", "icon"]);
|
|
701
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
854
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: FormField_module_default.root, children: [
|
|
702
855
|
/* @__PURE__ */ jsxRuntime.jsx(Input, __spreadValues({ label, error, icon }, inputProps)),
|
|
703
|
-
hint && !error && /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
856
|
+
hint && !error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: FormField_module_default.hint, children: hint })
|
|
704
857
|
] });
|
|
705
858
|
}
|
|
859
|
+
|
|
860
|
+
// src/molecules/SearchBar.module.scss
|
|
861
|
+
var SearchBar_module_default = {
|
|
862
|
+
root: "SearchBar_module_root",
|
|
863
|
+
searchIcon: "SearchBar_module_searchIcon",
|
|
864
|
+
input: "SearchBar_module_input",
|
|
865
|
+
clearBtn: "SearchBar_module_clearBtn"
|
|
866
|
+
};
|
|
706
867
|
function SearchBar({ placeholder = "Search...", value: controlledValue, onChange, className = "" }) {
|
|
707
868
|
const [internalValue, setInternalValue] = react.useState("");
|
|
708
869
|
const value = controlledValue != null ? controlledValue : internalValue;
|
|
@@ -710,8 +871,8 @@ function SearchBar({ placeholder = "Search...", value: controlledValue, onChange
|
|
|
710
871
|
setInternalValue(val);
|
|
711
872
|
onChange == null ? void 0 : onChange(val);
|
|
712
873
|
};
|
|
713
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
714
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
874
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${SearchBar_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
875
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: SearchBar_module_default.searchIcon, children: /* @__PURE__ */ jsxRuntime.jsx(IconlySearch, { size: 18 }) }),
|
|
715
876
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
716
877
|
"input",
|
|
717
878
|
{
|
|
@@ -720,73 +881,95 @@ function SearchBar({ placeholder = "Search...", value: controlledValue, onChange
|
|
|
720
881
|
onChange: (e) => handleChange(e.target.value),
|
|
721
882
|
placeholder,
|
|
722
883
|
"aria-label": "Search",
|
|
723
|
-
className:
|
|
884
|
+
className: SearchBar_module_default.input
|
|
724
885
|
}
|
|
725
886
|
),
|
|
726
887
|
value && /* @__PURE__ */ jsxRuntime.jsx(
|
|
727
888
|
"button",
|
|
728
889
|
{
|
|
729
890
|
onClick: () => handleChange(""),
|
|
730
|
-
className:
|
|
891
|
+
className: SearchBar_module_default.clearBtn,
|
|
731
892
|
"aria-label": "Clear search",
|
|
732
893
|
children: /* @__PURE__ */ jsxRuntime.jsx(IconlyClose, { size: 16 })
|
|
733
894
|
}
|
|
734
895
|
)
|
|
735
896
|
] });
|
|
736
897
|
}
|
|
898
|
+
|
|
899
|
+
// src/molecules/Stat.module.scss
|
|
900
|
+
var Stat_module_default = {
|
|
901
|
+
root: "Stat_module_root",
|
|
902
|
+
valueRow: "Stat_module_valueRow",
|
|
903
|
+
value: "Stat_module_value",
|
|
904
|
+
trend: "Stat_module_trend",
|
|
905
|
+
positive: "Stat_module_positive",
|
|
906
|
+
negative: "Stat_module_negative",
|
|
907
|
+
label: "Stat_module_label"
|
|
908
|
+
};
|
|
737
909
|
function Stat({ value, label, trend, className = "" }) {
|
|
738
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
739
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
740
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
741
|
-
trend && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
742
|
-
"
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
trend.positive ? "\u2191" : "\u2193",
|
|
747
|
-
" ",
|
|
748
|
-
trend.value
|
|
749
|
-
]
|
|
750
|
-
}
|
|
751
|
-
)
|
|
910
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${Stat_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
911
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Stat_module_default.valueRow, children: [
|
|
912
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: Stat_module_default.value, children: value }),
|
|
913
|
+
trend && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: `${Stat_module_default.trend} ${trend.positive ? Stat_module_default.positive : Stat_module_default.negative}`, children: [
|
|
914
|
+
trend.positive ? "\u2191" : "\u2193",
|
|
915
|
+
" ",
|
|
916
|
+
trend.value
|
|
917
|
+
] })
|
|
752
918
|
] }),
|
|
753
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
919
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: Stat_module_default.label, children: label })
|
|
754
920
|
] });
|
|
755
921
|
}
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
922
|
+
|
|
923
|
+
// src/molecules/Alert.module.scss
|
|
924
|
+
var Alert_module_default = {
|
|
925
|
+
root: "Alert_module_root",
|
|
926
|
+
icon: "Alert_module_icon",
|
|
927
|
+
info: "Alert_module_info",
|
|
928
|
+
success: "Alert_module_success",
|
|
929
|
+
warning: "Alert_module_warning",
|
|
930
|
+
error: "Alert_module_error",
|
|
931
|
+
content: "Alert_module_content",
|
|
932
|
+
title: "Alert_module_title",
|
|
933
|
+
message: "Alert_module_message",
|
|
934
|
+
dismiss: "Alert_module_dismiss"
|
|
935
|
+
};
|
|
936
|
+
var variantIcons = {
|
|
937
|
+
info: IconlyInfoCircle,
|
|
938
|
+
success: IconlySuccess,
|
|
939
|
+
warning: IconlyWarning,
|
|
940
|
+
error: IconlyError
|
|
761
941
|
};
|
|
762
942
|
function Alert({ variant = "info", title, children, closable = false, className = "" }) {
|
|
763
943
|
const [visible, setVisible] = react.useState(true);
|
|
764
944
|
if (!visible) return null;
|
|
765
|
-
const
|
|
766
|
-
const
|
|
767
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
768
|
-
"div",
|
|
769
|
-
{
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(IconlyClose, { size: 16 })
|
|
784
|
-
}
|
|
785
|
-
)
|
|
786
|
-
]
|
|
787
|
-
}
|
|
788
|
-
);
|
|
945
|
+
const Icon = variantIcons[variant];
|
|
946
|
+
const variantClass = Alert_module_default[variant];
|
|
947
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${Alert_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
948
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: `${Alert_module_default.icon} ${variantClass}`, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { size: 20 }) }),
|
|
949
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Alert_module_default.content, children: [
|
|
950
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("p", { className: `${Alert_module_default.title} ${variantClass}`, children: title }),
|
|
951
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: Alert_module_default.message, children })
|
|
952
|
+
] }),
|
|
953
|
+
closable && /* @__PURE__ */ jsxRuntime.jsx(
|
|
954
|
+
"button",
|
|
955
|
+
{
|
|
956
|
+
onClick: () => setVisible(false),
|
|
957
|
+
className: Alert_module_default.dismiss,
|
|
958
|
+
"aria-label": "Dismiss",
|
|
959
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(IconlyClose, { size: 16 })
|
|
960
|
+
}
|
|
961
|
+
)
|
|
962
|
+
] });
|
|
789
963
|
}
|
|
964
|
+
|
|
965
|
+
// src/molecules/Tabs.module.scss
|
|
966
|
+
var Tabs_module_default = {
|
|
967
|
+
tabList: "Tabs_module_tabList",
|
|
968
|
+
tab: "Tabs_module_tab",
|
|
969
|
+
active: "Tabs_module_active",
|
|
970
|
+
indicator: "Tabs_module_indicator",
|
|
971
|
+
panel: "Tabs_module_panel"
|
|
972
|
+
};
|
|
790
973
|
function Tabs({ tabs, defaultTab, onChange, className = "" }) {
|
|
791
974
|
var _a, _b;
|
|
792
975
|
const [activeTab, setActiveTab] = react.useState(defaultTab || ((_a = tabs[0]) == null ? void 0 : _a.id));
|
|
@@ -817,7 +1000,7 @@ function Tabs({ tabs, defaultTab, onChange, className = "" }) {
|
|
|
817
1000
|
"div",
|
|
818
1001
|
{
|
|
819
1002
|
role: "tablist",
|
|
820
|
-
className:
|
|
1003
|
+
className: Tabs_module_default.tabList,
|
|
821
1004
|
onKeyDown: handleKeyDown,
|
|
822
1005
|
children: tabs.map((tab, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
823
1006
|
"button",
|
|
@@ -831,10 +1014,10 @@ function Tabs({ tabs, defaultTab, onChange, className = "" }) {
|
|
|
831
1014
|
"aria-controls": `panel-${tab.id}`,
|
|
832
1015
|
tabIndex: activeTab === tab.id ? 0 : -1,
|
|
833
1016
|
onClick: () => activateTab(tab.id),
|
|
834
|
-
className:
|
|
1017
|
+
className: `${Tabs_module_default.tab} ${activeTab === tab.id ? Tabs_module_default.active : ""}`,
|
|
835
1018
|
children: [
|
|
836
1019
|
tab.label,
|
|
837
|
-
activeTab === tab.id && /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
1020
|
+
activeTab === tab.id && /* @__PURE__ */ jsxRuntime.jsx("span", { className: Tabs_module_default.indicator })
|
|
838
1021
|
]
|
|
839
1022
|
},
|
|
840
1023
|
tab.id
|
|
@@ -847,12 +1030,24 @@ function Tabs({ tabs, defaultTab, onChange, className = "" }) {
|
|
|
847
1030
|
role: "tabpanel",
|
|
848
1031
|
id: `panel-${activeTab}`,
|
|
849
1032
|
"aria-labelledby": `tab-${activeTab}`,
|
|
850
|
-
className:
|
|
1033
|
+
className: Tabs_module_default.panel,
|
|
851
1034
|
children: activeContent
|
|
852
1035
|
}
|
|
853
1036
|
)
|
|
854
1037
|
] });
|
|
855
1038
|
}
|
|
1039
|
+
|
|
1040
|
+
// src/molecules/ChatInput.module.scss
|
|
1041
|
+
var ChatInput_module_default = {
|
|
1042
|
+
root: "ChatInput_module_root",
|
|
1043
|
+
contrast: "ChatInput_module_contrast",
|
|
1044
|
+
plain: "ChatInput_module_plain",
|
|
1045
|
+
input: "ChatInput_module_input",
|
|
1046
|
+
actions: "ChatInput_module_actions",
|
|
1047
|
+
actionsFull: "ChatInput_module_actionsFull",
|
|
1048
|
+
actionsEasy: "ChatInput_module_actionsEasy",
|
|
1049
|
+
toolGroup: "ChatInput_module_toolGroup"
|
|
1050
|
+
};
|
|
856
1051
|
function ChatInput({
|
|
857
1052
|
placeholder = "\u0412\u0432\u0435\u0434\u0438 \u0441\u0432\u043E\u0439 email...",
|
|
858
1053
|
buttonText = "\u041D\u0430\u0447\u0430\u0442\u044C \u0431\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E",
|
|
@@ -870,7 +1065,6 @@ function ChatInput({
|
|
|
870
1065
|
setValue("");
|
|
871
1066
|
}
|
|
872
1067
|
};
|
|
873
|
-
const containerStyles = contrast ? "bg-[var(--bg)] border border-[var(--bg-tertiary)] shadow-[var(--shadow-md)] px-[15px] py-[13px]" : "bg-[var(--bg-tertiary)] pl-3.5 pr-3 py-3";
|
|
874
1068
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
875
1069
|
"form",
|
|
876
1070
|
{
|
|
@@ -879,7 +1073,7 @@ function ChatInput({
|
|
|
879
1073
|
var _a;
|
|
880
1074
|
return (_a = inputRef.current) == null ? void 0 : _a.focus();
|
|
881
1075
|
},
|
|
882
|
-
className:
|
|
1076
|
+
className: `${ChatInput_module_default.root} ${contrast ? ChatInput_module_default.contrast : ChatInput_module_default.plain}${className ? ` ${className}` : ""}`,
|
|
883
1077
|
children: [
|
|
884
1078
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
885
1079
|
"input",
|
|
@@ -889,11 +1083,11 @@ function ChatInput({
|
|
|
889
1083
|
value,
|
|
890
1084
|
onChange: (e) => setValue(e.target.value),
|
|
891
1085
|
placeholder,
|
|
892
|
-
className:
|
|
1086
|
+
className: ChatInput_module_default.input
|
|
893
1087
|
}
|
|
894
1088
|
),
|
|
895
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
896
|
-
type === "full" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1089
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${ChatInput_module_default.actions} ${type === "full" ? ChatInput_module_default.actionsFull : ChatInput_module_default.actionsEasy}`, children: [
|
|
1090
|
+
type === "full" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ChatInput_module_default.toolGroup, children: [
|
|
897
1091
|
/* @__PURE__ */ jsxRuntime.jsx(IconButton, { variant: "secondary", icon: /* @__PURE__ */ jsxRuntime.jsx(IconlySmile, { size: 20 }), type: "button", "aria-label": "Emoji" }),
|
|
898
1092
|
/* @__PURE__ */ jsxRuntime.jsx(IconButton, { variant: "clear", icon: /* @__PURE__ */ jsxRuntime.jsx(IconlyAttach, { size: 20 }), type: "button", "aria-label": "Attach" }),
|
|
899
1093
|
/* @__PURE__ */ jsxRuntime.jsx(IconButton, { variant: "clear", icon: /* @__PURE__ */ jsxRuntime.jsx(IconlyInfo, { size: 20 }), type: "button", "aria-label": "Info" })
|
|
@@ -904,43 +1098,83 @@ function ChatInput({
|
|
|
904
1098
|
}
|
|
905
1099
|
);
|
|
906
1100
|
}
|
|
1101
|
+
|
|
1102
|
+
// src/molecules/ChatMessage.module.scss
|
|
1103
|
+
var ChatMessage_module_default = {
|
|
1104
|
+
root: "ChatMessage_module_root",
|
|
1105
|
+
user: "ChatMessage_module_user",
|
|
1106
|
+
ai: "ChatMessage_module_ai",
|
|
1107
|
+
bubble: "ChatMessage_module_bubble",
|
|
1108
|
+
sm: "ChatMessage_module_sm",
|
|
1109
|
+
lg: "ChatMessage_module_lg",
|
|
1110
|
+
bubbleUser: "ChatMessage_module_bubbleUser",
|
|
1111
|
+
bubbleAi: "ChatMessage_module_bubbleAi"
|
|
1112
|
+
};
|
|
907
1113
|
function ChatMessage({ children, role = "user", size = "sm", className = "" }) {
|
|
908
1114
|
const isUser = role === "user";
|
|
909
|
-
|
|
910
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex ${isUser ? "justify-end" : "justify-start"} ${className}`, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1115
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${ChatMessage_module_default.root} ${isUser ? ChatMessage_module_default.user : ChatMessage_module_default.ai}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
911
1116
|
"div",
|
|
912
1117
|
{
|
|
913
|
-
className:
|
|
1118
|
+
className: `${ChatMessage_module_default.bubble} ${ChatMessage_module_default[size]} ${isUser ? ChatMessage_module_default.bubbleUser : ChatMessage_module_default.bubbleAi}`,
|
|
914
1119
|
children
|
|
915
1120
|
}
|
|
916
1121
|
) });
|
|
917
1122
|
}
|
|
1123
|
+
|
|
1124
|
+
// src/molecules/TopPromo.module.scss
|
|
1125
|
+
var TopPromo_module_default = {
|
|
1126
|
+
root: "TopPromo_module_root",
|
|
1127
|
+
text: "TopPromo_module_text"
|
|
1128
|
+
};
|
|
918
1129
|
function TopPromo({ text, buttonText = "\u0421\u043C\u043E\u0442\u0440\u0435\u0442\u044C", onButtonClick, className = "" }) {
|
|
919
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
920
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
1130
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${TopPromo_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
1131
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: TopPromo_module_default.text, children: text }),
|
|
921
1132
|
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "primary", size: "sm", onClick: onButtonClick, children: buttonText })
|
|
922
1133
|
] });
|
|
923
1134
|
}
|
|
1135
|
+
|
|
1136
|
+
// src/molecules/ProfileNav.module.scss
|
|
1137
|
+
var ProfileNav_module_default = {
|
|
1138
|
+
root: "ProfileNav_module_root",
|
|
1139
|
+
stats: "ProfileNav_module_stats",
|
|
1140
|
+
statItem: "ProfileNav_module_statItem",
|
|
1141
|
+
statText: "ProfileNav_module_statText",
|
|
1142
|
+
separator: "ProfileNav_module_separator"
|
|
1143
|
+
};
|
|
924
1144
|
function ProfileNav({ stats, avatarSrc, avatarInitials = "DK", className = "" }) {
|
|
925
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
926
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
927
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className:
|
|
1145
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${ProfileNav_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
1146
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: ProfileNav_module_default.stats, children: stats.map((stat, i) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: ProfileNav_module_default.statItem, children: [
|
|
1147
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: ProfileNav_module_default.statText, children: [
|
|
928
1148
|
stat.value,
|
|
929
1149
|
" ",
|
|
930
1150
|
stat.suffix
|
|
931
1151
|
] }),
|
|
932
|
-
i < stats.length - 1 && /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
1152
|
+
i < stats.length - 1 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: ProfileNav_module_default.separator, children: " //" })
|
|
933
1153
|
] }, i)) }),
|
|
934
1154
|
/* @__PURE__ */ jsxRuntime.jsx(Avatar, { size: "sm", src: avatarSrc, initials: avatarInitials })
|
|
935
1155
|
] });
|
|
936
1156
|
}
|
|
1157
|
+
|
|
1158
|
+
// src/molecules/IconWithText.module.scss
|
|
1159
|
+
var IconWithText_module_default = {
|
|
1160
|
+
root: "IconWithText_module_root",
|
|
1161
|
+
icon: "IconWithText_module_icon",
|
|
1162
|
+
text: "IconWithText_module_text"
|
|
1163
|
+
};
|
|
937
1164
|
function IconWithText({ icon, text, side = "left", className = "" }) {
|
|
938
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
939
|
-
side === "left" && /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
940
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
941
|
-
side === "right" && /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
1165
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${IconWithText_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
1166
|
+
side === "left" && /* @__PURE__ */ jsxRuntime.jsx("span", { className: IconWithText_module_default.icon, children: icon }),
|
|
1167
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: IconWithText_module_default.text, children: text }),
|
|
1168
|
+
side === "right" && /* @__PURE__ */ jsxRuntime.jsx("span", { className: IconWithText_module_default.icon, children: icon })
|
|
942
1169
|
] });
|
|
943
1170
|
}
|
|
1171
|
+
|
|
1172
|
+
// src/molecules/StampCard.module.scss
|
|
1173
|
+
var StampCard_module_default = {
|
|
1174
|
+
root: "StampCard_module_root",
|
|
1175
|
+
plain: "StampCard_module_plain",
|
|
1176
|
+
inner: "StampCard_module_inner"
|
|
1177
|
+
};
|
|
944
1178
|
function StampCard({
|
|
945
1179
|
children,
|
|
946
1180
|
className = "",
|
|
@@ -992,9 +1226,9 @@ function StampCard({
|
|
|
992
1226
|
};
|
|
993
1227
|
}, [build, stamp]);
|
|
994
1228
|
if (!stamp) {
|
|
995
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1229
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${StampCard_module_default.plain} ${className}`, children });
|
|
996
1230
|
}
|
|
997
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: outerRef, className:
|
|
1231
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: outerRef, className: `${StampCard_module_default.root} ${className}`, children: /* @__PURE__ */ jsxRuntime.jsx("div", { style: { filter: "drop-shadow(0 1px 3px rgba(0,0,0,0.25)) drop-shadow(0 4px 12px rgba(0,0,0,0.20))" }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
998
1232
|
"div",
|
|
999
1233
|
{
|
|
1000
1234
|
style: {
|
|
@@ -1003,10 +1237,15 @@ function StampCard({
|
|
|
1003
1237
|
WebkitMaskSize: "100% 100%",
|
|
1004
1238
|
maskSize: "100% 100%"
|
|
1005
1239
|
},
|
|
1006
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1240
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: StampCard_module_default.inner, children })
|
|
1007
1241
|
}
|
|
1008
1242
|
) }) });
|
|
1009
1243
|
}
|
|
1244
|
+
|
|
1245
|
+
// src/molecules/PasswordInput.module.scss
|
|
1246
|
+
var PasswordInput_module_default = {
|
|
1247
|
+
toggle: "PasswordInput_module_toggle"
|
|
1248
|
+
};
|
|
1010
1249
|
function PasswordInput(_a) {
|
|
1011
1250
|
var props = __objRest(_a, []);
|
|
1012
1251
|
const [showPassword, setShowPassword] = react.useState(false);
|
|
@@ -1019,7 +1258,7 @@ function PasswordInput(_a) {
|
|
|
1019
1258
|
{
|
|
1020
1259
|
type: "button",
|
|
1021
1260
|
onClick: () => setShowPassword((prev) => !prev),
|
|
1022
|
-
className:
|
|
1261
|
+
className: PasswordInput_module_default.toggle,
|
|
1023
1262
|
"aria-label": showPassword ? "Hide password" : "Show password",
|
|
1024
1263
|
tabIndex: -1,
|
|
1025
1264
|
children: showPassword ? /* @__PURE__ */ jsxRuntime.jsx(IconlyEyeOff, { size: 18 }) : /* @__PURE__ */ jsxRuntime.jsx(IconlyEye, { size: 18 })
|
|
@@ -1028,31 +1267,54 @@ function PasswordInput(_a) {
|
|
|
1028
1267
|
})
|
|
1029
1268
|
);
|
|
1030
1269
|
}
|
|
1270
|
+
|
|
1271
|
+
// src/molecules/Breadcrumbs.module.scss
|
|
1272
|
+
var Breadcrumbs_module_default = {
|
|
1273
|
+
list: "Breadcrumbs_module_list",
|
|
1274
|
+
item: "Breadcrumbs_module_item",
|
|
1275
|
+
separator: "Breadcrumbs_module_separator",
|
|
1276
|
+
active: "Breadcrumbs_module_active",
|
|
1277
|
+
link: "Breadcrumbs_module_link"
|
|
1278
|
+
};
|
|
1031
1279
|
function Breadcrumbs({
|
|
1032
1280
|
items,
|
|
1033
1281
|
separator = /* @__PURE__ */ jsxRuntime.jsx(IconlyChevronRight, { size: 14 })
|
|
1034
1282
|
}) {
|
|
1035
|
-
return /* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label": "Breadcrumb", children: /* @__PURE__ */ jsxRuntime.jsx("ol", { className:
|
|
1283
|
+
return /* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label": "Breadcrumb", children: /* @__PURE__ */ jsxRuntime.jsx("ol", { className: Breadcrumbs_module_default.list, children: items.map((item, index) => {
|
|
1036
1284
|
var _a;
|
|
1037
1285
|
const isLast = index === items.length - 1;
|
|
1038
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className:
|
|
1039
|
-
index > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
1040
|
-
isLast ? /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
1286
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: Breadcrumbs_module_default.item, children: [
|
|
1287
|
+
index > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: Breadcrumbs_module_default.separator, "aria-hidden": "true", children: separator }),
|
|
1288
|
+
isLast ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: Breadcrumbs_module_default.active, "aria-current": "page", children: item.label }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1041
1289
|
"a",
|
|
1042
1290
|
{
|
|
1043
1291
|
href: (_a = item.href) != null ? _a : "#",
|
|
1044
|
-
className:
|
|
1292
|
+
className: Breadcrumbs_module_default.link,
|
|
1045
1293
|
children: item.label
|
|
1046
1294
|
}
|
|
1047
1295
|
)
|
|
1048
1296
|
] }, index);
|
|
1049
1297
|
}) }) });
|
|
1050
1298
|
}
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1299
|
+
|
|
1300
|
+
// src/molecules/Toast.module.scss
|
|
1301
|
+
var Toast_module_default = {
|
|
1302
|
+
root: "Toast_module_root",
|
|
1303
|
+
icon: "Toast_module_icon",
|
|
1304
|
+
info: "Toast_module_info",
|
|
1305
|
+
success: "Toast_module_success",
|
|
1306
|
+
warning: "Toast_module_warning",
|
|
1307
|
+
error: "Toast_module_error",
|
|
1308
|
+
content: "Toast_module_content",
|
|
1309
|
+
title: "Toast_module_title",
|
|
1310
|
+
message: "Toast_module_message",
|
|
1311
|
+
dismiss: "Toast_module_dismiss"
|
|
1312
|
+
};
|
|
1313
|
+
var variantIcons2 = {
|
|
1314
|
+
info: IconlyInfoCircle,
|
|
1315
|
+
success: IconlySuccess,
|
|
1316
|
+
warning: IconlyWarning,
|
|
1317
|
+
error: IconlyError
|
|
1056
1318
|
};
|
|
1057
1319
|
function Toast({
|
|
1058
1320
|
variant = "info",
|
|
@@ -1069,25 +1331,25 @@ function Toast({
|
|
|
1069
1331
|
return () => clearTimeout(timer);
|
|
1070
1332
|
}, [visible, duration, onClose]);
|
|
1071
1333
|
if (!visible) return null;
|
|
1072
|
-
const
|
|
1073
|
-
const
|
|
1334
|
+
const Icon = variantIcons2[variant];
|
|
1335
|
+
const variantClass = Toast_module_default[variant];
|
|
1074
1336
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1075
1337
|
"div",
|
|
1076
1338
|
{
|
|
1077
1339
|
role: "alert",
|
|
1078
1340
|
"aria-live": "assertive",
|
|
1079
|
-
className:
|
|
1341
|
+
className: `${Toast_module_default.root}${className ? ` ${className}` : ""}`,
|
|
1080
1342
|
children: [
|
|
1081
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1082
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1083
|
-
title && /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
1084
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
1343
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: `${Toast_module_default.icon} ${variantClass}`, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { size: 20 }) }),
|
|
1344
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Toast_module_default.content, children: [
|
|
1345
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("p", { className: `${Toast_module_default.title} ${variantClass}`, children: title }),
|
|
1346
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: Toast_module_default.message, children: message })
|
|
1085
1347
|
] }),
|
|
1086
1348
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1087
1349
|
"button",
|
|
1088
1350
|
{
|
|
1089
1351
|
onClick: onClose,
|
|
1090
|
-
className:
|
|
1352
|
+
className: Toast_module_default.dismiss,
|
|
1091
1353
|
"aria-label": "Dismiss",
|
|
1092
1354
|
children: /* @__PURE__ */ jsxRuntime.jsx(IconlyClose, { size: 16 })
|
|
1093
1355
|
}
|
|
@@ -1096,6 +1358,15 @@ function Toast({
|
|
|
1096
1358
|
}
|
|
1097
1359
|
);
|
|
1098
1360
|
}
|
|
1361
|
+
|
|
1362
|
+
// src/molecules/Pagination.module.scss
|
|
1363
|
+
var Pagination_module_default = {
|
|
1364
|
+
root: "Pagination_module_root",
|
|
1365
|
+
pageBtn: "Pagination_module_pageBtn",
|
|
1366
|
+
activePage: "Pagination_module_activePage",
|
|
1367
|
+
ellipsis: "Pagination_module_ellipsis",
|
|
1368
|
+
nav: "Pagination_module_nav"
|
|
1369
|
+
};
|
|
1099
1370
|
function getPageRange(current, total, siblings) {
|
|
1100
1371
|
const range = /* @__PURE__ */ new Set();
|
|
1101
1372
|
range.add(1);
|
|
@@ -1124,32 +1395,24 @@ function Pagination({
|
|
|
1124
1395
|
const pages = getPageRange(currentPage, totalPages, siblingCount);
|
|
1125
1396
|
const isFirst = currentPage === 1;
|
|
1126
1397
|
const isLast = currentPage === totalPages;
|
|
1127
|
-
|
|
1128
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("nav", { "aria-label": "Pagination", className: `flex items-center gap-1 ${className}`, children: [
|
|
1398
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("nav", { "aria-label": "Pagination", className: `${Pagination_module_default.root} ${className}`, children: [
|
|
1129
1399
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1130
1400
|
"button",
|
|
1131
1401
|
{
|
|
1132
1402
|
onClick: () => onPageChange(currentPage - 1),
|
|
1133
1403
|
disabled: isFirst,
|
|
1134
1404
|
"aria-label": "Previous page",
|
|
1135
|
-
className:
|
|
1405
|
+
className: Pagination_module_default.nav,
|
|
1136
1406
|
children: /* @__PURE__ */ jsxRuntime.jsx(IconlyChevronLeft, { size: 18 })
|
|
1137
1407
|
}
|
|
1138
1408
|
),
|
|
1139
1409
|
pages.map(
|
|
1140
|
-
(page, i) => page === "\u2026" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1141
|
-
"span",
|
|
1142
|
-
{
|
|
1143
|
-
className: "min-w-[36px] h-[36px] flex items-center justify-center text-[13px] text-[var(--fg-muted)]",
|
|
1144
|
-
children: "\u2026"
|
|
1145
|
-
},
|
|
1146
|
-
`ellipsis-${i}`
|
|
1147
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1410
|
+
(page, i) => page === "\u2026" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: Pagination_module_default.ellipsis, children: "\u2026" }, `ellipsis-${i}`) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1148
1411
|
"button",
|
|
1149
1412
|
{
|
|
1150
1413
|
onClick: () => onPageChange(page),
|
|
1151
1414
|
"aria-current": page === currentPage ? "page" : void 0,
|
|
1152
|
-
className: `${
|
|
1415
|
+
className: `${Pagination_module_default.pageBtn} ${page === currentPage ? Pagination_module_default.activePage : ""}`,
|
|
1153
1416
|
children: page
|
|
1154
1417
|
},
|
|
1155
1418
|
page
|
|
@@ -1161,12 +1424,22 @@ function Pagination({
|
|
|
1161
1424
|
onClick: () => onPageChange(currentPage + 1),
|
|
1162
1425
|
disabled: isLast,
|
|
1163
1426
|
"aria-label": "Next page",
|
|
1164
|
-
className:
|
|
1427
|
+
className: Pagination_module_default.nav,
|
|
1165
1428
|
children: /* @__PURE__ */ jsxRuntime.jsx(IconlyChevronRight, { size: 18 })
|
|
1166
1429
|
}
|
|
1167
1430
|
)
|
|
1168
1431
|
] });
|
|
1169
1432
|
}
|
|
1433
|
+
|
|
1434
|
+
// src/molecules/CodeInput.module.scss
|
|
1435
|
+
var CodeInput_module_default = {
|
|
1436
|
+
root: "CodeInput_module_root",
|
|
1437
|
+
label: "CodeInput_module_label",
|
|
1438
|
+
group: "CodeInput_module_group",
|
|
1439
|
+
digitInput: "CodeInput_module_digitInput",
|
|
1440
|
+
digitError: "CodeInput_module_digitError",
|
|
1441
|
+
errorText: "CodeInput_module_errorText"
|
|
1442
|
+
};
|
|
1170
1443
|
function CodeInput({
|
|
1171
1444
|
length,
|
|
1172
1445
|
value,
|
|
@@ -1219,16 +1492,9 @@ function CodeInput({
|
|
|
1219
1492
|
[length, onChange, focusInput]
|
|
1220
1493
|
);
|
|
1221
1494
|
const inputId = label == null ? void 0 : label.toLowerCase().replace(/\s+/g, "-");
|
|
1222
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1223
|
-
label && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1224
|
-
|
|
1225
|
-
{
|
|
1226
|
-
htmlFor: inputId,
|
|
1227
|
-
className: "text-[13px] font-medium text-[var(--fg)] tracking-[-0.25px]",
|
|
1228
|
-
children: label
|
|
1229
|
-
}
|
|
1230
|
-
),
|
|
1231
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-3", role: "group", "aria-label": label || "Code input", children: Array.from({ length }, (_, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1495
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${CodeInput_module_default.root} ${className}`, children: [
|
|
1496
|
+
label && /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: inputId, className: CodeInput_module_default.label, children: label }),
|
|
1497
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: CodeInput_module_default.group, role: "group", "aria-label": label || "Code input", children: Array.from({ length }, (_, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1232
1498
|
"input",
|
|
1233
1499
|
{
|
|
1234
1500
|
id: i === 0 ? inputId : void 0,
|
|
@@ -1243,14 +1509,25 @@ function CodeInput({
|
|
|
1243
1509
|
onKeyDown: handleKeyDown(i),
|
|
1244
1510
|
onPaste: handlePaste,
|
|
1245
1511
|
autoComplete: "one-time-code",
|
|
1246
|
-
className:
|
|
1512
|
+
className: `${CodeInput_module_default.digitInput} ${error ? CodeInput_module_default.digitError : ""}`,
|
|
1247
1513
|
"aria-label": `Digit ${i + 1}`
|
|
1248
1514
|
},
|
|
1249
1515
|
i
|
|
1250
1516
|
)) }),
|
|
1251
|
-
error && /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
1517
|
+
error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: CodeInput_module_default.errorText, children: error })
|
|
1252
1518
|
] });
|
|
1253
1519
|
}
|
|
1520
|
+
|
|
1521
|
+
// src/molecules/Modal.module.scss
|
|
1522
|
+
var Modal_module_default = {
|
|
1523
|
+
dialog: "Modal_module_dialog",
|
|
1524
|
+
content: "Modal_module_content",
|
|
1525
|
+
header: "Modal_module_header",
|
|
1526
|
+
title: "Modal_module_title",
|
|
1527
|
+
closeBtn: "Modal_module_closeBtn",
|
|
1528
|
+
body: "Modal_module_body",
|
|
1529
|
+
footer: "Modal_module_footer"
|
|
1530
|
+
};
|
|
1254
1531
|
function Modal({
|
|
1255
1532
|
open,
|
|
1256
1533
|
onClose,
|
|
@@ -1280,27 +1557,39 @@ function Modal({
|
|
|
1280
1557
|
ref: dialogRef,
|
|
1281
1558
|
onClose,
|
|
1282
1559
|
onClick: handleBackdropClick,
|
|
1283
|
-
className:
|
|
1284
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1285
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1286
|
-
title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className:
|
|
1560
|
+
className: `${Modal_module_default.dialog}${className ? ` ${className}` : ""}`,
|
|
1561
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Modal_module_default.content, children: [
|
|
1562
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Modal_module_default.header, children: [
|
|
1563
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: Modal_module_default.title, children: title }),
|
|
1287
1564
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1288
1565
|
"button",
|
|
1289
1566
|
{
|
|
1290
1567
|
type: "button",
|
|
1291
1568
|
onClick: onClose,
|
|
1292
|
-
className:
|
|
1569
|
+
className: Modal_module_default.closeBtn,
|
|
1293
1570
|
"aria-label": "Close",
|
|
1294
1571
|
children: /* @__PURE__ */ jsxRuntime.jsx(IconlyClose, { size: 20 })
|
|
1295
1572
|
}
|
|
1296
1573
|
)
|
|
1297
1574
|
] }),
|
|
1298
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1299
|
-
footer && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1575
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: Modal_module_default.body, children }),
|
|
1576
|
+
footer && /* @__PURE__ */ jsxRuntime.jsx("div", { className: Modal_module_default.footer, children: footer })
|
|
1300
1577
|
] })
|
|
1301
1578
|
}
|
|
1302
1579
|
);
|
|
1303
1580
|
}
|
|
1581
|
+
|
|
1582
|
+
// src/molecules/DropdownMenu.module.scss
|
|
1583
|
+
var DropdownMenu_module_default = {
|
|
1584
|
+
root: "DropdownMenu_module_root",
|
|
1585
|
+
trigger: "DropdownMenu_module_trigger",
|
|
1586
|
+
menu: "DropdownMenu_module_menu",
|
|
1587
|
+
alignLeft: "DropdownMenu_module_alignLeft",
|
|
1588
|
+
alignRight: "DropdownMenu_module_alignRight",
|
|
1589
|
+
item: "DropdownMenu_module_item",
|
|
1590
|
+
itemIcon: "DropdownMenu_module_itemIcon",
|
|
1591
|
+
divider: "DropdownMenu_module_divider"
|
|
1592
|
+
};
|
|
1304
1593
|
function DropdownMenu({
|
|
1305
1594
|
trigger,
|
|
1306
1595
|
items,
|
|
@@ -1368,7 +1657,7 @@ function DropdownMenu({
|
|
|
1368
1657
|
openMenu();
|
|
1369
1658
|
}
|
|
1370
1659
|
};
|
|
1371
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: containerRef, className:
|
|
1660
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: containerRef, className: `${DropdownMenu_module_default.root} ${className}`, children: [
|
|
1372
1661
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1373
1662
|
"div",
|
|
1374
1663
|
{
|
|
@@ -1377,7 +1666,7 @@ function DropdownMenu({
|
|
|
1377
1666
|
tabIndex: 0,
|
|
1378
1667
|
onClick: () => isOpen ? closeMenu() : openMenu(),
|
|
1379
1668
|
onKeyDown: handleTriggerKeyDown,
|
|
1380
|
-
className:
|
|
1669
|
+
className: DropdownMenu_module_default.trigger,
|
|
1381
1670
|
"aria-haspopup": "true",
|
|
1382
1671
|
"aria-expanded": isOpen,
|
|
1383
1672
|
children: trigger
|
|
@@ -1388,9 +1677,9 @@ function DropdownMenu({
|
|
|
1388
1677
|
{
|
|
1389
1678
|
role: "menu",
|
|
1390
1679
|
onKeyDown: handleMenuKeyDown,
|
|
1391
|
-
className:
|
|
1680
|
+
className: `${DropdownMenu_module_default.menu} ${align === "right" ? DropdownMenu_module_default.alignRight : DropdownMenu_module_default.alignLeft}`,
|
|
1392
1681
|
children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1393
|
-
item.divider && /* @__PURE__ */ jsxRuntime.jsx("hr", { className:
|
|
1682
|
+
item.divider && /* @__PURE__ */ jsxRuntime.jsx("hr", { className: DropdownMenu_module_default.divider }),
|
|
1394
1683
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1395
1684
|
"button",
|
|
1396
1685
|
{
|
|
@@ -1404,9 +1693,9 @@ function DropdownMenu({
|
|
|
1404
1693
|
item.onClick();
|
|
1405
1694
|
closeMenu();
|
|
1406
1695
|
},
|
|
1407
|
-
className:
|
|
1696
|
+
className: DropdownMenu_module_default.item,
|
|
1408
1697
|
children: [
|
|
1409
|
-
item.icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
1698
|
+
item.icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: DropdownMenu_module_default.itemIcon, children: item.icon }),
|
|
1410
1699
|
item.label
|
|
1411
1700
|
]
|
|
1412
1701
|
}
|
|
@@ -1416,56 +1705,90 @@ function DropdownMenu({
|
|
|
1416
1705
|
)
|
|
1417
1706
|
] });
|
|
1418
1707
|
}
|
|
1708
|
+
|
|
1709
|
+
// src/organisms/Header.module.scss
|
|
1710
|
+
var Header_module_default = {
|
|
1711
|
+
root: "Header_module_root",
|
|
1712
|
+
container: "Header_module_container",
|
|
1713
|
+
bar: "Header_module_bar",
|
|
1714
|
+
leftGroup: "Header_module_leftGroup",
|
|
1715
|
+
logoFallback: "Header_module_logoFallback",
|
|
1716
|
+
logoBrand: "Header_module_logoBrand",
|
|
1717
|
+
desktopNav: "Header_module_desktopNav",
|
|
1718
|
+
navLink: "Header_module_navLink",
|
|
1719
|
+
desktopActions: "Header_module_desktopActions",
|
|
1720
|
+
mobileToggle: "Header_module_mobileToggle",
|
|
1721
|
+
mobileMenu: "Header_module_mobileMenu",
|
|
1722
|
+
mobileNav: "Header_module_mobileNav",
|
|
1723
|
+
mobileActions: "Header_module_mobileActions"
|
|
1724
|
+
};
|
|
1419
1725
|
function Header({ logo, navItems = [], className = "" }) {
|
|
1420
1726
|
const [mobileOpen, setMobileOpen] = react.useState(false);
|
|
1421
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("header", { className:
|
|
1422
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1423
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1424
|
-
logo || /* @__PURE__ */ jsxRuntime.jsxs("span", { className:
|
|
1425
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
1727
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("header", { className: `${Header_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
1728
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: Header_module_default.container, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Header_module_default.bar, children: [
|
|
1729
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Header_module_default.leftGroup, children: [
|
|
1730
|
+
logo || /* @__PURE__ */ jsxRuntime.jsxs("span", { className: Header_module_default.logoFallback, children: [
|
|
1731
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: Header_module_default.logoBrand, children: "K" }),
|
|
1426
1732
|
"apustin"
|
|
1427
1733
|
] }),
|
|
1428
|
-
/* @__PURE__ */ jsxRuntime.jsx("nav", { className:
|
|
1734
|
+
/* @__PURE__ */ jsxRuntime.jsx("nav", { className: Header_module_default.desktopNav, children: navItems.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1429
1735
|
"a",
|
|
1430
1736
|
{
|
|
1431
1737
|
href: item.href,
|
|
1432
|
-
className:
|
|
1738
|
+
className: Header_module_default.navLink,
|
|
1433
1739
|
children: item.label
|
|
1434
1740
|
},
|
|
1435
1741
|
item.label
|
|
1436
1742
|
)) })
|
|
1437
1743
|
] }),
|
|
1438
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1744
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Header_module_default.desktopActions, children: [
|
|
1439
1745
|
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "ghost", size: "sm", children: "Sign in" }),
|
|
1440
1746
|
/* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", children: "Get started" })
|
|
1441
1747
|
] }),
|
|
1442
1748
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1443
1749
|
"button",
|
|
1444
1750
|
{
|
|
1445
|
-
className:
|
|
1751
|
+
className: Header_module_default.mobileToggle,
|
|
1446
1752
|
onClick: () => setMobileOpen(!mobileOpen),
|
|
1447
1753
|
"aria-label": "Toggle menu",
|
|
1448
1754
|
children: mobileOpen ? /* @__PURE__ */ jsxRuntime.jsx(IconlyClose, { size: 24 }) : /* @__PURE__ */ jsxRuntime.jsx(IconlyMenu, { size: 24 })
|
|
1449
1755
|
}
|
|
1450
1756
|
)
|
|
1451
1757
|
] }) }),
|
|
1452
|
-
mobileOpen && /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1453
|
-
/* @__PURE__ */ jsxRuntime.jsx("nav", { className:
|
|
1758
|
+
mobileOpen && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Header_module_default.mobileMenu, children: [
|
|
1759
|
+
/* @__PURE__ */ jsxRuntime.jsx("nav", { className: Header_module_default.mobileNav, children: navItems.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1454
1760
|
"a",
|
|
1455
1761
|
{
|
|
1456
1762
|
href: item.href,
|
|
1457
|
-
className:
|
|
1763
|
+
className: Header_module_default.navLink,
|
|
1458
1764
|
children: item.label
|
|
1459
1765
|
},
|
|
1460
1766
|
item.label
|
|
1461
1767
|
)) }),
|
|
1462
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1768
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Header_module_default.mobileActions, children: [
|
|
1463
1769
|
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "ghost", size: "sm", children: "Sign in" }),
|
|
1464
1770
|
/* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", children: "Get started" })
|
|
1465
1771
|
] })
|
|
1466
1772
|
] })
|
|
1467
1773
|
] });
|
|
1468
1774
|
}
|
|
1775
|
+
|
|
1776
|
+
// src/organisms/Footer.module.scss
|
|
1777
|
+
var Footer_module_default = {
|
|
1778
|
+
root: "Footer_module_root",
|
|
1779
|
+
container: "Footer_module_container",
|
|
1780
|
+
grid: "Footer_module_grid",
|
|
1781
|
+
brand: "Footer_module_brand",
|
|
1782
|
+
brandAccent: "Footer_module_brandAccent",
|
|
1783
|
+
tagline: "Footer_module_tagline",
|
|
1784
|
+
columnTitle: "Footer_module_columnTitle",
|
|
1785
|
+
linkList: "Footer_module_linkList",
|
|
1786
|
+
link: "Footer_module_link",
|
|
1787
|
+
bottom: "Footer_module_bottom",
|
|
1788
|
+
copyright: "Footer_module_copyright",
|
|
1789
|
+
socials: "Footer_module_socials",
|
|
1790
|
+
socialLink: "Footer_module_socialLink"
|
|
1791
|
+
};
|
|
1469
1792
|
var defaultColumns = [
|
|
1470
1793
|
{
|
|
1471
1794
|
title: "Product",
|
|
@@ -1496,38 +1819,38 @@ var defaultColumns = [
|
|
|
1496
1819
|
}
|
|
1497
1820
|
];
|
|
1498
1821
|
function Footer({ columns = defaultColumns, className = "" }) {
|
|
1499
|
-
return /* @__PURE__ */ jsxRuntime.jsx("footer", { className:
|
|
1500
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1822
|
+
return /* @__PURE__ */ jsxRuntime.jsx("footer", { className: `${Footer_module_default.root}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Footer_module_default.container, children: [
|
|
1823
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Footer_module_default.grid, children: [
|
|
1501
1824
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1502
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className:
|
|
1503
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
1825
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: Footer_module_default.brand, children: [
|
|
1826
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: Footer_module_default.brandAccent, children: "K" }),
|
|
1504
1827
|
"apustin"
|
|
1505
1828
|
] }),
|
|
1506
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
1829
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: Footer_module_default.tagline, children: "A modern design system for building beautiful interfaces." })
|
|
1507
1830
|
] }),
|
|
1508
1831
|
columns.map((col) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1509
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { className:
|
|
1510
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { className:
|
|
1832
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: Footer_module_default.columnTitle, children: col.title }),
|
|
1833
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: Footer_module_default.linkList, children: col.links.map((link) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1511
1834
|
"a",
|
|
1512
1835
|
{
|
|
1513
1836
|
href: link.href,
|
|
1514
|
-
className:
|
|
1837
|
+
className: Footer_module_default.link,
|
|
1515
1838
|
children: link.label
|
|
1516
1839
|
}
|
|
1517
1840
|
) }, link.label)) })
|
|
1518
1841
|
] }, col.title))
|
|
1519
1842
|
] }),
|
|
1520
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1521
|
-
/* @__PURE__ */ jsxRuntime.jsxs("p", { className:
|
|
1843
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Footer_module_default.bottom, children: [
|
|
1844
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: Footer_module_default.copyright, children: [
|
|
1522
1845
|
"\xA9 ",
|
|
1523
1846
|
(/* @__PURE__ */ new Date()).getFullYear(),
|
|
1524
1847
|
" Kapustin Team. All rights reserved."
|
|
1525
1848
|
] }),
|
|
1526
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1849
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: Footer_module_default.socials, children: ["Twitter", "GitHub", "Discord"].map((social) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1527
1850
|
"a",
|
|
1528
1851
|
{
|
|
1529
1852
|
href: "#",
|
|
1530
|
-
className:
|
|
1853
|
+
className: Footer_module_default.socialLink,
|
|
1531
1854
|
children: social
|
|
1532
1855
|
},
|
|
1533
1856
|
social
|
|
@@ -1535,6 +1858,23 @@ function Footer({ columns = defaultColumns, className = "" }) {
|
|
|
1535
1858
|
] })
|
|
1536
1859
|
] }) });
|
|
1537
1860
|
}
|
|
1861
|
+
|
|
1862
|
+
// src/organisms/PricingCard.module.scss
|
|
1863
|
+
var PricingCard_module_default = {
|
|
1864
|
+
root: "PricingCard_module_root",
|
|
1865
|
+
highlighted: "PricingCard_module_highlighted",
|
|
1866
|
+
badgeWrap: "PricingCard_module_badgeWrap",
|
|
1867
|
+
header: "PricingCard_module_header",
|
|
1868
|
+
plan: "PricingCard_module_plan",
|
|
1869
|
+
description: "PricingCard_module_description",
|
|
1870
|
+
priceBlock: "PricingCard_module_priceBlock",
|
|
1871
|
+
price: "PricingCard_module_price",
|
|
1872
|
+
period: "PricingCard_module_period",
|
|
1873
|
+
features: "PricingCard_module_features",
|
|
1874
|
+
featureItem: "PricingCard_module_featureItem",
|
|
1875
|
+
featureIcon: "PricingCard_module_featureIcon",
|
|
1876
|
+
cta: "PricingCard_module_cta"
|
|
1877
|
+
};
|
|
1538
1878
|
function PricingCard({
|
|
1539
1879
|
plan,
|
|
1540
1880
|
price,
|
|
@@ -1548,63 +1888,89 @@ function PricingCard({
|
|
|
1548
1888
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1549
1889
|
"div",
|
|
1550
1890
|
{
|
|
1551
|
-
className:
|
|
1891
|
+
className: `${PricingCard_module_default.root}${highlighted ? ` ${PricingCard_module_default.highlighted}` : ""}${className ? ` ${className}` : ""}`,
|
|
1552
1892
|
children: [
|
|
1553
|
-
badge && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1554
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1555
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className:
|
|
1556
|
-
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
1893
|
+
badge && /* @__PURE__ */ jsxRuntime.jsx("div", { className: PricingCard_module_default.badgeWrap, children: /* @__PURE__ */ jsxRuntime.jsx(Badge, { color: "info", children: badge }) }),
|
|
1894
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PricingCard_module_default.header, children: [
|
|
1895
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: PricingCard_module_default.plan, children: plan }),
|
|
1896
|
+
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: PricingCard_module_default.description, children: description })
|
|
1557
1897
|
] }),
|
|
1558
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1559
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
1560
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
1898
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PricingCard_module_default.priceBlock, children: [
|
|
1899
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: PricingCard_module_default.price, children: price }),
|
|
1900
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: PricingCard_module_default.period, children: period })
|
|
1561
1901
|
] }),
|
|
1562
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { className:
|
|
1563
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
1902
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: PricingCard_module_default.features, children: features.map((feature, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: PricingCard_module_default.featureItem, children: [
|
|
1903
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: PricingCard_module_default.featureIcon, children: /* @__PURE__ */ jsxRuntime.jsx(IconlyCheck, { size: 16 }) }),
|
|
1564
1904
|
feature
|
|
1565
1905
|
] }, i)) }),
|
|
1566
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: highlighted ? "primary" : "outline", className:
|
|
1906
|
+
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: highlighted ? "primary" : "outline", className: PricingCard_module_default.cta, children: "Get started" })
|
|
1567
1907
|
]
|
|
1568
1908
|
}
|
|
1569
1909
|
);
|
|
1570
1910
|
}
|
|
1911
|
+
|
|
1912
|
+
// src/organisms/TestimonialCard.module.scss
|
|
1913
|
+
var TestimonialCard_module_default = {
|
|
1914
|
+
root: "TestimonialCard_module_root",
|
|
1915
|
+
quoteIcon: "TestimonialCard_module_quoteIcon",
|
|
1916
|
+
quoteText: "TestimonialCard_module_quoteText",
|
|
1917
|
+
author: "TestimonialCard_module_author",
|
|
1918
|
+
authorName: "TestimonialCard_module_authorName",
|
|
1919
|
+
authorRole: "TestimonialCard_module_authorRole"
|
|
1920
|
+
};
|
|
1571
1921
|
function TestimonialCard({ quote, name, role, avatarSrc, className = "" }) {
|
|
1572
1922
|
const initials = name.split(" ").map((n) => n[0]).join("").toUpperCase();
|
|
1573
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1574
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1575
|
-
/* @__PURE__ */ jsxRuntime.jsxs("p", { className:
|
|
1923
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${TestimonialCard_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
1924
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: TestimonialCard_module_default.quoteIcon, children: /* @__PURE__ */ jsxRuntime.jsx(IconlyQuote, { size: 32 }) }),
|
|
1925
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: TestimonialCard_module_default.quoteText, children: [
|
|
1576
1926
|
"\u201C",
|
|
1577
1927
|
quote,
|
|
1578
1928
|
"\u201D"
|
|
1579
1929
|
] }),
|
|
1580
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1930
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: TestimonialCard_module_default.author, children: [
|
|
1581
1931
|
/* @__PURE__ */ jsxRuntime.jsx(Avatar, { src: avatarSrc, initials, size: "sm" }),
|
|
1582
1932
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1583
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
1584
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
1933
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: TestimonialCard_module_default.authorName, children: name }),
|
|
1934
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: TestimonialCard_module_default.authorRole, children: role })
|
|
1585
1935
|
] })
|
|
1586
1936
|
] })
|
|
1587
1937
|
] });
|
|
1588
1938
|
}
|
|
1939
|
+
|
|
1940
|
+
// src/organisms/FeatureGrid.module.scss
|
|
1941
|
+
var FeatureGrid_module_default = {
|
|
1942
|
+
root: "FeatureGrid_module_root",
|
|
1943
|
+
cols2: "FeatureGrid_module_cols2",
|
|
1944
|
+
cols3: "FeatureGrid_module_cols3",
|
|
1945
|
+
cols4: "FeatureGrid_module_cols4",
|
|
1946
|
+
card: "FeatureGrid_module_card",
|
|
1947
|
+
cardIcon: "FeatureGrid_module_cardIcon",
|
|
1948
|
+
cardTitle: "FeatureGrid_module_cardTitle",
|
|
1949
|
+
cardDescription: "FeatureGrid_module_cardDescription"
|
|
1950
|
+
};
|
|
1589
1951
|
function FeatureGrid({ features, columns = 3, className = "" }) {
|
|
1590
|
-
const
|
|
1591
|
-
2:
|
|
1592
|
-
3:
|
|
1593
|
-
4:
|
|
1952
|
+
const colsClass = {
|
|
1953
|
+
2: FeatureGrid_module_default.cols2,
|
|
1954
|
+
3: FeatureGrid_module_default.cols3,
|
|
1955
|
+
4: FeatureGrid_module_default.cols4
|
|
1594
1956
|
};
|
|
1595
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1596
|
-
"div",
|
|
1597
|
-
{
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-10 h-10 rounded-[var(--radius-lg)] bg-[var(--brand-primary)]/10 flex items-center justify-center text-[var(--brand-primary)] mb-4", children: feature.icon }),
|
|
1601
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-[var(--fg)] mb-1.5", children: feature.title }),
|
|
1602
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-[var(--fg-muted)] leading-relaxed", children: feature.description })
|
|
1603
|
-
]
|
|
1604
|
-
},
|
|
1605
|
-
i
|
|
1606
|
-
)) });
|
|
1957
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${FeatureGrid_module_default.root} ${colsClass[columns]}${className ? ` ${className}` : ""}`, children: features.map((feature, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: FeatureGrid_module_default.card, children: [
|
|
1958
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: FeatureGrid_module_default.cardIcon, children: feature.icon }),
|
|
1959
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: FeatureGrid_module_default.cardTitle, children: feature.title }),
|
|
1960
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: FeatureGrid_module_default.cardDescription, children: feature.description })
|
|
1961
|
+
] }, i)) });
|
|
1607
1962
|
}
|
|
1963
|
+
|
|
1964
|
+
// src/organisms/Sidebar.module.scss
|
|
1965
|
+
var Sidebar_module_default = {
|
|
1966
|
+
root: "Sidebar_module_root",
|
|
1967
|
+
menu: "Sidebar_module_menu",
|
|
1968
|
+
courseSubmenu: "Sidebar_module_courseSubmenu",
|
|
1969
|
+
logo: "Sidebar_module_logo",
|
|
1970
|
+
nav: "Sidebar_module_nav",
|
|
1971
|
+
footer: "Sidebar_module_footer",
|
|
1972
|
+
legal: "Sidebar_module_legal"
|
|
1973
|
+
};
|
|
1608
1974
|
var defaultMenuItems = [
|
|
1609
1975
|
"\u0413\u043B\u0430\u0432\u043D\u0430\u044F",
|
|
1610
1976
|
"\u041C\u043E\u0438 \u043A\u0443\u0440\u0441\u044B",
|
|
@@ -1623,36 +1989,80 @@ var courseMenuItems = [
|
|
|
1623
1989
|
"\u0421\u043E\u0446. \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0430",
|
|
1624
1990
|
"\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u044B"
|
|
1625
1991
|
];
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1992
|
+
var DEFAULT_LEGAL = "kapustin.cc, 2026 \n\u0418\u041F \u041A\u0430\u043F\u0443\u0441\u0442\u0438\u043D \u0414.\u0412., \u0418\u041D\u041D 7721250201";
|
|
1993
|
+
function normaliseItems(items) {
|
|
1994
|
+
if (items.length === 0) return [];
|
|
1995
|
+
if (typeof items[0] === "string") {
|
|
1996
|
+
return items.map((label, i) => ({ id: String(i), label }));
|
|
1997
|
+
}
|
|
1998
|
+
return items;
|
|
1999
|
+
}
|
|
2000
|
+
function Sidebar({
|
|
2001
|
+
type = "menu",
|
|
2002
|
+
menuItems,
|
|
2003
|
+
footer,
|
|
2004
|
+
className = "",
|
|
2005
|
+
activeId,
|
|
2006
|
+
onItemClick,
|
|
2007
|
+
logo,
|
|
2008
|
+
legalText
|
|
2009
|
+
}) {
|
|
2010
|
+
const rawItems = menuItems || (type === "courseSubmenu" ? courseMenuItems : defaultMenuItems);
|
|
2011
|
+
const items = normaliseItems(rawItems);
|
|
2012
|
+
const [internalActive, setInternalActive] = react.useState(0);
|
|
2013
|
+
const isControlled = activeId !== void 0;
|
|
2014
|
+
const widthClass = type === "courseSubmenu" ? Sidebar_module_default.courseSubmenu : Sidebar_module_default.menu;
|
|
2015
|
+
const showLegal = legalText !== null;
|
|
2016
|
+
const legalContent = legalText === void 0 ? DEFAULT_LEGAL : legalText;
|
|
1630
2017
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1631
2018
|
"aside",
|
|
1632
2019
|
{
|
|
1633
|
-
className:
|
|
2020
|
+
className: `${Sidebar_module_default.root} ${widthClass}${className ? ` ${className}` : ""}`,
|
|
1634
2021
|
children: [
|
|
1635
|
-
/* @__PURE__ */ jsxRuntime.jsx("
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
2022
|
+
logo && /* @__PURE__ */ jsxRuntime.jsx("div", { className: Sidebar_module_default.logo, children: logo }),
|
|
2023
|
+
/* @__PURE__ */ jsxRuntime.jsx("nav", { className: Sidebar_module_default.nav, children: items.map((item, i) => {
|
|
2024
|
+
const isActive = isControlled ? item.id === activeId : i === internalActive;
|
|
2025
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2026
|
+
MenuItem,
|
|
2027
|
+
{
|
|
2028
|
+
text: item.label,
|
|
2029
|
+
icon: item.icon,
|
|
2030
|
+
active: isActive,
|
|
2031
|
+
onClick: () => {
|
|
2032
|
+
if (onItemClick) onItemClick(item.id);
|
|
2033
|
+
if (!isControlled) setInternalActive(i);
|
|
2034
|
+
}
|
|
2035
|
+
},
|
|
2036
|
+
item.id
|
|
2037
|
+
);
|
|
2038
|
+
}) }),
|
|
2039
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: Sidebar_module_default.footer, children: [
|
|
1645
2040
|
type === "menu" && footer,
|
|
1646
|
-
/* @__PURE__ */ jsxRuntime.
|
|
1647
|
-
"kapustin.cc, 2026 ",
|
|
1648
|
-
/* @__PURE__ */ jsxRuntime.jsx("br", {}),
|
|
1649
|
-
"\u0418\u041F \u041A\u0430\u043F\u0443\u0441\u0442\u0438\u043D \u0414.\u0412., \u0418\u041D\u041D 7721250201"
|
|
1650
|
-
] })
|
|
2041
|
+
showLegal && /* @__PURE__ */ jsxRuntime.jsx("p", { className: Sidebar_module_default.legal, children: legalContent })
|
|
1651
2042
|
] })
|
|
1652
2043
|
]
|
|
1653
2044
|
}
|
|
1654
2045
|
);
|
|
1655
2046
|
}
|
|
2047
|
+
|
|
2048
|
+
// src/organisms/AppCard.module.scss
|
|
2049
|
+
var AppCard_module_default = {
|
|
2050
|
+
defaultCard: "AppCard_module_defaultCard",
|
|
2051
|
+
stampCard: "AppCard_module_stampCard",
|
|
2052
|
+
imageWrap: "AppCard_module_imageWrap",
|
|
2053
|
+
imageWrapRounded: "AppCard_module_imageWrap AppCard_module_imageWrapRounded",
|
|
2054
|
+
image: "AppCard_module_image",
|
|
2055
|
+
contentDefaultNoImage: "AppCard_module_contentArea AppCard_module_contentDefault AppCard_module_contentDefaultNoImage",
|
|
2056
|
+
contentDefaultWithImage: "AppCard_module_contentArea AppCard_module_contentDefault AppCard_module_contentDefaultWithImage",
|
|
2057
|
+
contentStamp: "AppCard_module_contentArea AppCard_module_contentStamp",
|
|
2058
|
+
textGroup: "AppCard_module_textGroup",
|
|
2059
|
+
cardTitle: "AppCard_module_cardTitle",
|
|
2060
|
+
cardDesc: "AppCard_module_cardDesc",
|
|
2061
|
+
footer: "AppCard_module_footer",
|
|
2062
|
+
iconRow: "AppCard_module_iconRow",
|
|
2063
|
+
shadowWrap: "AppCard_module_shadowWrap",
|
|
2064
|
+
stampBg: "AppCard_module_stampBg"
|
|
2065
|
+
};
|
|
1656
2066
|
var HOLE_R = 4;
|
|
1657
2067
|
var HOLE_SP = 16;
|
|
1658
2068
|
function buildStampMask(w, h) {
|
|
@@ -1679,18 +2089,18 @@ function CardContent({
|
|
|
1679
2089
|
isStamp
|
|
1680
2090
|
}) {
|
|
1681
2091
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1682
|
-
image && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2092
|
+
image && /* @__PURE__ */ jsxRuntime.jsx("div", { className: isStamp ? AppCard_module_default.imageWrap : AppCard_module_default.imageWrapRounded, children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: image, alt: title, className: AppCard_module_default.image }) }),
|
|
1683
2093
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1684
2094
|
"div",
|
|
1685
2095
|
{
|
|
1686
|
-
className:
|
|
2096
|
+
className: isStamp ? AppCard_module_default.contentStamp : image ? AppCard_module_default.contentDefaultWithImage : AppCard_module_default.contentDefaultNoImage,
|
|
1687
2097
|
children: [
|
|
1688
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1689
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className:
|
|
1690
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
2098
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: AppCard_module_default.textGroup, children: [
|
|
2099
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: AppCard_module_default.cardTitle, children: title }),
|
|
2100
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: AppCard_module_default.cardDesc, children: description })
|
|
1691
2101
|
] }),
|
|
1692
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1693
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2102
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: AppCard_module_default.footer, children: [
|
|
2103
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: AppCard_module_default.iconRow, children: icons }),
|
|
1694
2104
|
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: buttonVariant === "outline" ? "outline" : "primary", size: "sm", onClick: onButtonClick, children: buttonText })
|
|
1695
2105
|
] })
|
|
1696
2106
|
]
|
|
@@ -1707,7 +2117,7 @@ function AppCard(_a) {
|
|
|
1707
2117
|
"className"
|
|
1708
2118
|
]);
|
|
1709
2119
|
if (variant === "default") {
|
|
1710
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2120
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${AppCard_module_default.defaultCard}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, __spreadProps(__spreadValues({}, contentProps), { isStamp: false })) });
|
|
1711
2121
|
}
|
|
1712
2122
|
const padded = variant === "stamp-padded";
|
|
1713
2123
|
return /* @__PURE__ */ jsxRuntime.jsx(StampWrapper, { className, padded, children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, __spreadProps(__spreadValues({}, contentProps), { isStamp: true })) });
|
|
@@ -1733,7 +2143,7 @@ function StampWrapper({ children, className, padded }) {
|
|
|
1733
2143
|
ro.disconnect();
|
|
1734
2144
|
};
|
|
1735
2145
|
}, [build]);
|
|
1736
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className:
|
|
2146
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: `${AppCard_module_default.stampCard}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: AppCard_module_default.shadowWrap, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1737
2147
|
"div",
|
|
1738
2148
|
{
|
|
1739
2149
|
style: {
|
|
@@ -1742,10 +2152,15 @@ function StampWrapper({ children, className, padded }) {
|
|
|
1742
2152
|
WebkitMaskSize: "100% 100%",
|
|
1743
2153
|
maskSize: "100% 100%"
|
|
1744
2154
|
},
|
|
1745
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2155
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: AppCard_module_default.stampBg, style: padded ? { padding: STAMP_PADDING } : void 0, children })
|
|
1746
2156
|
}
|
|
1747
2157
|
) }) });
|
|
1748
2158
|
}
|
|
2159
|
+
|
|
2160
|
+
// src/organisms/AppTopLine.module.scss
|
|
2161
|
+
var AppTopLine_module_default = {
|
|
2162
|
+
root: "AppTopLine_module_root"
|
|
2163
|
+
};
|
|
1749
2164
|
function AppTopLine({
|
|
1750
2165
|
promoText = "\u0412\u0430\u043C \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u0441\u043A\u0438\u0434\u043A\u0430 10% \u043D\u0430 \u0432\u0441\u0435 \u043F\u043B\u0430\u0442\u043D\u044B\u0435 \u043A\u0443\u0440\u0441\u044B",
|
|
1751
2166
|
promoButtonText = "\u0421\u043C\u043E\u0442\u0440\u0435\u0442\u044C",
|
|
@@ -1758,19 +2173,51 @@ function AppTopLine({
|
|
|
1758
2173
|
avatarSrc,
|
|
1759
2174
|
className = ""
|
|
1760
2175
|
}) {
|
|
1761
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2176
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${AppTopLine_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
1762
2177
|
/* @__PURE__ */ jsxRuntime.jsx(TopPromo, { text: promoText, buttonText: promoButtonText }),
|
|
1763
2178
|
/* @__PURE__ */ jsxRuntime.jsx(ProfileNav, { stats, avatarSrc })
|
|
1764
2179
|
] });
|
|
1765
2180
|
}
|
|
2181
|
+
|
|
2182
|
+
// src/organisms/EmptyState.module.scss
|
|
2183
|
+
var EmptyState_module_default = {
|
|
2184
|
+
root: "EmptyState_module_root",
|
|
2185
|
+
icon: "EmptyState_module_icon",
|
|
2186
|
+
title: "EmptyState_module_title",
|
|
2187
|
+
description: "EmptyState_module_description",
|
|
2188
|
+
action: "EmptyState_module_action"
|
|
2189
|
+
};
|
|
1766
2190
|
function EmptyState({ icon, title, description, action, className = "" }) {
|
|
1767
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1768
|
-
icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1769
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className:
|
|
1770
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
1771
|
-
action && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2191
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${EmptyState_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
2192
|
+
icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: EmptyState_module_default.icon, children: icon }),
|
|
2193
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: EmptyState_module_default.title, children: title }),
|
|
2194
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: EmptyState_module_default.description, children: description }),
|
|
2195
|
+
action && /* @__PURE__ */ jsxRuntime.jsx("div", { className: EmptyState_module_default.action, children: action })
|
|
1772
2196
|
] });
|
|
1773
2197
|
}
|
|
2198
|
+
|
|
2199
|
+
// src/organisms/HeroSection.module.scss
|
|
2200
|
+
var HeroSection_module_default = {
|
|
2201
|
+
root: "HeroSection_module_root",
|
|
2202
|
+
bgGlow: "HeroSection_module_bgGlow",
|
|
2203
|
+
glowOrb: "HeroSection_module_glowOrb",
|
|
2204
|
+
inner: "HeroSection_module_inner",
|
|
2205
|
+
innerCompact: "HeroSection_module_innerCompact",
|
|
2206
|
+
content: "HeroSection_module_content",
|
|
2207
|
+
contentCenter: "HeroSection_module_content HeroSection_module_contentCenter",
|
|
2208
|
+
eyebrowWrap: "HeroSection_module_eyebrowWrap",
|
|
2209
|
+
eyebrowCenter: "HeroSection_module_eyebrowCenter",
|
|
2210
|
+
eyebrow: "HeroSection_module_eyebrow",
|
|
2211
|
+
eyebrowDot: "HeroSection_module_eyebrowDot",
|
|
2212
|
+
title: "HeroSection_module_title",
|
|
2213
|
+
subtitle: "HeroSection_module_subtitle",
|
|
2214
|
+
subtitleCenter: "HeroSection_module_subtitleCenter",
|
|
2215
|
+
actions: "HeroSection_module_actions",
|
|
2216
|
+
actionsCenter: "HeroSection_module_actionsCenter",
|
|
2217
|
+
mediaWrapCenter: "HeroSection_module_mediaWrap HeroSection_module_mediaWrapCenter",
|
|
2218
|
+
mediaWrapLeft: "HeroSection_module_mediaWrap HeroSection_module_mediaWrapLeft",
|
|
2219
|
+
mediaBox: "HeroSection_module_mediaBox"
|
|
2220
|
+
};
|
|
1774
2221
|
function HeroSection({
|
|
1775
2222
|
eyebrow,
|
|
1776
2223
|
title,
|
|
@@ -1783,30 +2230,40 @@ function HeroSection({
|
|
|
1783
2230
|
}) {
|
|
1784
2231
|
const isCenter = align === "center";
|
|
1785
2232
|
const isCompact = size === "compact";
|
|
1786
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: `
|
|
1787
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1788
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1789
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1790
|
-
eyebrow && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1791
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
2233
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: `${HeroSection_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
2234
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: HeroSection_module_default.bgGlow, "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: HeroSection_module_default.glowOrb }) }),
|
|
2235
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: isCompact ? HeroSection_module_default.innerCompact : HeroSection_module_default.inner, children: [
|
|
2236
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: isCenter ? HeroSection_module_default.contentCenter : HeroSection_module_default.content, children: [
|
|
2237
|
+
eyebrow && /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${HeroSection_module_default.eyebrowWrap}${isCenter ? ` ${HeroSection_module_default.eyebrowCenter}` : ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: HeroSection_module_default.eyebrow, children: [
|
|
2238
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: HeroSection_module_default.eyebrowDot }),
|
|
1792
2239
|
eyebrow
|
|
1793
2240
|
] }) }),
|
|
1794
|
-
/* @__PURE__ */ jsxRuntime.jsx("h1", { className:
|
|
1795
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
1796
|
-
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2241
|
+
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: HeroSection_module_default.title, children: title }),
|
|
2242
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: `${HeroSection_module_default.subtitle}${isCenter ? ` ${HeroSection_module_default.subtitleCenter}` : ""}`, children: subtitle }),
|
|
2243
|
+
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${HeroSection_module_default.actions}${isCenter ? ` ${HeroSection_module_default.actionsCenter}` : ""}`, children: actions })
|
|
1797
2244
|
] }),
|
|
1798
|
-
media && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2245
|
+
media && /* @__PURE__ */ jsxRuntime.jsx("div", { className: isCenter ? HeroSection_module_default.mediaWrapCenter : HeroSection_module_default.mediaWrapLeft, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: HeroSection_module_default.mediaBox, children: media }) })
|
|
1799
2246
|
] })
|
|
1800
2247
|
] });
|
|
1801
2248
|
}
|
|
2249
|
+
|
|
2250
|
+
// src/organisms/LogoCloud.module.scss
|
|
2251
|
+
var LogoCloud_module_default = {
|
|
2252
|
+
root: "LogoCloud_module_root",
|
|
2253
|
+
label: "LogoCloud_module_label",
|
|
2254
|
+
grid: "LogoCloud_module_grid",
|
|
2255
|
+
logoItem: "LogoCloud_module_logoItem",
|
|
2256
|
+
logoImg: "LogoCloud_module_logoImg",
|
|
2257
|
+
logoText: "LogoCloud_module_logoText"
|
|
2258
|
+
};
|
|
1802
2259
|
function LogoCloud({
|
|
1803
2260
|
label = "Trusted by teams at",
|
|
1804
2261
|
logos,
|
|
1805
2262
|
className = ""
|
|
1806
2263
|
}) {
|
|
1807
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: `
|
|
1808
|
-
label && /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
1809
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2264
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: `${LogoCloud_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
2265
|
+
label && /* @__PURE__ */ jsxRuntime.jsx("p", { className: LogoCloud_module_default.label, children: label }),
|
|
2266
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: LogoCloud_module_default.grid, children: logos.map((logo) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: LogoCloud_module_default.logoItem, children: logo.src ? (
|
|
1810
2267
|
// eslint-disable-next-line @next/next/no-img-element
|
|
1811
2268
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1812
2269
|
"img",
|
|
@@ -1814,32 +2271,52 @@ function LogoCloud({
|
|
|
1814
2271
|
src: logo.src,
|
|
1815
2272
|
alt: logo.name,
|
|
1816
2273
|
width: logo.width || 100,
|
|
1817
|
-
className:
|
|
2274
|
+
className: `${LogoCloud_module_default.logoImg} logo-img`
|
|
1818
2275
|
}
|
|
1819
2276
|
)
|
|
1820
|
-
) : /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
2277
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: LogoCloud_module_default.logoText, children: logo.name }) }, logo.name)) })
|
|
1821
2278
|
] });
|
|
1822
2279
|
}
|
|
2280
|
+
|
|
2281
|
+
// src/organisms/StatsBar.module.scss
|
|
2282
|
+
var StatsBar_module_default = {
|
|
2283
|
+
root: "StatsBar_module_root",
|
|
2284
|
+
inline: "StatsBar_module_inline",
|
|
2285
|
+
inlineGrid: "StatsBar_module_inlineGrid",
|
|
2286
|
+
inlineItem: "StatsBar_module_inlineItem",
|
|
2287
|
+
cardsGrid: "StatsBar_module_cardsGrid",
|
|
2288
|
+
card: "StatsBar_module_card",
|
|
2289
|
+
cardIconWrap: "StatsBar_module_cardIconWrap",
|
|
2290
|
+
statValue: "StatsBar_module_statValue",
|
|
2291
|
+
statLabel: "StatsBar_module_statLabel"
|
|
2292
|
+
};
|
|
1823
2293
|
function StatsBar({ stats, variant = "inline", className = "" }) {
|
|
1824
2294
|
if (variant === "cards") {
|
|
1825
|
-
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: `
|
|
1826
|
-
"div",
|
|
1827
|
-
{
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
stat.icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center mb-3 text-[var(--brand-primary)]", children: stat.icon }),
|
|
1831
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl md:text-3xl font-bold text-[var(--fg)] tracking-[-0.03em] tabular-nums", children: stat.value }),
|
|
1832
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 text-[13px] text-[var(--fg-muted)] tracking-[-0.25px]", children: stat.label })
|
|
1833
|
-
]
|
|
1834
|
-
},
|
|
1835
|
-
i
|
|
1836
|
-
)) }) });
|
|
2295
|
+
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: `${StatsBar_module_default.root}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: StatsBar_module_default.cardsGrid, children: stats.map((stat, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: StatsBar_module_default.card, children: [
|
|
2296
|
+
stat.icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: StatsBar_module_default.cardIconWrap, children: stat.icon }),
|
|
2297
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: StatsBar_module_default.statValue, children: stat.value }),
|
|
2298
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: StatsBar_module_default.statLabel, children: stat.label })
|
|
2299
|
+
] }, i)) }) });
|
|
1837
2300
|
}
|
|
1838
|
-
return /* @__PURE__ */ jsxRuntime.jsx("section", { className:
|
|
1839
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1840
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2301
|
+
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: `${StatsBar_module_default.root} ${StatsBar_module_default.inline}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: StatsBar_module_default.inlineGrid, children: stats.map((stat, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: StatsBar_module_default.inlineItem, children: [
|
|
2302
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: StatsBar_module_default.statValue, children: stat.value }),
|
|
2303
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: StatsBar_module_default.statLabel, children: stat.label })
|
|
1841
2304
|
] }, i)) }) });
|
|
1842
2305
|
}
|
|
2306
|
+
|
|
2307
|
+
// src/organisms/CTASection.module.scss
|
|
2308
|
+
var CTASection_module_default = {
|
|
2309
|
+
root: "CTASection_module_root",
|
|
2310
|
+
default: "CTASection_module_default",
|
|
2311
|
+
filled: "CTASection_module_filled",
|
|
2312
|
+
bordered: "CTASection_module_bordered",
|
|
2313
|
+
inner: "CTASection_module_inner",
|
|
2314
|
+
title: "CTASection_module_title",
|
|
2315
|
+
titleFilled: "CTASection_module_titleFilled",
|
|
2316
|
+
description: "CTASection_module_description",
|
|
2317
|
+
descriptionFilled: "CTASection_module_descriptionFilled",
|
|
2318
|
+
actions: "CTASection_module_actions"
|
|
2319
|
+
};
|
|
1843
2320
|
function CTASection({
|
|
1844
2321
|
title,
|
|
1845
2322
|
description,
|
|
@@ -1847,44 +2324,42 @@ function CTASection({
|
|
|
1847
2324
|
variant = "default",
|
|
1848
2325
|
className = ""
|
|
1849
2326
|
}) {
|
|
1850
|
-
const variantStyles5 = {
|
|
1851
|
-
default: "py-16 md:py-24",
|
|
1852
|
-
filled: "py-12 md:py-16 px-6 md:px-12 rounded-[var(--radius-xl)] bg-[var(--fg)] text-[var(--bg)]",
|
|
1853
|
-
bordered: "py-12 md:py-16 px-6 md:px-12 rounded-[var(--radius-xl)] border-2 border-dashed border-[var(--border-color-strong)]"
|
|
1854
|
-
};
|
|
1855
2327
|
const isFilled = variant === "filled";
|
|
1856
|
-
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: `${
|
|
1857
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
className: `text-2xl md:text-4xl font-bold tracking-[-0.03em] leading-[1.1] ${isFilled ? "text-[var(--bg)]" : "text-[var(--fg)]"}`,
|
|
1861
|
-
children: title
|
|
1862
|
-
}
|
|
1863
|
-
),
|
|
1864
|
-
description && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1865
|
-
"p",
|
|
1866
|
-
{
|
|
1867
|
-
className: `mt-4 text-base leading-relaxed ${isFilled ? "text-[var(--bg)]/70" : "text-[var(--fg-secondary)]"}`,
|
|
1868
|
-
children: description
|
|
1869
|
-
}
|
|
1870
|
-
),
|
|
1871
|
-
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-8 flex flex-wrap gap-3 justify-center", children: actions })
|
|
2328
|
+
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: `${CTASection_module_default.root} ${CTASection_module_default[variant]}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: CTASection_module_default.inner, children: [
|
|
2329
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: `${CTASection_module_default.title}${isFilled ? ` ${CTASection_module_default.titleFilled}` : ""}`, children: title }),
|
|
2330
|
+
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: `${CTASection_module_default.description}${isFilled ? ` ${CTASection_module_default.descriptionFilled}` : ""}`, children: description }),
|
|
2331
|
+
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: CTASection_module_default.actions, children: actions })
|
|
1872
2332
|
] }) });
|
|
1873
2333
|
}
|
|
2334
|
+
|
|
2335
|
+
// src/organisms/BentoGrid.module.scss
|
|
2336
|
+
var BentoGrid_module_default = {
|
|
2337
|
+
root: "BentoGrid_module_root",
|
|
2338
|
+
grid: "BentoGrid_module_grid",
|
|
2339
|
+
item: "BentoGrid_module_item",
|
|
2340
|
+
colSpan2: "BentoGrid_module_colSpan2",
|
|
2341
|
+
rowSpan2: "BentoGrid_module_rowSpan2",
|
|
2342
|
+
mediaWrap: "BentoGrid_module_mediaWrap",
|
|
2343
|
+
content: "BentoGrid_module_content",
|
|
2344
|
+
contentTall: "BentoGrid_module_contentTall",
|
|
2345
|
+
itemIcon: "BentoGrid_module_itemIcon",
|
|
2346
|
+
itemTitle: "BentoGrid_module_itemTitle",
|
|
2347
|
+
itemDescription: "BentoGrid_module_itemDescription"
|
|
2348
|
+
};
|
|
1874
2349
|
function BentoGrid({ items, className = "" }) {
|
|
1875
|
-
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: `
|
|
1876
|
-
const
|
|
1877
|
-
const
|
|
2350
|
+
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: `${BentoGrid_module_default.root}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: BentoGrid_module_default.grid, children: items.map((item, i) => {
|
|
2351
|
+
const spanClass = item.span === 2 ? ` ${BentoGrid_module_default.colSpan2}` : "";
|
|
2352
|
+
const rowClass = item.rowSpan === 2 ? ` ${BentoGrid_module_default.rowSpan2}` : "";
|
|
1878
2353
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1879
2354
|
"div",
|
|
1880
2355
|
{
|
|
1881
|
-
className:
|
|
2356
|
+
className: `${BentoGrid_module_default.item}${spanClass}${rowClass}${item.className ? ` ${item.className}` : ""}`,
|
|
1882
2357
|
children: [
|
|
1883
|
-
item.media && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1884
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
1885
|
-
item.icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1886
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className:
|
|
1887
|
-
item.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
2358
|
+
item.media && /* @__PURE__ */ jsxRuntime.jsx("div", { className: BentoGrid_module_default.mediaWrap, children: item.media }),
|
|
2359
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${BentoGrid_module_default.content}${item.rowSpan === 2 ? ` ${BentoGrid_module_default.contentTall}` : ""}`, children: [
|
|
2360
|
+
item.icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: BentoGrid_module_default.itemIcon, children: item.icon }),
|
|
2361
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: BentoGrid_module_default.itemTitle, children: item.title }),
|
|
2362
|
+
item.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: BentoGrid_module_default.itemDescription, children: item.description })
|
|
1888
2363
|
] })
|
|
1889
2364
|
]
|
|
1890
2365
|
},
|
|
@@ -1892,6 +2367,23 @@ function BentoGrid({ items, className = "" }) {
|
|
|
1892
2367
|
);
|
|
1893
2368
|
}) }) });
|
|
1894
2369
|
}
|
|
2370
|
+
|
|
2371
|
+
// src/organisms/FAQSection.module.scss
|
|
2372
|
+
var FAQSection_module_default = {
|
|
2373
|
+
root: "FAQSection_module_root",
|
|
2374
|
+
container: "FAQSection_module_container",
|
|
2375
|
+
title: "FAQSection_module_title",
|
|
2376
|
+
subtitle: "FAQSection_module_subtitle",
|
|
2377
|
+
list: "FAQSection_module_list",
|
|
2378
|
+
item: "FAQSection_module_item",
|
|
2379
|
+
question: "FAQSection_module_question",
|
|
2380
|
+
questionText: "FAQSection_module_questionText",
|
|
2381
|
+
toggleIcon: "FAQSection_module_toggleIcon",
|
|
2382
|
+
toggleIconOpen: "FAQSection_module_toggleIcon FAQSection_module_toggleIconOpen",
|
|
2383
|
+
answerOpen: "FAQSection_module_answer FAQSection_module_answerOpen",
|
|
2384
|
+
answerClosed: "FAQSection_module_answer FAQSection_module_answerClosed",
|
|
2385
|
+
answerText: "FAQSection_module_answerText"
|
|
2386
|
+
};
|
|
1895
2387
|
function FAQSection({
|
|
1896
2388
|
title = "Frequently asked questions",
|
|
1897
2389
|
subtitle,
|
|
@@ -1900,64 +2392,72 @@ function FAQSection({
|
|
|
1900
2392
|
}) {
|
|
1901
2393
|
const [openIndex, setOpenIndex] = react.useState(null);
|
|
1902
2394
|
const toggle = (i) => setOpenIndex(openIndex === i ? null : i);
|
|
1903
|
-
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: `
|
|
1904
|
-
title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className:
|
|
1905
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
1906
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2395
|
+
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: `${FAQSection_module_default.root}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: FAQSection_module_default.container, children: [
|
|
2396
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: FAQSection_module_default.title, children: title }),
|
|
2397
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: FAQSection_module_default.subtitle, children: subtitle }),
|
|
2398
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: title || subtitle ? FAQSection_module_default.list : "", children: items.map((item, i) => {
|
|
1907
2399
|
const isOpen = openIndex === i;
|
|
1908
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2400
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: FAQSection_module_default.item, children: [
|
|
1909
2401
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1910
2402
|
"button",
|
|
1911
2403
|
{
|
|
1912
2404
|
onClick: () => toggle(i),
|
|
1913
|
-
className:
|
|
2405
|
+
className: FAQSection_module_default.question,
|
|
1914
2406
|
"aria-expanded": isOpen,
|
|
1915
2407
|
children: [
|
|
1916
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
1917
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1918
|
-
"span",
|
|
1919
|
-
{
|
|
1920
|
-
className: `shrink-0 w-5 h-5 flex items-center justify-center text-[var(--fg-muted)] transition-transform duration-200 ${isOpen ? "rotate-45" : ""}`,
|
|
1921
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7 1v12M1 7h12", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) })
|
|
1922
|
-
}
|
|
1923
|
-
)
|
|
2408
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: FAQSection_module_default.questionText, children: item.question }),
|
|
2409
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: isOpen ? FAQSection_module_default.toggleIconOpen : FAQSection_module_default.toggleIcon, children: /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7 1v12M1 7h12", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }) })
|
|
1924
2410
|
]
|
|
1925
2411
|
}
|
|
1926
2412
|
),
|
|
1927
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1928
|
-
"div",
|
|
1929
|
-
{
|
|
1930
|
-
className: `overflow-hidden transition-all duration-200 ease-out ${isOpen ? "max-h-96 opacity-100 mt-3" : "max-h-0 opacity-0"}`,
|
|
1931
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[14px] text-[var(--fg-secondary)] leading-relaxed pr-8", children: item.answer })
|
|
1932
|
-
}
|
|
1933
|
-
)
|
|
2413
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: isOpen ? FAQSection_module_default.answerOpen : FAQSection_module_default.answerClosed, children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: FAQSection_module_default.answerText, children: item.answer }) })
|
|
1934
2414
|
] }, i);
|
|
1935
2415
|
}) })
|
|
1936
2416
|
] }) });
|
|
1937
2417
|
}
|
|
2418
|
+
|
|
2419
|
+
// src/organisms/ComparisonTable.module.scss
|
|
2420
|
+
var ComparisonTable_module_default = {
|
|
2421
|
+
root: "ComparisonTable_module_root",
|
|
2422
|
+
scrollWrap: "ComparisonTable_module_scrollWrap",
|
|
2423
|
+
table: "ComparisonTable_module_table",
|
|
2424
|
+
headerCell: "ComparisonTable_module_headerCell",
|
|
2425
|
+
columnHeader: "ComparisonTable_module_columnHeader",
|
|
2426
|
+
columnHeaderHighlighted: "ComparisonTable_module_columnHeader ComparisonTable_module_columnHeaderHighlighted",
|
|
2427
|
+
bodyRow: "ComparisonTable_module_bodyRow",
|
|
2428
|
+
featureCell: "ComparisonTable_module_featureCell",
|
|
2429
|
+
valueCell: "ComparisonTable_module_valueCell",
|
|
2430
|
+
valueCellHighlighted: "ComparisonTable_module_valueCell ComparisonTable_module_valueCellHighlighted",
|
|
2431
|
+
valueCellHighlightedLast: "ComparisonTable_module_valueCell ComparisonTable_module_valueCellHighlighted ComparisonTable_module_valueCellHighlightedLast",
|
|
2432
|
+
iconSuccess: "ComparisonTable_module_iconSuccess",
|
|
2433
|
+
iconMuted: "ComparisonTable_module_iconMuted",
|
|
2434
|
+
textValue: "ComparisonTable_module_textValue"
|
|
2435
|
+
};
|
|
1938
2436
|
function ComparisonTable({ columns, rows, className = "" }) {
|
|
1939
|
-
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: `
|
|
2437
|
+
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: `${ComparisonTable_module_default.root}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: ComparisonTable_module_default.scrollWrap, children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: ComparisonTable_module_default.table, children: [
|
|
1940
2438
|
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
1941
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className:
|
|
2439
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: ComparisonTable_module_default.headerCell }),
|
|
1942
2440
|
columns.map((col, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1943
2441
|
"th",
|
|
1944
2442
|
{
|
|
1945
|
-
className:
|
|
2443
|
+
className: col.highlighted ? ComparisonTable_module_default.columnHeaderHighlighted : ComparisonTable_module_default.columnHeader,
|
|
1946
2444
|
children: col.label
|
|
1947
2445
|
},
|
|
1948
2446
|
i
|
|
1949
2447
|
))
|
|
1950
2448
|
] }) }),
|
|
1951
|
-
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: rows.map((row, ri) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { className:
|
|
1952
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className:
|
|
2449
|
+
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: rows.map((row, ri) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: ComparisonTable_module_default.bodyRow, children: [
|
|
2450
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: ComparisonTable_module_default.featureCell, children: row.feature }),
|
|
1953
2451
|
row.values.map((val, vi) => {
|
|
1954
2452
|
var _a;
|
|
1955
2453
|
const isHighlighted = (_a = columns[vi]) == null ? void 0 : _a.highlighted;
|
|
2454
|
+
const isLast = ri === rows.length - 1;
|
|
2455
|
+
const cellClass = isHighlighted ? isLast ? ComparisonTable_module_default.valueCellHighlightedLast : ComparisonTable_module_default.valueCellHighlighted : ComparisonTable_module_default.valueCell;
|
|
1956
2456
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1957
2457
|
"td",
|
|
1958
2458
|
{
|
|
1959
|
-
className:
|
|
1960
|
-
children: typeof val === "boolean" ? val ? /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
2459
|
+
className: cellClass,
|
|
2460
|
+
children: typeof val === "boolean" ? val ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: ComparisonTable_module_default.iconSuccess, children: /* @__PURE__ */ jsxRuntime.jsx(IconlyCheck, { size: 18 }) }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: ComparisonTable_module_default.iconMuted, children: /* @__PURE__ */ jsxRuntime.jsx(IconlyClose, { size: 18 }) }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: ComparisonTable_module_default.textValue, children: val })
|
|
1961
2461
|
},
|
|
1962
2462
|
vi
|
|
1963
2463
|
);
|
|
@@ -1965,79 +2465,121 @@ function ComparisonTable({ columns, rows, className = "" }) {
|
|
|
1965
2465
|
] }, ri)) })
|
|
1966
2466
|
] }) }) });
|
|
1967
2467
|
}
|
|
2468
|
+
|
|
2469
|
+
// src/organisms/PromoBento.module.scss
|
|
2470
|
+
var PromoBento_module_default = {
|
|
2471
|
+
root: "PromoBento_module_root",
|
|
2472
|
+
header: "PromoBento_module_header",
|
|
2473
|
+
heading: "PromoBento_module_heading",
|
|
2474
|
+
subtitle: "PromoBento_module_subtitle",
|
|
2475
|
+
grid: "PromoBento_module_grid",
|
|
2476
|
+
card: "PromoBento_module_card",
|
|
2477
|
+
cardMedia: "PromoBento_module_cardMedia",
|
|
2478
|
+
cardMediaInner: "PromoBento_module_cardMediaInner",
|
|
2479
|
+
cardFade: "PromoBento_module_cardFade",
|
|
2480
|
+
cardContent: "PromoBento_module_cardContent",
|
|
2481
|
+
pill: "PromoBento_module_pill",
|
|
2482
|
+
pillInner: "PromoBento_module_pillInner",
|
|
2483
|
+
pillIcon: "PromoBento_module_pillIcon",
|
|
2484
|
+
cardTitle: "PromoBento_module_cardTitle",
|
|
2485
|
+
cardDesc: "PromoBento_module_cardDesc",
|
|
2486
|
+
cardCta: "PromoBento_module_cardCta"
|
|
2487
|
+
};
|
|
1968
2488
|
function PromoBentoCard({ pill, title, description, cta, media, className = "" }) {
|
|
1969
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1970
|
-
"div",
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm md:text-base leading-relaxed text-[var(--fg-secondary)] max-w-[85%]", children: description }),
|
|
1993
|
-
cta && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1994
|
-
Button,
|
|
1995
|
-
{
|
|
1996
|
-
variant: "outline",
|
|
1997
|
-
onClick: cta.onClick,
|
|
1998
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 3l5 5-5 5" }) }),
|
|
1999
|
-
children: cta.label
|
|
2000
|
-
}
|
|
2001
|
-
) })
|
|
2002
|
-
] })
|
|
2003
|
-
]
|
|
2004
|
-
}
|
|
2005
|
-
);
|
|
2489
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${PromoBento_module_default.card}${className ? ` ${className}` : ""}`, children: [
|
|
2490
|
+
media && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoBento_module_default.cardMedia, children: [
|
|
2491
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoBento_module_default.cardMediaInner, children: media }),
|
|
2492
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoBento_module_default.cardFade })
|
|
2493
|
+
] }),
|
|
2494
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoBento_module_default.cardContent, children: [
|
|
2495
|
+
pill && /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoBento_module_default.pill, children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: PromoBento_module_default.pillInner, children: [
|
|
2496
|
+
pill.icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: PromoBento_module_default.pillIcon, children: pill.icon }),
|
|
2497
|
+
pill.label
|
|
2498
|
+
] }) }),
|
|
2499
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: PromoBento_module_default.cardTitle, children: title }),
|
|
2500
|
+
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: PromoBento_module_default.cardDesc, children: description }),
|
|
2501
|
+
cta && /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoBento_module_default.cardCta, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2502
|
+
Button,
|
|
2503
|
+
{
|
|
2504
|
+
variant: "outline",
|
|
2505
|
+
onClick: cta.onClick,
|
|
2506
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 3l5 5-5 5" }) }),
|
|
2507
|
+
children: cta.label
|
|
2508
|
+
}
|
|
2509
|
+
) })
|
|
2510
|
+
] })
|
|
2511
|
+
] });
|
|
2006
2512
|
}
|
|
2007
2513
|
function PromoBento({ heading, subtitle, items, className = "" }) {
|
|
2008
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: `
|
|
2009
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2010
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className:
|
|
2011
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
2514
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: `${PromoBento_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
2515
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoBento_module_default.header, children: [
|
|
2516
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: PromoBento_module_default.heading, children: heading }),
|
|
2517
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: PromoBento_module_default.subtitle, children: subtitle })
|
|
2012
2518
|
] }),
|
|
2013
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2519
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoBento_module_default.grid, children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx(PromoBentoCard, __spreadValues({}, item), i)) })
|
|
2014
2520
|
] });
|
|
2015
2521
|
}
|
|
2522
|
+
|
|
2523
|
+
// src/organisms/PromoShowcase.module.scss
|
|
2524
|
+
var PromoShowcase_module_default = {
|
|
2525
|
+
root: "PromoShowcase_module_root",
|
|
2526
|
+
heading: "PromoShowcase_module_heading",
|
|
2527
|
+
headingText: "PromoShowcase_module_headingText",
|
|
2528
|
+
body: "PromoShowcase_module_body",
|
|
2529
|
+
stepper: "PromoShowcase_module_stepper",
|
|
2530
|
+
stepButton: "PromoShowcase_module_stepButton",
|
|
2531
|
+
stepButtonActive: "PromoShowcase_module_stepButtonActive",
|
|
2532
|
+
contentArea: "PromoShowcase_module_contentArea",
|
|
2533
|
+
panel: "PromoShowcase_module_panel",
|
|
2534
|
+
panelActive: "PromoShowcase_module_panelActive",
|
|
2535
|
+
panelInner: "PromoShowcase_module_panelInner"
|
|
2536
|
+
};
|
|
2016
2537
|
function PromoShowcase({ heading, steps, className = "" }) {
|
|
2017
2538
|
const [activeIndex, setActiveIndex] = react.useState(0);
|
|
2018
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: `
|
|
2019
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2020
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2021
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2539
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: `${PromoShowcase_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
2540
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoShowcase_module_default.heading, children: /* @__PURE__ */ jsxRuntime.jsx("h2", { className: PromoShowcase_module_default.headingText, children: heading }) }),
|
|
2541
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoShowcase_module_default.body, children: [
|
|
2542
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoShowcase_module_default.stepper, children: steps.map((step, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2022
2543
|
"button",
|
|
2023
2544
|
{
|
|
2024
2545
|
onClick: () => setActiveIndex(i),
|
|
2025
|
-
className:
|
|
2546
|
+
className: `${PromoShowcase_module_default.stepButton}${i === activeIndex ? ` ${PromoShowcase_module_default.stepButtonActive}` : ""}`,
|
|
2026
2547
|
children: step.label
|
|
2027
2548
|
},
|
|
2028
2549
|
i
|
|
2029
2550
|
)) }),
|
|
2030
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2551
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoShowcase_module_default.contentArea, children: steps.map((step, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2031
2552
|
"div",
|
|
2032
2553
|
{
|
|
2033
|
-
className:
|
|
2034
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2554
|
+
className: `${PromoShowcase_module_default.panel}${i === activeIndex ? ` ${PromoShowcase_module_default.panelActive}` : ""}`,
|
|
2555
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoShowcase_module_default.panelInner, children: step.content })
|
|
2035
2556
|
},
|
|
2036
2557
|
i
|
|
2037
2558
|
)) })
|
|
2038
2559
|
] })
|
|
2039
2560
|
] });
|
|
2040
2561
|
}
|
|
2562
|
+
|
|
2563
|
+
// src/organisms/PromoSplit.module.scss
|
|
2564
|
+
var PromoSplit_module_default = {
|
|
2565
|
+
root: "PromoSplit_module_root",
|
|
2566
|
+
grid: "PromoSplit_module_grid",
|
|
2567
|
+
gridReversed: "PromoSplit_module_grid PromoSplit_module_gridReversed",
|
|
2568
|
+
textColumn: "PromoSplit_module_textColumn",
|
|
2569
|
+
textColumnLtr: "PromoSplit_module_textColumnLtr",
|
|
2570
|
+
heading: "PromoSplit_module_heading",
|
|
2571
|
+
description: "PromoSplit_module_description",
|
|
2572
|
+
features: "PromoSplit_module_features",
|
|
2573
|
+
feature: "PromoSplit_module_feature",
|
|
2574
|
+
featureTitle: "PromoSplit_module_featureTitle",
|
|
2575
|
+
featureDesc: "PromoSplit_module_featureDesc",
|
|
2576
|
+
mediaColumn: "PromoSplit_module_mediaColumn",
|
|
2577
|
+
mediaColumnLtr: "PromoSplit_module_mediaColumnLtr",
|
|
2578
|
+
mediaBox: "PromoSplit_module_mediaBox",
|
|
2579
|
+
mediaContent: "PromoSplit_module_mediaContent",
|
|
2580
|
+
mediaPlaceholder: "PromoSplit_module_mediaPlaceholder",
|
|
2581
|
+
placeholderCircle: "PromoSplit_module_placeholderCircle"
|
|
2582
|
+
};
|
|
2041
2583
|
function PromoSplit({
|
|
2042
2584
|
heading,
|
|
2043
2585
|
description,
|
|
@@ -2047,66 +2589,118 @@ function PromoSplit({
|
|
|
2047
2589
|
className = ""
|
|
2048
2590
|
}) {
|
|
2049
2591
|
const isLeft = mediaPosition === "left";
|
|
2050
|
-
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: `
|
|
2051
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2052
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className:
|
|
2053
|
-
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
2054
|
-
features && features.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2055
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className:
|
|
2056
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
2592
|
+
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: `${PromoSplit_module_default.root}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: isLeft ? PromoSplit_module_default.gridReversed : PromoSplit_module_default.grid, children: [
|
|
2593
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${PromoSplit_module_default.textColumn}${isLeft ? ` ${PromoSplit_module_default.textColumnLtr}` : ""}`, children: [
|
|
2594
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: PromoSplit_module_default.heading, children: heading }),
|
|
2595
|
+
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: PromoSplit_module_default.description, children: description }),
|
|
2596
|
+
features && features.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoSplit_module_default.features, children: features.map((feature, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoSplit_module_default.feature, children: [
|
|
2597
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: PromoSplit_module_default.featureTitle, children: feature.title }),
|
|
2598
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: PromoSplit_module_default.featureDesc, children: feature.description })
|
|
2057
2599
|
] }, i)) })
|
|
2058
2600
|
] }),
|
|
2059
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2601
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: `${PromoSplit_module_default.mediaColumn}${isLeft ? ` ${PromoSplit_module_default.mediaColumnLtr}` : ""}`, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoSplit_module_default.mediaBox, children: media ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoSplit_module_default.mediaContent, children: media }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoSplit_module_default.mediaPlaceholder, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoSplit_module_default.placeholderCircle, children: /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "32", height: "32", viewBox: "0 0 24 24", fill: "none", stroke: "var(--fg-muted)", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
2060
2602
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2" }),
|
|
2061
2603
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "8.5", cy: "8.5", r: "1.5" }),
|
|
2062
2604
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "m21 15-5-5L5 21" })
|
|
2063
2605
|
] }) }) }) }) })
|
|
2064
2606
|
] }) });
|
|
2065
2607
|
}
|
|
2608
|
+
|
|
2609
|
+
// src/organisms/PromoTrustGrid.module.scss
|
|
2610
|
+
var PromoTrustGrid_module_default = {
|
|
2611
|
+
root: "PromoTrustGrid_module_root",
|
|
2612
|
+
heading: "PromoTrustGrid_module_heading",
|
|
2613
|
+
headingText: "PromoTrustGrid_module_headingText",
|
|
2614
|
+
grid: "PromoTrustGrid_module_grid",
|
|
2615
|
+
featureCard: "PromoTrustGrid_module_featureCard",
|
|
2616
|
+
featureIcon: "PromoTrustGrid_module_featureIcon",
|
|
2617
|
+
featureTitle: "PromoTrustGrid_module_featureTitle",
|
|
2618
|
+
featureDescription: "PromoTrustGrid_module_featureDescription",
|
|
2619
|
+
media: "PromoTrustGrid_module_media",
|
|
2620
|
+
mediaInner: "PromoTrustGrid_module_mediaInner"
|
|
2621
|
+
};
|
|
2066
2622
|
function PromoTrustGrid({ heading, features, media, className = "" }) {
|
|
2067
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: `
|
|
2068
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2069
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2070
|
-
"div",
|
|
2071
|
-
{
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-base font-semibold text-[var(--fg)] leading-snug", children: feature.title }),
|
|
2076
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-[var(--fg-secondary)] leading-relaxed", children: feature.description })
|
|
2077
|
-
]
|
|
2078
|
-
},
|
|
2079
|
-
i
|
|
2080
|
-
)) }),
|
|
2081
|
-
media && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative rounded-[clamp(16px,2vw,32px)] bg-[var(--bg-secondary)] border border-[var(--border-color)] overflow-hidden min-h-[280px] md:min-h-[420px]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center justify-center p-6", children: media }) })
|
|
2623
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: `${PromoTrustGrid_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
2624
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoTrustGrid_module_default.heading, children: /* @__PURE__ */ jsxRuntime.jsx("h2", { className: PromoTrustGrid_module_default.headingText, children: heading }) }),
|
|
2625
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoTrustGrid_module_default.grid, children: features.map((feature, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoTrustGrid_module_default.featureCard, children: [
|
|
2626
|
+
feature.icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoTrustGrid_module_default.featureIcon, children: feature.icon }),
|
|
2627
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: PromoTrustGrid_module_default.featureTitle, children: feature.title }),
|
|
2628
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: PromoTrustGrid_module_default.featureDescription, children: feature.description })
|
|
2629
|
+
] }, i)) }),
|
|
2630
|
+
media && /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoTrustGrid_module_default.media, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoTrustGrid_module_default.mediaInner, children: media }) })
|
|
2082
2631
|
] });
|
|
2083
2632
|
}
|
|
2633
|
+
|
|
2634
|
+
// src/organisms/PromoDevicesCTA.module.scss
|
|
2635
|
+
var PromoDevicesCTA_module_default = {
|
|
2636
|
+
root: "PromoDevicesCTA_module_root",
|
|
2637
|
+
textBlock: "PromoDevicesCTA_module_textBlock",
|
|
2638
|
+
heading: "PromoDevicesCTA_module_heading",
|
|
2639
|
+
description: "PromoDevicesCTA_module_description",
|
|
2640
|
+
ctaWrap: "PromoDevicesCTA_module_ctaWrap",
|
|
2641
|
+
devices: "PromoDevicesCTA_module_devices",
|
|
2642
|
+
laptop: "PromoDevicesCTA_module_laptop",
|
|
2643
|
+
laptopScreen: "PromoDevicesCTA_module_laptopScreen",
|
|
2644
|
+
laptopScreenInner: "PromoDevicesCTA_module_laptopScreenInner",
|
|
2645
|
+
laptopHinge: "PromoDevicesCTA_module_laptopHinge",
|
|
2646
|
+
laptopBase: "PromoDevicesCTA_module_laptopBase",
|
|
2647
|
+
tablet: "PromoDevicesCTA_module_tablet",
|
|
2648
|
+
tabletShell: "PromoDevicesCTA_module_tabletShell",
|
|
2649
|
+
tabletScreen: "PromoDevicesCTA_module_tabletScreen",
|
|
2650
|
+
phone: "PromoDevicesCTA_module_phone",
|
|
2651
|
+
phoneShell: "PromoDevicesCTA_module_phoneShell",
|
|
2652
|
+
phoneNotch: "PromoDevicesCTA_module_phoneNotch",
|
|
2653
|
+
phoneScreen: "PromoDevicesCTA_module_phoneScreen"
|
|
2654
|
+
};
|
|
2084
2655
|
function PromoDevicesCTA({
|
|
2085
2656
|
heading,
|
|
2086
2657
|
description,
|
|
2087
2658
|
cta,
|
|
2088
2659
|
className = ""
|
|
2089
2660
|
}) {
|
|
2090
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: `
|
|
2091
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2092
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className:
|
|
2093
|
-
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
2094
|
-
cta && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2661
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: `${PromoDevicesCTA_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
2662
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoDevicesCTA_module_default.textBlock, children: [
|
|
2663
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: PromoDevicesCTA_module_default.heading, children: heading }),
|
|
2664
|
+
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: PromoDevicesCTA_module_default.description, children: description }),
|
|
2665
|
+
cta && /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoDevicesCTA_module_default.ctaWrap, children: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "primary", onClick: cta.onClick, children: cta.label }) })
|
|
2095
2666
|
] }),
|
|
2096
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2097
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2098
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2099
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2100
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2667
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoDevicesCTA_module_default.devices, children: [
|
|
2668
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoDevicesCTA_module_default.laptop, children: [
|
|
2669
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoDevicesCTA_module_default.laptopScreen, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoDevicesCTA_module_default.laptopScreenInner }) }),
|
|
2670
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoDevicesCTA_module_default.laptopHinge }),
|
|
2671
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoDevicesCTA_module_default.laptopBase })
|
|
2101
2672
|
] }),
|
|
2102
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2103
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2104
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2105
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2673
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoDevicesCTA_module_default.tablet, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoDevicesCTA_module_default.tabletShell, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoDevicesCTA_module_default.tabletScreen }) }) }),
|
|
2674
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoDevicesCTA_module_default.phone, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoDevicesCTA_module_default.phoneShell, children: [
|
|
2675
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoDevicesCTA_module_default.phoneNotch }),
|
|
2676
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoDevicesCTA_module_default.phoneScreen })
|
|
2106
2677
|
] }) })
|
|
2107
2678
|
] })
|
|
2108
2679
|
] });
|
|
2109
2680
|
}
|
|
2681
|
+
|
|
2682
|
+
// src/organisms/PromoTestimonials.module.scss
|
|
2683
|
+
var PromoTestimonials_module_default = {
|
|
2684
|
+
root: "PromoTestimonials_module_root",
|
|
2685
|
+
wrapper: "PromoTestimonials_module_wrapper",
|
|
2686
|
+
avatarSection: "PromoTestimonials_module_avatarSection",
|
|
2687
|
+
avatarStack: "PromoTestimonials_module_avatarStack",
|
|
2688
|
+
avatarRing: "PromoTestimonials_module_avatarRing",
|
|
2689
|
+
overflowBadge: "PromoTestimonials_module_overflowBadge",
|
|
2690
|
+
overflowCircle: "PromoTestimonials_module_overflowCircle",
|
|
2691
|
+
headingSection: "PromoTestimonials_module_headingSection",
|
|
2692
|
+
heading: "PromoTestimonials_module_heading",
|
|
2693
|
+
subtitle: "PromoTestimonials_module_subtitle",
|
|
2694
|
+
cardsSection: "PromoTestimonials_module_cardsSection",
|
|
2695
|
+
cardsGrid: "PromoTestimonials_module_cardsGrid",
|
|
2696
|
+
card: "PromoTestimonials_module_card",
|
|
2697
|
+
quote: "PromoTestimonials_module_quote",
|
|
2698
|
+
author: "PromoTestimonials_module_author",
|
|
2699
|
+
authorName: "PromoTestimonials_module_authorName",
|
|
2700
|
+
authorRole: "PromoTestimonials_module_authorRole",
|
|
2701
|
+
mediaSection: "PromoTestimonials_module_mediaSection",
|
|
2702
|
+
mediaBox: "PromoTestimonials_module_mediaBox"
|
|
2703
|
+
};
|
|
2110
2704
|
function PromoTestimonials({
|
|
2111
2705
|
heading,
|
|
2112
2706
|
subtitle,
|
|
@@ -2114,14 +2708,14 @@ function PromoTestimonials({
|
|
|
2114
2708
|
media,
|
|
2115
2709
|
className = ""
|
|
2116
2710
|
}) {
|
|
2117
|
-
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: `
|
|
2118
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2711
|
+
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: `${PromoTestimonials_module_default.root}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoTestimonials_module_default.wrapper, children: [
|
|
2712
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoTestimonials_module_default.avatarSection, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoTestimonials_module_default.avatarStack, children: [
|
|
2119
2713
|
testimonials.slice(0, 5).map((t, i) => {
|
|
2120
2714
|
const initials = t.name.split(" ").map((n) => n[0]).join("").toUpperCase();
|
|
2121
2715
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2122
2716
|
"div",
|
|
2123
2717
|
{
|
|
2124
|
-
className:
|
|
2718
|
+
className: PromoTestimonials_module_default.avatarRing,
|
|
2125
2719
|
style: { zIndex: 10 - i },
|
|
2126
2720
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2127
2721
|
Avatar,
|
|
@@ -2135,32 +2729,32 @@ function PromoTestimonials({
|
|
|
2135
2729
|
i
|
|
2136
2730
|
);
|
|
2137
2731
|
}),
|
|
2138
|
-
testimonials.length > 5 && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2732
|
+
testimonials.length > 5 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoTestimonials_module_default.overflowBadge, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoTestimonials_module_default.overflowCircle, children: [
|
|
2139
2733
|
"+",
|
|
2140
2734
|
testimonials.length - 5
|
|
2141
2735
|
] }) })
|
|
2142
2736
|
] }) }),
|
|
2143
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2144
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className:
|
|
2145
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
2737
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoTestimonials_module_default.headingSection, children: [
|
|
2738
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: PromoTestimonials_module_default.heading, children: heading }),
|
|
2739
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: PromoTestimonials_module_default.subtitle, children: subtitle })
|
|
2146
2740
|
] }),
|
|
2147
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2741
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoTestimonials_module_default.cardsSection, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoTestimonials_module_default.cardsGrid, children: testimonials.map((t, i) => {
|
|
2148
2742
|
const initials = t.name.split(" ").map((n) => n[0]).join("").toUpperCase();
|
|
2149
2743
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2150
2744
|
"div",
|
|
2151
2745
|
{
|
|
2152
|
-
className:
|
|
2746
|
+
className: PromoTestimonials_module_default.card,
|
|
2153
2747
|
children: [
|
|
2154
|
-
/* @__PURE__ */ jsxRuntime.jsxs("p", { className:
|
|
2748
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: PromoTestimonials_module_default.quote, children: [
|
|
2155
2749
|
"\u201C",
|
|
2156
2750
|
t.quote,
|
|
2157
2751
|
"\u201D"
|
|
2158
2752
|
] }),
|
|
2159
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2753
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoTestimonials_module_default.author, children: [
|
|
2160
2754
|
/* @__PURE__ */ jsxRuntime.jsx(Avatar, { size: "sm", src: t.avatarSrc, initials }),
|
|
2161
2755
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2162
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
2163
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
2756
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: PromoTestimonials_module_default.authorName, children: t.name }),
|
|
2757
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: PromoTestimonials_module_default.authorRole, children: t.role })
|
|
2164
2758
|
] })
|
|
2165
2759
|
] })
|
|
2166
2760
|
]
|
|
@@ -2168,9 +2762,30 @@ function PromoTestimonials({
|
|
|
2168
2762
|
i
|
|
2169
2763
|
);
|
|
2170
2764
|
}) }) }),
|
|
2171
|
-
media && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2765
|
+
media && /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoTestimonials_module_default.mediaSection, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoTestimonials_module_default.mediaBox, children: media }) })
|
|
2172
2766
|
] }) });
|
|
2173
2767
|
}
|
|
2768
|
+
|
|
2769
|
+
// src/organisms/PromoHero.module.scss
|
|
2770
|
+
var PromoHero_module_default = {
|
|
2771
|
+
root: "PromoHero_module_root",
|
|
2772
|
+
dark: "PromoHero_module_dark",
|
|
2773
|
+
light: "PromoHero_module_light",
|
|
2774
|
+
gradient: "PromoHero_module_gradient",
|
|
2775
|
+
glowLayer: "PromoHero_module_glowLayer",
|
|
2776
|
+
glowTop: "PromoHero_module_glowTop",
|
|
2777
|
+
glowBottom: "PromoHero_module_glowBottom",
|
|
2778
|
+
inner: "PromoHero_module_inner",
|
|
2779
|
+
textColumn: "PromoHero_module_textColumn",
|
|
2780
|
+
title: "PromoHero_module_title",
|
|
2781
|
+
subtitle: "PromoHero_module_subtitle",
|
|
2782
|
+
subtitleDark: "PromoHero_module_subtitleDark",
|
|
2783
|
+
subtitleLight: "PromoHero_module_subtitleLight",
|
|
2784
|
+
actions: "PromoHero_module_actions",
|
|
2785
|
+
ctaDark: "PromoHero_module_ctaDark",
|
|
2786
|
+
ghostDark: "PromoHero_module_ghostDark",
|
|
2787
|
+
mediaColumn: "PromoHero_module_mediaColumn"
|
|
2788
|
+
};
|
|
2174
2789
|
function PromoHero({
|
|
2175
2790
|
title,
|
|
2176
2791
|
subtitle,
|
|
@@ -2180,36 +2795,29 @@ function PromoHero({
|
|
|
2180
2795
|
variant = "dark",
|
|
2181
2796
|
className = ""
|
|
2182
2797
|
}) {
|
|
2183
|
-
const
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
gradient: "bg-gradient-to-br from-[var(--neutral-900)] via-[var(--neutral-800)] to-[var(--neutral-700)] text-white"
|
|
2187
|
-
};
|
|
2188
|
-
const subtitleColor = {
|
|
2189
|
-
dark: "text-white/70",
|
|
2190
|
-
light: "text-[var(--fg-secondary)]",
|
|
2191
|
-
gradient: "text-white/70"
|
|
2192
|
-
};
|
|
2798
|
+
const variantClass = variant === "dark" ? PromoHero_module_default.dark : variant === "gradient" ? PromoHero_module_default.gradient : PromoHero_module_default.light;
|
|
2799
|
+
const subtitleClass = variant === "light" ? PromoHero_module_default.subtitleLight : PromoHero_module_default.subtitleDark;
|
|
2800
|
+
const isLight = variant === "light";
|
|
2193
2801
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2194
2802
|
"section",
|
|
2195
2803
|
{
|
|
2196
|
-
className:
|
|
2804
|
+
className: `${PromoHero_module_default.root} ${variantClass}${className ? ` ${className}` : ""}`,
|
|
2197
2805
|
children: [
|
|
2198
|
-
|
|
2199
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2200
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2806
|
+
!isLight && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoHero_module_default.glowLayer, "aria-hidden": "true", children: [
|
|
2807
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoHero_module_default.glowTop }),
|
|
2808
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoHero_module_default.glowBottom })
|
|
2201
2809
|
] }),
|
|
2202
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2203
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2204
|
-
/* @__PURE__ */ jsxRuntime.jsx("h1", { className:
|
|
2205
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
2206
|
-
(cta || secondaryCta) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2810
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoHero_module_default.inner, children: [
|
|
2811
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoHero_module_default.textColumn, children: [
|
|
2812
|
+
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: PromoHero_module_default.title, children: title }),
|
|
2813
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: `${PromoHero_module_default.subtitle} ${subtitleClass}`, children: subtitle }),
|
|
2814
|
+
(cta || secondaryCta) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoHero_module_default.actions, children: [
|
|
2207
2815
|
cta && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2208
2816
|
Button,
|
|
2209
2817
|
{
|
|
2210
|
-
variant:
|
|
2818
|
+
variant: isLight ? "primary" : "outline",
|
|
2211
2819
|
onClick: cta.onClick,
|
|
2212
|
-
className:
|
|
2820
|
+
className: !isLight ? PromoHero_module_default.ctaDark : "",
|
|
2213
2821
|
children: cta.label
|
|
2214
2822
|
}
|
|
2215
2823
|
),
|
|
@@ -2218,18 +2826,65 @@ function PromoHero({
|
|
|
2218
2826
|
{
|
|
2219
2827
|
variant: "ghost",
|
|
2220
2828
|
onClick: secondaryCta.onClick,
|
|
2221
|
-
className:
|
|
2829
|
+
className: !isLight ? PromoHero_module_default.ghostDark : "",
|
|
2222
2830
|
children: secondaryCta.label
|
|
2223
2831
|
}
|
|
2224
2832
|
)
|
|
2225
2833
|
] })
|
|
2226
2834
|
] }),
|
|
2227
|
-
media && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2835
|
+
media && /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoHero_module_default.mediaColumn, children: media })
|
|
2228
2836
|
] })
|
|
2229
2837
|
]
|
|
2230
2838
|
}
|
|
2231
2839
|
);
|
|
2232
2840
|
}
|
|
2841
|
+
|
|
2842
|
+
// src/organisms/PromoPricing.module.scss
|
|
2843
|
+
var PromoPricing_module_default = {
|
|
2844
|
+
root: "PromoPricing_module_root",
|
|
2845
|
+
dark: "PromoPricing_module_dark",
|
|
2846
|
+
light: "PromoPricing_module_light",
|
|
2847
|
+
headingSection: "PromoPricing_module_headingSection",
|
|
2848
|
+
heading: "PromoPricing_module_heading",
|
|
2849
|
+
headingDark: "PromoPricing_module_headingDark",
|
|
2850
|
+
headingLight: "PromoPricing_module_headingLight",
|
|
2851
|
+
subtitle: "PromoPricing_module_subtitle",
|
|
2852
|
+
subtitleDark: "PromoPricing_module_subtitleDark",
|
|
2853
|
+
subtitleLight: "PromoPricing_module_subtitleLight",
|
|
2854
|
+
tiersGrid: "PromoPricing_module_tiersGrid",
|
|
2855
|
+
tierDefault: "PromoPricing_module_tierCard PromoPricing_module_tierDefault",
|
|
2856
|
+
tierHighlighted: "PromoPricing_module_tierCard PromoPricing_module_tierHighlighted",
|
|
2857
|
+
tierDark: "PromoPricing_module_tierCard PromoPricing_module_tierDark",
|
|
2858
|
+
tierDarkHighlighted: "PromoPricing_module_tierCard PromoPricing_module_tierDarkHighlighted",
|
|
2859
|
+
tierName: "PromoPricing_module_tierName",
|
|
2860
|
+
tierNameMuted: "PromoPricing_module_tierNameMuted",
|
|
2861
|
+
tierNameDark: "PromoPricing_module_tierNameDark",
|
|
2862
|
+
tierNameHighlightedLight: "PromoPricing_module_tierNameHighlightedLight",
|
|
2863
|
+
tierNameHighlightedDark: "PromoPricing_module_tierNameHighlightedDark",
|
|
2864
|
+
price: "PromoPricing_module_price",
|
|
2865
|
+
period: "PromoPricing_module_period",
|
|
2866
|
+
periodMuted: "PromoPricing_module_periodMuted",
|
|
2867
|
+
periodDark: "PromoPricing_module_periodDark",
|
|
2868
|
+
periodHighlightedLight: "PromoPricing_module_periodHighlightedLight",
|
|
2869
|
+
periodHighlightedDark: "PromoPricing_module_periodHighlightedDark",
|
|
2870
|
+
tierDesc: "PromoPricing_module_tierDesc",
|
|
2871
|
+
tierDescMuted: "PromoPricing_module_tierDescMuted",
|
|
2872
|
+
tierDescDark: "PromoPricing_module_tierDescDark",
|
|
2873
|
+
tierDescHighlightedLight: "PromoPricing_module_tierDescHighlightedLight",
|
|
2874
|
+
tierDescHighlightedDark: "PromoPricing_module_tierDescHighlightedDark",
|
|
2875
|
+
featureList: "PromoPricing_module_featureList",
|
|
2876
|
+
featureItem: "PromoPricing_module_featureItem",
|
|
2877
|
+
checkIcon: "PromoPricing_module_checkIcon",
|
|
2878
|
+
checkDefault: "PromoPricing_module_checkDefault",
|
|
2879
|
+
checkDark: "PromoPricing_module_checkDark",
|
|
2880
|
+
checkHighlightedLight: "PromoPricing_module_checkHighlightedLight",
|
|
2881
|
+
checkHighlightedDark: "PromoPricing_module_checkHighlightedDark",
|
|
2882
|
+
featureTextMuted: "PromoPricing_module_featureTextMuted",
|
|
2883
|
+
featureTextDark: "PromoPricing_module_featureTextDark",
|
|
2884
|
+
featureTextHighlightedLight: "PromoPricing_module_featureTextHighlightedLight",
|
|
2885
|
+
featureTextHighlightedDark: "PromoPricing_module_featureTextHighlightedDark",
|
|
2886
|
+
ctaWrap: "PromoPricing_module_ctaWrap"
|
|
2887
|
+
};
|
|
2233
2888
|
function PromoPricing({
|
|
2234
2889
|
heading,
|
|
2235
2890
|
subtitle,
|
|
@@ -2238,39 +2893,51 @@ function PromoPricing({
|
|
|
2238
2893
|
className = ""
|
|
2239
2894
|
}) {
|
|
2240
2895
|
const isDark = variant === "dark";
|
|
2896
|
+
const getTierClass = (highlighted) => {
|
|
2897
|
+
if (highlighted) return isDark ? PromoPricing_module_default.tierDarkHighlighted : PromoPricing_module_default.tierHighlighted;
|
|
2898
|
+
return isDark ? PromoPricing_module_default.tierDark : PromoPricing_module_default.tierDefault;
|
|
2899
|
+
};
|
|
2900
|
+
const getNameClass = (highlighted) => {
|
|
2901
|
+
if (highlighted) return isDark ? PromoPricing_module_default.tierNameHighlightedDark : PromoPricing_module_default.tierNameHighlightedLight;
|
|
2902
|
+
return isDark ? PromoPricing_module_default.tierNameDark : PromoPricing_module_default.tierNameMuted;
|
|
2903
|
+
};
|
|
2904
|
+
const getPeriodClass = (highlighted) => {
|
|
2905
|
+
if (highlighted) return isDark ? PromoPricing_module_default.periodHighlightedDark : PromoPricing_module_default.periodHighlightedLight;
|
|
2906
|
+
return isDark ? PromoPricing_module_default.periodDark : PromoPricing_module_default.periodMuted;
|
|
2907
|
+
};
|
|
2908
|
+
const getDescClass = (highlighted) => {
|
|
2909
|
+
if (highlighted) return isDark ? PromoPricing_module_default.tierDescHighlightedDark : PromoPricing_module_default.tierDescHighlightedLight;
|
|
2910
|
+
return isDark ? PromoPricing_module_default.tierDescDark : PromoPricing_module_default.tierDescMuted;
|
|
2911
|
+
};
|
|
2912
|
+
const getCheckClass = (highlighted) => {
|
|
2913
|
+
if (highlighted) return isDark ? PromoPricing_module_default.checkHighlightedDark : PromoPricing_module_default.checkHighlightedLight;
|
|
2914
|
+
return isDark ? PromoPricing_module_default.checkDark : PromoPricing_module_default.checkDefault;
|
|
2915
|
+
};
|
|
2916
|
+
const getFeatureTextClass = (highlighted) => {
|
|
2917
|
+
if (highlighted) return isDark ? PromoPricing_module_default.featureTextHighlightedDark : PromoPricing_module_default.featureTextHighlightedLight;
|
|
2918
|
+
return isDark ? PromoPricing_module_default.featureTextDark : PromoPricing_module_default.featureTextMuted;
|
|
2919
|
+
};
|
|
2241
2920
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2242
2921
|
"section",
|
|
2243
2922
|
{
|
|
2244
|
-
className:
|
|
2923
|
+
className: `${PromoPricing_module_default.root} ${isDark ? PromoPricing_module_default.dark : PromoPricing_module_default.light}${className ? ` ${className}` : ""}`,
|
|
2245
2924
|
children: [
|
|
2246
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2247
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2248
|
-
|
|
2249
|
-
{
|
|
2250
|
-
className: `text-[clamp(2rem,5vw,4.75rem)] font-bold leading-[0.95] tracking-[-0.04em] text-balance ${isDark ? "text-white" : "text-[var(--fg)]"}`,
|
|
2251
|
-
children: heading
|
|
2252
|
-
}
|
|
2253
|
-
),
|
|
2254
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: `mt-4 text-base md:text-lg leading-relaxed ${isDark ? "text-white/60" : "text-[var(--fg-secondary)]"}`, children: subtitle })
|
|
2925
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoPricing_module_default.headingSection, children: [
|
|
2926
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: `${PromoPricing_module_default.heading} ${isDark ? PromoPricing_module_default.headingDark : PromoPricing_module_default.headingLight}`, children: heading }),
|
|
2927
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: `${PromoPricing_module_default.subtitle} ${isDark ? PromoPricing_module_default.subtitleDark : PromoPricing_module_default.subtitleLight}`, children: subtitle })
|
|
2255
2928
|
] }),
|
|
2256
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2929
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoPricing_module_default.tiersGrid, children: tiers.map((tier, i) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2257
2930
|
"div",
|
|
2258
2931
|
{
|
|
2259
|
-
className:
|
|
2932
|
+
className: getTierClass(tier.highlighted),
|
|
2260
2933
|
children: [
|
|
2261
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2262
|
-
|
|
2263
|
-
{
|
|
2264
|
-
|
|
2265
|
-
children: tier.name
|
|
2266
|
-
}
|
|
2267
|
-
) }),
|
|
2268
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2", children: [
|
|
2269
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-4xl md:text-5xl font-bold tracking-[-0.03em]", children: tier.price }),
|
|
2270
|
-
tier.period && /* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-sm ml-1 ${tier.highlighted ? isDark ? "text-[var(--neutral-500)]" : "text-[var(--bg)]/50" : isDark ? "text-white/40" : "text-[var(--fg-muted)]"}`, children: tier.period })
|
|
2934
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoPricing_module_default.tierName, children: /* @__PURE__ */ jsxRuntime.jsx("h3", { className: getNameClass(tier.highlighted), children: tier.name }) }),
|
|
2935
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoPricing_module_default.price, children: [
|
|
2936
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: tier.price }),
|
|
2937
|
+
tier.period && /* @__PURE__ */ jsxRuntime.jsx("span", { className: `${PromoPricing_module_default.period} ${getPeriodClass(tier.highlighted)}`, children: tier.period })
|
|
2271
2938
|
] }),
|
|
2272
|
-
tier.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
2273
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { className:
|
|
2939
|
+
tier.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: `${PromoPricing_module_default.tierDesc} ${getDescClass(tier.highlighted)}`, children: tier.description }),
|
|
2940
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: PromoPricing_module_default.featureList, children: tier.features.map((feature, fi) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: PromoPricing_module_default.featureItem, children: [
|
|
2274
2941
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2275
2942
|
"svg",
|
|
2276
2943
|
{
|
|
@@ -2278,13 +2945,13 @@ function PromoPricing({
|
|
|
2278
2945
|
height: "16",
|
|
2279
2946
|
viewBox: "0 0 16 16",
|
|
2280
2947
|
fill: "none",
|
|
2281
|
-
className:
|
|
2948
|
+
className: `${PromoPricing_module_default.checkIcon} ${getCheckClass(tier.highlighted)}`,
|
|
2282
2949
|
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3.5 8.5L6.5 11.5L12.5 4.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })
|
|
2283
2950
|
}
|
|
2284
2951
|
),
|
|
2285
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
2952
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: getFeatureTextClass(tier.highlighted), children: feature })
|
|
2286
2953
|
] }, fi)) }),
|
|
2287
|
-
tier.cta && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2954
|
+
tier.cta && /* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoPricing_module_default.ctaWrap, children: tier.cta })
|
|
2288
2955
|
]
|
|
2289
2956
|
},
|
|
2290
2957
|
i
|
|
@@ -2293,6 +2960,24 @@ function PromoPricing({
|
|
|
2293
2960
|
}
|
|
2294
2961
|
);
|
|
2295
2962
|
}
|
|
2963
|
+
|
|
2964
|
+
// src/organisms/PromoActionCards.module.scss
|
|
2965
|
+
var PromoActionCards_module_default = {
|
|
2966
|
+
root: "PromoActionCards_module_root",
|
|
2967
|
+
header: "PromoActionCards_module_header",
|
|
2968
|
+
heading: "PromoActionCards_module_heading",
|
|
2969
|
+
subtitle: "PromoActionCards_module_subtitle",
|
|
2970
|
+
grid2: "PromoActionCards_module_grid PromoActionCards_module_grid2",
|
|
2971
|
+
grid3: "PromoActionCards_module_grid PromoActionCards_module_grid3",
|
|
2972
|
+
card: "PromoActionCards_module_card",
|
|
2973
|
+
cardContent: "PromoActionCards_module_cardContent",
|
|
2974
|
+
cardTitle: "PromoActionCards_module_cardTitle",
|
|
2975
|
+
cardDesc: "PromoActionCards_module_cardDesc",
|
|
2976
|
+
cardFooter: "PromoActionCards_module_cardFooter",
|
|
2977
|
+
iconGroup: "PromoActionCards_module_iconGroup",
|
|
2978
|
+
iconCircle: "PromoActionCards_module_iconCircle",
|
|
2979
|
+
ctaBtn: "PromoActionCards_module_ctaBtn"
|
|
2980
|
+
};
|
|
2296
2981
|
function PromoActionCards({
|
|
2297
2982
|
heading,
|
|
2298
2983
|
subtitle,
|
|
@@ -2300,28 +2985,28 @@ function PromoActionCards({
|
|
|
2300
2985
|
columns = 3,
|
|
2301
2986
|
className = ""
|
|
2302
2987
|
}) {
|
|
2303
|
-
const
|
|
2304
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: `
|
|
2305
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2306
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className:
|
|
2307
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
2988
|
+
const gridClass = columns === 2 ? PromoActionCards_module_default.grid2 : PromoActionCards_module_default.grid3;
|
|
2989
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: `${PromoActionCards_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
2990
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoActionCards_module_default.header, children: [
|
|
2991
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: PromoActionCards_module_default.heading, children: heading }),
|
|
2992
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: PromoActionCards_module_default.subtitle, children: subtitle })
|
|
2308
2993
|
] }),
|
|
2309
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2994
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: gridClass, children: cards.map((card, i) => {
|
|
2310
2995
|
var _a;
|
|
2311
2996
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2312
2997
|
"div",
|
|
2313
2998
|
{
|
|
2314
|
-
className:
|
|
2999
|
+
className: PromoActionCards_module_default.card,
|
|
2315
3000
|
children: [
|
|
2316
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2317
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className:
|
|
2318
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
3001
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoActionCards_module_default.cardContent, children: [
|
|
3002
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: PromoActionCards_module_default.cardTitle, children: card.title }),
|
|
3003
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: PromoActionCards_module_default.cardDesc, children: card.description })
|
|
2319
3004
|
] }),
|
|
2320
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2321
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
3005
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: PromoActionCards_module_default.cardFooter, children: [
|
|
3006
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PromoActionCards_module_default.iconGroup, children: (_a = card.icons) == null ? void 0 : _a.map((icon, ii) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2322
3007
|
"span",
|
|
2323
3008
|
{
|
|
2324
|
-
className:
|
|
3009
|
+
className: PromoActionCards_module_default.iconCircle,
|
|
2325
3010
|
children: icon
|
|
2326
3011
|
},
|
|
2327
3012
|
ii
|
|
@@ -2330,7 +3015,7 @@ function PromoActionCards({
|
|
|
2330
3015
|
"button",
|
|
2331
3016
|
{
|
|
2332
3017
|
onClick: card.cta.onClick,
|
|
2333
|
-
className:
|
|
3018
|
+
className: PromoActionCards_module_default.ctaBtn,
|
|
2334
3019
|
children: [
|
|
2335
3020
|
card.cta.label,
|
|
2336
3021
|
/* @__PURE__ */ jsxRuntime.jsx("svg", { width: "11", height: "11", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4.5 2.5l4 3.5-4 3.5" }) })
|
|
@@ -2345,6 +3030,22 @@ function PromoActionCards({
|
|
|
2345
3030
|
}) })
|
|
2346
3031
|
] });
|
|
2347
3032
|
}
|
|
3033
|
+
|
|
3034
|
+
// src/templates/ArticleHero.module.scss
|
|
3035
|
+
var ArticleHero_module_default = {
|
|
3036
|
+
root: "ArticleHero_module_root",
|
|
3037
|
+
bgLayer: "ArticleHero_module_bgLayer",
|
|
3038
|
+
bgImage: "ArticleHero_module_bgImage",
|
|
3039
|
+
overlay: "ArticleHero_module_overlay",
|
|
3040
|
+
topBar: "ArticleHero_module_topBar",
|
|
3041
|
+
logo: "ArticleHero_module_logo",
|
|
3042
|
+
divider: "ArticleHero_module_divider",
|
|
3043
|
+
nav: "ArticleHero_module_nav",
|
|
3044
|
+
bottom: "ArticleHero_module_bottom",
|
|
3045
|
+
category: "ArticleHero_module_category",
|
|
3046
|
+
title: "ArticleHero_module_title",
|
|
3047
|
+
subtitle: "ArticleHero_module_subtitle"
|
|
3048
|
+
};
|
|
2348
3049
|
var DEFAULT_BG = "https://images.unsplash.com/photo-1451187580459-43490279c0fa?w=1600&h=900&fit=crop&q=80";
|
|
2349
3050
|
function ArticleHero({
|
|
2350
3051
|
category,
|
|
@@ -2356,48 +3057,44 @@ function ArticleHero({
|
|
|
2356
3057
|
className = ""
|
|
2357
3058
|
}) {
|
|
2358
3059
|
const bgSrc = backgroundImage != null ? backgroundImage : DEFAULT_BG;
|
|
2359
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2360
|
-
"
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative z-10 flex items-center w-full", children: [
|
|
2376
|
-
logo && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 pr-4 md:pr-10", children: logo }),
|
|
2377
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 h-px bg-white/30" }),
|
|
2378
|
-
nav && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 pl-4 md:pl-10", children: nav })
|
|
2379
|
-
] }),
|
|
2380
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative z-10 max-w-[500px]", children: [
|
|
2381
|
-
category && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-lg text-white leading-7 mb-2", children: category }),
|
|
2382
|
-
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-[32px] leading-[34px] md:text-[60px] md:leading-[60px] font-normal text-white tracking-[-2px] md:tracking-[-3px] mb-4", children: title }),
|
|
2383
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-lg text-white/90 leading-[22.5px]", children: subtitle })
|
|
2384
|
-
] })
|
|
2385
|
-
]
|
|
2386
|
-
}
|
|
2387
|
-
);
|
|
3060
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: `${ArticleHero_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
3061
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: ArticleHero_module_default.bgLayer, children: [
|
|
3062
|
+
/* @__PURE__ */ jsxRuntime.jsx("img", { src: bgSrc, alt: "", className: ArticleHero_module_default.bgImage }),
|
|
3063
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: ArticleHero_module_default.overlay })
|
|
3064
|
+
] }),
|
|
3065
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: ArticleHero_module_default.topBar, children: [
|
|
3066
|
+
logo && /* @__PURE__ */ jsxRuntime.jsx("div", { className: ArticleHero_module_default.logo, children: logo }),
|
|
3067
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: ArticleHero_module_default.divider }),
|
|
3068
|
+
nav && /* @__PURE__ */ jsxRuntime.jsx("div", { className: ArticleHero_module_default.nav, children: nav })
|
|
3069
|
+
] }),
|
|
3070
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: ArticleHero_module_default.bottom, children: [
|
|
3071
|
+
category && /* @__PURE__ */ jsxRuntime.jsx("p", { className: ArticleHero_module_default.category, children: category }),
|
|
3072
|
+
/* @__PURE__ */ jsxRuntime.jsx("h1", { className: ArticleHero_module_default.title, children: title }),
|
|
3073
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: ArticleHero_module_default.subtitle, children: subtitle })
|
|
3074
|
+
] })
|
|
3075
|
+
] });
|
|
2388
3076
|
}
|
|
3077
|
+
|
|
3078
|
+
// src/templates/ArticleBody.module.scss
|
|
3079
|
+
var ArticleBody_module_default = {
|
|
3080
|
+
root: "ArticleBody_module_root"
|
|
3081
|
+
};
|
|
2389
3082
|
function ArticleBody({ children, className = "" }) {
|
|
2390
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2391
|
-
"div",
|
|
2392
|
-
{
|
|
2393
|
-
className: `text-[16px] leading-7 text-[var(--fg-secondary)] font-normal ${className}`,
|
|
2394
|
-
children
|
|
2395
|
-
}
|
|
2396
|
-
);
|
|
3083
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${ArticleBody_module_default.root}${className ? ` ${className}` : ""}`, children });
|
|
2397
3084
|
}
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
|
|
3085
|
+
|
|
3086
|
+
// src/templates/ArticleHeading.module.scss
|
|
3087
|
+
var ArticleHeading_module_default = {
|
|
3088
|
+
root: "ArticleHeading_module_root",
|
|
3089
|
+
header: "ArticleHeading_module_header",
|
|
3090
|
+
h2: "ArticleHeading_module_h2",
|
|
3091
|
+
h3: "ArticleHeading_module_h3",
|
|
3092
|
+
action: "ArticleHeading_module_action",
|
|
3093
|
+
subtitle: "ArticleHeading_module_subtitle"
|
|
3094
|
+
};
|
|
3095
|
+
var levelClass = {
|
|
3096
|
+
2: ArticleHeading_module_default.h2,
|
|
3097
|
+
3: ArticleHeading_module_default.h3
|
|
2401
3098
|
};
|
|
2402
3099
|
function ArticleHeading({
|
|
2403
3100
|
level = 2,
|
|
@@ -2407,14 +3104,29 @@ function ArticleHeading({
|
|
|
2407
3104
|
className = ""
|
|
2408
3105
|
}) {
|
|
2409
3106
|
const Tag2 = `h${level}`;
|
|
2410
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2411
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2412
|
-
/* @__PURE__ */ jsxRuntime.jsx(Tag2, { className:
|
|
2413
|
-
action && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
3107
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${ArticleHeading_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
3108
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: ArticleHeading_module_default.header, children: [
|
|
3109
|
+
/* @__PURE__ */ jsxRuntime.jsx(Tag2, { className: levelClass[level], children }),
|
|
3110
|
+
action && /* @__PURE__ */ jsxRuntime.jsx("div", { className: ArticleHeading_module_default.action, children: action })
|
|
2414
3111
|
] }),
|
|
2415
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
3112
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: ArticleHeading_module_default.subtitle, children: subtitle })
|
|
2416
3113
|
] });
|
|
2417
3114
|
}
|
|
3115
|
+
|
|
3116
|
+
// src/templates/ArticleFigure.module.scss
|
|
3117
|
+
var ArticleFigure_module_default = {
|
|
3118
|
+
root: "ArticleFigure_module_root",
|
|
3119
|
+
imageWrapper: "ArticleFigure_module_imageWrapper",
|
|
3120
|
+
image: "ArticleFigure_module_image",
|
|
3121
|
+
childWrapper: "ArticleFigure_module_childWrapper",
|
|
3122
|
+
placeholder: "ArticleFigure_module_placeholder",
|
|
3123
|
+
placeholderText: "ArticleFigure_module_placeholderText",
|
|
3124
|
+
legend: "ArticleFigure_module_legend",
|
|
3125
|
+
legendItem: "ArticleFigure_module_legendItem",
|
|
3126
|
+
legendSwatch: "ArticleFigure_module_legendSwatch",
|
|
3127
|
+
legendLabel: "ArticleFigure_module_legendLabel",
|
|
3128
|
+
caption: "ArticleFigure_module_caption"
|
|
3129
|
+
};
|
|
2418
3130
|
function ArticleFigure({
|
|
2419
3131
|
src,
|
|
2420
3132
|
alt = "",
|
|
@@ -2424,37 +3136,52 @@ function ArticleFigure({
|
|
|
2424
3136
|
children,
|
|
2425
3137
|
className = ""
|
|
2426
3138
|
}) {
|
|
2427
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("figure", { className: `
|
|
3139
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("figure", { className: `${ArticleFigure_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
2428
3140
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2429
3141
|
"div",
|
|
2430
3142
|
{
|
|
2431
|
-
className:
|
|
3143
|
+
className: ArticleFigure_module_default.imageWrapper,
|
|
2432
3144
|
style: { minHeight: height },
|
|
2433
3145
|
children: src ? (
|
|
2434
3146
|
// eslint-disable-next-line @next/next/no-img-element
|
|
2435
|
-
/* @__PURE__ */ jsxRuntime.jsx("img", { src, alt, className:
|
|
2436
|
-
) : children ? /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
3147
|
+
/* @__PURE__ */ jsxRuntime.jsx("img", { src, alt, className: ArticleFigure_module_default.image })
|
|
3148
|
+
) : children ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: ArticleFigure_module_default.childWrapper, children }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ArticleFigure_module_default.placeholder, children: [
|
|
2437
3149
|
/* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "48", height: "48", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", children: [
|
|
2438
3150
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2" }),
|
|
2439
3151
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 16l5-5 4 4 4-6 5 7" })
|
|
2440
3152
|
] }),
|
|
2441
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
3153
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: ArticleFigure_module_default.placeholderText, children: "Figure placeholder" })
|
|
2442
3154
|
] })
|
|
2443
3155
|
}
|
|
2444
3156
|
),
|
|
2445
|
-
legend && legend.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
3157
|
+
legend && legend.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: ArticleFigure_module_default.legend, children: legend.map((item) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ArticleFigure_module_default.legendItem, children: [
|
|
2446
3158
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2447
3159
|
"span",
|
|
2448
3160
|
{
|
|
2449
|
-
className:
|
|
3161
|
+
className: ArticleFigure_module_default.legendSwatch,
|
|
2450
3162
|
style: { backgroundColor: item.color }
|
|
2451
3163
|
}
|
|
2452
3164
|
),
|
|
2453
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
3165
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: ArticleFigure_module_default.legendLabel, children: item.label })
|
|
2454
3166
|
] }, item.label)) }),
|
|
2455
|
-
caption && /* @__PURE__ */ jsxRuntime.jsx("figcaption", { className:
|
|
3167
|
+
caption && /* @__PURE__ */ jsxRuntime.jsx("figcaption", { className: ArticleFigure_module_default.caption, children: caption })
|
|
2456
3168
|
] });
|
|
2457
3169
|
}
|
|
3170
|
+
|
|
3171
|
+
// src/templates/ArticleTable.module.scss
|
|
3172
|
+
var ArticleTable_module_default = {
|
|
3173
|
+
root: "ArticleTable_module_root",
|
|
3174
|
+
headerRow: "ArticleTable_module_headerRow",
|
|
3175
|
+
rankCell: "ArticleTable_module_rankCell",
|
|
3176
|
+
headerCell: "ArticleTable_module_headerCell",
|
|
3177
|
+
headerLabel: "ArticleTable_module_headerLabel",
|
|
3178
|
+
row: "ArticleTable_module_row",
|
|
3179
|
+
rankValue: "ArticleTable_module_rankValue",
|
|
3180
|
+
cell: "ArticleTable_module_cell",
|
|
3181
|
+
cellText: "ArticleTable_module_cellText",
|
|
3182
|
+
badge: "ArticleTable_module_badge",
|
|
3183
|
+
showMore: "ArticleTable_module_showMore"
|
|
3184
|
+
};
|
|
2458
3185
|
function ArticleTable({
|
|
2459
3186
|
columns,
|
|
2460
3187
|
rows,
|
|
@@ -2466,34 +3193,27 @@ function ArticleTable({
|
|
|
2466
3193
|
const limit = initialVisible != null ? initialVisible : rows.length;
|
|
2467
3194
|
const visibleRows = expanded ? rows : rows.slice(0, limit);
|
|
2468
3195
|
const hiddenCount = rows.length - limit;
|
|
2469
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `
|
|
2470
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2471
|
-
showRank && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2472
|
-
columns.map((col) => /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
3196
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${ArticleTable_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
3197
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: ArticleTable_module_default.headerRow, children: [
|
|
3198
|
+
showRank && /* @__PURE__ */ jsxRuntime.jsx("div", { className: ArticleTable_module_default.rankCell }),
|
|
3199
|
+
columns.map((col) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: ArticleTable_module_default.headerCell, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: ArticleTable_module_default.headerLabel, children: col.label }) }, col.key))
|
|
2473
3200
|
] }),
|
|
2474
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { children: visibleRows.map((row, i) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2475
|
-
"div",
|
|
2476
|
-
{
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
hasBadge && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex items-center px-2.5 py-0.5 rounded-full text-[12px] leading-4 font-semibold bg-[var(--bg-tertiary)] text-[var(--fg)]", children: row._badge })
|
|
2486
|
-
] }, col.key);
|
|
2487
|
-
})
|
|
2488
|
-
]
|
|
2489
|
-
},
|
|
2490
|
-
i
|
|
2491
|
-
)) }),
|
|
3201
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { children: visibleRows.map((row, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ArticleTable_module_default.row, children: [
|
|
3202
|
+
showRank && /* @__PURE__ */ jsxRuntime.jsx("div", { className: ArticleTable_module_default.rankValue, children: /* @__PURE__ */ jsxRuntime.jsx("span", { children: i + 1 }) }),
|
|
3203
|
+
columns.map((col) => {
|
|
3204
|
+
const value = row[col.key];
|
|
3205
|
+
const hasBadge = row._badge && row._badgeColumn === col.key;
|
|
3206
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ArticleTable_module_default.cell, children: [
|
|
3207
|
+
col.render ? col.render(value, row) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: ArticleTable_module_default.cellText, children: String(value != null ? value : "") }),
|
|
3208
|
+
hasBadge && /* @__PURE__ */ jsxRuntime.jsx("span", { className: ArticleTable_module_default.badge, children: row._badge })
|
|
3209
|
+
] }, col.key);
|
|
3210
|
+
})
|
|
3211
|
+
] }, i)) }),
|
|
2492
3212
|
hiddenCount > 0 && !expanded && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2493
3213
|
"button",
|
|
2494
3214
|
{
|
|
2495
3215
|
onClick: () => setExpanded(true),
|
|
2496
|
-
className:
|
|
3216
|
+
className: ArticleTable_module_default.showMore,
|
|
2497
3217
|
children: [
|
|
2498
3218
|
"Show ",
|
|
2499
3219
|
hiddenCount,
|
|
@@ -2503,34 +3223,62 @@ function ArticleTable({
|
|
|
2503
3223
|
)
|
|
2504
3224
|
] });
|
|
2505
3225
|
}
|
|
3226
|
+
|
|
3227
|
+
// src/templates/ArticleList.module.scss
|
|
3228
|
+
var ArticleList_module_default = {
|
|
3229
|
+
root: "ArticleList_module_root",
|
|
3230
|
+
ordered: "ArticleList_module_ordered",
|
|
3231
|
+
unordered: "ArticleList_module_unordered",
|
|
3232
|
+
item: "ArticleList_module_item"
|
|
3233
|
+
};
|
|
2506
3234
|
function ArticleList({
|
|
2507
3235
|
variant = "unordered",
|
|
2508
3236
|
items,
|
|
2509
3237
|
className = ""
|
|
2510
3238
|
}) {
|
|
2511
3239
|
const Tag2 = variant === "ordered" ? "ol" : "ul";
|
|
2512
|
-
const
|
|
3240
|
+
const variantClass = variant === "ordered" ? ArticleList_module_default.ordered : ArticleList_module_default.unordered;
|
|
2513
3241
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2514
3242
|
Tag2,
|
|
2515
3243
|
{
|
|
2516
|
-
className:
|
|
2517
|
-
children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { className:
|
|
3244
|
+
className: `${ArticleList_module_default.root} ${variantClass}${className ? ` ${className}` : ""}`,
|
|
3245
|
+
children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: ArticleList_module_default.item, children: item }, i))
|
|
2518
3246
|
}
|
|
2519
3247
|
);
|
|
2520
3248
|
}
|
|
3249
|
+
|
|
3250
|
+
// src/templates/ArticleNote.module.scss
|
|
3251
|
+
var ArticleNote_module_default = {
|
|
3252
|
+
root: "ArticleNote_module_root"
|
|
3253
|
+
};
|
|
2521
3254
|
function ArticleNote({ children, className = "" }) {
|
|
2522
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2523
|
-
"p",
|
|
2524
|
-
{
|
|
2525
|
-
className: `text-[16px] leading-7 text-[var(--fg-secondary)] italic ${className}`,
|
|
2526
|
-
children
|
|
2527
|
-
}
|
|
2528
|
-
);
|
|
3255
|
+
return /* @__PURE__ */ jsxRuntime.jsx("p", { className: `${ArticleNote_module_default.root}${className ? ` ${className}` : ""}`, children });
|
|
2529
3256
|
}
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
3257
|
+
|
|
3258
|
+
// src/templates/ArticleChatBlock.module.scss
|
|
3259
|
+
var ArticleChatBlock_module_default = {
|
|
3260
|
+
root: "ArticleChatBlock_module_root",
|
|
3261
|
+
assistant: "ArticleChatBlock_module_assistant",
|
|
3262
|
+
system: "ArticleChatBlock_module_system",
|
|
3263
|
+
user: "ArticleChatBlock_module_user",
|
|
3264
|
+
header: "ArticleChatBlock_module_header",
|
|
3265
|
+
roleLabel: "ArticleChatBlock_module_roleLabel",
|
|
3266
|
+
toolBadge: "ArticleChatBlock_module_toolBadge",
|
|
3267
|
+
toolBadgeInner: "ArticleChatBlock_module_toolBadgeInner",
|
|
3268
|
+
toolDot: "ArticleChatBlock_module_toolDot",
|
|
3269
|
+
toolLabel: "ArticleChatBlock_module_toolLabel",
|
|
3270
|
+
divider: "ArticleChatBlock_module_divider",
|
|
3271
|
+
contentWrapper: "ArticleChatBlock_module_contentWrapper",
|
|
3272
|
+
content: "ArticleChatBlock_module_content",
|
|
3273
|
+
fadeOverlay: "ArticleChatBlock_module_fadeOverlay",
|
|
3274
|
+
fadeGradient: "ArticleChatBlock_module_fadeGradient",
|
|
3275
|
+
showMoreBar: "ArticleChatBlock_module_showMoreBar",
|
|
3276
|
+
showMoreBtn: "ArticleChatBlock_module_showMoreBtn"
|
|
3277
|
+
};
|
|
3278
|
+
var roleConfig = {
|
|
3279
|
+
assistant: { cls: ArticleChatBlock_module_default.assistant, gradient: "var(--bg-secondary)" },
|
|
3280
|
+
system: { cls: ArticleChatBlock_module_default.system, gradient: "var(--bg-tertiary)" },
|
|
3281
|
+
user: { cls: ArticleChatBlock_module_default.user, gradient: "var(--bg-secondary)" }
|
|
2534
3282
|
};
|
|
2535
3283
|
function ArticleChatBlock({
|
|
2536
3284
|
role,
|
|
@@ -2543,41 +3291,41 @@ function ArticleChatBlock({
|
|
|
2543
3291
|
}) {
|
|
2544
3292
|
var _a;
|
|
2545
3293
|
const [expanded, setExpanded] = react.useState(false);
|
|
2546
|
-
const
|
|
2547
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2548
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
3294
|
+
const config = (_a = roleConfig[role]) != null ? _a : roleConfig.assistant;
|
|
3295
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${ArticleChatBlock_module_default.root} ${config.cls}${className ? ` ${className}` : ""}`, children: [
|
|
3296
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: ArticleChatBlock_module_default.header, children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: ArticleChatBlock_module_default.roleLabel, children: [
|
|
2549
3297
|
role,
|
|
2550
3298
|
model && ` \u2022 ${model}`
|
|
2551
3299
|
] }) }),
|
|
2552
|
-
toolCall && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2553
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
2554
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
3300
|
+
toolCall && /* @__PURE__ */ jsxRuntime.jsx("div", { className: ArticleChatBlock_module_default.toolBadge, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ArticleChatBlock_module_default.toolBadgeInner, children: [
|
|
3301
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: ArticleChatBlock_module_default.toolDot }),
|
|
3302
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: ArticleChatBlock_module_default.toolLabel, children: toolCall })
|
|
2555
3303
|
] }) }),
|
|
2556
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2557
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
3304
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: ArticleChatBlock_module_default.divider }),
|
|
3305
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: ArticleChatBlock_module_default.contentWrapper, children: [
|
|
2558
3306
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2559
3307
|
"div",
|
|
2560
3308
|
{
|
|
2561
|
-
className:
|
|
3309
|
+
className: ArticleChatBlock_module_default.content,
|
|
2562
3310
|
style: collapsible && !expanded ? { maxHeight: collapsedHeight, overflow: "hidden" } : void 0,
|
|
2563
3311
|
children
|
|
2564
3312
|
}
|
|
2565
3313
|
),
|
|
2566
|
-
collapsible && !expanded && /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
3314
|
+
collapsible && !expanded && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ArticleChatBlock_module_default.fadeOverlay, children: [
|
|
2567
3315
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2568
3316
|
"div",
|
|
2569
3317
|
{
|
|
2570
|
-
className:
|
|
3318
|
+
className: ArticleChatBlock_module_default.fadeGradient,
|
|
2571
3319
|
style: {
|
|
2572
|
-
background: `linear-gradient(to top, ${
|
|
3320
|
+
background: `linear-gradient(to top, ${config.gradient}, transparent)`
|
|
2573
3321
|
}
|
|
2574
3322
|
}
|
|
2575
3323
|
),
|
|
2576
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
3324
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: `${ArticleChatBlock_module_default.showMoreBar} ${config.cls}`, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2577
3325
|
"button",
|
|
2578
3326
|
{
|
|
2579
3327
|
onClick: () => setExpanded(true),
|
|
2580
|
-
className:
|
|
3328
|
+
className: ArticleChatBlock_module_default.showMoreBtn,
|
|
2581
3329
|
children: "Show more"
|
|
2582
3330
|
}
|
|
2583
3331
|
) })
|
|
@@ -2585,40 +3333,79 @@ function ArticleChatBlock({
|
|
|
2585
3333
|
] })
|
|
2586
3334
|
] });
|
|
2587
3335
|
}
|
|
3336
|
+
|
|
3337
|
+
// src/templates/ArticleLinkButton.module.scss
|
|
3338
|
+
var ArticleLinkButton_module_default = {
|
|
3339
|
+
root: "ArticleLinkButton_module_root"
|
|
3340
|
+
};
|
|
2588
3341
|
function ArticleLinkButton({
|
|
2589
3342
|
children,
|
|
2590
3343
|
href,
|
|
2591
3344
|
onClick,
|
|
2592
3345
|
className = ""
|
|
2593
3346
|
}) {
|
|
2594
|
-
const
|
|
3347
|
+
const cls = `${ArticleLinkButton_module_default.root}${className ? ` ${className}` : ""}`;
|
|
2595
3348
|
if (href) {
|
|
2596
|
-
return /* @__PURE__ */ jsxRuntime.jsx("a", { href, className:
|
|
3349
|
+
return /* @__PURE__ */ jsxRuntime.jsx("a", { href, className: cls, children });
|
|
2597
3350
|
}
|
|
2598
|
-
return /* @__PURE__ */ jsxRuntime.jsx("button", { onClick, className:
|
|
3351
|
+
return /* @__PURE__ */ jsxRuntime.jsx("button", { onClick, className: cls, children });
|
|
2599
3352
|
}
|
|
3353
|
+
|
|
3354
|
+
// src/templates/ArticleFooter.module.scss
|
|
3355
|
+
var ArticleFooter_module_default = {
|
|
3356
|
+
root: "ArticleFooter_module_root",
|
|
3357
|
+
topBar: "ArticleFooter_module_topBar",
|
|
3358
|
+
logo: "ArticleFooter_module_logo",
|
|
3359
|
+
divider: "ArticleFooter_module_divider",
|
|
3360
|
+
copyright: "ArticleFooter_module_copyright"
|
|
3361
|
+
};
|
|
2600
3362
|
function ArticleFooter({
|
|
2601
3363
|
logo,
|
|
2602
3364
|
copyright = `\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} All rights reserved.`,
|
|
2603
3365
|
className = ""
|
|
2604
3366
|
}) {
|
|
2605
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("footer", { className:
|
|
2606
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2607
|
-
logo && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2608
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
3367
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("footer", { className: `${ArticleFooter_module_default.root}${className ? ` ${className}` : ""}`, children: [
|
|
3368
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: ArticleFooter_module_default.topBar, children: [
|
|
3369
|
+
logo && /* @__PURE__ */ jsxRuntime.jsx("div", { className: ArticleFooter_module_default.logo, children: logo }),
|
|
3370
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: ArticleFooter_module_default.divider })
|
|
2609
3371
|
] }),
|
|
2610
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
3372
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: ArticleFooter_module_default.copyright, children: copyright })
|
|
2611
3373
|
] });
|
|
2612
3374
|
}
|
|
3375
|
+
|
|
3376
|
+
// src/templates/ArticleLayout.module.scss
|
|
3377
|
+
var ArticleLayout_module_default = {
|
|
3378
|
+
root: "ArticleLayout_module_root",
|
|
3379
|
+
wide: "ArticleLayout_module_wide",
|
|
3380
|
+
narrow: "ArticleLayout_module_narrow"
|
|
3381
|
+
};
|
|
2613
3382
|
function ArticleLayout({ children, className = "" }) {
|
|
2614
|
-
return /* @__PURE__ */ jsxRuntime.jsx("article", { className:
|
|
3383
|
+
return /* @__PURE__ */ jsxRuntime.jsx("article", { className: `${ArticleLayout_module_default.root}${className ? ` ${className}` : ""}`, children });
|
|
2615
3384
|
}
|
|
2616
3385
|
function ArticleWide({ children, className = "" }) {
|
|
2617
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `
|
|
3386
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${ArticleLayout_module_default.wide}${className ? ` ${className}` : ""}`, children });
|
|
2618
3387
|
}
|
|
2619
3388
|
function ArticleNarrow({ children, className = "" }) {
|
|
2620
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `
|
|
3389
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${ArticleLayout_module_default.narrow}${className ? ` ${className}` : ""}`, children });
|
|
2621
3390
|
}
|
|
3391
|
+
|
|
3392
|
+
// src/templates/ArticleChart.module.scss
|
|
3393
|
+
var ArticleChart_module_default = {
|
|
3394
|
+
figure: "ArticleChart_module_figure",
|
|
3395
|
+
chartWrapper: "ArticleChart_module_chartWrapper",
|
|
3396
|
+
tooltip: "ArticleChart_module_tooltip",
|
|
3397
|
+
tooltipLabel: "ArticleChart_module_tooltipLabel",
|
|
3398
|
+
tooltipRow: "ArticleChart_module_tooltipRow",
|
|
3399
|
+
tooltipDot: "ArticleChart_module_tooltipDot",
|
|
3400
|
+
tooltipName: "ArticleChart_module_tooltipName",
|
|
3401
|
+
tooltipValue: "ArticleChart_module_tooltipValue",
|
|
3402
|
+
scatterTooltipLabel: "ArticleChart_module_scatterTooltipLabel",
|
|
3403
|
+
scatterTooltipRow: "ArticleChart_module_scatterTooltipRow",
|
|
3404
|
+
legend: "ArticleChart_module_legend",
|
|
3405
|
+
legendItem: "ArticleChart_module_legendItem",
|
|
3406
|
+
legendSwatch: "ArticleChart_module_legendSwatch",
|
|
3407
|
+
legendLabel: "ArticleChart_module_legendLabel"
|
|
3408
|
+
};
|
|
2622
3409
|
function ChartTooltip({
|
|
2623
3410
|
active,
|
|
2624
3411
|
payload,
|
|
@@ -2629,15 +3416,15 @@ function ChartTooltip({
|
|
|
2629
3416
|
}) {
|
|
2630
3417
|
if (!active || !(payload == null ? void 0 : payload.length)) return null;
|
|
2631
3418
|
const fmt = valueFormatter != null ? valueFormatter : ((v) => String(v));
|
|
2632
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2633
|
-
label !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs("p", { className:
|
|
3419
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ArticleChart_module_default.tooltip, children: [
|
|
3420
|
+
label !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: ArticleChart_module_default.tooltipLabel, children: [
|
|
2634
3421
|
xLabel ? `${xLabel}: ` : "",
|
|
2635
3422
|
label
|
|
2636
3423
|
] }),
|
|
2637
|
-
payload.map((entry, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2638
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
2639
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
2640
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
3424
|
+
payload.map((entry, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ArticleChart_module_default.tooltipRow, children: [
|
|
3425
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: ArticleChart_module_default.tooltipDot, style: { backgroundColor: entry.color } }),
|
|
3426
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: ArticleChart_module_default.tooltipName, children: entry.name }),
|
|
3427
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: ArticleChart_module_default.tooltipValue, children: yLabel ? `${fmt(entry.value)} ` : fmt(entry.value) })
|
|
2641
3428
|
] }, i))
|
|
2642
3429
|
] });
|
|
2643
3430
|
}
|
|
@@ -2651,8 +3438,8 @@ function ArticleLineChart({
|
|
|
2651
3438
|
valueFormatter,
|
|
2652
3439
|
className = ""
|
|
2653
3440
|
}) {
|
|
2654
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("figure", { className: `
|
|
2655
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
3441
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("figure", { className: `${ArticleChart_module_default.figure}${className ? ` ${className}` : ""}`, children: [
|
|
3442
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: ArticleChart_module_default.chartWrapper, style: { height }, children: /* @__PURE__ */ jsxRuntime.jsx(recharts.ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.LineChart, { data, margin: { top: 8, right: 16, bottom: 4, left: 8 }, children: [
|
|
2656
3443
|
/* @__PURE__ */ jsxRuntime.jsx(recharts.CartesianGrid, { strokeDasharray: "3 3", stroke: "var(--border-color)" }),
|
|
2657
3444
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2658
3445
|
recharts.XAxis,
|
|
@@ -2702,9 +3489,9 @@ function ArticleLineChart({
|
|
|
2702
3489
|
s.dataKey
|
|
2703
3490
|
))
|
|
2704
3491
|
] }) }) }),
|
|
2705
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2706
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
2707
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
3492
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: ArticleChart_module_default.legend, children: series.map((s) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ArticleChart_module_default.legendItem, children: [
|
|
3493
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: ArticleChart_module_default.legendSwatch, style: { backgroundColor: s.color } }),
|
|
3494
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: ArticleChart_module_default.legendLabel, children: s.name })
|
|
2708
3495
|
] }, s.dataKey)) })
|
|
2709
3496
|
] });
|
|
2710
3497
|
}
|
|
@@ -2719,8 +3506,8 @@ function ArticleBarChart({
|
|
|
2719
3506
|
valueFormatter,
|
|
2720
3507
|
className = ""
|
|
2721
3508
|
}) {
|
|
2722
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("figure", { className: `
|
|
2723
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
3509
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("figure", { className: `${ArticleChart_module_default.figure}${className ? ` ${className}` : ""}`, children: [
|
|
3510
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: ArticleChart_module_default.chartWrapper, style: { height }, children: /* @__PURE__ */ jsxRuntime.jsx(recharts.ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.BarChart, { data, margin: { top: 8, right: 16, bottom: 4, left: 8 }, children: [
|
|
2724
3511
|
/* @__PURE__ */ jsxRuntime.jsx(recharts.CartesianGrid, { strokeDasharray: "3 3", stroke: "var(--border-color)", vertical: false }),
|
|
2725
3512
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2726
3513
|
recharts.XAxis,
|
|
@@ -2768,9 +3555,9 @@ function ArticleBarChart({
|
|
|
2768
3555
|
s.dataKey
|
|
2769
3556
|
))
|
|
2770
3557
|
] }) }) }),
|
|
2771
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2772
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
2773
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
3558
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: ArticleChart_module_default.legend, children: series.map((s) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ArticleChart_module_default.legendItem, children: [
|
|
3559
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: ArticleChart_module_default.legendSwatch, style: { backgroundColor: s.color } }),
|
|
3560
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: ArticleChart_module_default.legendLabel, children: s.name })
|
|
2774
3561
|
] }, s.dataKey)) })
|
|
2775
3562
|
] });
|
|
2776
3563
|
}
|
|
@@ -2788,7 +3575,7 @@ function ArticleScatterChart({
|
|
|
2788
3575
|
var _a;
|
|
2789
3576
|
return (_a = d.color) != null ? _a : color;
|
|
2790
3577
|
});
|
|
2791
|
-
return /* @__PURE__ */ jsxRuntime.jsx("figure", { className: `
|
|
3578
|
+
return /* @__PURE__ */ jsxRuntime.jsx("figure", { className: `${ArticleChart_module_default.figure}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: ArticleChart_module_default.chartWrapper, style: { height }, children: /* @__PURE__ */ jsxRuntime.jsx(recharts.ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.ScatterChart, { margin: { top: 8, right: 16, bottom: 4, left: 8 }, children: [
|
|
2792
3579
|
/* @__PURE__ */ jsxRuntime.jsx(recharts.CartesianGrid, { strokeDasharray: "3 3", stroke: "var(--border-color)" }),
|
|
2793
3580
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2794
3581
|
recharts.XAxis,
|
|
@@ -2824,14 +3611,14 @@ function ArticleScatterChart({
|
|
|
2824
3611
|
if (!active || !(payload == null ? void 0 : payload.length)) return null;
|
|
2825
3612
|
const point = (_a = payload[0]) == null ? void 0 : _a.payload;
|
|
2826
3613
|
const fmt = valueFormatter != null ? valueFormatter : ((v) => String(v));
|
|
2827
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2828
|
-
point.label && /* @__PURE__ */ jsxRuntime.jsx("p", { className:
|
|
2829
|
-
xLabel && /* @__PURE__ */ jsxRuntime.jsxs("p", { className:
|
|
3614
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ArticleChart_module_default.tooltip, children: [
|
|
3615
|
+
point.label && /* @__PURE__ */ jsxRuntime.jsx("p", { className: ArticleChart_module_default.scatterTooltipLabel, children: point.label }),
|
|
3616
|
+
xLabel && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: ArticleChart_module_default.scatterTooltipRow, children: [
|
|
2830
3617
|
xLabel,
|
|
2831
3618
|
": ",
|
|
2832
3619
|
fmt(point.x)
|
|
2833
3620
|
] }),
|
|
2834
|
-
yLabel && /* @__PURE__ */ jsxRuntime.jsxs("p", { className:
|
|
3621
|
+
yLabel && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: ArticleChart_module_default.scatterTooltipRow, children: [
|
|
2835
3622
|
yLabel,
|
|
2836
3623
|
": ",
|
|
2837
3624
|
fmt(point.y)
|
|
@@ -2843,6 +3630,16 @@ function ArticleScatterChart({
|
|
|
2843
3630
|
/* @__PURE__ */ jsxRuntime.jsx(recharts.Scatter, { data, children: data.map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(recharts.Cell, { fill: colors[i], r: 6 }, i)) })
|
|
2844
3631
|
] }) }) }) });
|
|
2845
3632
|
}
|
|
3633
|
+
|
|
3634
|
+
// src/templates/LandingLayout.module.scss
|
|
3635
|
+
var LandingLayout_module_default = {
|
|
3636
|
+
headerMode: "LandingLayout_module_headerMode",
|
|
3637
|
+
headerMain: "LandingLayout_module_headerMain",
|
|
3638
|
+
sidebarMode: "LandingLayout_module_sidebarMode",
|
|
3639
|
+
sidebarNav: "LandingLayout_module_sidebarNav",
|
|
3640
|
+
sidebarMain: "LandingLayout_module_sidebarMain",
|
|
3641
|
+
sidebarContent: "LandingLayout_module_sidebarContent"
|
|
3642
|
+
};
|
|
2846
3643
|
function LandingLayout({
|
|
2847
3644
|
mode = "header",
|
|
2848
3645
|
nav,
|
|
@@ -2850,14 +3647,14 @@ function LandingLayout({
|
|
|
2850
3647
|
className = ""
|
|
2851
3648
|
}) {
|
|
2852
3649
|
if (mode === "sidebar") {
|
|
2853
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
2854
|
-
nav && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2855
|
-
/* @__PURE__ */ jsxRuntime.jsx("main", { className:
|
|
3650
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${LandingLayout_module_default.sidebarMode}${className ? ` ${className}` : ""}`, children: [
|
|
3651
|
+
nav && /* @__PURE__ */ jsxRuntime.jsx("div", { className: LandingLayout_module_default.sidebarNav, children: nav }),
|
|
3652
|
+
/* @__PURE__ */ jsxRuntime.jsx("main", { className: LandingLayout_module_default.sidebarMain, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: LandingLayout_module_default.sidebarContent, children }) })
|
|
2856
3653
|
] });
|
|
2857
3654
|
}
|
|
2858
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `
|
|
3655
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${LandingLayout_module_default.headerMode}${className ? ` ${className}` : ""}`, children: [
|
|
2859
3656
|
nav,
|
|
2860
|
-
/* @__PURE__ */ jsxRuntime.jsx("main", { className:
|
|
3657
|
+
/* @__PURE__ */ jsxRuntime.jsx("main", { className: LandingLayout_module_default.headerMain, children })
|
|
2861
3658
|
] });
|
|
2862
3659
|
}
|
|
2863
3660
|
|