@blocklet/pages-kit-inner-components 0.6.23 → 0.6.25

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.
@@ -0,0 +1,3012 @@
1
+ import { jsx as i, jsxs as y, Fragment as X } from "react/jsx-runtime";
2
+ import { ErrorOutline as xe } from "@mui/icons-material";
3
+ import { Box as m, styled as be, Typography as z, Container as ye, useTheme as Ft, useMediaQuery as Ht, GlobalStyles as ve, Card as ke, CircularProgress as we, Grid as Qt, CardMedia as Ce, CardContent as Be, Alert as Ee } from "@mui/material";
4
+ import Ie from "lodash/isEmpty";
5
+ import et from "lodash/pick";
6
+ import Se, { createContext as Vt, useMemo as E, useCallback as H, useContext as Gt, useState as ot, useEffect as K, Fragment as De, isValidElement as Ot, useRef as ht } from "react";
7
+ import S from "lodash/keyBy";
8
+ import { styled as I, useTheme as Tt } from "@arcblock/ux/lib/Theme";
9
+ import { cx as v, css as ut } from "@emotion/css";
10
+ import N from "lodash/omit";
11
+ import { Link as Qe, NavLink as Re, useNavigate as Ne } from "react-router-dom";
12
+ import Le from "@arcblock/ux/lib/Button";
13
+ import gt from "is-uri";
14
+ import { Icon as Yt } from "@iconify-icon/react";
15
+ import { e as M, f as L, i as ft, l as xt } from "./state-DSo43FAB.js";
16
+ import je from "@blocklet/pages-kit/builtin/markdown/markdown-renderer";
17
+ import { useColorConvert as Jt } from "@blocklet/pages-kit/contexts/color";
18
+ import { materialDark as Pe } from "react-syntax-highlighter/dist/esm/styles/prism";
19
+ import ze from "@arcblock/react-hooks/lib/useBrowser";
20
+ import Rt from "@arcblock/ux/lib/Colors";
21
+ import { ResponsiveImage as Xt, CustomComponentRenderer as Me } from "@blocklet/pages-kit/components";
22
+ import { isGradient as We, isColorString as Ue } from "@blocklet/pages-kit/utils/style";
23
+ import Kt from "@mui/material/useMediaQuery";
24
+ import { join as $ } from "pathe";
25
+ import { withoutTrailingSlash as dt, isRelative as Fe, parseURL as He } from "ufo";
26
+ import { useMessage as Ve } from "@blocklet/embed/message";
27
+ import { useLatest as Ge } from "ahooks";
28
+ import Oe from "lodash/isEqual";
29
+ import { EmbedIframe as Te } from "@blocklet/embed/react";
30
+ import { useLocaleContext as Ye } from "@arcblock/ux/lib/Locale/context";
31
+ import Zt from "@arcblock/ux/lib/Screenshot";
32
+ import { TwitterTimelineEmbed as Je } from "react-twitter-embed";
33
+ import { useUpdate as Xe, useMount as Ke } from "react-use";
34
+ const Z = "{{CUSTOM_VALUE}}", Ze = [
35
+ {
36
+ title: "None",
37
+ value: "none",
38
+ sx: {}
39
+ },
40
+ {
41
+ title: "Small",
42
+ value: "small",
43
+ sx: { py: { xs: 2.5, md: 4, lg: 4, xl: 6 } }
44
+ },
45
+ {
46
+ title: "Normal",
47
+ value: "normal",
48
+ sx: { py: { xs: 5, md: 7.5, lg: 10, xl: 12.5 } }
49
+ },
50
+ {
51
+ title: "Large",
52
+ value: "large",
53
+ sx: { py: { xs: 7.5, md: 10, lg: 12.5, xl: 15 } }
54
+ }
55
+ ], qe = [
56
+ {
57
+ title: "None",
58
+ value: "none",
59
+ sx: {}
60
+ },
61
+ {
62
+ title: "Small",
63
+ value: "small",
64
+ sx: { py: { xs: 2.5, md: 4, lg: 4, xl: 6 } }
65
+ },
66
+ {
67
+ title: "Normal",
68
+ value: "normal",
69
+ sx: { py: { xs: 5, md: 7, lg: 7, xl: 9 } }
70
+ },
71
+ {
72
+ title: "Large",
73
+ value: "large",
74
+ sx: { py: { xs: 6, md: 9, lg: 9, xl: 11 } }
75
+ },
76
+ {
77
+ title: "Extra Large",
78
+ value: "xl",
79
+ sx: { py: { xs: 8, md: 12, lg: 12, xl: 16 } }
80
+ }
81
+ ], _e = [
82
+ {
83
+ title: "None",
84
+ value: "none",
85
+ sx: {}
86
+ },
87
+ {
88
+ title: "Small",
89
+ value: "small",
90
+ sx: { px: { xs: 2, md: 4, lg: 4, xl: 6 } }
91
+ },
92
+ {
93
+ title: "Normal",
94
+ value: "normal",
95
+ sx: { px: { xs: 2.5, md: 7.5, lg: 10, xl: 12.5 } }
96
+ },
97
+ {
98
+ title: "Large",
99
+ value: "large",
100
+ sx: { px: { xs: 2.5, md: 10, lg: 12.5, xl: 15 } }
101
+ },
102
+ {
103
+ title: "Extra Large",
104
+ value: "xl",
105
+ sx: { px: { xs: 3, md: 12.5, lg: 15, xl: 17.5 } }
106
+ }
107
+ ], tt = (t, e, o) => {
108
+ const n = t.breakpoints.values[o];
109
+ return `${e}${n ? ` (${n}px)` : ""}`;
110
+ }, $e = [
111
+ {
112
+ title: "100%",
113
+ value: "full",
114
+ sx: {}
115
+ },
116
+ {
117
+ title: "None",
118
+ value: "none",
119
+ sx: { maxWidth: "none" }
120
+ },
121
+ {
122
+ title: (t) => tt(t, "Small", "sm"),
123
+ value: "sm",
124
+ sx: {
125
+ maxWidth: (t) => t.breakpoints.values.sm,
126
+ width: "100%",
127
+ mx: "auto"
128
+ }
129
+ },
130
+ {
131
+ title: (t) => tt(t, "Normal", "md"),
132
+ value: "md",
133
+ sx: { maxWidth: (t) => t.breakpoints.values.md, width: "100%", mx: "auto" }
134
+ },
135
+ {
136
+ title: (t) => tt(t, "Large", "lg"),
137
+ value: "lg",
138
+ sx: { maxWidth: (t) => t.breakpoints.values.lg, width: "100%", mx: "auto" }
139
+ },
140
+ {
141
+ title: (t) => tt(t, "Extra Large", "xl"),
142
+ value: "xl",
143
+ sx: { maxWidth: (t) => t.breakpoints.values.xl, width: "100%", mx: "auto" }
144
+ },
145
+ {
146
+ title: "Custom",
147
+ value: "custom",
148
+ sx: {
149
+ maxWidth: Z,
150
+ width: "100%",
151
+ mx: "auto"
152
+ }
153
+ }
154
+ ], to = [
155
+ {
156
+ title: "None",
157
+ value: "none",
158
+ sx: { gap: 0 }
159
+ },
160
+ {
161
+ title: "Small",
162
+ value: "small",
163
+ sx: { gap: { xs: 1, md: 2, lg: 2, xl: 3 } }
164
+ },
165
+ {
166
+ title: "Normal",
167
+ value: "normal",
168
+ sx: { gap: { xs: 2, md: 3.5, lg: 3.5, xl: 5 } }
169
+ },
170
+ {
171
+ title: "Large",
172
+ value: "large",
173
+ sx: { gap: { xs: 3, md: 5, lg: 5, xl: 6.5 } }
174
+ }
175
+ ], bt = (t) => [
176
+ {
177
+ title: "None",
178
+ value: "none",
179
+ sx: {}
180
+ },
181
+ {
182
+ title: "Small",
183
+ value: "small",
184
+ sx: { [t]: { xs: 1, md: 2, lg: 2, xl: 3 } }
185
+ },
186
+ {
187
+ title: "Normal",
188
+ value: "normal",
189
+ sx: { [t]: { xs: 2.5, md: 5, lg: 5, xl: 7.5 } }
190
+ },
191
+ {
192
+ title: "Large",
193
+ value: "large",
194
+ sx: { [t]: { xs: 3, md: 6, lg: 6, xl: 9 } }
195
+ },
196
+ {
197
+ title: "Extra Large",
198
+ value: "xl",
199
+ sx: { [t]: { xs: 4, md: 8, lg: 8, xl: 12 } }
200
+ },
201
+ {
202
+ title: "Custom",
203
+ value: "custom",
204
+ sx: { [t]: Z }
205
+ }
206
+ ], eo = bt("p"), oo = bt("px"), no = bt("py"), io = [
207
+ {
208
+ title: "Start",
209
+ value: "start",
210
+ sx: { alignContent: "start" }
211
+ },
212
+ {
213
+ title: "Center",
214
+ value: "center",
215
+ sx: { alignContent: "center" }
216
+ },
217
+ {
218
+ title: "End",
219
+ value: "end",
220
+ sx: { alignContent: "end" }
221
+ },
222
+ {
223
+ title: "Space Between",
224
+ value: "space-between",
225
+ sx: { alignContent: "space-between" }
226
+ },
227
+ {
228
+ title: "Space Around",
229
+ value: "space-around",
230
+ sx: { alignContent: "space-around" }
231
+ },
232
+ {
233
+ title: "Space Evenly",
234
+ value: "space-evenly",
235
+ sx: { alignContent: "space-evenly" }
236
+ }
237
+ ], ro = [
238
+ {
239
+ title: "Start",
240
+ value: "start",
241
+ sx: { justifyContent: "start" }
242
+ },
243
+ {
244
+ title: "Center",
245
+ value: "center",
246
+ sx: { justifyContent: "center" }
247
+ },
248
+ {
249
+ title: "End",
250
+ value: "end",
251
+ sx: { justifyContent: "end" }
252
+ },
253
+ {
254
+ title: "Space Between",
255
+ value: "space-between",
256
+ sx: { justifyContent: "space-between" }
257
+ },
258
+ {
259
+ title: "Space Around",
260
+ value: "space-around",
261
+ sx: { justifyContent: "space-around" }
262
+ },
263
+ {
264
+ title: "Space Evenly",
265
+ value: "space-evenly",
266
+ sx: { justifyContent: "space-evenly" }
267
+ }
268
+ ], ao = [
269
+ {
270
+ title: "Solid",
271
+ value: "solid",
272
+ sx: { border: "1px solid", borderColor: "divider" },
273
+ group: "borderFrame"
274
+ },
275
+ {
276
+ title: "Dashed",
277
+ value: "dashed",
278
+ sx: { border: "1px dashed", borderColor: "divider" },
279
+ group: "borderFrame"
280
+ },
281
+ {
282
+ title: "Dotted",
283
+ value: "dotted",
284
+ sx: { border: "1px dotted", borderColor: "divider" },
285
+ group: "borderFrame"
286
+ },
287
+ {
288
+ title: "Custom",
289
+ value: "custom",
290
+ sx: {
291
+ border: Z
292
+ },
293
+ group: "borderFrame"
294
+ }
295
+ ], qt = [
296
+ // new device frames
297
+ { value: "macbook", title: "MacBook", group: "deviceFrame" },
298
+ { value: "phone", title: "Phone", group: "deviceFrame" }
299
+ // old device frames:
300
+ // @FIXME:以下类型不适配 children,先注释掉了,会走以前的逻辑,渲染 p script 有问题
301
+ // { value: 'iphone-x', title: 'iPhone X', group: 'deviceFrame' },
302
+ // { value: 'iphone-8', title: 'iPhone 8', group: 'deviceFrame' },
303
+ // { value: 'ipad-pro', title: 'iPad Pro', group: 'deviceFrame' },
304
+ // { value: 'imac-pro', title: 'iMac Pro', group: 'deviceFrame' },
305
+ // { value: 'macbook-pro', title: 'MacBook Pro', group: 'deviceFrame' },
306
+ // { value: 'surface-pro', title: 'Surface Pro', group: 'deviceFrame' },
307
+ // { value: 'surface-book', title: 'Surface Book', group: 'deviceFrame' },
308
+ // { value: 'surface-studio', title: 'Surface Studio', group: 'deviceFrame' },
309
+ // { value: 'galaxy-s8', title: 'Galaxy S8', group: 'deviceFrame' },
310
+ // { value: 'google-pixel', title: 'Google Pixel', group: 'deviceFrame' },
311
+ // { value: 'google-pixel-2-xl', title: 'Google Pixel 2 XL', group: 'deviceFrame' },
312
+ // { value: 'apple-watch', title: 'Apple Watch', group: 'deviceFrame' },
313
+ ], so = (t) => qt.some((e) => e.value === t), lo = (t) => _t.some((e) => e.value === t), _t = [
314
+ {
315
+ value: "chrome",
316
+ title: "Chrome Browser",
317
+ group: "browserFrame",
318
+ sx: {}
319
+ },
320
+ {
321
+ value: "safari",
322
+ title: "Safari Browser",
323
+ group: "browserFrame",
324
+ sx: {}
325
+ }
326
+ ], Ao = [
327
+ {
328
+ value: "shadow-sm",
329
+ title: "Shadow Low Elevation",
330
+ group: "shadowFrame",
331
+ sx: { boxShadow: (t) => t.shadows[2] }
332
+ },
333
+ {
334
+ value: "shadow-md",
335
+ title: "Shadow Medium Elevation",
336
+ group: "shadowFrame",
337
+ sx: { boxShadow: (t) => t.shadows[6] }
338
+ },
339
+ {
340
+ value: "shadow-lg",
341
+ title: "Shadow High Elevation",
342
+ group: "shadowFrame",
343
+ sx: { boxShadow: (t) => t.shadows[12] }
344
+ },
345
+ {
346
+ value: "shadow-xl",
347
+ title: "Shadow Extra High Elevation",
348
+ group: "shadowFrame",
349
+ sx: { boxShadow: (t) => t.shadows[16] }
350
+ },
351
+ {
352
+ value: "shadow-max",
353
+ title: "Shadow Max Elevation",
354
+ group: "shadowFrame",
355
+ sx: { boxShadow: (t) => t.shadows[24] }
356
+ }
357
+ ], co = [
358
+ {
359
+ title: "None",
360
+ value: "none",
361
+ sx: { border: "none" },
362
+ group: "commonFrame"
363
+ },
364
+ ...ao,
365
+ ..._t,
366
+ ...Ao,
367
+ ...qt
368
+ ], uo = [
369
+ {
370
+ title: "None",
371
+ value: "none",
372
+ sx: { borderRadius: 0 }
373
+ },
374
+ {
375
+ title: "Small",
376
+ value: "small",
377
+ sx: { borderRadius: 1 }
378
+ // theme.shape.borderRadius * 1
379
+ },
380
+ {
381
+ title: "Medium",
382
+ value: "medium",
383
+ sx: { borderRadius: 2 }
384
+ // theme.shape.borderRadius * 2
385
+ },
386
+ {
387
+ title: "Large",
388
+ value: "large",
389
+ sx: { borderRadius: 3 }
390
+ // theme.shape.borderRadius * 3
391
+ },
392
+ {
393
+ title: "Extra Large",
394
+ value: "xl",
395
+ sx: { borderRadius: 4 }
396
+ // theme.shape.borderRadius * 4
397
+ },
398
+ {
399
+ title: "Rounded",
400
+ value: "rounded",
401
+ sx: { borderRadius: "50%" }
402
+ },
403
+ {
404
+ title: "Custom",
405
+ value: "custom",
406
+ sx: { borderRadius: Z }
407
+ }
408
+ ], go = [
409
+ {
410
+ title: "100%",
411
+ value: "100%",
412
+ sx: { height: "100%" }
413
+ },
414
+ {
415
+ title: "Auto",
416
+ value: "auto",
417
+ sx: { height: "auto" }
418
+ },
419
+ {
420
+ title: "Unset",
421
+ value: "unset",
422
+ sx: { height: "unset" }
423
+ },
424
+ {
425
+ title: "Inherit",
426
+ value: "inherit",
427
+ sx: { height: "inherit" }
428
+ },
429
+ {
430
+ title: "Initial",
431
+ value: "initial",
432
+ sx: { height: "initial" }
433
+ },
434
+ {
435
+ title: "Fit Content",
436
+ value: "fit-content",
437
+ sx: { height: "fit-content" }
438
+ },
439
+ {
440
+ title: "Max Content",
441
+ value: "max-content",
442
+ sx: { height: "max-content" }
443
+ },
444
+ {
445
+ title: "Min Content",
446
+ value: "min-content",
447
+ sx: { height: "min-content" }
448
+ }
449
+ ], mo = S(Ze, "value"), po = S(qe, "value"), ho = S(_e, "value"), fo = S($e, "value"), xo = S(to, "value"), bo = S(eo, "value"), yo = S(oo, "value"), vo = S(no, "value"), ko = S(io, "value"), wo = S(ro, "value"), Co = S(co, "value"), Bo = S(uo, "value"), Eo = S(go, "value"), Io = /* @__PURE__ */ new Map([
450
+ ["baseSectionPaddingY", mo],
451
+ ["maxWidth", fo],
452
+ ["paddingY", po],
453
+ ["paddingX", ho],
454
+ ["layoutBlockGap", xo],
455
+ ["layoutBlockPadding", bo],
456
+ ["layoutBlockPaddingX", yo],
457
+ ["layoutBlockPaddingY", vo],
458
+ ["layoutBlockAlignContent", ko],
459
+ ["layoutBlockJustifyContent", wo],
460
+ ["layoutBlockBorder", Co],
461
+ ["layoutBlockBorderRadius", Bo],
462
+ ["layoutBlockHeight", Eo]
463
+ ]);
464
+ function R(t) {
465
+ const { type: e, value: o, format: n = "sx", defaultValue: r = null } = t, a = Io.get(e);
466
+ if (!a || typeof o != "string" || !o)
467
+ return r;
468
+ const A = o.startsWith("custom:"), s = A ? "custom" : o;
469
+ if (a?.[s] && a?.[s]?.[n]) {
470
+ const l = a[s][n];
471
+ if (A) {
472
+ const c = o.replace("custom:", "");
473
+ try {
474
+ return JSON.parse(JSON.stringify(l || {}).replaceAll(Z, c));
475
+ } catch {
476
+ }
477
+ }
478
+ return l;
479
+ }
480
+ return r;
481
+ }
482
+ const $t = Vt({
483
+ page: null,
484
+ getPageMeta: () => ({}),
485
+ getPageMetaStyle: () => ({})
486
+ });
487
+ function te() {
488
+ return Gt($t);
489
+ }
490
+ function Hi({
491
+ page: t,
492
+ children: e,
493
+ defaultLocale: o = "en",
494
+ currentLocale: n
495
+ }) {
496
+ const r = E(() => t ? JSON.parse(JSON.stringify(t)) : null, [JSON.stringify(t)]), a = H(() => {
497
+ if (!r) return {};
498
+ const l = n || o;
499
+ return r.locales?.[l] ?? {};
500
+ }, [r, o, n]), A = H(
501
+ (l = "sx") => {
502
+ const c = a();
503
+ return !c || !c.style ? {} : Object.entries(c.style || {}).reduce((u, [p, g]) => {
504
+ if (!g) return u;
505
+ const b = `${p}Custom`;
506
+ c.style[b];
507
+ const f = R({
508
+ type: p,
509
+ value: g,
510
+ format: l
511
+ });
512
+ return f ? { ...u, ...f } : u;
513
+ }, {});
514
+ },
515
+ [a]
516
+ ), s = E(
517
+ () => ({
518
+ page: r,
519
+ getPageMeta: a,
520
+ getPageMetaStyle: A
521
+ }),
522
+ [r, a, A]
523
+ );
524
+ return /* @__PURE__ */ i($t.Provider, { value: s, children: e });
525
+ }
526
+ const nt = ["editing", "height", "locale", "dev", "sx"];
527
+ function So(t) {
528
+ const { className: e, ...o } = t;
529
+ return /* @__PURE__ */ i(Do, { ...o, className: v("BlockBase-root", e) });
530
+ }
531
+ const Do = I(m)`
532
+ position: relative;
533
+ color: ${({ theme: t }) => t.palette.text.primary};
534
+ `, ee = Vt({
535
+ pages: [],
536
+ project: void 0
537
+ }), { Provider: Vi, Consumer: Gi } = ee;
538
+ function oe() {
539
+ return Gt(ee);
540
+ }
541
+ function Qo({ icon: t, ...e }) {
542
+ return /* @__PURE__ */ i(Yt, { icon: t, ...e, ref: null });
543
+ }
544
+ function Ro({ icon: t, className: e = "", size: o = "1rem", ...n }) {
545
+ return /* @__PURE__ */ i(No, { component: Qo, className: v("css-icon", e), size: o, ...n, icon: t });
546
+ }
547
+ const No = I(m)`
548
+ &.css-icon {
549
+ display: inline-block;
550
+ width: ${({ size: t }) => t};
551
+ height: ${({ size: t }) => t};
552
+ }
553
+ `;
554
+ function Lo({ icon: t, className: e = "", size: o = "1rem", imageMeta: n, ...r }) {
555
+ const a = M(L(t), 540), [A, s] = ot(!1), l = Tt();
556
+ return A ? /* @__PURE__ */ i(Ro, { icon: "i-mdi:image", color: l.palette.grey[500], size: o, className: e, ...r }) : /* @__PURE__ */ i(jo, { className: v("image-icon", e), size: o, ...r, children: /* @__PURE__ */ i(
557
+ "img",
558
+ {
559
+ className: "image-icon__image",
560
+ src: a,
561
+ onError: () => s(!0),
562
+ width: n?.naturalWidth,
563
+ height: n?.naturalHeight,
564
+ alt: n?.filename || "card-icon",
565
+ loading: "lazy"
566
+ }
567
+ ) });
568
+ }
569
+ const jo = I(m)`
570
+ display: inline-block;
571
+ width: ${({ size: t }) => t};
572
+ height: ${({ size: t }) => t};
573
+ .image-icon__image {
574
+ object-fit: contain;
575
+ height: 100%;
576
+ width: 100%;
577
+ }
578
+ `, yt = (t) => typeof t == "string" && /^[\w-_]+:[\w-_]+$/.test(t);
579
+ function mt({ icon: t, size: e = "1rem", imageMeta: o, ...n }) {
580
+ const r = window.isNaN(e) ? e : `${e}px`;
581
+ return yt(t) ? /* @__PURE__ */ i(Yt, { icon: t }) : /* @__PURE__ */ i(Po, { component: Lo, imageMeta: o, className: "base-icon", icon: t, size: r, ...n });
582
+ }
583
+ const Po = I(m)`
584
+ flex-shrink: 0;
585
+ `;
586
+ function J({ text: t, children: e, icon: o = "", endIcon: n, color: r = "primary", link: a = "", href: A = "", ...s }) {
587
+ const l = o ? /* @__PURE__ */ i(mt, { icon: o }) : null, c = n ? /* @__PURE__ */ i(mt, { icon: n }) : null, d = a || A, u = { ...s };
588
+ return d && (u.href = d, gt(d) && (u.target = u.target || "_blank")), /* @__PURE__ */ i(Le, { startIcon: l, endIcon: c, color: r, ...u, children: t || e });
589
+ }
590
+ function ne({ editing: t, text: e, ...o }) {
591
+ const { pages: n = [] } = oe(), r = n.find((a) => a.id === (o.link || o.linkId));
592
+ if (t)
593
+ return /* @__PURE__ */ i(J, { ...N(o, ["link", "linkId"]), children: e });
594
+ if (r) {
595
+ const a = r.path || "/";
596
+ return /* @__PURE__ */ i(Qe, { to: a, children: /* @__PURE__ */ i(J, { ...N(o, ["link", "linkId"]), children: e }) });
597
+ }
598
+ return /* @__PURE__ */ i(J, { ...N(o, "linkId"), children: e });
599
+ }
600
+ function V({ actions: t, center: e, className: o, align: n }) {
601
+ return t && t?.length ? /* @__PURE__ */ i(
602
+ m,
603
+ {
604
+ className: v(
605
+ "flex gap-4 flex-wrap",
606
+ "lg:flex-row lg:gap-8",
607
+ (e || n === "center") && "justify-center",
608
+ !e && n === "right" && "justify-end",
609
+ !e && n === "left" && "justify-start",
610
+ o
611
+ ),
612
+ sx: { alignItems: "center" },
613
+ children: t
614
+ }
615
+ ) : null;
616
+ }
617
+ const zo = "section", Mo = be(m)`
618
+ overflow: hidden;
619
+
620
+ .section__title {
621
+ margin-top: 0;
622
+ font-weight: 700;
623
+ }
624
+ .section__title_non_big {
625
+ font-size: 32px;
626
+ @media (max-width: 600px) {
627
+ font-size: 24px;
628
+ }
629
+ }
630
+ &.base-info .section__tag {
631
+ margin-top: 0;
632
+ margin-bottom: 2vw;
633
+ background-color: ${({ theme: t }) => t.palette.primary.main};
634
+ white-space: nowrap;
635
+ max-width: 100%;
636
+ display: inline-block;
637
+ padding: 0 10px;
638
+ justify-content: flex-start;
639
+ overflow: hidden;
640
+ text-overflow: ellipsis;
641
+ font-size: 12px;
642
+ color: #fff;
643
+ border-radius: 4px;
644
+ line-height: 20px;
645
+ }
646
+ .section__title {
647
+ color: ${({ theme: t }) => t.palette.text.primary};
648
+ a {
649
+ color: ${({ theme: t }) => t.palette.primary.main};
650
+ }
651
+ p {
652
+ margin-top: 0;
653
+ margin-bottom: 0;
654
+ }
655
+ }
656
+ .section__description {
657
+ color: ${({ theme: t }) => t.palette.text.primary};
658
+ margin-bottom: 4vw;
659
+ margin-top: 0;
660
+ a {
661
+ color: ${({ theme: t }) => t.palette.primary.main};
662
+ }
663
+ p {
664
+ margin-top: 0;
665
+ margin-bottom: 0.5rem;
666
+ }
667
+ }
668
+ @media (min-width: ${({ theme: t }) => t.breakpoints.values[zo]}px) {
669
+ .section__tag {
670
+ margin-bottom: 32px;
671
+ }
672
+ .section__title {
673
+ margin-bottom: 32px;
674
+ }
675
+ .section__description {
676
+ margin-bottom: 40px;
677
+ }
678
+ }
679
+ `;
680
+ function it({
681
+ title: t,
682
+ description: e,
683
+ descriptionMarkdown: o,
684
+ actions: n,
685
+ className: r = "",
686
+ classes: a = {},
687
+ prepend: A,
688
+ append: s,
689
+ level: l = 2,
690
+ tag: c,
691
+ badge: d,
692
+ center: u,
693
+ logo: p,
694
+ titleAppearance: g,
695
+ descriptionAppearance: b,
696
+ ...f
697
+ }) {
698
+ const x = Jt();
699
+ if (!t && !e && !n && !d && !c && !A && !s && !p) return null;
700
+ const w = Math.max(Math.min(5, l + 1), 1), k = {
701
+ 1: "xl:!text-3xl lg:!text-2xl md:!text-xl",
702
+ 2: "xl:!text-2xl lg:!text-xl md:!text-lg",
703
+ 3: "xl:!text-2xl lg:!text-xl md:!text-lg",
704
+ 4: "xl:!text-xl lg:!text-lg md:!text-md",
705
+ 5: "xl:!text-lg md:!text-md sm:!text-sm",
706
+ 6: "!text-sm"
707
+ }, B = l === 0 ? "big" : `h${w}`, D = l === 0;
708
+ return /* @__PURE__ */ y(Mo, { className: v("base-info", "lg:text-left", u && "!text-center", r), ...f, children: [
709
+ A && /* @__PURE__ */ i("div", { children: A }),
710
+ (c || d) && /* @__PURE__ */ i("div", { className: v("section__tag", a?.tag || a?.badge), children: c || d }),
711
+ p && /* @__PURE__ */ i("img", { className: "w-[120px] m-auto mb-8", src: p, alt: "info", loading: "lazy" }),
712
+ t && /* @__PURE__ */ i(
713
+ z,
714
+ {
715
+ sx: {
716
+ whiteSpace: "pre-wrap",
717
+ mb: e ? "2vw" : 0,
718
+ ...g?.color && { color: `${x(g.color)} !important` }
719
+ },
720
+ className: v(
721
+ "section__title",
722
+ "text-gray-800",
723
+ "dark:text-gray-50",
724
+ a.title,
725
+ "page-kit-section__title",
726
+ D ? "" : "section__title_non_big"
727
+ ),
728
+ component: `h${Math.max(l, 1)}`,
729
+ variant: B,
730
+ children: t
731
+ }
732
+ ),
733
+ e && (o ? /* @__PURE__ */ i(
734
+ m,
735
+ {
736
+ sx: {
737
+ ...b?.color && { color: `${x(b.color)} !important` }
738
+ },
739
+ className: v(
740
+ "section__description",
741
+ "text-gray-800",
742
+ "dark:text-gray-100",
743
+ k[w],
744
+ a.description,
745
+ "page-kit-section__description"
746
+ ),
747
+ children: /* @__PURE__ */ i(je, { codeOptions: { showActionButton: !1, theme: Pe }, children: e })
748
+ }
749
+ ) : /* @__PURE__ */ i(
750
+ z,
751
+ {
752
+ sx: {
753
+ whiteSpace: "pre-wrap",
754
+ ...b?.color && { color: `${x(b.color)} !important` }
755
+ },
756
+ className: v(
757
+ "section__description",
758
+ "text-gray-800",
759
+ "dark:text-gray-100",
760
+ k[w],
761
+ a.description,
762
+ "page-kit-section__description"
763
+ ),
764
+ component: "div",
765
+ variant: "body1",
766
+ gutterBottom: !0,
767
+ children: e
768
+ }
769
+ )),
770
+ /* @__PURE__ */ i(V, { actions: n, center: u, className: "mt-8" }),
771
+ s && /* @__PURE__ */ i("div", { children: s })
772
+ ] });
773
+ }
774
+ const rt = [
775
+ "actions",
776
+ "append",
777
+ "badge",
778
+ "tag",
779
+ "center",
780
+ "description",
781
+ "descriptionMarkdown",
782
+ "level",
783
+ "logo",
784
+ "prepend",
785
+ "title",
786
+ "titleAppearance",
787
+ "descriptionAppearance"
788
+ ];
789
+ function Wo() {
790
+ const t = navigator.userAgent.toLowerCase();
791
+ return t.includes("safari") && !t.includes("chrome");
792
+ }
793
+ function Uo(t = "") {
794
+ if (t.startsWith("data:image/svg+xml,")) return !0;
795
+ const e = /^(((ht|f)tps?):\/\/)?([^!@#$%^&*?.\s-]([^!@#$%^&*?.\s]{0,63}[^!@#$%^&*?.\s])?\.)+[a-z]{2,6}\/?/, o = /^(\/|\.\/|\.\.\/)(?:[^/]+\/)*[^/]+$/;
796
+ return e.test(t) || o.test(t);
797
+ }
798
+ function Y(t) {
799
+ return t?.endsWith(".mp4") || t?.endsWith(".m4v") || t?.endsWith(".webm");
800
+ }
801
+ function Fo(t) {
802
+ return t?.endsWith(".mp4") || t?.endsWith(".m4v") ? "video/mp4" : t?.endsWith(".webm") ? "video/webm" : void 0;
803
+ }
804
+ function Ho(t) {
805
+ let e = {};
806
+ return typeof t == "string" ? We(t) ? e.image = t : (e.image = L(t), Ue(t) && (e.color = t, e.image = "")) : e = t, e;
807
+ }
808
+ function Vo() {
809
+ const [t, e] = ot(Date.now());
810
+ return K(() => {
811
+ const o = () => {
812
+ e(Date.now());
813
+ };
814
+ return document.addEventListener("visibilitychange", o), () => {
815
+ document.removeEventListener("visibilitychange", o);
816
+ };
817
+ }, []), t;
818
+ }
819
+ function Nt(t, e, o, n, r) {
820
+ let a = null;
821
+ const { color: A = "", image: s } = Ho(e);
822
+ if (s && Uo(s)) {
823
+ delete o.backgroundColor;
824
+ const l = !(t.mobile.apple.device || Wo()) && Y(s), c = Y(s) && n ? M(L(n), 1200, "quality") : "";
825
+ l ? a = /* @__PURE__ */ i(
826
+ m,
827
+ {
828
+ component: "video",
829
+ className: "section-bg",
830
+ autoPlay: !0,
831
+ loop: !0,
832
+ muted: !0,
833
+ controls: !1,
834
+ playsInline: !0,
835
+ poster: c,
836
+ src: Y(s) ? s : M(s, 1200, "quality"),
837
+ sx: {
838
+ width: "100%",
839
+ position: "absolute",
840
+ zIndex: -9999,
841
+ right: 0,
842
+ left: 0,
843
+ top: 0,
844
+ height: "100%",
845
+ objectFit: "cover"
846
+ }
847
+ },
848
+ s
849
+ ) : a = /* @__PURE__ */ i(
850
+ Xt,
851
+ {
852
+ src: Y(s) && n ? c : s,
853
+ sizesAttr: {
854
+ sm: 600,
855
+ md: 900,
856
+ lg: 1200
857
+ },
858
+ className: "section-bg",
859
+ alt: "",
860
+ width: "100%",
861
+ loading: "lazy",
862
+ sx: {
863
+ position: "absolute",
864
+ zIndex: -9999,
865
+ right: 0,
866
+ left: 0,
867
+ top: 0,
868
+ width: "100%",
869
+ height: "100%",
870
+ objectFit: "cover"
871
+ }
872
+ },
873
+ r || s
874
+ );
875
+ } else s ? o.backgroundImage = `${s} !important` : A && (o.backgroundColor = `${A} !important`);
876
+ return a;
877
+ }
878
+ function Go({ autoWidth: t, children: e, ...o }) {
879
+ return t ? /* @__PURE__ */ i(
880
+ m,
881
+ {
882
+ ...o,
883
+ sx: [
884
+ {
885
+ display: "flex"
886
+ },
887
+ ...Array.isArray(o.sx) ? o.sx : [o.sx]
888
+ ],
889
+ children: e
890
+ }
891
+ ) : /* @__PURE__ */ i(ye, { ...o, children: e });
892
+ }
893
+ function at({
894
+ dark: t = !1,
895
+ children: e,
896
+ className: o,
897
+ sx: n = {},
898
+ boxed: r = { show: !1 },
899
+ padding: a = "normal",
900
+ boxProps: A,
901
+ type: s,
902
+ ...l
903
+ }) {
904
+ const c = { ...n }, d = Kt((g) => g.breakpoints.down("md"));
905
+ t && (c.color = Rt.common.white, c.backgroundColor = `${Rt.grey[900]} !important`), r.show && (c.display = "flex");
906
+ const u = E(() => !Number(l.boxMaxWidth) || d ? {
907
+ width: "100%"
908
+ } : s === "wall" && l.boxMaxWidth ? {
909
+ maxWidth: `${l.boxMaxWidth}px !important`,
910
+ width: "100%"
911
+ } : {
912
+ width: "100%"
913
+ }, [l.boxMaxWidth, d, s]), p = R({
914
+ type: "baseSectionPaddingY",
915
+ value: a || "normal",
916
+ // section default is normal
917
+ defaultValue: ""
918
+ });
919
+ return /* @__PURE__ */ i(
920
+ Oo,
921
+ {
922
+ component: "section",
923
+ styles: { ...c, ...p },
924
+ className: v("base-section", "px-2 md:px-5 lg:px-5 xl:px-10", o, {
925
+ dark: t
926
+ }),
927
+ ...N(
928
+ l,
929
+ "hoverStyle",
930
+ "boxMaxWidth",
931
+ "embedUrl",
932
+ "autoWidth",
933
+ "paddingXY",
934
+ "iframeHeight",
935
+ "titleAppearance",
936
+ "descriptionAppearance"
937
+ ),
938
+ children: /* @__PURE__ */ i(Go, { autoWidth: l?.autoWidth, className: v("section-content h-full"), sx: u, children: r.show ? /* @__PURE__ */ i(vt, { ...A, boxed: r, children: e }) : e })
939
+ }
940
+ );
941
+ }
942
+ function vt({
943
+ background: t = "",
944
+ backgroundVideoPoster: e,
945
+ children: o,
946
+ sx: n = {},
947
+ boxed: r = { show: !1 },
948
+ className: a = "",
949
+ styles: A = {},
950
+ ...s
951
+ }) {
952
+ const l = { ...A, ...n }, c = Jt();
953
+ let d = null;
954
+ const u = Kt((b) => b.breakpoints.up("sm")), p = ze(), g = Vo();
955
+ return t && (d = Nt(
956
+ p,
957
+ typeof t == "string" ? c(t) : t,
958
+ l,
959
+ e,
960
+ g
961
+ )), r.show && (l.borderRadius = "10px", l.padding === void 0 && (l.padding = u ? "50px" : "20px"), r?.border && (l.border = "1px solid #c0c0c0"), r?.background && (d = Nt(
962
+ p,
963
+ typeof r?.background == "string" ? c(r?.background) : r?.background,
964
+ l,
965
+ r?.backgroundVideoPoster,
966
+ g
967
+ ))), /* @__PURE__ */ y(
968
+ m,
969
+ {
970
+ ...s,
971
+ sx: {
972
+ ...l,
973
+ ...d ? { position: "relative", overflow: "hidden", zIndex: 0 } : {}
974
+ },
975
+ className: v(a, r?.boxShadow && "shadow-xl"),
976
+ children: [
977
+ d,
978
+ o
979
+ ]
980
+ }
981
+ );
982
+ }
983
+ const Oo = I(vt)`
984
+ &:nth-of-type(even) {
985
+ background: #f8f8f8;
986
+ }
987
+
988
+ @media (max-width: 600px) {
989
+ .section__title {
990
+ font-size: 24px;
991
+ }
992
+
993
+ .base-info {
994
+ > *:last-child {
995
+ margin-bottom: 0;
996
+ }
997
+ }
998
+ }
999
+ `;
1000
+ function ie(t) {
1001
+ if (t.type === De) {
1002
+ const o = (t.props.children || []).filter((n) => Ot(n));
1003
+ return o.length === 1 ? ie(o[0]) : o.length > 1;
1004
+ }
1005
+ return Array.isArray(t);
1006
+ }
1007
+ const P = "&>*";
1008
+ function re({ children: t, col: e, gap: o, className: n, align: r, sx: a, type: A, ...s } = {
1009
+ children: null,
1010
+ className: "",
1011
+ col: 3,
1012
+ gap: void 0,
1013
+ sx: {},
1014
+ align: "center",
1015
+ type: "default"
1016
+ }) {
1017
+ const l = Tt(), c = Number(Math.floor(100 / e * 100) / 100), d = {
1018
+ center: "justify-center items-center",
1019
+ left: "justify-start items-center",
1020
+ right: "justify-end items-center",
1021
+ top: "justify-center items-start",
1022
+ bottom: "justify-center items-end",
1023
+ "top-left": "justify-start items-start",
1024
+ "top-right": "justify-end items-start",
1025
+ "bottom-left": "justify-start items-end",
1026
+ "bottom-right": "justify-end items-end"
1027
+ }, u = d[r] || d.center;
1028
+ let g = o ?? ({
1029
+ 2: 6,
1030
+ 3: 4,
1031
+ 4: 4,
1032
+ 5: 3,
1033
+ 6: 3
1034
+ }[e] || 0);
1035
+ ie(t) || (g = 0);
1036
+ const f = (e - 1) * g / e;
1037
+ let x = { ...a, gap: `${g}rem` };
1038
+ const w = { [P]: { width: "100%" } }, k = {}, B = {}, D = {};
1039
+ switch (w.gap = "1rem", k.gap = `${g / 2}rem`, e) {
1040
+ case 3:
1041
+ case 4:
1042
+ k[P] = {
1043
+ width: `calc(50% - ${g / 2}rem)`
1044
+ };
1045
+ break;
1046
+ case 5:
1047
+ case 6:
1048
+ w[P] = {
1049
+ width: `calc(50% - ${g / 2 / 2}rem)`
1050
+ }, k[P] = {
1051
+ width: `calc(50% - ${g / 2 / 2}rem)`
1052
+ }, B[P] = {
1053
+ width: `calc(33.33% - ${g * 2 / 3}rem)`
1054
+ };
1055
+ break;
1056
+ }
1057
+ return x[P] = { width: `calc(${c}% - ${f}rem)` }, x[`@media (max-width: ${l.breakpoints.values.xl}px)`] = D, x[`@media (max-width: ${l.breakpoints.values.lg}px)`] = B, x[`@media (max-width: ${l.breakpoints.values.md}px)`] = k, x[`@media (max-width: ${l.breakpoints.values.sm}px)`] = w, A === "wall" && (x = { ...a, gap: `${g}rem` }, x[P] = { width: `calc(${c}% - ${f}rem)` }, w[P] = { width: `calc(45% - ${g / 2 / 2}rem)` }, x[`@media (max-width: ${l.breakpoints.values.sm}px)`] = w), /* @__PURE__ */ i(m, { className: v("flex flex-wrap flex-row h-full", u, n), sx: x, ...s, children: t });
1058
+ }
1059
+ function G({ type: t = "", icon: e = "", size: o = "3rem", className: n = "", ...r }) {
1060
+ return /* @__PURE__ */ i(
1061
+ mt,
1062
+ {
1063
+ icon: e || t,
1064
+ size: o,
1065
+ className: v("content-icon", n),
1066
+ ...r,
1067
+ color: typeof r.color > "u" ? "inherit" : r.color
1068
+ }
1069
+ );
1070
+ }
1071
+ function To({
1072
+ to: t,
1073
+ base: e,
1074
+ children: o,
1075
+ className: n,
1076
+ activeClassName: r = "active",
1077
+ target: a = "auto",
1078
+ autoExternalMark: A = !1,
1079
+ useRouterLink: s,
1080
+ ...l
1081
+ }) {
1082
+ const { pages: c = [], locale: d = "" } = {}, u = e ? $("/", e) : e || "";
1083
+ let p = a === "auto" ? "_self" : a, g = $(u, t);
1084
+ const b = A ? gt(g) : !1;
1085
+ if (e)
1086
+ return g = $(u, d, t), /* @__PURE__ */ i(
1087
+ "a",
1088
+ {
1089
+ className: `no-underline ${n}`,
1090
+ href: dt(g),
1091
+ rel: "noreferrer noopener",
1092
+ target: p,
1093
+ ...l,
1094
+ children: o
1095
+ }
1096
+ );
1097
+ if (gt(t))
1098
+ a === "auto" && (p = "_blank"), g = t;
1099
+ else {
1100
+ Fe(g) && (g = $(window.location.pathname, g));
1101
+ const f = He(`${window.location.origin}${g}`), x = c.some((w) => w.pathname === f.pathname);
1102
+ if (s || x)
1103
+ return /* @__PURE__ */ i(
1104
+ Re,
1105
+ {
1106
+ end: !0,
1107
+ to: dt(g),
1108
+ className: ({ isActive: w }) => v(n, w ? r : ""),
1109
+ ...l,
1110
+ children: o
1111
+ }
1112
+ );
1113
+ }
1114
+ return /* @__PURE__ */ y(
1115
+ "a",
1116
+ {
1117
+ className: `no-underline ${n}`,
1118
+ href: dt(g),
1119
+ rel: "noreferrer noopener",
1120
+ target: p,
1121
+ ...l,
1122
+ children: [
1123
+ o,
1124
+ b && /* @__PURE__ */ i(G, { icon: "i-mdi:arrow-top-right", size: "0.9em", className: "smart-link__mark", style: { marginLeft: 5 } })
1125
+ ]
1126
+ }
1127
+ );
1128
+ }
1129
+ function q({
1130
+ prepend: t,
1131
+ append: e,
1132
+ children: o,
1133
+ className: n = "",
1134
+ dark: r = !1,
1135
+ border: a = !0,
1136
+ ...A
1137
+ }) {
1138
+ let s = {};
1139
+ const { pages: l = [] } = oe(), c = l.find((p) => p.id === A.link), d = !o || Se.Children.toArray(o).every((p) => p === null);
1140
+ A.link && (s = {
1141
+ component: To,
1142
+ to: c?.path || A.link,
1143
+ useRouterLink: !0
1144
+ });
1145
+ const u = Ft();
1146
+ return /* @__PURE__ */ y(
1147
+ Yo,
1148
+ {
1149
+ className: v("base-card card", { dark: r, "border-transparent": !a }, n),
1150
+ sx: {
1151
+ borderColor: u.palette.divider
1152
+ },
1153
+ ...s,
1154
+ ...N(A, ["listType", "dark", "iconColor", "link", "hoverStyle", "imageSize"]),
1155
+ children: [
1156
+ t,
1157
+ !d && /* @__PURE__ */ i("div", { className: "card__body", children: o }),
1158
+ e
1159
+ ]
1160
+ }
1161
+ );
1162
+ }
1163
+ const Yo = I(m)`
1164
+ &.base-card {
1165
+ text-align: left;
1166
+ border-width: 1px;
1167
+ border-style: solid;
1168
+ border-radius: 12px;
1169
+ overflow: hidden;
1170
+ &,
1171
+ &:hover {
1172
+ text-decoration: none;
1173
+ }
1174
+ }
1175
+ .card__body {
1176
+ padding: 15px 15px;
1177
+ }
1178
+ `;
1179
+ function _({
1180
+ align: t = "left",
1181
+ title: e,
1182
+ titleProps: o = {},
1183
+ description: n,
1184
+ descriptionProps: r = {}
1185
+ }) {
1186
+ return /* @__PURE__ */ y(X, { children: [
1187
+ e && /* @__PURE__ */ i(
1188
+ z,
1189
+ {
1190
+ className: v("card__title text-gray-800", "dark:text-gray-50"),
1191
+ component: "h5",
1192
+ variant: "h5",
1193
+ gutterBottom: !0,
1194
+ align: t,
1195
+ ...o,
1196
+ children: e
1197
+ }
1198
+ ),
1199
+ n && /* @__PURE__ */ i(
1200
+ z,
1201
+ {
1202
+ className: v("card__description", "text-gray-500", "dark:text-gray-400"),
1203
+ component: "div",
1204
+ variant: "body1",
1205
+ gutterBottom: !0,
1206
+ align: t,
1207
+ ...r,
1208
+ children: n
1209
+ }
1210
+ )
1211
+ ] });
1212
+ }
1213
+ function Jo({
1214
+ image: t,
1215
+ title: e,
1216
+ description: o,
1217
+ imageProps: n = {},
1218
+ imageMeta: r,
1219
+ imageSize: a,
1220
+ titleProps: A = {},
1221
+ descriptionProps: s = {},
1222
+ actions: l,
1223
+ align: c,
1224
+ ...d
1225
+ }) {
1226
+ const u = yt(t), p = M(L(t), 540);
1227
+ return /* @__PURE__ */ y(
1228
+ Xo,
1229
+ {
1230
+ className: "card-article",
1231
+ ...d,
1232
+ prepend: /* @__PURE__ */ i("div", { className: "card__image__wrap", children: u && t ? /* @__PURE__ */ i(
1233
+ m,
1234
+ {
1235
+ sx: {
1236
+ position: "absolute",
1237
+ left: 0,
1238
+ top: 0,
1239
+ right: 0,
1240
+ bottom: 0,
1241
+ display: "flex",
1242
+ alignItems: "center",
1243
+ justifyContent: "center"
1244
+ },
1245
+ children: /* @__PURE__ */ i(G, { icon: t, color: "primary.main" })
1246
+ }
1247
+ ) : p && /* @__PURE__ */ i(
1248
+ "img",
1249
+ {
1250
+ className: "card__image",
1251
+ src: p,
1252
+ ...n,
1253
+ alt: n.alt || r?.filename || "card-image",
1254
+ width: r?.naturalWidth,
1255
+ height: r?.naturalHeight,
1256
+ style: { width: "100%", height: "100%", objectFit: a || "cover", objectPosition: "center" },
1257
+ loading: "lazy"
1258
+ }
1259
+ ) }),
1260
+ children: [
1261
+ e || o ? /* @__PURE__ */ i(
1262
+ _,
1263
+ {
1264
+ align: c,
1265
+ title: e,
1266
+ titleProps: A,
1267
+ description: o,
1268
+ descriptionProps: s
1269
+ }
1270
+ ) : null,
1271
+ l?.length ? /* @__PURE__ */ i(V, { align: c, actions: l, className: "mt-4" }) : null
1272
+ ]
1273
+ }
1274
+ );
1275
+ }
1276
+ const Xo = I(q)`
1277
+ ${(t) => t.hoverStyle === "none" ? "" : t.link ? `transition: box-shadow ease .3s;
1278
+ &:hover {
1279
+ box-shadow: 0 0 10px rgba(95, 142, 244, 0.42);
1280
+ }` : ""}
1281
+
1282
+ .card__title {
1283
+ color: ${({ theme: t }) => t.palette.text.primary};
1284
+ a {
1285
+ color: ${({ theme: t }) => t.palette.primary.main};
1286
+ }
1287
+ }
1288
+ .card__description {
1289
+ color: ${({ theme: t }) => t.palette.text.primary};
1290
+ a {
1291
+ color: ${({ theme: t }) => t.palette.primary.main};
1292
+ }
1293
+ }
1294
+
1295
+ .card__image__wrap {
1296
+ padding-top: 61.8%;
1297
+ width: 100%;
1298
+ position: relative;
1299
+ }
1300
+ .card__image {
1301
+ position: absolute;
1302
+ top: 0;
1303
+ left: 0;
1304
+ bottom: 0;
1305
+ right: 0;
1306
+ width: 100%;
1307
+ height: 100%;
1308
+ object-position: top center;
1309
+ }
1310
+ `, Lt = "section";
1311
+ function jt({
1312
+ title: t,
1313
+ image: e,
1314
+ imageMeta: o,
1315
+ description: n,
1316
+ actions: r,
1317
+ align: a,
1318
+ listType: A = "",
1319
+ className: s = "",
1320
+ ...l
1321
+ }) {
1322
+ return /* @__PURE__ */ y(Ko, { className: v("card", `list-type-${A}`, s), align: a, ...l, children: [
1323
+ e && /* @__PURE__ */ i(
1324
+ G,
1325
+ {
1326
+ icon: e,
1327
+ color: "primary.main",
1328
+ size: A === "icon-title" ? "1.2rem" : "3rem",
1329
+ imageMeta: o
1330
+ }
1331
+ ),
1332
+ t || n ? /* @__PURE__ */ i(_, { align: a, title: t, description: n }) : null,
1333
+ r?.length ? /* @__PURE__ */ i(V, { align: a, actions: r, className: "mt-4" }) : null
1334
+ ] });
1335
+ }
1336
+ const Ko = I(q)`
1337
+ padding: 5vw 4vw;
1338
+ box-sizing: border-box;
1339
+ /* min-height: 320px; */
1340
+ color: inherit !important;
1341
+ border-radius: 0.5rem;
1342
+ /* ${({ dark: t, theme: e }) => `background-color:${t ? e.palette.grey[900] : e.palette.common.white};`} */
1343
+ @media (max-width: ${({ theme: t }) => t.breakpoints.values[Lt]}px) {
1344
+ padding: 1.5rem 2rem;
1345
+ }
1346
+ @media (max-width: ${({ theme: t }) => t.breakpoints.values.sm}px) {
1347
+ height: auto;
1348
+ min-height: unset;
1349
+ }
1350
+
1351
+ ${(t) => t.hoverStyle === "none" ? "" : t.link ? `transition: box-shadow ease .3s;
1352
+ &:hover {
1353
+ box-shadow: 0 0 10px rgba(95, 142, 244, 0.42);
1354
+ }` : ""}
1355
+
1356
+ .card__title {
1357
+ font-weight: 700;
1358
+ margin-top: 24px;
1359
+ margin-bottom: 12px;
1360
+ color: ${({ theme: t }) => t.palette.text.primary};
1361
+ a {
1362
+ color: ${({ theme: t }) => t.palette.primary.main};
1363
+ }
1364
+ }
1365
+ .card__description {
1366
+ color: ${({ theme: t }) => t.palette.text.primary};
1367
+ a {
1368
+ color: ${({ theme: t }) => t.palette.primary.main};
1369
+ }
1370
+ }
1371
+ .card__body {
1372
+ color: ${({ theme: t }) => t.palette.text.primary};
1373
+ padding: 0;
1374
+ ${({ align: t }) => `text-align:${t || "left"};`}
1375
+ }
1376
+
1377
+ &.list-type-icon-title {
1378
+ padding: 1.2rem;
1379
+ .title-line {
1380
+ display: flex;
1381
+ }
1382
+ .card__title {
1383
+ margin: 0;
1384
+ font-size: 1em;
1385
+ }
1386
+ .css-icon {
1387
+ margin-right: 0.5rem;
1388
+ }
1389
+ }
1390
+
1391
+ @media (min-width: ${({ theme: t }) => t.breakpoints.values[Lt]}px) {
1392
+ padding: 2rem 2rem;
1393
+ text-align: left;
1394
+ box-sizing: border-box;
1395
+ }
1396
+ `;
1397
+ function Zo({
1398
+ image: t,
1399
+ title: e,
1400
+ description: o,
1401
+ imageProps: n = {},
1402
+ imageMeta: r,
1403
+ imageSize: a,
1404
+ titleProps: A = {},
1405
+ descriptionProps: s = {},
1406
+ actions: l,
1407
+ align: c,
1408
+ ...d
1409
+ }) {
1410
+ const u = yt(t), p = M(L(t), 540);
1411
+ return /* @__PURE__ */ y(
1412
+ qo,
1413
+ {
1414
+ className: "card-article",
1415
+ ...d,
1416
+ prepend: /* @__PURE__ */ i("div", { className: "card__image__wrap", children: u && t ? /* @__PURE__ */ i(
1417
+ m,
1418
+ {
1419
+ sx: {
1420
+ position: "absolute",
1421
+ left: 0,
1422
+ top: 0,
1423
+ right: 0,
1424
+ bottom: 0,
1425
+ display: "flex",
1426
+ alignItems: "center",
1427
+ justifyContent: "center"
1428
+ },
1429
+ children: /* @__PURE__ */ i(G, { icon: t, color: "primary.main" })
1430
+ }
1431
+ ) : p && /* @__PURE__ */ i(
1432
+ m,
1433
+ {
1434
+ component: "img",
1435
+ className: "card__image",
1436
+ src: p,
1437
+ ...n,
1438
+ alt: n.alt || r?.filename || "card-image",
1439
+ style: { width: "100%", height: "100%", objectFit: a || "contain", objectPosition: "center" },
1440
+ loading: "lazy",
1441
+ sx: [
1442
+ {
1443
+ width: r?.naturalWidth,
1444
+ height: r?.naturalHeight
1445
+ },
1446
+ ...Array.isArray(n.sx) ? n.sx : [n.sx]
1447
+ ]
1448
+ }
1449
+ ) }),
1450
+ children: [
1451
+ e || o ? /* @__PURE__ */ i(
1452
+ _,
1453
+ {
1454
+ align: c,
1455
+ title: e,
1456
+ titleProps: A,
1457
+ description: o,
1458
+ descriptionProps: s
1459
+ }
1460
+ ) : null,
1461
+ l?.length ? /* @__PURE__ */ i(V, { align: c, actions: l, className: "mt-4" }) : null
1462
+ ]
1463
+ }
1464
+ );
1465
+ }
1466
+ const qo = I(q)`
1467
+ ${(t) => t.hoverStyle === "none" ? "" : t.link ? `transition: box-shadow ease .3s;
1468
+ &:hover {
1469
+ box-shadow: 0 0 10px rgba(95, 142, 244, 0.42);
1470
+ }` : ""}
1471
+
1472
+ border-radius: 0 !important;
1473
+
1474
+ .card__body {
1475
+ ${({ align: t }) => `text-align:${t || "left"};`}
1476
+ }
1477
+
1478
+ .card__image__wrap {
1479
+ width: 100%;
1480
+ height: 100%;
1481
+ position: relative;
1482
+ display: flex;
1483
+ justify-content: center;
1484
+ align-items: center;
1485
+ }
1486
+
1487
+ .card__image {
1488
+ max-height: 60px;
1489
+ }
1490
+ `, Pt = "section";
1491
+ function _o({
1492
+ title: t,
1493
+ image: e,
1494
+ imageMeta: o,
1495
+ iconSize: n = 100,
1496
+ description: r,
1497
+ actions: a,
1498
+ align: A,
1499
+ className: s = "",
1500
+ ...l
1501
+ }) {
1502
+ return /* @__PURE__ */ i($o, { className: v("card", s), ...l, children: /* @__PURE__ */ y(m, { className: "flex items-center", children: [
1503
+ e && /* @__PURE__ */ i(G, { icon: e, color: "primary.main", size: n, imageMeta: o }),
1504
+ /* @__PURE__ */ y(m, { className: "flex-1 ml-4", children: [
1505
+ /* @__PURE__ */ i(_, { align: A, title: t, description: r }),
1506
+ /* @__PURE__ */ i(V, { align: A, actions: a, className: "mt-4" })
1507
+ ] })
1508
+ ] }) });
1509
+ }
1510
+ const $o = I(q)`
1511
+ padding: 5vw 4vw;
1512
+ text-align: left;
1513
+ box-sizing: border-box;
1514
+ /* min-height: 320px; */
1515
+ color: inherit !important;
1516
+ border-radius: 0.5rem;
1517
+ /* ${({ dark: t, theme: e }) => `background-color:${t ? e.palette.grey[900] : e.palette.common.white};`} */
1518
+ @media (max-width: ${({ theme: t }) => t.breakpoints.values[Pt]}px) {
1519
+ padding: 1.5rem 2rem;
1520
+ }
1521
+ @media (max-width: ${({ theme: t }) => t.breakpoints.values.sm}px) {
1522
+ height: auto;
1523
+ min-height: unset;
1524
+ }
1525
+
1526
+ ${(t) => t.hoverStyle === "none" ? "" : t.link ? `transition: box-shadow ease .3s;
1527
+ &:hover {
1528
+ box-shadow: 0 0 10px rgba(95, 142, 244, 0.42);
1529
+ }` : ""}
1530
+
1531
+ .card__title {
1532
+ font-weight: 700;
1533
+ margin-bottom: 12px;
1534
+ color: ${({ theme: t }) => t.palette.text.primary};
1535
+ a {
1536
+ color: ${({ theme: t }) => t.palette.primary.main};
1537
+ }
1538
+ }
1539
+ .card__description {
1540
+ color: ${({ theme: t }) => t.palette.text.primary};
1541
+ a {
1542
+ color: ${({ theme: t }) => t.palette.primary.main};
1543
+ }
1544
+ }
1545
+ .card__body {
1546
+ padding: 0;
1547
+ }
1548
+
1549
+ &.list-type-icon-title {
1550
+ padding: 1.2rem;
1551
+ .title-line {
1552
+ display: flex;
1553
+ }
1554
+ .card__title {
1555
+ margin: 0;
1556
+ font-size: 1em;
1557
+ }
1558
+ .css-icon {
1559
+ margin-right: 0.5rem;
1560
+ }
1561
+ }
1562
+
1563
+ @media (min-width: ${({ theme: t }) => t.breakpoints.values[Pt]}px) {
1564
+ padding: 2rem 2rem;
1565
+ text-align: left;
1566
+ box-sizing: border-box;
1567
+ }
1568
+ `;
1569
+ function tn({
1570
+ title: t,
1571
+ titleProps: e = {},
1572
+ description: o,
1573
+ descriptionProps: n = {},
1574
+ image: r,
1575
+ imageMeta: a,
1576
+ className: A = "",
1577
+ align: s,
1578
+ hoverStyle: l,
1579
+ ...c
1580
+ }) {
1581
+ return /* @__PURE__ */ y(en, { className: v("card-simple", A, `hover-style__${l}`), align: s, ...c, children: [
1582
+ r && /* @__PURE__ */ i(G, { icon: r, color: "primary.main", imageMeta: a }),
1583
+ t || o ? /* @__PURE__ */ i(
1584
+ _,
1585
+ {
1586
+ align: s,
1587
+ title: t,
1588
+ titleProps: e,
1589
+ description: o,
1590
+ descriptionProps: n
1591
+ }
1592
+ ) : null
1593
+ ] });
1594
+ }
1595
+ const en = I(q)`
1596
+ .card__title {
1597
+ color: ${({ theme: t }) => t.palette.text.primary};
1598
+ a {
1599
+ color: ${({ theme: t }) => t.palette.primary.main};
1600
+ }
1601
+ }
1602
+ .card__description {
1603
+ color: ${({ theme: t }) => t.palette.text.primary};
1604
+ a {
1605
+ color: ${({ theme: t }) => t.palette.primary.main};
1606
+ }
1607
+ }
1608
+
1609
+ &.hover-style__default {
1610
+ &.card-simple {
1611
+ &:hover {
1612
+ border-top-right-radius: 36px;
1613
+ }
1614
+ }
1615
+ .card__body {
1616
+ &:hover {
1617
+ &::before {
1618
+ width: 42px;
1619
+ height: 42px;
1620
+ transform: translate(50%, -50%) rotate(45deg);
1621
+ }
1622
+ &::after {
1623
+ transform: none;
1624
+ }
1625
+ }
1626
+ }
1627
+ }
1628
+
1629
+ &.card-simple {
1630
+ border-radius: 8px;
1631
+ border-top-right-radius: 26px;
1632
+
1633
+ .card__body {
1634
+ ${({ align: t }) => `text-align:${t || "left"};`}
1635
+ }
1636
+
1637
+ ${(t) => t.link ? `
1638
+ cursor: pointer;
1639
+ ` : ""}
1640
+ /* cursor: pointer; */
1641
+ /* &:hover {
1642
+ border-top-right-radius: 36px;
1643
+ } */
1644
+ transition: all 180ms ease 0s;
1645
+ overflow: visible;
1646
+ .card__title {
1647
+ margin: 12px 0;
1648
+ }
1649
+ .card__body {
1650
+ position: relative;
1651
+ padding: 20px 16px 18px;
1652
+ overflow: hidden;
1653
+ transition: all 180ms ease 0s;
1654
+ /* &:hover {
1655
+ &::before {
1656
+ width: 42px;
1657
+ height: 42px;
1658
+ transform: translate(50%, -50%) rotate(45deg);
1659
+ }
1660
+ &::after {
1661
+ transform: none;
1662
+ }
1663
+ } */
1664
+ &::before,
1665
+ &::after {
1666
+ content: ${({ border: t }) => t ? '""' : ""};
1667
+ transition: inherit;
1668
+ position: absolute;
1669
+ top: 0px;
1670
+ right: 0px;
1671
+ }
1672
+ &::before {
1673
+ z-index: 3;
1674
+ background: #fff;
1675
+ width: 30px;
1676
+ height: 30px;
1677
+ transform: translate(50%, -50%) rotate(45deg);
1678
+ box-shadow: 0 1px 0 0 #e9eaec;
1679
+ }
1680
+ &::after {
1681
+ z-index: 2;
1682
+ width: 28px;
1683
+ height: 28px;
1684
+ border-bottom-left-radius: 6px;
1685
+ background: #fcfcfd;
1686
+ box-shadow: -1px 1px 0 0 #e9eaec;
1687
+ transform: translate(8px, -8px);
1688
+ }
1689
+ }
1690
+ }
1691
+ `;
1692
+ function on({ type: t = "default", ...e }) {
1693
+ const n = {
1694
+ article: Jo,
1695
+ simple: tn,
1696
+ news: _o,
1697
+ default: jt,
1698
+ wall: Zo
1699
+ }[t] || jt;
1700
+ return /* @__PURE__ */ i(n, { ...t === "news" ? e : N(e, "iconSize") });
1701
+ }
1702
+ function nn({
1703
+ list: t = [],
1704
+ align: e = "top",
1705
+ cards: o,
1706
+ listBorder: n = !0,
1707
+ listType: r = "",
1708
+ col: a = 3,
1709
+ gap: A,
1710
+ iconColor: s,
1711
+ className: l = "",
1712
+ type: c = "default",
1713
+ dark: d = !1,
1714
+ textAlign: u = "left",
1715
+ hoverStyle: p,
1716
+ ...g
1717
+ }) {
1718
+ return /* @__PURE__ */ i(
1719
+ re,
1720
+ {
1721
+ type: c,
1722
+ className: v("card-list py-1", l, "items-stretch"),
1723
+ col: a,
1724
+ gap: A,
1725
+ align: e,
1726
+ ...g,
1727
+ children: o || t.map((b) => /* @__PURE__ */ i(
1728
+ on,
1729
+ {
1730
+ borderColor: n,
1731
+ iconColor: s,
1732
+ type: c,
1733
+ listType: r,
1734
+ dark: d,
1735
+ ...b,
1736
+ align: u,
1737
+ style: A === 0 && t.length > 1 ? {
1738
+ borderRadius: 0,
1739
+ marginRight: "-1px",
1740
+ marginBottom: "-1px"
1741
+ } : {}
1742
+ },
1743
+ b.id
1744
+ ))
1745
+ }
1746
+ );
1747
+ }
1748
+ const rn = [
1749
+ "align",
1750
+ "cards",
1751
+ "list",
1752
+ "listBorder",
1753
+ "listType",
1754
+ "col",
1755
+ "gap",
1756
+ "iconColor",
1757
+ "type",
1758
+ "textAlign"
1759
+ ];
1760
+ function j(t, e) {
1761
+ const o = et(t, e), n = N(t, e);
1762
+ return [o, n];
1763
+ }
1764
+ const an = I(at)`
1765
+ a .card {
1766
+ color: #404040;
1767
+ cursor: pointer;
1768
+ }
1769
+ a:not(.MuiButton-root) {
1770
+ color: ${({ theme: t }) => t.palette.primary.main};
1771
+ &:hover,
1772
+ &:active {
1773
+ color: ${({ theme: t }) => t.palette.primary.main};
1774
+ }
1775
+ }
1776
+ a:hover .card {
1777
+ color: #404040;
1778
+ }
1779
+ `;
1780
+ function sn({ className: t, ...e }) {
1781
+ const [o, n] = j(e, rt), [r, a] = j(n, rn);
1782
+ return /* @__PURE__ */ y(an, { className: v("section--card-list", t), type: e.type, ...a, children: [
1783
+ Object.keys(o).length > 0 && /* @__PURE__ */ i(it, { center: !0, ...o, className: "mb-[2.5vw]" }),
1784
+ /* @__PURE__ */ i(nn, { ...r, dark: !!e.dark })
1785
+ ] });
1786
+ }
1787
+ const ln = I(sn)`
1788
+ .card__description {
1789
+ white-space: pre-wrap;
1790
+ }
1791
+ .section__description {
1792
+ }
1793
+ .card {
1794
+ /* background: inherit !important; */
1795
+ }
1796
+ &.dark .card-simple .card__body::before {
1797
+ background: #212121 !important;
1798
+ }
1799
+ .card-simple .card__body::after {
1800
+ background: inherit !important;
1801
+ }
1802
+ `;
1803
+ function An({ section: t, ...e }) {
1804
+ const [{ editing: o }, n] = j(e, nt), r = E(() => ({
1805
+ ...N(n, ["listBorder", "list", "iconSize", "imageSize"]),
1806
+ list: n.list?.map((a) => ({
1807
+ ...N(a, "icon", "iconColor"),
1808
+ image: ["news", "simple", "default"].includes(n.type) && a.icon ? a.icon : a.image,
1809
+ actions: a.actions?.map?.((A) => /* @__PURE__ */ i(ne, { ...A, editing: o }, A.id)),
1810
+ border: n.listBorder,
1811
+ iconSize: n.iconSize,
1812
+ imageSize: n.imageSize,
1813
+ hoverStyle: n.hoverStyle
1814
+ }))
1815
+ }), [n]);
1816
+ return /* @__PURE__ */ i(ln, { style: o ? { pointerEvents: "none" } : {}, ...r });
1817
+ }
1818
+ function cn({
1819
+ properties: t,
1820
+ section: e,
1821
+ locale: o,
1822
+ dev: n
1823
+ }) {
1824
+ return e?.config?.componentId ? /* @__PURE__ */ i(
1825
+ Me,
1826
+ {
1827
+ instanceId: e.id,
1828
+ componentId: e.config.componentId,
1829
+ blockletId: e.config.blockletId,
1830
+ blockletTitle: e.config.blockletTitle,
1831
+ componentName: e.config.componentName,
1832
+ locale: o,
1833
+ properties: t,
1834
+ dev: n
1835
+ }
1836
+ ) : /* @__PURE__ */ i(
1837
+ m,
1838
+ {
1839
+ sx: {
1840
+ textAlign: "center",
1841
+ py: 2
1842
+ },
1843
+ children: /* @__PURE__ */ i(
1844
+ z,
1845
+ {
1846
+ variant: "caption",
1847
+ sx: {
1848
+ color: "text.secondary"
1849
+ },
1850
+ children: "Please select component to render"
1851
+ }
1852
+ )
1853
+ }
1854
+ );
1855
+ }
1856
+ function dn({
1857
+ src: t,
1858
+ dataId: e,
1859
+ isEdit: o = !1,
1860
+ height: n = "100%",
1861
+ onLoad: r = () => {
1862
+ }
1863
+ }) {
1864
+ return /* @__PURE__ */ i(
1865
+ Te,
1866
+ {
1867
+ isEdit: o,
1868
+ embedId: e,
1869
+ src: t,
1870
+ height: n,
1871
+ onLoad: () => {
1872
+ r();
1873
+ }
1874
+ }
1875
+ );
1876
+ }
1877
+ function un({ dataId: t, src: e, actions: o, center: n, onLoad: r, ...a }) {
1878
+ const [A, s] = j(a, rt);
1879
+ return /* @__PURE__ */ y(at, { ...s, children: [
1880
+ Object.keys(A).length > 0 && /* @__PURE__ */ i(it, { center: n, ...A }),
1881
+ /* @__PURE__ */ i(
1882
+ dn,
1883
+ {
1884
+ dataId: t,
1885
+ src: e,
1886
+ onLoad: r,
1887
+ height: a.iframeHeight ? `${a.iframeHeight}px` : "100%"
1888
+ }
1889
+ ),
1890
+ /* @__PURE__ */ i(V, { actions: o, center: n })
1891
+ ] });
1892
+ }
1893
+ const Oi = {
1894
+ src: "",
1895
+ embedUrl: "",
1896
+ title: "",
1897
+ description: "",
1898
+ dark: !1,
1899
+ background: "",
1900
+ center: !0,
1901
+ config: {},
1902
+ id: ""
1903
+ };
1904
+ function gn({ section: t, id: e, src: o, ...n }) {
1905
+ const r = `${e}-${n.locale}`, [{ editing: a }, A] = j(n, nt), s = ht({}), l = JSON.parse(JSON.stringify(A)), { message: c } = Ve(r, "server"), d = Ge(JSON.parse(JSON.stringify(A.config) || "{}"));
1906
+ return K(() => {
1907
+ c && c.onInit(() => d.current);
1908
+ }, [c]), K(() => {
1909
+ const u = JSON.parse(JSON.stringify(A.config) || "{}");
1910
+ Oe(s.current, u) || (s.current = u, c?.send("config-set", u));
1911
+ }, [c, A.config]), o ? /* @__PURE__ */ i(un, { ...l, dataId: r, src: o, style: a ? { pointerEvents: "none" } : {} }) : /* @__PURE__ */ i(mn, { children: 'Please set the "src" attribute for this block' });
1912
+ }
1913
+ const mn = I("div")`
1914
+ user-select: none;
1915
+ color: #999;
1916
+ padding: 8px;
1917
+ height: 200px;
1918
+ `, pn = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAACUCAMAAADF2oyMAAAATlBMVEU1Njrq6uqGiIrT09RMTVA/QERXWFvf39+QkJJ4eXt8foCmp6iam51iY2a9vb6PkJKEhYdqa25eX2KBg4VdX2LIyMlERkk6Oz/HyMlOUFPHL+B4AAADfElEQVR42uzci5aaMBRG4ROBACUgjrWX93/RVmeNoe3IQJcJP2v29wa4hRwiYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGX0IpW2q7PvKNuHH7lK434ohjN7e0Zia0f12sg39PPzmLbs+1O4PRef/6eVMTOOuCtvQl8PVi+XVD+4dl/avT0ctWONe2YYOhxzF5nNFRTn9dNSCvfUabENt9mJVcDNCdf901II18Vu1oepL5mJl4R6LH0ez+bVHs1f2Yr52d0M4lZVZ5U/Hwd3V3sya7RcL0V6Zi7Wxy7GyibKNZ14rsbqr9spazN9zjfaPmKxzasGUemUsVtZxtHhHeQ+lFkyrV7ZiVeFejfbAqBlMrVeuYsHd1P3cTCIYTK9XnmKle+VtRq8XTLFXlmJFvB4+1sgF0+yVulic6Dub08itYaq90hf7seC4G7mho5PtNSnWWwLe3bSzveTGeuVek2InM0tz6MV8L7Vg2r3SFis+PMEapxbsrddFtJdZ1SYpFq+I5VwvtWD3XpXJ+p6q2OiuhrleasH20CtdseCujjO91IJ1bp062FO9nA8LJSk2uM2fN1onuNWO9kT9YbUXi540c3jbjdqtVtsTnQ+rne2J3I30akCwqe3XpJWObrVgT/RyWK3/1MHWDx1He6p+/dDxqS+Je7htTnXrHIcO6UPf3cZU0s2pH3sb6/dRLPZKc+zB9kW9WLpeNm7/VPr/OEoXS/mDmN/h1KFe7N7rqyVQL9+9KQdXtCZCt1jCXnFvrl48UfYmQrVY0l7x+bVx6dM6nanQLJa2V9yvryv7QFmozSeKxVL3iqdYWDhKyyxiksUS9oqGRRfF0W3/x+/HxUR+H/p2Tt8rPoXdfzD+K25ivRWrJYql7RWFjw+6r53mlohSsSW9Mv/dqNC7wdYplqvX9A99XTn7foFa7IJ404oUu/fyllpcod7dyRivOYUf/dAolqlXPOiYrLSJqrnm0pvop1qlF6sk6jX/2ofjyVdmVXkK15Ff4gs8qxV4XDJnr/kXq8jdnD4sdrENtct75Xl1kd58OHWqncAadi4tm/mTbJDZo3+kHMfKNlV5/91yay/7zPWJ+a5wf6gDucT5MQy3asWlG3VHQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgF/twQEJAAAAgKD/r9sRqAAAwEH1Hh4GzTWP1QAAAABJRU5ErkJggg==", hn = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbAAAACUCAMAAADF2oyMAAAASFBMVEX///9gY2e6vL50d3rr7O3Dxcbh4uNqbXGwsbP3+PibnaClp6n19fXY2dqvsbOIio3c3t6/wcLLzM7U1dZ+gIPd3t7y8/Pm5ucjQ3xVAAADeElEQVR42uzcjXaaMBiH8TfhswSkMrfd/52u2lPj1gqyY8Kf0+d3B/AIeY2IAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkDCGUtqlyGF5sE7XvToV7U4zB1/aF1tR492ayDZX+TW3ZDaFxfym6+lMvZ2Jad1bYhip/9mp5DaP7wqn65+yoBWvdO9uQ96mLLeeKivL27KgF++g12oam7MX64GaE/np21IK18VO1oZcqc7GycPfF09Fufu/R7JW9WN24qzFMZW/W19NhdFdNbWbt9ouFaK/MxarY5dDbjbKKV14lsbqr9sparL7m8vZJTNY5tWBKvTIWK5s4WnyhvIZSC6bVK1uxvnDvvN3hNYOp9cpVLLiLZpibSQSD6fXKU6x072qbMegFU+yVpVjxcT+c08oF0+yVulic6Dub08qtYaq90hc7PXDcrdzQ0cn2uik2WAK1u6hme8mN9cq9bor9MLM0h17M91ILpt0rbbFi8QJrnVqwj14n0V5vxaYkxeIdsZzrpRbs2qs3WcmKeXc2zvVSC7aHXumKBXd2mOmlFqxz6zTBnur16B+UpNjoNn/eaJ3gVjvYEw1+tVeLnjRz1LYbjVutsSc6+tWO9kTuQno1INit7deklQ5utWBP9OpXG751sPVDx8Gealg/dHzrW+Ievjan2uyIQ4f0oe9uYyplLzvtbazfR7HYK82xB9sX9WLpepnf/qn0/3GQLpbyB7F6h1OHerFrr5+WQPP47k05uqIyEbrFEvaKe3PNwxPlYCJUiyXtFZ9f848+rdOZCs1iaXvF/fqmtwVlIRZMsljqXvESCw+O0jKLmGSxhL2i8aGbonfb//H7fjGR34d+HdP3ik9hDwvjv+Im1kexRqJY2l5RWD7ooXGaWyJKxRZ75f+7UaH3BVunWIJei3/o68rZ9ws0YjfEi0qk2LXXb0strlBf7mT4c07hRz80imXqFQ86JivtRt+ec+lN9LcqhRerVOl6Lb/24TDVvVlfTuE88kt8gGdVAo9L5uq1/GIVuS+nd4udbENT3l7Lry7Smw9vTY0TWMOOpS3Kc5GNMnv0M68r7G1TL3X9YrlVp33m+sbqrnB/aQK5xNU+jJdqxanzuqMhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAn/bggAQAAABA0P/X7QhUAADgIJJyHRS4a1yAAAAAAElFTkSuQmCC", fn = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALAAAACUBAMAAADBpL5NAAAAMFBMVEU1Njrx8/Tl5+na292HiYtkZWmfoKKTlZd8fYBNTlHCxMW3uLmrrK5wcXVYWV1BQkZS3k1PAAAAjElEQVRo3u3VMa4BUBBA0Sl+8kt5RIRoLEGhF4Vep9UprUTETqzFhhiJDci8QpyzgNveAAAAAHgbbI+X6GHT2iQ6+G9Pp6i3y/A46t0yPIt6iwwPo157iXrL7I6i3iHD86h3zfA06v1leB0d3FtbRRf7c8C38zzP8zzP8zx+hed5nud5nucBAAAAfOwBSdMdvKmNQoYAAAAASUVORK5CYII=", xn = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALAAAACUBAMAAADBpL5NAAAAMFBMVEX///9gY2fX2Nm5u710d3pqbXHr6+zDxcawsbOlp6n19fXh4uPNzs+cnaCRlJaIio3fYqQbAAAAjUlEQVRo3u3Vsa0BUBSA4ZO85kV3BdGIqLQahZINbKAxhcYKKgtZxCYciQXk3EJ83wB/+wcAAADA22BzPUQP69am0cF/ezpHvUWGh1HvnuF51NtneBz12kvU22Z3FPUuGZ5FvWOGJ1HvL8Or6ODW2i66WJ4Cvp3neZ7neZ7n8Ss8z/M8z/M8DwAAAOBjD78dHWIa7LA2AAAAAElFTkSuQmCC", bn = "data:image/png;base64,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", yn = "data:image/png;base64,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", vn = "data:image/png;base64,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", kn = "data:image/png;base64,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", wn = "data:image/png;base64,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", Cn = "data:image/png;base64,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", Bn = [
1919
+ {
1920
+ name: "chrome",
1921
+ mode: {
1922
+ light: {
1923
+ top: {
1924
+ background: "#dfe1e5",
1925
+ left: yn
1926
+ },
1927
+ bottom: {
1928
+ background: "#fff",
1929
+ inputStyle: {
1930
+ background: "#f1f3f4",
1931
+ borderRadius: "10em"
1932
+ },
1933
+ left: hn,
1934
+ right: xn
1935
+ }
1936
+ },
1937
+ dark: {
1938
+ top: {
1939
+ background: "#202124",
1940
+ left: bn
1941
+ },
1942
+ bottom: {
1943
+ background: "#35363a",
1944
+ inputStyle: {
1945
+ background: "#202124",
1946
+ borderRadius: "10em"
1947
+ },
1948
+ left: pn,
1949
+ right: fn
1950
+ }
1951
+ }
1952
+ }
1953
+ },
1954
+ {
1955
+ name: "safari",
1956
+ mode: {
1957
+ light: {
1958
+ top: {
1959
+ background: "#fff",
1960
+ inputStyle: {
1961
+ background: "#0000000d",
1962
+ borderRadius: "4px"
1963
+ },
1964
+ left: kn,
1965
+ right: Cn
1966
+ }
1967
+ },
1968
+ dark: {
1969
+ top: {
1970
+ background: "#191c1f",
1971
+ inputStyle: {
1972
+ background: "#0c0f12",
1973
+ borderRadius: "4px"
1974
+ },
1975
+ left: vn,
1976
+ right: wn
1977
+ }
1978
+ }
1979
+ }
1980
+ }
1981
+ ], zt = {
1982
+ width: "1px",
1983
+ style: "solid",
1984
+ color: "divider"
1985
+ };
1986
+ function ae(t) {
1987
+ return typeof t == "string" && t.startsWith("custom:");
1988
+ }
1989
+ function En(t) {
1990
+ if (!ae(t)) return zt;
1991
+ try {
1992
+ const e = t?.substring(7) || "", [o = "1px", n = "solid", ...r] = e.split(" ");
1993
+ return {
1994
+ width: o,
1995
+ style: n,
1996
+ color: r.join(" ") || "divider"
1997
+ };
1998
+ } catch {
1999
+ return zt;
2000
+ }
2001
+ }
2002
+ function In(t) {
2003
+ if (!t || t === "none")
2004
+ return { border: "none" };
2005
+ if (ae(t)) {
2006
+ const { width: e, style: o, color: n } = En(t);
2007
+ return {
2008
+ border: "none",
2009
+ // 避免和下面的详细属性冲突
2010
+ borderWidth: e,
2011
+ borderStyle: o,
2012
+ borderColor: n
2013
+ };
2014
+ }
2015
+ return {};
2016
+ }
2017
+ function se(t) {
2018
+ return typeof t == "string" && t.startsWith("custom:");
2019
+ }
2020
+ function Sn(t) {
2021
+ if (!se(t)) return "0";
2022
+ try {
2023
+ return t?.substring(7) || "0";
2024
+ } catch {
2025
+ return "0";
2026
+ }
2027
+ }
2028
+ const pt = (t) => typeof t == "string" && t.startsWith("custom:"), Mt = (t) => pt(t) ? t.replace("custom:", "") : "";
2029
+ function Dn(t) {
2030
+ return !t || t === "none" ? { borderRadius: 0 } : se(t) ? { borderRadius: Sn(t) } : {};
2031
+ }
2032
+ function Qn({ ref: t = void 0, type: e, sx: o, children: n, ...r }) {
2033
+ const a = Ft(), A = a.palette.mode === "dark", l = Ht(a.breakpoints.down("sm")) ? 20 : 32, c = {
2034
+ overflow: "hidden !important",
2035
+ display: "grid !important"
2036
+ }, d = "layout-block-frame", u = [c, ...Array.isArray(o) ? o : [o]];
2037
+ return H(() => {
2038
+ const g = so(e || ""), b = lo(e || "");
2039
+ if (g)
2040
+ return u.push({
2041
+ img: {
2042
+ objectFit: "contain !important",
2043
+ bgcolor: (f) => f.palette.background.default,
2044
+ borderRadius: "0 !important",
2045
+ position: "relative"
2046
+ }
2047
+ }), /* @__PURE__ */ i(
2048
+ Zt,
2049
+ {
2050
+ className: d,
2051
+ type: e,
2052
+ sx: [
2053
+ {
2054
+ // @ts-ignore
2055
+ ".screenshot--container": {
2056
+ ...c,
2057
+ ...et(o, ["p", "px", "py", "pl", "pr", "pt", "pb", "ml", "mr", "mt", "mb", "alignItems"])
2058
+ }
2059
+ }
2060
+ ],
2061
+ children: n
2062
+ }
2063
+ );
2064
+ if (b) {
2065
+ const f = e?.includes("chrome") ? "chrome" : "safari", x = Bn.find((O) => O.name === f);
2066
+ if (!x)
2067
+ return /* @__PURE__ */ i(m, { className: d, ref: t, sx: u, ...r, children: n });
2068
+ const w = x.mode[A ? "dark" : "light"], k = w.top, B = w.bottom, D = f === "chrome";
2069
+ return /* @__PURE__ */ y(
2070
+ m,
2071
+ {
2072
+ className: d,
2073
+ sx: {
2074
+ width: "100%",
2075
+ height: "100%",
2076
+ border: 1,
2077
+ borderColor: "divider",
2078
+ overflow: "hidden"
2079
+ },
2080
+ children: [
2081
+ /* @__PURE__ */ y(
2082
+ m,
2083
+ {
2084
+ sx: {
2085
+ display: "flex",
2086
+ flexDirection: "column"
2087
+ },
2088
+ children: [
2089
+ k && /* @__PURE__ */ y(
2090
+ m,
2091
+ {
2092
+ sx: {
2093
+ backgroundColor: k.background,
2094
+ height: l,
2095
+ display: "flex",
2096
+ alignItems: "center",
2097
+ justifyContent: "space-between"
2098
+ },
2099
+ children: [
2100
+ k.left && /* @__PURE__ */ i(
2101
+ m,
2102
+ {
2103
+ sx: { height: "100%", display: "flex", alignItems: "center" },
2104
+ component: "img",
2105
+ src: k.left,
2106
+ alt: `${f}-browser-left`
2107
+ }
2108
+ ),
2109
+ k.inputStyle && /* @__PURE__ */ i(
2110
+ m,
2111
+ {
2112
+ sx: {
2113
+ my: "auto",
2114
+ ml: 1,
2115
+ height: "60%",
2116
+ width: "100%",
2117
+ ...k.inputStyle
2118
+ }
2119
+ }
2120
+ ),
2121
+ k.right && /* @__PURE__ */ i(
2122
+ m,
2123
+ {
2124
+ component: "img",
2125
+ src: k.right,
2126
+ alt: `${f}-browser-right`,
2127
+ sx: { height: "100%", display: "flex", alignItems: "center" }
2128
+ }
2129
+ )
2130
+ ]
2131
+ }
2132
+ ),
2133
+ B && /* @__PURE__ */ y(
2134
+ m,
2135
+ {
2136
+ sx: {
2137
+ height: l,
2138
+ display: "flex",
2139
+ alignItems: "center",
2140
+ justifyContent: "space-between",
2141
+ background: B.background
2142
+ },
2143
+ children: [
2144
+ B.left && /* @__PURE__ */ i(
2145
+ m,
2146
+ {
2147
+ component: "img",
2148
+ src: B.left,
2149
+ alt: `${f}-browser-left`,
2150
+ sx: { height: "100%", display: "flex", alignItems: "center" }
2151
+ }
2152
+ ),
2153
+ B.inputStyle && /* @__PURE__ */ i(
2154
+ m,
2155
+ {
2156
+ sx: {
2157
+ my: "auto",
2158
+ mx: 1,
2159
+ height: "60%",
2160
+ width: "100%",
2161
+ ...B.inputStyle
2162
+ }
2163
+ }
2164
+ ),
2165
+ B.right && /* @__PURE__ */ i(
2166
+ m,
2167
+ {
2168
+ component: "img",
2169
+ src: B.right,
2170
+ alt: `${f}-browser-right`,
2171
+ sx: { height: "100%", display: "flex", alignItems: "center" }
2172
+ }
2173
+ )
2174
+ ]
2175
+ }
2176
+ )
2177
+ ]
2178
+ }
2179
+ ),
2180
+ /* @__PURE__ */ i(
2181
+ m,
2182
+ {
2183
+ ref: t,
2184
+ sx: [
2185
+ ...u,
2186
+ {
2187
+ position: "relative",
2188
+ height: `calc(100% - ${D ? l * 2 : l}px)`
2189
+ }
2190
+ ],
2191
+ ...r,
2192
+ children: n
2193
+ }
2194
+ )
2195
+ ]
2196
+ }
2197
+ );
2198
+ }
2199
+ return /* @__PURE__ */ i(m, { className: d, ref: t, sx: u, ...r, children: n });
2200
+ }, [e, n, u, A, l])();
2201
+ }
2202
+ const Rn = "none", Nn = "none", Ln = "none", jn = "100%", Pn = "center", zn = "start", Mn = "none", Wn = "none", Un = "full", Fn = 12, Hn = ({
2203
+ gridSettings: t,
2204
+ section: e,
2205
+ index: o,
2206
+ columns: n,
2207
+ simulateMode: r = "desktop",
2208
+ isBackground: a
2209
+ }) => {
2210
+ const A = t?.[r] ?? {}, s = A[e.id], l = Vn(A);
2211
+ return {
2212
+ i: e.id,
2213
+ static: e?.locked || a,
2214
+ ...a ? {
2215
+ x: 0,
2216
+ y: 0,
2217
+ w: n,
2218
+ h: 1,
2219
+ isResizable: !1
2220
+ } : {
2221
+ x: s?.x ?? 0,
2222
+ y: s?.y ?? o,
2223
+ w: s?.w ?? n,
2224
+ h: s?.h ?? 1,
2225
+ isResizable: !0
2226
+ },
2227
+ minH: 1,
2228
+ maxH: 1,
2229
+ maxY: l
2230
+ };
2231
+ }, Vn = (t) => Object.values(t).reduce((e, o) => Math.max(e, o.y || 0), 0) || 0, Gn = (t) => {
2232
+ const { dev: e, id: o, section: n, onBlockRender: r } = t, a = e?.mode, A = Ht((h) => h.breakpoints.down("sm")), { t: s } = Ye(), { getPageMeta: l } = te(), c = l(), { sections: d, sectionIds: u, config: p } = n, {
2233
+ columns: g = Fn,
2234
+ gridSettings: b,
2235
+ gap: f,
2236
+ // @deprecated 使用 paddingX 和 paddingY 代替 padding
2237
+ padding: x,
2238
+ paddingX: w,
2239
+ // 获取 paddingX 配置
2240
+ paddingY: k,
2241
+ // 获取 paddingY 配置
2242
+ height: B,
2243
+ maxWidth: D,
2244
+ // 获取 maxWidth 配置
2245
+ background: O,
2246
+ backgroundVideoPoster: kt,
2247
+ alignContent: wt,
2248
+ justifyContent: Ct,
2249
+ border: st,
2250
+ borderRadius: Bt,
2251
+ backgroundFullWidth: Et
2252
+ } = p || {}, lt = E(() => {
2253
+ const C = R({
2254
+ type: "layoutBlockGap",
2255
+ value: f ?? Rn,
2256
+ format: "sx"
2257
+ }), W = {
2258
+ ...C,
2259
+ gap: Object.keys(C.gap || {}).reduce((U, Q) => (U[Q] = -C.gap[Q], U), {})
2260
+ };
2261
+ return {
2262
+ item: C,
2263
+ container: W
2264
+ };
2265
+ }, [f]), le = E(() => {
2266
+ const h = w ?? x ?? Nn;
2267
+ return pt(h) ? { px: Mt(h) } : R({
2268
+ type: "layoutBlockPaddingX",
2269
+ value: h,
2270
+ format: "sx"
2271
+ });
2272
+ }, [w, x]), Ae = E(() => {
2273
+ const h = k ?? x ?? Ln;
2274
+ return pt(h) ? { py: Mt(h) } : R({
2275
+ type: "layoutBlockPaddingY",
2276
+ value: h,
2277
+ format: "sx"
2278
+ });
2279
+ }, [k, x]), At = E(() => R({
2280
+ type: "layoutBlockAlignContent",
2281
+ value: wt ?? Pn,
2282
+ format: "sx"
2283
+ }), [wt]), ct = E(() => R({
2284
+ type: "layoutBlockJustifyContent",
2285
+ value: Ct ?? zn,
2286
+ format: "sx"
2287
+ }), [Ct]), ce = E(() => {
2288
+ const h = st ?? Mn, C = In(h);
2289
+ return Object.keys(C).length > 0 ? C : R({
2290
+ type: "layoutBlockBorder",
2291
+ value: h,
2292
+ format: "sx"
2293
+ });
2294
+ }, [st]), de = E(() => {
2295
+ const h = Bt ?? Wn, C = Dn(h);
2296
+ return Object.keys(C).length > 0 ? C : R({
2297
+ type: "layoutBlockBorderRadius",
2298
+ value: h,
2299
+ format: "sx"
2300
+ });
2301
+ }, [Bt]), ue = E(() => R({
2302
+ type: "layoutBlockHeight",
2303
+ value: B ?? jn,
2304
+ format: "sx"
2305
+ }), [B]), ge = E(() => R({
2306
+ type: "maxWidth",
2307
+ value: D ?? Un,
2308
+ format: "sx"
2309
+ }), [D]), It = H(
2310
+ (h, C = !1, W = 0, U) => {
2311
+ if (!r || !h || !h.component || h.visibility === "hidden")
2312
+ return null;
2313
+ const Q = Hn({
2314
+ gridSettings: b,
2315
+ section: h,
2316
+ index: W,
2317
+ columns: g,
2318
+ simulateMode: A ? "mobile" : "desktop",
2319
+ isBackground: C
2320
+ }), T = Q?.x ?? 0, F = Q?.y ?? 0, me = Q?.w ?? g, pe = Q?.h ?? 1, he = Q?.maxY ?? 0, fe = !!n?.config?.backgroundSectionId;
2321
+ return /* @__PURE__ */ i(
2322
+ m,
2323
+ {
2324
+ className: C ? "layout-block-content-background" : "layout-block-content",
2325
+ sx: {
2326
+ // 背景元素和普通元素都使用 grid 布局
2327
+ ...C ? {
2328
+ // 背景元素覆盖整个网格区域
2329
+ gridColumn: "1 / -1",
2330
+ gridRow: `1 / ${he + 1}`,
2331
+ zIndex: 0,
2332
+ width: "100%",
2333
+ height: "100%",
2334
+ overflow: "hidden",
2335
+ "& > .BlockBase-root": {
2336
+ width: "100%",
2337
+ height: "100%"
2338
+ }
2339
+ } : {
2340
+ position: "relative",
2341
+ // 使用 grid 定位普通元素
2342
+ gridColumn: `${T + 1} / span ${me}`,
2343
+ // hasBackground 的话,不再 + 1,因为 background 会占用第一行
2344
+ gridRow: `${F + (fe ? 0 : 1)} / span ${pe}`,
2345
+ zIndex: 1,
2346
+ // Ensure content is above background
2347
+ minWidth: 0,
2348
+ // 防止内容撑开网格项
2349
+ minHeight: 0,
2350
+ // 防止内容撑开网格项
2351
+ overflow: "hidden",
2352
+ // 防止子内容溢出网格项
2353
+ // 只给非第一行添加上边距
2354
+ ...F > 0 ? { mt: lt?.item?.gap } : {},
2355
+ // 只给非第一列添加左边距
2356
+ ...T > 0 ? { ml: lt?.item?.gap } : {},
2357
+ "& > .BlockBase-root": {
2358
+ height: "100%",
2359
+ width: "100%",
2360
+ boxSizing: "border-box",
2361
+ position: "relative",
2362
+ ...At,
2363
+ ...ct
2364
+ }
2365
+ }
2366
+ },
2367
+ children: U || r({
2368
+ id: h.id,
2369
+ type: h.component,
2370
+ config: {},
2371
+ section: {
2372
+ ...h
2373
+ },
2374
+ mode: a
2375
+ })
2376
+ },
2377
+ h.id
2378
+ );
2379
+ },
2380
+ [
2381
+ o,
2382
+ a,
2383
+ r,
2384
+ b,
2385
+ g,
2386
+ A,
2387
+ lt,
2388
+ At,
2389
+ ct,
2390
+ Et,
2391
+ c
2392
+ ]
2393
+ ), { backgroundElements: St, contentElements: Dt } = E(() => {
2394
+ const h = [], C = [];
2395
+ return u?.forEach((W, U) => {
2396
+ const Q = d?.[W];
2397
+ if (!Q) return;
2398
+ const T = n?.config?.backgroundSectionId === W, F = It(Q, T, U);
2399
+ F && (T ? h.push(F) : C.push(F));
2400
+ }), { backgroundElements: h || [], contentElements: C || [] };
2401
+ }, [It, d, u, O, kt]);
2402
+ return a === "draft" && !St?.length && !Dt?.length ? /* @__PURE__ */ y(
2403
+ m,
2404
+ {
2405
+ sx: {
2406
+ gridColumn: "1 / -1",
2407
+ gridRow: "1",
2408
+ display: "flex",
2409
+ flexDirection: "column",
2410
+ alignItems: "center",
2411
+ justifyContent: "center",
2412
+ gap: 2,
2413
+ border: (h) => `2px dashed ${h.palette.divider}`,
2414
+ borderRadius: 2,
2415
+ padding: 4,
2416
+ color: "text.secondary",
2417
+ textAlign: "center",
2418
+ minHeight: "160px",
2419
+ position: "relative"
2420
+ },
2421
+ children: [
2422
+ /* @__PURE__ */ i(
2423
+ m,
2424
+ {
2425
+ sx: {
2426
+ fontSize: "48px",
2427
+ opacity: 0.5
2428
+ },
2429
+ children: "📐"
2430
+ }
2431
+ ),
2432
+ /* @__PURE__ */ i(
2433
+ m,
2434
+ {
2435
+ sx: {
2436
+ fontSize: "16px",
2437
+ fontWeight: 500,
2438
+ marginBottom: 1
2439
+ },
2440
+ children: "Section Layout"
2441
+ }
2442
+ ),
2443
+ /* @__PURE__ */ i(
2444
+ m,
2445
+ {
2446
+ sx: {
2447
+ opacity: 0.7,
2448
+ whiteSpace: "pre-line"
2449
+ },
2450
+ children: s("maker.layoutBlock.draftPlaceholder")
2451
+ }
2452
+ ),
2453
+ /* @__PURE__ */ i(
2454
+ m,
2455
+ {
2456
+ sx: {
2457
+ position: "absolute",
2458
+ top: 0,
2459
+ left: 0,
2460
+ right: 0,
2461
+ bottom: 0,
2462
+ pointerEvents: "none",
2463
+ opacity: 0.1,
2464
+ background: (h) => `
2465
+ repeating-linear-gradient(
2466
+ 90deg,
2467
+ transparent,
2468
+ transparent calc(100% / ${g} - 1px),
2469
+ ${h.palette.grey[400]} calc(100% / ${g} - 1px),
2470
+ ${h.palette.grey[400]} calc(100% / ${g})
2471
+ )
2472
+ `
2473
+ }
2474
+ }
2475
+ )
2476
+ ]
2477
+ }
2478
+ ) : /* @__PURE__ */ y(
2479
+ Qn,
2480
+ {
2481
+ type: st,
2482
+ sx: {
2483
+ position: "relative",
2484
+ display: "grid",
2485
+ gridTemplateColumns: `repeat(${g}, minmax(0, 1fr))`,
2486
+ alignItems: "stretch",
2487
+ width: "100%",
2488
+ height: "100%",
2489
+ boxSizing: "border-box",
2490
+ overflow: "hidden",
2491
+ // Prevent content overflow
2492
+ ...At,
2493
+ ...ct,
2494
+ ...le,
2495
+ // 应用水平内边距
2496
+ ...Ae
2497
+ // 应用垂直内边距
2498
+ },
2499
+ children: [
2500
+ O && /* @__PURE__ */ i(
2501
+ m,
2502
+ {
2503
+ className: "layout-block-background",
2504
+ sx: {
2505
+ position: "absolute",
2506
+ zIndex: -1,
2507
+ top: 0,
2508
+ left: 0,
2509
+ right: 0,
2510
+ bottom: 0,
2511
+ width: "100%",
2512
+ height: "100%",
2513
+ overflow: "hidden"
2514
+ },
2515
+ children: /* @__PURE__ */ i(
2516
+ vt,
2517
+ {
2518
+ background: O,
2519
+ backgroundVideoPoster: kt,
2520
+ sx: {
2521
+ width: "inherit",
2522
+ height: "inherit"
2523
+ }
2524
+ }
2525
+ )
2526
+ }
2527
+ ),
2528
+ /* @__PURE__ */ y(X, { children: [
2529
+ n?.id && /* @__PURE__ */ i(
2530
+ ve,
2531
+ {
2532
+ styles: (h) => h.unstable_sx({
2533
+ // 因为有 device frame 的存在,需要这样写
2534
+ [`#BlockBase-${n.id}`]: {
2535
+ ...ue,
2536
+ ...ge,
2537
+ // 应用 maxWidth 样式
2538
+ ...Et && {
2539
+ position: "static !important",
2540
+ "& .layout-block-frame": {
2541
+ position: "inherit !important"
2542
+ }
2543
+ },
2544
+ "& > div": {
2545
+ ...ce,
2546
+ ...de,
2547
+ overflow: "hidden"
2548
+ }
2549
+ }
2550
+ })
2551
+ }
2552
+ ),
2553
+ St,
2554
+ Dt
2555
+ ] })
2556
+ ]
2557
+ }
2558
+ );
2559
+ }, On = ["title", "description", "actions", "badge", "tag", "prepend", "append", "logo"];
2560
+ function Tn({
2561
+ image: t,
2562
+ imageBorder: e,
2563
+ imageShadow: o,
2564
+ className: n,
2565
+ reverse: r = !1,
2566
+ fullSizeImage: a,
2567
+ ...A
2568
+ }) {
2569
+ const [s, l] = j(A, rt), c = Object.keys(s).length > 0 && Object.values(et(s, On)).filter(Boolean).length > 0 && /* @__PURE__ */ i(it, { ...s }), d = Ot(t) ? t : /* @__PURE__ */ i(m, { component: "img", src: t, alt: "", className: "block" }), u = ["phone", "macbook"].includes(e), p = t && /* @__PURE__ */ i(
2570
+ m,
2571
+ {
2572
+ className: v(
2573
+ "section__image",
2574
+ "m-auto, leading-[1] text-center",
2575
+ o && "shadow-xl",
2576
+ s?.center ? "flex justify-center items-center" : ""
2577
+ ),
2578
+ sx: {
2579
+ border: e === !0 ? "1px solid #c0c0c0" : void 0,
2580
+ borderRadius: 2,
2581
+ overflow: "hidden",
2582
+ // FIXME: Screenshot 组件无法设置最外层 div 的样式,只能通过父元素设置
2583
+ "> div": u ? { width: "100%", video: { borderRadius: "0 !important" } } : void 0
2584
+ },
2585
+ children: u ? (
2586
+ // @ts-ignore
2587
+ /* @__PURE__ */ i(Zt, { type: e, sx: { width: "100%" }, children: d })
2588
+ ) : d
2589
+ }
2590
+ );
2591
+ return /* @__PURE__ */ i(
2592
+ at,
2593
+ {
2594
+ className: v(
2595
+ "section--block",
2596
+ n,
2597
+ a && !r && ut`
2598
+ .section-bg {
2599
+ height: 80%;
2600
+ }
2601
+ `
2602
+ ),
2603
+ ...l,
2604
+ boxProps: a ? { sx: { padding: 0, overflow: "hidden" } } : void 0,
2605
+ children: /* @__PURE__ */ i(
2606
+ re,
2607
+ {
2608
+ col: t ? 2 : 1,
2609
+ className: a ? ut`
2610
+ display: flex;
2611
+ flex-direction: column;
2612
+
2613
+ > .base-info,
2614
+ > .section__image {
2615
+ width: 100%;
2616
+
2617
+ > img,
2618
+ > video {
2619
+ width: 100%;
2620
+ }
2621
+ }
2622
+ ` : void 0,
2623
+ children: r ? /* @__PURE__ */ y(X, { children: [
2624
+ p,
2625
+ c
2626
+ ] }) : /* @__PURE__ */ y(X, { children: [
2627
+ c,
2628
+ p
2629
+ ] })
2630
+ }
2631
+ )
2632
+ }
2633
+ );
2634
+ }
2635
+ const Yn = [
2636
+ /youtu\.be\/([^#&?]{11})/,
2637
+ // youtu.be/<id>
2638
+ /\?v=([^#&?]{11})/,
2639
+ // ?v=<id>
2640
+ /&v=([^#&?]{11})/,
2641
+ // &v=<id>
2642
+ /embed\/([^#&?]{11})/,
2643
+ // embed/<id>
2644
+ /\/v\/([^#&?]{11})/
2645
+ // /v/<id>
2646
+ ];
2647
+ function Jn(t) {
2648
+ if (/youtu\.?be/.test(t))
2649
+ for (const e of Yn) {
2650
+ const o = e.exec(t)?.[1];
2651
+ if (o)
2652
+ return o;
2653
+ }
2654
+ }
2655
+ function Xn(t) {
2656
+ const e = Jn(t);
2657
+ if (e)
2658
+ return `https://youtube.com/embed/${e}`;
2659
+ }
2660
+ function Kn({ src: t }) {
2661
+ return K(() => {
2662
+ import("@lottiefiles/lottie-player");
2663
+ }, []), /* @__PURE__ */ i("lottie-player", { autoplay: !0, loop: !0, mode: "normal", src: t });
2664
+ }
2665
+ function Zn(t) {
2666
+ return /* @__PURE__ */ i(
2667
+ m,
2668
+ {
2669
+ sx: {
2670
+ maxHeight: 400,
2671
+ overflow: "hidden auto"
2672
+ },
2673
+ children: /* @__PURE__ */ i(Je, { ...t })
2674
+ }
2675
+ );
2676
+ }
2677
+ function qn({ url: t }) {
2678
+ const e = ht(null), o = 495, [n, r] = ot(
2679
+ e.current ? e.current.offsetWidth * 0.5625 : o
2680
+ ), a = H(() => {
2681
+ const A = window.innerWidth > 990 ? 1 : window.innerWidth > 522 ? 1.2 : window.innerWidth > 400 ? 1.45 : 1.85, s = e.current ? e.current.offsetWidth * 0.5625 : o;
2682
+ return r(Math.floor(s * A));
2683
+ }, []);
2684
+ return K(() => {
2685
+ window.addEventListener("resize", a);
2686
+ const A = window.innerWidth > 990 ? 1 : window.innerWidth > 522 ? 1.2 : window.innerWidth > 400 ? 1.45 : 1.85, s = e.current ? e.current.offsetWidth * 0.5625 : o;
2687
+ return r(Math.floor(s * A)), function() {
2688
+ window.removeEventListener("resize", a);
2689
+ };
2690
+ }, [n, a]), /* @__PURE__ */ i(
2691
+ m,
2692
+ {
2693
+ component: "iframe",
2694
+ ref: e,
2695
+ title: "youtube",
2696
+ src: t,
2697
+ frameBorder: "0",
2698
+ allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",
2699
+ allowFullScreen: !0,
2700
+ sx: {
2701
+ width: "100%",
2702
+ height: `${n}px`,
2703
+ display: "block"
2704
+ }
2705
+ }
2706
+ );
2707
+ }
2708
+ const Ti = {
2709
+ image: "https://www.arcblock.io/static/ead0cabde7f2b7ff34db8f3e8ceca271/afc4b/builder.png",
2710
+ badge: "Develop · Deploy · Run",
2711
+ title: "The Future is Here: Blockchain and Decentralized Application Development",
2712
+ description: "ArcBlock, your exclusive new decentralized development platform, makes developing decentralized applications, blockchain, and distributed ledger technology straightforward.",
2713
+ reverse: !1,
2714
+ dark: !1,
2715
+ background: "",
2716
+ actions: void 0,
2717
+ hasImage: !0,
2718
+ center: !1
2719
+ }, _n = I(Tn)`
2720
+ .section__description {
2721
+ }
2722
+ `;
2723
+ function $n({
2724
+ hasImage: t,
2725
+ fullSizeImage: e,
2726
+ boxed: o,
2727
+ videoPoster: n,
2728
+ imageMeta: r,
2729
+ imageOptimization: a,
2730
+ imageSize: A,
2731
+ section: s,
2732
+ ...l
2733
+ }) {
2734
+ const [{ editing: c }, d] = j({ ...l, boxed: e ? void 0 : o }, nt);
2735
+ let u = ti(d.image, n, e, r, a, A);
2736
+ t || (u = null);
2737
+ let p = null;
2738
+ return d.actions && (p = d.actions?.map?.((g, b) => /* @__PURE__ */ i(ne, { ...g, editing: c }, b))), /* @__PURE__ */ i(
2739
+ _n,
2740
+ {
2741
+ ...d,
2742
+ style: c ? { pointerEvents: "none" } : {},
2743
+ image: u,
2744
+ fullSizeImage: t && e,
2745
+ actions: p
2746
+ }
2747
+ );
2748
+ }
2749
+ function ti(t, e, o, n, r, a) {
2750
+ if (t) {
2751
+ if (t.endsWith(".json"))
2752
+ return /* @__PURE__ */ i(Kn, { src: t });
2753
+ if (t.indexOf("twitter.com") !== -1)
2754
+ return /* @__PURE__ */ i(Zn, { sourceType: "url", url: t });
2755
+ const A = Xn(t);
2756
+ if (A)
2757
+ return /* @__PURE__ */ i(qn, { url: A });
2758
+ const { naturalWidth: s, naturalHeight: l, filename: c } = n || {};
2759
+ if (Y(t))
2760
+ return /* @__PURE__ */ i(
2761
+ "video",
2762
+ {
2763
+ width: s && `${s}px`,
2764
+ height: l && `${l}px`,
2765
+ controls: !0,
2766
+ autoPlay: !0,
2767
+ muted: !0,
2768
+ style: {
2769
+ display: "block",
2770
+ objectFit: a || "contain",
2771
+ borderRadius: "8px",
2772
+ width: "100%",
2773
+ height: "100%"
2774
+ },
2775
+ poster: M(L(e), o ? 1200 : 540, r),
2776
+ children: /* @__PURE__ */ i("source", { src: L(t), type: Fo(t) })
2777
+ },
2778
+ t
2779
+ );
2780
+ const d = r === "quality" ? 1 : 0.6;
2781
+ return /* @__PURE__ */ i(
2782
+ Xt,
2783
+ {
2784
+ src: L(t),
2785
+ sizesAttr: {
2786
+ sm: 600 * d,
2787
+ md: 450 * d,
2788
+ lg: 540 * d,
2789
+ ...o && {
2790
+ md: 900 * d,
2791
+ lg: 1200 * d
2792
+ }
2793
+ },
2794
+ width: s && `${s}px`,
2795
+ height: l && `${l}px`,
2796
+ alt: c ?? t,
2797
+ style: { objectFit: a || "contain", display: "block", width: "100%", height: "100%" },
2798
+ loading: "lazy"
2799
+ }
2800
+ );
2801
+ }
2802
+ return null;
2803
+ }
2804
+ const Yi = ["production", "draft"];
2805
+ function Ji({ mode: t, version: e } = {}) {
2806
+ const o = e && typeof e == "number" ? { mode: t, version: e } : { mode: t };
2807
+ return ft.get(`/api/${xt()}/pages`, { params: o }).then((n) => n.data);
2808
+ }
2809
+ function Xi({ mode: t, routes: e }) {
2810
+ return ft.post(`/api/${xt()}/pages/publish`, { mode: t, routes: e }).then((o) => o.data);
2811
+ }
2812
+ function ei({
2813
+ locale: t,
2814
+ sort: e,
2815
+ page: o,
2816
+ limit: n,
2817
+ mode: r
2818
+ } = {}) {
2819
+ return ft.get(`/api/${xt()}/pages/toc`, { params: { locale: t, sort: e, page: o, limit: n, mode: r } }).then((a) => a.data);
2820
+ }
2821
+ const Ki = {
2822
+ style: "list",
2823
+ sort: "-updatedAt"
2824
+ }, Wt = 20;
2825
+ function oi({ style: t, sort: e, section: o, ...n }) {
2826
+ const [{ editing: r, locale: a }, A] = j(n, nt), [s, l] = j(A, rt), [c, d] = ot(), u = ht(!1), p = Xe(), g = Ne(), b = H(async () => {
2827
+ if (!u.current) {
2828
+ u.current = !0, p();
2829
+ try {
2830
+ const f = c ? Math.floor(c.list.length / Wt) + 1 : 1, { list: x, total: w } = await ei({ locale: a, sort: e, page: f, limit: Wt });
2831
+ d((k) => ({
2832
+ list: (k?.list ?? []).concat(x),
2833
+ total: w
2834
+ }));
2835
+ } finally {
2836
+ u.current = !1, p();
2837
+ }
2838
+ }
2839
+ }, [c, a, e, p]);
2840
+ return Ke(() => {
2841
+ b();
2842
+ }), /* @__PURE__ */ y(at, { ...l, sx: r ? { pointerEvents: "none" } : {}, children: [
2843
+ Object.keys(s).length > 0 && /* @__PURE__ */ i(it, { ...s }),
2844
+ c ? /* @__PURE__ */ y(X, { children: [
2845
+ /* @__PURE__ */ i(
2846
+ Qt,
2847
+ {
2848
+ container: !0,
2849
+ spacing: 2,
2850
+ sx: {
2851
+ justifyContent: "center"
2852
+ },
2853
+ children: c?.list.map((f) => /* @__PURE__ */ i(
2854
+ Qt,
2855
+ {
2856
+ size: {
2857
+ xs: 12,
2858
+ sm: t === "card" ? 6 : 12,
2859
+ md: t === "card" ? 3 : 12
2860
+ },
2861
+ children: /* @__PURE__ */ y(
2862
+ ni,
2863
+ {
2864
+ elevation: 0,
2865
+ className: v(t === "card" && "style-card"),
2866
+ onClick: r ? void 0 : () => g(f.slug),
2867
+ children: [
2868
+ !!f.image && /* @__PURE__ */ i(
2869
+ Ce,
2870
+ {
2871
+ component: "img",
2872
+ alt: "",
2873
+ image: M(L(f.image), 540),
2874
+ loading: "lazy"
2875
+ }
2876
+ ),
2877
+ /* @__PURE__ */ y(Be, { children: [
2878
+ /* @__PURE__ */ i(z, { variant: "h6", component: "div", className: Ut, children: f.title || f.id }),
2879
+ /* @__PURE__ */ i(z, { variant: "body2", className: Ut, children: f.description })
2880
+ ] })
2881
+ ]
2882
+ }
2883
+ )
2884
+ },
2885
+ f.id
2886
+ ))
2887
+ }
2888
+ ),
2889
+ /* @__PURE__ */ i(
2890
+ m,
2891
+ {
2892
+ sx: {
2893
+ textAlign: "center",
2894
+ mt: 2
2895
+ },
2896
+ children: c.total > c.list.length ? /* @__PURE__ */ i(J, { variant: "outlined", color: "secondary", onClick: b, loading: u.current, children: "More" }) : /* @__PURE__ */ i(J, { variant: "outlined", color: "secondary", disabled: !0, children: "No More" })
2897
+ }
2898
+ )
2899
+ ] }) : /* @__PURE__ */ i(
2900
+ m,
2901
+ {
2902
+ sx: {
2903
+ p: 2,
2904
+ textAlign: "center"
2905
+ },
2906
+ children: /* @__PURE__ */ i(we, { size: 24 })
2907
+ }
2908
+ )
2909
+ ] });
2910
+ }
2911
+ const Ut = ut`
2912
+ display: -webkit-box;
2913
+ -webkit-box-orient: vertical;
2914
+ -webkit-line-clamp: 2;
2915
+ overflow: hidden;
2916
+ text-overflow: ellipsis;
2917
+ `, ni = I(ke)`
2918
+ border: 1px solid #e0e0e0;
2919
+ background-color: transparent;
2920
+ cursor: pointer;
2921
+ display: flex;
2922
+ color: inherit;
2923
+
2924
+ > .MuiCardMedia-root {
2925
+ width: 30vw;
2926
+ max-height: 50vw;
2927
+ }
2928
+
2929
+ &.style-card {
2930
+ display: block;
2931
+
2932
+ > .MuiCardMedia-root {
2933
+ width: 100%;
2934
+ max-height: 50vw;
2935
+ }
2936
+ }
2937
+ `, ii = {
2938
+ iframe: gn,
2939
+ section: $n,
2940
+ "section-card-list": An,
2941
+ toc: oi,
2942
+ "custom-component": cn,
2943
+ "layout-block": Gn
2944
+ };
2945
+ function ri({
2946
+ id: t,
2947
+ type: e,
2948
+ mode: o,
2949
+ config: n,
2950
+ section: r,
2951
+ ignorePageMetaStyle: a,
2952
+ page: A,
2953
+ ...s
2954
+ }) {
2955
+ const l = ii[e], { getPageMetaStyle: c } = te(), d = E(() => {
2956
+ const { height: g, ...b } = n;
2957
+ return e === "layout-block" && (b.onBlockRender = (f) => {
2958
+ const x = {
2959
+ ...n?.dev,
2960
+ ...f?.config?.dev
2961
+ }, { defaultLocale: w } = x, k = {
2962
+ ...et(n, ["locale", "editing"]),
2963
+ ...f?.config,
2964
+ dev: x
2965
+ }, { locale: B } = k;
2966
+ let D = A?.dataSource?.[f?.id]?.[B];
2967
+ return Ie(D) && (D = A?.dataSource?.[f?.id]?.[w ?? "en"]), /* @__PURE__ */ i(
2968
+ ri,
2969
+ {
2970
+ ...f,
2971
+ config: {
2972
+ ...f?.section?.properties,
2973
+ ...D,
2974
+ ...k
2975
+ },
2976
+ page: A,
2977
+ ignorePageMetaStyle: !0
2978
+ }
2979
+ );
2980
+ }), b;
2981
+ }, [n, e]), u = E(() => {
2982
+ const g = {};
2983
+ return n.height && e !== "custom-component" && (g.height = n.height), g.sx = a ? void 0 : c("sx"), g.id = `BlockBase-${t}`, g;
2984
+ }, [n.height, a, e, c]), p = l && /* @__PURE__ */ i(l, { mode: o, ...d, id: t, section: r });
2985
+ return p ? /* @__PURE__ */ i(So, { ...s, ...u, children: p }) : /* @__PURE__ */ i(ai, { type: e });
2986
+ }
2987
+ function ai({ type: t }) {
2988
+ return /* @__PURE__ */ i(
2989
+ m,
2990
+ {
2991
+ sx: {
2992
+ p: 2
2993
+ },
2994
+ children: /* @__PURE__ */ y(Ee, { icon: /* @__PURE__ */ i(xe, {}), color: "error", children: [
2995
+ "Unsupported Block `",
2996
+ t,
2997
+ "`"
2998
+ ] })
2999
+ }
3000
+ );
3001
+ }
3002
+ export {
3003
+ ri as B,
3004
+ Oi as I,
3005
+ Vi as P,
3006
+ Yi as S,
3007
+ Ki as T,
3008
+ Hi as a,
3009
+ Ti as b,
3010
+ Ji as g,
3011
+ Xi as p
3012
+ };