@bbki.ng/components 1.5.9 → 1.5.12
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.d.ts +17 -6
- package/dist/index.js +158 -112
- package/dist/index.mjs +149 -105
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -86,7 +86,7 @@ declare type PageProps = {
|
|
|
86
86
|
declare const Page: (props: PageProps) => JSX.Element;
|
|
87
87
|
|
|
88
88
|
declare type PopConfirmProps = {
|
|
89
|
-
onOk?: EventHandler<React.MouseEvent<HTMLButtonElement
|
|
89
|
+
onOk?: EventHandler<React.MouseEvent<HTMLButtonElement>> | (() => Promise<void>);
|
|
90
90
|
onCancel?: EventHandler<React.MouseEvent<HTMLButtonElement>>;
|
|
91
91
|
className?: string;
|
|
92
92
|
content?: any;
|
|
@@ -116,14 +116,25 @@ declare const Table: {
|
|
|
116
116
|
declare enum SkeletonColor {
|
|
117
117
|
BLUE = "blue",
|
|
118
118
|
RED = "red",
|
|
119
|
-
GRAY = "gray"
|
|
119
|
+
GRAY = "gray",
|
|
120
|
+
BLACK = "black"
|
|
120
121
|
}
|
|
121
|
-
|
|
122
|
+
interface SkeletonProps {
|
|
122
123
|
width?: number;
|
|
123
124
|
height?: number;
|
|
124
125
|
bgColor?: SkeletonColor;
|
|
125
|
-
}
|
|
126
|
-
|
|
126
|
+
}
|
|
127
|
+
interface ArticleSkeletonProps extends SkeletonProps {
|
|
128
|
+
titleLength: number;
|
|
129
|
+
descriptionLength?: number;
|
|
130
|
+
children?: any;
|
|
131
|
+
}
|
|
132
|
+
interface LinkListSkeletonProps extends ArticleSkeletonProps {
|
|
133
|
+
linksLength: number[];
|
|
134
|
+
}
|
|
135
|
+
declare const Skeleton: (props: SkeletonProps) => JSX.Element;
|
|
136
|
+
declare const ArticleSkeleton: (props: ArticleSkeletonProps) => JSX.Element;
|
|
137
|
+
declare const LinkListSkeleton: (props: LinkListSkeletonProps) => JSX.Element;
|
|
127
138
|
|
|
128
139
|
interface ImagePreviewerProps {
|
|
129
140
|
className?: string;
|
|
@@ -182,4 +193,4 @@ interface LinkListProps extends Omit<listProps, "itemRenderer" | "items"> {
|
|
|
182
193
|
}
|
|
183
194
|
declare const LinkList: (props: LinkListProps) => JSX.Element;
|
|
184
195
|
|
|
185
|
-
export { Article, ArticleProps, BLinkDotProps, BlinkDot, Breadcrumb, BreadcrumbProps, Button, ButtonProps, ButtonType, DropImage, ImageDropProps, ImagePreviewerProps, Link, LinkColor, LinkList, LinkListProps, LinkProps, List, Logo, LogoProps, Nav, NavProps, Page, Panel, PanelProps, PathObj, PopConfirm, PopConfirmProps, Skeleton, SkeletonColor, SkeletonProps, Table, TableProps, Tag, TagProps, Tags, ThreeColLayout, TitledList, TitledListProps, listProps, threeColLayoutProps };
|
|
196
|
+
export { Article, ArticleProps, ArticleSkeleton, ArticleSkeletonProps, BLinkDotProps, BlinkDot, Breadcrumb, BreadcrumbProps, Button, ButtonProps, ButtonType, DropImage, ImageDropProps, ImagePreviewerProps, Link, LinkColor, LinkList, LinkListProps, LinkListSkeleton, LinkListSkeletonProps, LinkProps, List, Logo, LogoProps, Nav, NavProps, Page, Panel, PanelProps, PathObj, PopConfirm, PopConfirmProps, Skeleton, SkeletonColor, SkeletonProps, Table, TableProps, Tag, TagProps, Tags, ThreeColLayout, TitledList, TitledListProps, listProps, threeColLayoutProps };
|
package/dist/index.js
CHANGED
|
@@ -59,6 +59,7 @@ var __toCommonJS = /* @__PURE__ */ ((cache) => {
|
|
|
59
59
|
var src_exports = {};
|
|
60
60
|
__export(src_exports, {
|
|
61
61
|
Article: () => Article,
|
|
62
|
+
ArticleSkeleton: () => ArticleSkeleton,
|
|
62
63
|
BlinkDot: () => BlinkDot,
|
|
63
64
|
Breadcrumb: () => Breadcrumb,
|
|
64
65
|
Button: () => Button,
|
|
@@ -67,6 +68,7 @@ __export(src_exports, {
|
|
|
67
68
|
Link: () => Link,
|
|
68
69
|
LinkColor: () => LinkColor,
|
|
69
70
|
LinkList: () => LinkList,
|
|
71
|
+
LinkListSkeleton: () => LinkListSkeleton,
|
|
70
72
|
List: () => List,
|
|
71
73
|
Logo: () => Logo,
|
|
72
74
|
Nav: () => Nav,
|
|
@@ -299,68 +301,163 @@ var Page = (props) => {
|
|
|
299
301
|
};
|
|
300
302
|
|
|
301
303
|
// src/pop-confirm/PopConfirm.tsx
|
|
304
|
+
var import_react10 = __toESM(require("react"));
|
|
305
|
+
|
|
306
|
+
// src/blink-dot/BlinkDot.tsx
|
|
307
|
+
var import_classnames5 = __toESM(require("classnames"));
|
|
302
308
|
var import_react9 = __toESM(require("react"));
|
|
309
|
+
var BlinkDot = (props) => {
|
|
310
|
+
const { className } = props;
|
|
311
|
+
return /* @__PURE__ */ import_react9.default.createElement("span", {
|
|
312
|
+
className: (0, import_classnames5.default)("inline-flex h-1 w-1 justify-center items-center relative", className)
|
|
313
|
+
}, /* @__PURE__ */ import_react9.default.createElement("span", {
|
|
314
|
+
className: "animate-ping-fast absolute inline-flex h-full w-full rounded-full bg-red-600"
|
|
315
|
+
}));
|
|
316
|
+
};
|
|
317
|
+
|
|
318
|
+
// src/pop-confirm/PopConfirm.tsx
|
|
303
319
|
var PopConfirm = (props) => {
|
|
320
|
+
const [loading, setLoading] = (0, import_react10.useState)(false);
|
|
304
321
|
const { onOk, onCancel, children, content, className } = props;
|
|
305
|
-
return /* @__PURE__ */
|
|
322
|
+
return /* @__PURE__ */ import_react10.default.createElement(Panel, {
|
|
306
323
|
className
|
|
307
|
-
}, /* @__PURE__ */
|
|
324
|
+
}, /* @__PURE__ */ import_react10.default.createElement("div", {
|
|
308
325
|
className: "mb-32"
|
|
309
|
-
}, children || content), /* @__PURE__ */
|
|
326
|
+
}, children || content), /* @__PURE__ */ import_react10.default.createElement("div", {
|
|
310
327
|
className: "flex justify-end"
|
|
311
|
-
}, onCancel && /* @__PURE__ */
|
|
328
|
+
}, onCancel && /* @__PURE__ */ import_react10.default.createElement(Button, {
|
|
312
329
|
onClick: onCancel,
|
|
313
330
|
type: "normal" /* NORMAL */
|
|
314
|
-
}, "Cancel"), onOk && /* @__PURE__ */
|
|
315
|
-
onClick:
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
331
|
+
}, "Cancel"), onOk && /* @__PURE__ */ import_react10.default.createElement(Button, {
|
|
332
|
+
onClick: async (e) => {
|
|
333
|
+
setLoading(true);
|
|
334
|
+
await onOk(e);
|
|
335
|
+
setLoading(false);
|
|
336
|
+
},
|
|
337
|
+
className: "ml-16 relative",
|
|
338
|
+
type: loading ? "disabled" /* DISABLED */ : "primary" /* PRIMARY */
|
|
339
|
+
}, "OK", loading && /* @__PURE__ */ import_react10.default.createElement(BlinkDot, {
|
|
340
|
+
className: "!absolute top-2 right-2"
|
|
341
|
+
}))));
|
|
319
342
|
};
|
|
320
343
|
|
|
321
344
|
// src/table/Table.tsx
|
|
322
|
-
var
|
|
345
|
+
var import_react11 = __toESM(require("react"));
|
|
323
346
|
var Table = (props) => {
|
|
324
347
|
const { rowCount, rowRenderer, headerRenderer, className } = props;
|
|
325
348
|
const rows = [];
|
|
326
349
|
for (let i = 0; i < rowCount; i++) {
|
|
327
|
-
rows.push(/* @__PURE__ */
|
|
350
|
+
rows.push(/* @__PURE__ */ import_react11.default.createElement("tr", {
|
|
328
351
|
key: i
|
|
329
352
|
}, rowRenderer(i)));
|
|
330
353
|
}
|
|
331
|
-
return /* @__PURE__ */
|
|
354
|
+
return /* @__PURE__ */ import_react11.default.createElement("table", {
|
|
332
355
|
className
|
|
333
|
-
}, headerRenderer && /* @__PURE__ */
|
|
356
|
+
}, headerRenderer && /* @__PURE__ */ import_react11.default.createElement("thead", null, /* @__PURE__ */ import_react11.default.createElement("tr", null, headerRenderer())), /* @__PURE__ */ import_react11.default.createElement("tbody", null, rows));
|
|
357
|
+
};
|
|
358
|
+
Table.HCell = (props) => /* @__PURE__ */ import_react11.default.createElement("th", __spreadValues({}, props), props.children);
|
|
359
|
+
Table.Cell = (props) => /* @__PURE__ */ import_react11.default.createElement("td", __spreadValues({}, props), props.children);
|
|
360
|
+
|
|
361
|
+
// src/skeleton/Seleton.tsx
|
|
362
|
+
var import_classnames7 = __toESM(require("classnames"));
|
|
363
|
+
var import_react13 = __toESM(require("react"));
|
|
364
|
+
|
|
365
|
+
// src/list/list.tsx
|
|
366
|
+
var import_classnames6 = __toESM(require("classnames"));
|
|
367
|
+
var import_react12 = __toESM(require("react"));
|
|
368
|
+
var List = (props) => {
|
|
369
|
+
const { items, itemRenderer, className, horizontal, compact } = props;
|
|
370
|
+
const spaceCls = compact ? "" : horizontal ? "mr-3" : "mb-4";
|
|
371
|
+
return /* @__PURE__ */ import_react12.default.createElement("ul", {
|
|
372
|
+
className: (0, import_classnames6.default)(className, "list-style-none", {
|
|
373
|
+
flex: horizontal,
|
|
374
|
+
"align-center": horizontal
|
|
375
|
+
})
|
|
376
|
+
}, items.map((item, index) => {
|
|
377
|
+
return /* @__PURE__ */ import_react12.default.createElement("li", {
|
|
378
|
+
key: item.id || index,
|
|
379
|
+
className: (0, import_classnames6.default)(spaceCls, "flex-shrink-0")
|
|
380
|
+
}, itemRenderer(item, index));
|
|
381
|
+
}));
|
|
382
|
+
};
|
|
383
|
+
var TitledList = (props) => {
|
|
384
|
+
const _a = props, { title, description } = _a, rest = __objRest(_a, ["title", "description"]);
|
|
385
|
+
if (!title) {
|
|
386
|
+
return /* @__PURE__ */ import_react12.default.createElement(List, __spreadValues({}, rest));
|
|
387
|
+
}
|
|
388
|
+
return /* @__PURE__ */ import_react12.default.createElement(Article, {
|
|
389
|
+
title,
|
|
390
|
+
description
|
|
391
|
+
}, /* @__PURE__ */ import_react12.default.createElement(List, __spreadValues({}, rest)));
|
|
392
|
+
};
|
|
393
|
+
var LinkList = (props) => {
|
|
394
|
+
const _a = props, { title, description, links } = _a, rest = __objRest(_a, ["title", "description", "links"]);
|
|
395
|
+
const renderLink = ({ name, to }) => {
|
|
396
|
+
return /* @__PURE__ */ import_react12.default.createElement(Link, {
|
|
397
|
+
to,
|
|
398
|
+
key: name
|
|
399
|
+
}, name);
|
|
400
|
+
};
|
|
401
|
+
return /* @__PURE__ */ import_react12.default.createElement(TitledList, __spreadValues({
|
|
402
|
+
title,
|
|
403
|
+
description,
|
|
404
|
+
items: links,
|
|
405
|
+
itemRenderer: renderLink
|
|
406
|
+
}, rest));
|
|
334
407
|
};
|
|
335
|
-
Table.HCell = (props) => /* @__PURE__ */ import_react10.default.createElement("th", __spreadValues({}, props), props.children);
|
|
336
|
-
Table.Cell = (props) => /* @__PURE__ */ import_react10.default.createElement("td", __spreadValues({}, props), props.children);
|
|
337
408
|
|
|
338
409
|
// src/skeleton/Seleton.tsx
|
|
339
|
-
var import_classnames5 = __toESM(require("classnames"));
|
|
340
|
-
var import_react11 = __toESM(require("react"));
|
|
341
410
|
var SkeletonColor = /* @__PURE__ */ ((SkeletonColor2) => {
|
|
342
411
|
SkeletonColor2["BLUE"] = "blue";
|
|
343
412
|
SkeletonColor2["RED"] = "red";
|
|
344
413
|
SkeletonColor2["GRAY"] = "gray";
|
|
414
|
+
SkeletonColor2["BLACK"] = "black";
|
|
345
415
|
return SkeletonColor2;
|
|
346
416
|
})(SkeletonColor || {});
|
|
347
417
|
var COLOR_MAPPING2 = {
|
|
348
418
|
["blue" /* BLUE */]: "bg-blue-100",
|
|
349
419
|
["red" /* RED */]: "bg-red-100",
|
|
350
|
-
["gray" /* GRAY */]: "bg-gray-100"
|
|
420
|
+
["gray" /* GRAY */]: "bg-gray-100",
|
|
421
|
+
["black" /* BLACK */]: "bg-gray-200"
|
|
351
422
|
};
|
|
352
423
|
var Skeleton = (props) => {
|
|
353
424
|
const { bgColor = "gray" /* GRAY */, width = 26, height = 24 } = props;
|
|
354
|
-
return /* @__PURE__ */
|
|
355
|
-
className: (0,
|
|
425
|
+
return /* @__PURE__ */ import_react13.default.createElement("div", {
|
|
426
|
+
className: (0, import_classnames7.default)(COLOR_MAPPING2[bgColor], "animate-pulse", "rounded"),
|
|
356
427
|
style: { width, height }
|
|
357
428
|
});
|
|
358
429
|
};
|
|
430
|
+
var ArticleSkeleton = (props) => {
|
|
431
|
+
const { children, titleLength, descriptionLength } = props;
|
|
432
|
+
return /* @__PURE__ */ import_react13.default.createElement(Article, {
|
|
433
|
+
title: /* @__PURE__ */ import_react13.default.createElement(Skeleton, {
|
|
434
|
+
width: 36 * titleLength,
|
|
435
|
+
height: 36,
|
|
436
|
+
bgColor: "black" /* BLACK */
|
|
437
|
+
}),
|
|
438
|
+
description: descriptionLength && /* @__PURE__ */ import_react13.default.createElement(Skeleton, {
|
|
439
|
+
width: 16 * descriptionLength
|
|
440
|
+
})
|
|
441
|
+
}, children);
|
|
442
|
+
};
|
|
443
|
+
var LinkListSkeleton = (props) => {
|
|
444
|
+
const _a = props, { linksLength } = _a, rest = __objRest(_a, ["linksLength"]);
|
|
445
|
+
const renderSkeleton = (length) => {
|
|
446
|
+
return /* @__PURE__ */ import_react13.default.createElement(Skeleton, {
|
|
447
|
+
width: length * 16,
|
|
448
|
+
bgColor: "blue" /* BLUE */
|
|
449
|
+
});
|
|
450
|
+
};
|
|
451
|
+
return /* @__PURE__ */ import_react13.default.createElement(ArticleSkeleton, __spreadValues({}, rest), /* @__PURE__ */ import_react13.default.createElement(List, {
|
|
452
|
+
items: linksLength,
|
|
453
|
+
itemRenderer: renderSkeleton
|
|
454
|
+
}));
|
|
455
|
+
};
|
|
359
456
|
|
|
360
457
|
// src/drop-image/DropImage.tsx
|
|
361
|
-
var
|
|
362
|
-
var
|
|
363
|
-
var
|
|
458
|
+
var import_classnames8 = __toESM(require("classnames"));
|
|
459
|
+
var import_react15 = __toESM(require("react"));
|
|
460
|
+
var import_react16 = require("react");
|
|
364
461
|
|
|
365
462
|
// src/drop-image/utils.ts
|
|
366
463
|
var wait = (d) => new Promise((r) => setTimeout(r, d));
|
|
@@ -368,12 +465,12 @@ var noop = () => {
|
|
|
368
465
|
};
|
|
369
466
|
|
|
370
467
|
// src/drop-image/useDropImage.ts
|
|
371
|
-
var
|
|
468
|
+
var import_react14 = require("react");
|
|
372
469
|
var useDropImage = (params) => {
|
|
373
|
-
const [isDragOver, setIsDragOver] = (0,
|
|
374
|
-
const [imageSrc, setImageSrc] = (0,
|
|
375
|
-
const [imageSize, setImageSize] = (0,
|
|
376
|
-
const imageFile = (0,
|
|
470
|
+
const [isDragOver, setIsDragOver] = (0, import_react14.useState)(false);
|
|
471
|
+
const [imageSrc, setImageSrc] = (0, import_react14.useState)("");
|
|
472
|
+
const [imageSize, setImageSize] = (0, import_react14.useState)({ width: 0, height: 0 });
|
|
473
|
+
const imageFile = (0, import_react14.useRef)(null);
|
|
377
474
|
const {
|
|
378
475
|
portraitImageWidth = 384,
|
|
379
476
|
landscapeImageWidth = 500,
|
|
@@ -405,18 +502,21 @@ var useDropImage = (params) => {
|
|
|
405
502
|
setImageSrc("");
|
|
406
503
|
}
|
|
407
504
|
};
|
|
408
|
-
const handleDragOver = (0,
|
|
505
|
+
const handleDragOver = (0, import_react14.useCallback)((ev) => {
|
|
409
506
|
ev.preventDefault();
|
|
410
507
|
setIsDragOver(true);
|
|
411
508
|
ev.dataTransfer.dropEffect = "move";
|
|
412
509
|
}, []);
|
|
413
|
-
const handleDragLeave = (0,
|
|
510
|
+
const handleDragLeave = (0, import_react14.useCallback)(() => {
|
|
414
511
|
setIsDragOver(false);
|
|
415
512
|
}, []);
|
|
416
|
-
const handleDrop = (0,
|
|
513
|
+
const handleDrop = (0, import_react14.useCallback)((ev) => {
|
|
417
514
|
ev.preventDefault();
|
|
418
515
|
setIsDragOver(false);
|
|
419
516
|
const file = ev.dataTransfer.files[0];
|
|
517
|
+
if (!file || !file.type.startsWith("image")) {
|
|
518
|
+
return;
|
|
519
|
+
}
|
|
420
520
|
imageFile.current = file;
|
|
421
521
|
setPreviewImageSrcByFile(file);
|
|
422
522
|
onDrop(ev, file);
|
|
@@ -443,7 +543,7 @@ var useDropImage = (params) => {
|
|
|
443
543
|
}
|
|
444
544
|
img.onload = updateFunc;
|
|
445
545
|
};
|
|
446
|
-
const imageRef = (0,
|
|
546
|
+
const imageRef = (0, import_react14.useCallback)((input) => {
|
|
447
547
|
if (!input) {
|
|
448
548
|
return;
|
|
449
549
|
}
|
|
@@ -470,8 +570,8 @@ var ImagePreviewer = (props) => {
|
|
|
470
570
|
imageSrc,
|
|
471
571
|
className
|
|
472
572
|
} = props;
|
|
473
|
-
return /* @__PURE__ */
|
|
474
|
-
className: (0,
|
|
573
|
+
return /* @__PURE__ */ import_react15.default.createElement("img", {
|
|
574
|
+
className: (0, import_classnames8.default)(className, "max-w-[100%]", "h-[auto]", "duration-300", "transition-opacity", "opacity-100", {
|
|
475
575
|
"opacity-0": !showImagePreviewer,
|
|
476
576
|
"!m-0": !showImagePreviewer,
|
|
477
577
|
"!p-0": !showImagePreviewer
|
|
@@ -492,9 +592,9 @@ var GhostDropImage = (props) => {
|
|
|
492
592
|
children,
|
|
493
593
|
placeholder
|
|
494
594
|
} = props;
|
|
495
|
-
const [coverVisible, setCoverVisible] = (0,
|
|
496
|
-
const [imageVisible, setImageVisible] = (0,
|
|
497
|
-
const handleDocDragEnter = (0,
|
|
595
|
+
const [coverVisible, setCoverVisible] = (0, import_react16.useState)(false);
|
|
596
|
+
const [imageVisible, setImageVisible] = (0, import_react16.useState)(false);
|
|
597
|
+
const handleDocDragEnter = (0, import_react15.useCallback)(() => {
|
|
498
598
|
setCoverVisible(true);
|
|
499
599
|
}, []);
|
|
500
600
|
const {
|
|
@@ -519,19 +619,19 @@ var GhostDropImage = (props) => {
|
|
|
519
619
|
reset();
|
|
520
620
|
}
|
|
521
621
|
});
|
|
522
|
-
(0,
|
|
622
|
+
(0, import_react15.useEffect)(() => {
|
|
523
623
|
document.addEventListener("dragenter", handleDocDragEnter);
|
|
524
624
|
return () => {
|
|
525
625
|
document.removeEventListener("dragenter", handleDocDragEnter);
|
|
526
626
|
};
|
|
527
627
|
}, []);
|
|
528
|
-
const coverCls = (0,
|
|
628
|
+
const coverCls = (0, import_classnames8.default)("fixed", "top-0", "left-0", "h-full", "w-full", {
|
|
529
629
|
"lqip-blur": coverVisible,
|
|
530
630
|
"z-[999]": coverVisible,
|
|
531
631
|
block: coverVisible,
|
|
532
632
|
hidden: !coverVisible
|
|
533
633
|
});
|
|
534
|
-
return /* @__PURE__ */
|
|
634
|
+
return /* @__PURE__ */ import_react15.default.createElement(import_react15.default.Fragment, null, /* @__PURE__ */ import_react15.default.createElement("div", {
|
|
535
635
|
className: coverCls,
|
|
536
636
|
onDragLeave: () => {
|
|
537
637
|
handleDragLeave();
|
|
@@ -544,7 +644,7 @@ var GhostDropImage = (props) => {
|
|
|
544
644
|
imageRef,
|
|
545
645
|
imageSize,
|
|
546
646
|
imageSrc
|
|
547
|
-
}) : /* @__PURE__ */
|
|
647
|
+
}) : /* @__PURE__ */ import_react15.default.createElement(ImagePreviewer, {
|
|
548
648
|
className,
|
|
549
649
|
visible: imageVisible,
|
|
550
650
|
imageRef,
|
|
@@ -570,9 +670,9 @@ var DropImage = (props) => {
|
|
|
570
670
|
}
|
|
571
671
|
} = props;
|
|
572
672
|
if (ghost) {
|
|
573
|
-
return /* @__PURE__ */
|
|
673
|
+
return /* @__PURE__ */ import_react15.default.createElement(GhostDropImage, __spreadValues({}, props));
|
|
574
674
|
}
|
|
575
|
-
const [showImagePreviewer, setShowImagePreviewer] = (0,
|
|
675
|
+
const [showImagePreviewer, setShowImagePreviewer] = (0, import_react16.useState)(false);
|
|
576
676
|
const {
|
|
577
677
|
handleDragLeave,
|
|
578
678
|
handleDragOver,
|
|
@@ -601,8 +701,8 @@ var DropImage = (props) => {
|
|
|
601
701
|
height: imageSize.height || dropAreaStyle.height
|
|
602
702
|
});
|
|
603
703
|
};
|
|
604
|
-
return /* @__PURE__ */
|
|
605
|
-
className: (0,
|
|
704
|
+
return /* @__PURE__ */ import_react15.default.createElement("div", {
|
|
705
|
+
className: (0, import_classnames8.default)(className, "transition-all items-center justify-center flex duration-200 ease-in-out", {
|
|
606
706
|
"shadow-input": !imageSrc,
|
|
607
707
|
"shadow-empty": imageSrc
|
|
608
708
|
}),
|
|
@@ -615,7 +715,7 @@ var DropImage = (props) => {
|
|
|
615
715
|
imageRef,
|
|
616
716
|
imageSize,
|
|
617
717
|
imageSrc
|
|
618
|
-
}) : /* @__PURE__ */
|
|
718
|
+
}) : /* @__PURE__ */ import_react15.default.createElement(ImagePreviewer, {
|
|
619
719
|
visible: showImagePreviewer,
|
|
620
720
|
imageRef,
|
|
621
721
|
imageSrc,
|
|
@@ -623,84 +723,29 @@ var DropImage = (props) => {
|
|
|
623
723
|
}), !imageSrc && placeholder);
|
|
624
724
|
};
|
|
625
725
|
|
|
626
|
-
// src/blink-dot/BlinkDot.tsx
|
|
627
|
-
var import_classnames7 = __toESM(require("classnames"));
|
|
628
|
-
var import_react15 = __toESM(require("react"));
|
|
629
|
-
var BlinkDot = (props) => {
|
|
630
|
-
const { className } = props;
|
|
631
|
-
return /* @__PURE__ */ import_react15.default.createElement("span", {
|
|
632
|
-
className: (0, import_classnames7.default)("inline-flex h-1 w-1 justify-center items-center relative", className)
|
|
633
|
-
}, /* @__PURE__ */ import_react15.default.createElement("span", {
|
|
634
|
-
className: "animate-ping-fast absolute inline-flex h-full w-full rounded-full bg-red-600"
|
|
635
|
-
}));
|
|
636
|
-
};
|
|
637
|
-
|
|
638
726
|
// src/layout/layout.tsx
|
|
639
|
-
var
|
|
640
|
-
var
|
|
727
|
+
var import_classnames9 = __toESM(require("classnames"));
|
|
728
|
+
var import_react17 = __toESM(require("react"));
|
|
641
729
|
var ThreeColLayout = (props) => {
|
|
642
730
|
const { leftRenderer, middleRenderer, rightRenderer } = props;
|
|
643
|
-
const colCls = (0,
|
|
644
|
-
return /* @__PURE__ */
|
|
731
|
+
const colCls = (0, import_classnames9.default)("max-h-full overflow-auto md:block py-64");
|
|
732
|
+
return /* @__PURE__ */ import_react17.default.createElement("div", {
|
|
645
733
|
className: "grid grid-cols-1 xl:grid-cols-3 gap-4 h-full w-full"
|
|
646
|
-
}, /* @__PURE__ */
|
|
647
|
-
className: (0,
|
|
648
|
-
}, leftRenderer && leftRenderer()), /* @__PURE__ */
|
|
649
|
-
className: (0,
|
|
734
|
+
}, /* @__PURE__ */ import_react17.default.createElement("div", {
|
|
735
|
+
className: (0, import_classnames9.default)("hidden", colCls)
|
|
736
|
+
}, leftRenderer && leftRenderer()), /* @__PURE__ */ import_react17.default.createElement("div", {
|
|
737
|
+
className: (0, import_classnames9.default)(colCls, "sm:px-128 xl:px-0 no-scrollbar", "relative", {
|
|
650
738
|
hidden: !middleRenderer
|
|
651
739
|
})
|
|
652
|
-
}, middleRenderer && middleRenderer()), /* @__PURE__ */
|
|
653
|
-
className: (0,
|
|
740
|
+
}, middleRenderer && middleRenderer()), /* @__PURE__ */ import_react17.default.createElement("div", {
|
|
741
|
+
className: (0, import_classnames9.default)("hidden", colCls)
|
|
654
742
|
}, rightRenderer && rightRenderer()));
|
|
655
743
|
};
|
|
656
|
-
|
|
657
|
-
// src/list/list.tsx
|
|
658
|
-
var import_classnames9 = __toESM(require("classnames"));
|
|
659
|
-
var import_react17 = __toESM(require("react"));
|
|
660
|
-
var List = (props) => {
|
|
661
|
-
const { items, itemRenderer, className, horizontal, compact } = props;
|
|
662
|
-
const spaceCls = compact ? "" : horizontal ? "mr-3" : "mb-4";
|
|
663
|
-
return /* @__PURE__ */ import_react17.default.createElement("ul", {
|
|
664
|
-
className: (0, import_classnames9.default)(className, "list-style-none", {
|
|
665
|
-
flex: horizontal,
|
|
666
|
-
"align-center": horizontal
|
|
667
|
-
})
|
|
668
|
-
}, items.map((item, index) => {
|
|
669
|
-
return /* @__PURE__ */ import_react17.default.createElement("li", {
|
|
670
|
-
key: item.id || index,
|
|
671
|
-
className: (0, import_classnames9.default)(spaceCls, "flex-shrink-0")
|
|
672
|
-
}, itemRenderer(item, index));
|
|
673
|
-
}));
|
|
674
|
-
};
|
|
675
|
-
var TitledList = (props) => {
|
|
676
|
-
const _a = props, { title, description } = _a, rest = __objRest(_a, ["title", "description"]);
|
|
677
|
-
if (!title) {
|
|
678
|
-
return /* @__PURE__ */ import_react17.default.createElement(List, __spreadValues({}, rest));
|
|
679
|
-
}
|
|
680
|
-
return /* @__PURE__ */ import_react17.default.createElement(Article, {
|
|
681
|
-
title,
|
|
682
|
-
description
|
|
683
|
-
}, /* @__PURE__ */ import_react17.default.createElement(List, __spreadValues({}, rest)));
|
|
684
|
-
};
|
|
685
|
-
var LinkList = (props) => {
|
|
686
|
-
const _a = props, { title, description, links } = _a, rest = __objRest(_a, ["title", "description", "links"]);
|
|
687
|
-
const renderLink = ({ name, to }) => {
|
|
688
|
-
return /* @__PURE__ */ import_react17.default.createElement(Link, {
|
|
689
|
-
to,
|
|
690
|
-
key: name
|
|
691
|
-
}, name);
|
|
692
|
-
};
|
|
693
|
-
return /* @__PURE__ */ import_react17.default.createElement(TitledList, __spreadValues({
|
|
694
|
-
title,
|
|
695
|
-
description,
|
|
696
|
-
items: links,
|
|
697
|
-
itemRenderer: renderLink
|
|
698
|
-
}, rest));
|
|
699
|
-
};
|
|
700
744
|
module.exports = __toCommonJS(src_exports);
|
|
701
745
|
// Annotate the CommonJS export names for ESM import in node:
|
|
702
746
|
0 && (module.exports = {
|
|
703
747
|
Article,
|
|
748
|
+
ArticleSkeleton,
|
|
704
749
|
BlinkDot,
|
|
705
750
|
Breadcrumb,
|
|
706
751
|
Button,
|
|
@@ -709,6 +754,7 @@ module.exports = __toCommonJS(src_exports);
|
|
|
709
754
|
Link,
|
|
710
755
|
LinkColor,
|
|
711
756
|
LinkList,
|
|
757
|
+
LinkListSkeleton,
|
|
712
758
|
List,
|
|
713
759
|
Logo,
|
|
714
760
|
Nav,
|
package/dist/index.mjs
CHANGED
|
@@ -247,71 +247,166 @@ var Page = (props) => {
|
|
|
247
247
|
};
|
|
248
248
|
|
|
249
249
|
// src/pop-confirm/PopConfirm.tsx
|
|
250
|
+
import React11, { useState as useState2 } from "react";
|
|
251
|
+
|
|
252
|
+
// src/blink-dot/BlinkDot.tsx
|
|
253
|
+
import classNames5 from "classnames";
|
|
250
254
|
import React10 from "react";
|
|
255
|
+
var BlinkDot = (props) => {
|
|
256
|
+
const { className } = props;
|
|
257
|
+
return /* @__PURE__ */ React10.createElement("span", {
|
|
258
|
+
className: classNames5("inline-flex h-1 w-1 justify-center items-center relative", className)
|
|
259
|
+
}, /* @__PURE__ */ React10.createElement("span", {
|
|
260
|
+
className: "animate-ping-fast absolute inline-flex h-full w-full rounded-full bg-red-600"
|
|
261
|
+
}));
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
// src/pop-confirm/PopConfirm.tsx
|
|
251
265
|
var PopConfirm = (props) => {
|
|
266
|
+
const [loading, setLoading] = useState2(false);
|
|
252
267
|
const { onOk, onCancel, children, content, className } = props;
|
|
253
|
-
return /* @__PURE__ */
|
|
268
|
+
return /* @__PURE__ */ React11.createElement(Panel, {
|
|
254
269
|
className
|
|
255
|
-
}, /* @__PURE__ */
|
|
270
|
+
}, /* @__PURE__ */ React11.createElement("div", {
|
|
256
271
|
className: "mb-32"
|
|
257
|
-
}, children || content), /* @__PURE__ */
|
|
272
|
+
}, children || content), /* @__PURE__ */ React11.createElement("div", {
|
|
258
273
|
className: "flex justify-end"
|
|
259
|
-
}, onCancel && /* @__PURE__ */
|
|
274
|
+
}, onCancel && /* @__PURE__ */ React11.createElement(Button, {
|
|
260
275
|
onClick: onCancel,
|
|
261
276
|
type: "normal" /* NORMAL */
|
|
262
|
-
}, "Cancel"), onOk && /* @__PURE__ */
|
|
263
|
-
onClick:
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
277
|
+
}, "Cancel"), onOk && /* @__PURE__ */ React11.createElement(Button, {
|
|
278
|
+
onClick: async (e) => {
|
|
279
|
+
setLoading(true);
|
|
280
|
+
await onOk(e);
|
|
281
|
+
setLoading(false);
|
|
282
|
+
},
|
|
283
|
+
className: "ml-16 relative",
|
|
284
|
+
type: loading ? "disabled" /* DISABLED */ : "primary" /* PRIMARY */
|
|
285
|
+
}, "OK", loading && /* @__PURE__ */ React11.createElement(BlinkDot, {
|
|
286
|
+
className: "!absolute top-2 right-2"
|
|
287
|
+
}))));
|
|
267
288
|
};
|
|
268
289
|
|
|
269
290
|
// src/table/Table.tsx
|
|
270
|
-
import
|
|
291
|
+
import React12 from "react";
|
|
271
292
|
var Table = (props) => {
|
|
272
293
|
const { rowCount, rowRenderer, headerRenderer, className } = props;
|
|
273
294
|
const rows = [];
|
|
274
295
|
for (let i = 0; i < rowCount; i++) {
|
|
275
|
-
rows.push(/* @__PURE__ */
|
|
296
|
+
rows.push(/* @__PURE__ */ React12.createElement("tr", {
|
|
276
297
|
key: i
|
|
277
298
|
}, rowRenderer(i)));
|
|
278
299
|
}
|
|
279
|
-
return /* @__PURE__ */
|
|
300
|
+
return /* @__PURE__ */ React12.createElement("table", {
|
|
280
301
|
className
|
|
281
|
-
}, headerRenderer && /* @__PURE__ */
|
|
302
|
+
}, headerRenderer && /* @__PURE__ */ React12.createElement("thead", null, /* @__PURE__ */ React12.createElement("tr", null, headerRenderer())), /* @__PURE__ */ React12.createElement("tbody", null, rows));
|
|
303
|
+
};
|
|
304
|
+
Table.HCell = (props) => /* @__PURE__ */ React12.createElement("th", __spreadValues({}, props), props.children);
|
|
305
|
+
Table.Cell = (props) => /* @__PURE__ */ React12.createElement("td", __spreadValues({}, props), props.children);
|
|
306
|
+
|
|
307
|
+
// src/skeleton/Seleton.tsx
|
|
308
|
+
import classNames6 from "classnames";
|
|
309
|
+
import React14 from "react";
|
|
310
|
+
|
|
311
|
+
// src/list/list.tsx
|
|
312
|
+
import cls from "classnames";
|
|
313
|
+
import React13 from "react";
|
|
314
|
+
var List = (props) => {
|
|
315
|
+
const { items, itemRenderer, className, horizontal, compact } = props;
|
|
316
|
+
const spaceCls = compact ? "" : horizontal ? "mr-3" : "mb-4";
|
|
317
|
+
return /* @__PURE__ */ React13.createElement("ul", {
|
|
318
|
+
className: cls(className, "list-style-none", {
|
|
319
|
+
flex: horizontal,
|
|
320
|
+
"align-center": horizontal
|
|
321
|
+
})
|
|
322
|
+
}, items.map((item, index) => {
|
|
323
|
+
return /* @__PURE__ */ React13.createElement("li", {
|
|
324
|
+
key: item.id || index,
|
|
325
|
+
className: cls(spaceCls, "flex-shrink-0")
|
|
326
|
+
}, itemRenderer(item, index));
|
|
327
|
+
}));
|
|
328
|
+
};
|
|
329
|
+
var TitledList = (props) => {
|
|
330
|
+
const _a = props, { title, description } = _a, rest = __objRest(_a, ["title", "description"]);
|
|
331
|
+
if (!title) {
|
|
332
|
+
return /* @__PURE__ */ React13.createElement(List, __spreadValues({}, rest));
|
|
333
|
+
}
|
|
334
|
+
return /* @__PURE__ */ React13.createElement(Article, {
|
|
335
|
+
title,
|
|
336
|
+
description
|
|
337
|
+
}, /* @__PURE__ */ React13.createElement(List, __spreadValues({}, rest)));
|
|
338
|
+
};
|
|
339
|
+
var LinkList = (props) => {
|
|
340
|
+
const _a = props, { title, description, links } = _a, rest = __objRest(_a, ["title", "description", "links"]);
|
|
341
|
+
const renderLink = ({ name, to }) => {
|
|
342
|
+
return /* @__PURE__ */ React13.createElement(Link, {
|
|
343
|
+
to,
|
|
344
|
+
key: name
|
|
345
|
+
}, name);
|
|
346
|
+
};
|
|
347
|
+
return /* @__PURE__ */ React13.createElement(TitledList, __spreadValues({
|
|
348
|
+
title,
|
|
349
|
+
description,
|
|
350
|
+
items: links,
|
|
351
|
+
itemRenderer: renderLink
|
|
352
|
+
}, rest));
|
|
282
353
|
};
|
|
283
|
-
Table.HCell = (props) => /* @__PURE__ */ React11.createElement("th", __spreadValues({}, props), props.children);
|
|
284
|
-
Table.Cell = (props) => /* @__PURE__ */ React11.createElement("td", __spreadValues({}, props), props.children);
|
|
285
354
|
|
|
286
355
|
// src/skeleton/Seleton.tsx
|
|
287
|
-
import classNames5 from "classnames";
|
|
288
|
-
import React12 from "react";
|
|
289
356
|
var SkeletonColor = /* @__PURE__ */ ((SkeletonColor2) => {
|
|
290
357
|
SkeletonColor2["BLUE"] = "blue";
|
|
291
358
|
SkeletonColor2["RED"] = "red";
|
|
292
359
|
SkeletonColor2["GRAY"] = "gray";
|
|
360
|
+
SkeletonColor2["BLACK"] = "black";
|
|
293
361
|
return SkeletonColor2;
|
|
294
362
|
})(SkeletonColor || {});
|
|
295
363
|
var COLOR_MAPPING2 = {
|
|
296
364
|
["blue" /* BLUE */]: "bg-blue-100",
|
|
297
365
|
["red" /* RED */]: "bg-red-100",
|
|
298
|
-
["gray" /* GRAY */]: "bg-gray-100"
|
|
366
|
+
["gray" /* GRAY */]: "bg-gray-100",
|
|
367
|
+
["black" /* BLACK */]: "bg-gray-200"
|
|
299
368
|
};
|
|
300
369
|
var Skeleton = (props) => {
|
|
301
370
|
const { bgColor = "gray" /* GRAY */, width = 26, height = 24 } = props;
|
|
302
|
-
return /* @__PURE__ */
|
|
303
|
-
className:
|
|
371
|
+
return /* @__PURE__ */ React14.createElement("div", {
|
|
372
|
+
className: classNames6(COLOR_MAPPING2[bgColor], "animate-pulse", "rounded"),
|
|
304
373
|
style: { width, height }
|
|
305
374
|
});
|
|
306
375
|
};
|
|
376
|
+
var ArticleSkeleton = (props) => {
|
|
377
|
+
const { children, titleLength, descriptionLength } = props;
|
|
378
|
+
return /* @__PURE__ */ React14.createElement(Article, {
|
|
379
|
+
title: /* @__PURE__ */ React14.createElement(Skeleton, {
|
|
380
|
+
width: 36 * titleLength,
|
|
381
|
+
height: 36,
|
|
382
|
+
bgColor: "black" /* BLACK */
|
|
383
|
+
}),
|
|
384
|
+
description: descriptionLength && /* @__PURE__ */ React14.createElement(Skeleton, {
|
|
385
|
+
width: 16 * descriptionLength
|
|
386
|
+
})
|
|
387
|
+
}, children);
|
|
388
|
+
};
|
|
389
|
+
var LinkListSkeleton = (props) => {
|
|
390
|
+
const _a = props, { linksLength } = _a, rest = __objRest(_a, ["linksLength"]);
|
|
391
|
+
const renderSkeleton = (length) => {
|
|
392
|
+
return /* @__PURE__ */ React14.createElement(Skeleton, {
|
|
393
|
+
width: length * 16,
|
|
394
|
+
bgColor: "blue" /* BLUE */
|
|
395
|
+
});
|
|
396
|
+
};
|
|
397
|
+
return /* @__PURE__ */ React14.createElement(ArticleSkeleton, __spreadValues({}, rest), /* @__PURE__ */ React14.createElement(List, {
|
|
398
|
+
items: linksLength,
|
|
399
|
+
itemRenderer: renderSkeleton
|
|
400
|
+
}));
|
|
401
|
+
};
|
|
307
402
|
|
|
308
403
|
// src/drop-image/DropImage.tsx
|
|
309
|
-
import
|
|
310
|
-
import
|
|
404
|
+
import cls2 from "classnames";
|
|
405
|
+
import React15, {
|
|
311
406
|
useEffect as useEffect2,
|
|
312
407
|
useCallback as useCallback2
|
|
313
408
|
} from "react";
|
|
314
|
-
import { useState as
|
|
409
|
+
import { useState as useState4 } from "react";
|
|
315
410
|
|
|
316
411
|
// src/drop-image/utils.ts
|
|
317
412
|
var wait = (d) => new Promise((r) => setTimeout(r, d));
|
|
@@ -319,11 +414,11 @@ var noop = () => {
|
|
|
319
414
|
};
|
|
320
415
|
|
|
321
416
|
// src/drop-image/useDropImage.ts
|
|
322
|
-
import { useState as
|
|
417
|
+
import { useState as useState3, useCallback, useRef } from "react";
|
|
323
418
|
var useDropImage = (params) => {
|
|
324
|
-
const [isDragOver, setIsDragOver] =
|
|
325
|
-
const [imageSrc, setImageSrc] =
|
|
326
|
-
const [imageSize, setImageSize] =
|
|
419
|
+
const [isDragOver, setIsDragOver] = useState3(false);
|
|
420
|
+
const [imageSrc, setImageSrc] = useState3("");
|
|
421
|
+
const [imageSize, setImageSize] = useState3({ width: 0, height: 0 });
|
|
327
422
|
const imageFile = useRef(null);
|
|
328
423
|
const {
|
|
329
424
|
portraitImageWidth = 384,
|
|
@@ -368,6 +463,9 @@ var useDropImage = (params) => {
|
|
|
368
463
|
ev.preventDefault();
|
|
369
464
|
setIsDragOver(false);
|
|
370
465
|
const file = ev.dataTransfer.files[0];
|
|
466
|
+
if (!file || !file.type.startsWith("image")) {
|
|
467
|
+
return;
|
|
468
|
+
}
|
|
371
469
|
imageFile.current = file;
|
|
372
470
|
setPreviewImageSrcByFile(file);
|
|
373
471
|
onDrop(ev, file);
|
|
@@ -421,8 +519,8 @@ var ImagePreviewer = (props) => {
|
|
|
421
519
|
imageSrc,
|
|
422
520
|
className
|
|
423
521
|
} = props;
|
|
424
|
-
return /* @__PURE__ */
|
|
425
|
-
className:
|
|
522
|
+
return /* @__PURE__ */ React15.createElement("img", {
|
|
523
|
+
className: cls2(className, "max-w-[100%]", "h-[auto]", "duration-300", "transition-opacity", "opacity-100", {
|
|
426
524
|
"opacity-0": !showImagePreviewer,
|
|
427
525
|
"!m-0": !showImagePreviewer,
|
|
428
526
|
"!p-0": !showImagePreviewer
|
|
@@ -443,8 +541,8 @@ var GhostDropImage = (props) => {
|
|
|
443
541
|
children,
|
|
444
542
|
placeholder
|
|
445
543
|
} = props;
|
|
446
|
-
const [coverVisible, setCoverVisible] =
|
|
447
|
-
const [imageVisible, setImageVisible] =
|
|
544
|
+
const [coverVisible, setCoverVisible] = useState4(false);
|
|
545
|
+
const [imageVisible, setImageVisible] = useState4(false);
|
|
448
546
|
const handleDocDragEnter = useCallback2(() => {
|
|
449
547
|
setCoverVisible(true);
|
|
450
548
|
}, []);
|
|
@@ -476,13 +574,13 @@ var GhostDropImage = (props) => {
|
|
|
476
574
|
document.removeEventListener("dragenter", handleDocDragEnter);
|
|
477
575
|
};
|
|
478
576
|
}, []);
|
|
479
|
-
const coverCls =
|
|
577
|
+
const coverCls = cls2("fixed", "top-0", "left-0", "h-full", "w-full", {
|
|
480
578
|
"lqip-blur": coverVisible,
|
|
481
579
|
"z-[999]": coverVisible,
|
|
482
580
|
block: coverVisible,
|
|
483
581
|
hidden: !coverVisible
|
|
484
582
|
});
|
|
485
|
-
return /* @__PURE__ */
|
|
583
|
+
return /* @__PURE__ */ React15.createElement(React15.Fragment, null, /* @__PURE__ */ React15.createElement("div", {
|
|
486
584
|
className: coverCls,
|
|
487
585
|
onDragLeave: () => {
|
|
488
586
|
handleDragLeave();
|
|
@@ -495,7 +593,7 @@ var GhostDropImage = (props) => {
|
|
|
495
593
|
imageRef,
|
|
496
594
|
imageSize,
|
|
497
595
|
imageSrc
|
|
498
|
-
}) : /* @__PURE__ */
|
|
596
|
+
}) : /* @__PURE__ */ React15.createElement(ImagePreviewer, {
|
|
499
597
|
className,
|
|
500
598
|
visible: imageVisible,
|
|
501
599
|
imageRef,
|
|
@@ -521,9 +619,9 @@ var DropImage = (props) => {
|
|
|
521
619
|
}
|
|
522
620
|
} = props;
|
|
523
621
|
if (ghost) {
|
|
524
|
-
return /* @__PURE__ */
|
|
622
|
+
return /* @__PURE__ */ React15.createElement(GhostDropImage, __spreadValues({}, props));
|
|
525
623
|
}
|
|
526
|
-
const [showImagePreviewer, setShowImagePreviewer] =
|
|
624
|
+
const [showImagePreviewer, setShowImagePreviewer] = useState4(false);
|
|
527
625
|
const {
|
|
528
626
|
handleDragLeave,
|
|
529
627
|
handleDragOver,
|
|
@@ -552,8 +650,8 @@ var DropImage = (props) => {
|
|
|
552
650
|
height: imageSize.height || dropAreaStyle.height
|
|
553
651
|
});
|
|
554
652
|
};
|
|
555
|
-
return /* @__PURE__ */
|
|
556
|
-
className:
|
|
653
|
+
return /* @__PURE__ */ React15.createElement("div", {
|
|
654
|
+
className: cls2(className, "transition-all items-center justify-center flex duration-200 ease-in-out", {
|
|
557
655
|
"shadow-input": !imageSrc,
|
|
558
656
|
"shadow-empty": imageSrc
|
|
559
657
|
}),
|
|
@@ -566,7 +664,7 @@ var DropImage = (props) => {
|
|
|
566
664
|
imageRef,
|
|
567
665
|
imageSize,
|
|
568
666
|
imageSrc
|
|
569
|
-
}) : /* @__PURE__ */
|
|
667
|
+
}) : /* @__PURE__ */ React15.createElement(ImagePreviewer, {
|
|
570
668
|
visible: showImagePreviewer,
|
|
571
669
|
imageRef,
|
|
572
670
|
imageSrc,
|
|
@@ -574,82 +672,27 @@ var DropImage = (props) => {
|
|
|
574
672
|
}), !imageSrc && placeholder);
|
|
575
673
|
};
|
|
576
674
|
|
|
577
|
-
// src/blink-dot/BlinkDot.tsx
|
|
578
|
-
import classNames6 from "classnames";
|
|
579
|
-
import React14 from "react";
|
|
580
|
-
var BlinkDot = (props) => {
|
|
581
|
-
const { className } = props;
|
|
582
|
-
return /* @__PURE__ */ React14.createElement("span", {
|
|
583
|
-
className: classNames6("inline-flex h-1 w-1 justify-center items-center relative", className)
|
|
584
|
-
}, /* @__PURE__ */ React14.createElement("span", {
|
|
585
|
-
className: "animate-ping-fast absolute inline-flex h-full w-full rounded-full bg-red-600"
|
|
586
|
-
}));
|
|
587
|
-
};
|
|
588
|
-
|
|
589
675
|
// src/layout/layout.tsx
|
|
590
|
-
import
|
|
591
|
-
import
|
|
676
|
+
import cls3 from "classnames";
|
|
677
|
+
import React16 from "react";
|
|
592
678
|
var ThreeColLayout = (props) => {
|
|
593
679
|
const { leftRenderer, middleRenderer, rightRenderer } = props;
|
|
594
|
-
const colCls =
|
|
595
|
-
return /* @__PURE__ */
|
|
680
|
+
const colCls = cls3("max-h-full overflow-auto md:block py-64");
|
|
681
|
+
return /* @__PURE__ */ React16.createElement("div", {
|
|
596
682
|
className: "grid grid-cols-1 xl:grid-cols-3 gap-4 h-full w-full"
|
|
597
|
-
}, /* @__PURE__ */
|
|
598
|
-
className:
|
|
599
|
-
}, leftRenderer && leftRenderer()), /* @__PURE__ */
|
|
600
|
-
className:
|
|
683
|
+
}, /* @__PURE__ */ React16.createElement("div", {
|
|
684
|
+
className: cls3("hidden", colCls)
|
|
685
|
+
}, leftRenderer && leftRenderer()), /* @__PURE__ */ React16.createElement("div", {
|
|
686
|
+
className: cls3(colCls, "sm:px-128 xl:px-0 no-scrollbar", "relative", {
|
|
601
687
|
hidden: !middleRenderer
|
|
602
688
|
})
|
|
603
|
-
}, middleRenderer && middleRenderer()), /* @__PURE__ */
|
|
604
|
-
className:
|
|
689
|
+
}, middleRenderer && middleRenderer()), /* @__PURE__ */ React16.createElement("div", {
|
|
690
|
+
className: cls3("hidden", colCls)
|
|
605
691
|
}, rightRenderer && rightRenderer()));
|
|
606
692
|
};
|
|
607
|
-
|
|
608
|
-
// src/list/list.tsx
|
|
609
|
-
import cls3 from "classnames";
|
|
610
|
-
import React16 from "react";
|
|
611
|
-
var List = (props) => {
|
|
612
|
-
const { items, itemRenderer, className, horizontal, compact } = props;
|
|
613
|
-
const spaceCls = compact ? "" : horizontal ? "mr-3" : "mb-4";
|
|
614
|
-
return /* @__PURE__ */ React16.createElement("ul", {
|
|
615
|
-
className: cls3(className, "list-style-none", {
|
|
616
|
-
flex: horizontal,
|
|
617
|
-
"align-center": horizontal
|
|
618
|
-
})
|
|
619
|
-
}, items.map((item, index) => {
|
|
620
|
-
return /* @__PURE__ */ React16.createElement("li", {
|
|
621
|
-
key: item.id || index,
|
|
622
|
-
className: cls3(spaceCls, "flex-shrink-0")
|
|
623
|
-
}, itemRenderer(item, index));
|
|
624
|
-
}));
|
|
625
|
-
};
|
|
626
|
-
var TitledList = (props) => {
|
|
627
|
-
const _a = props, { title, description } = _a, rest = __objRest(_a, ["title", "description"]);
|
|
628
|
-
if (!title) {
|
|
629
|
-
return /* @__PURE__ */ React16.createElement(List, __spreadValues({}, rest));
|
|
630
|
-
}
|
|
631
|
-
return /* @__PURE__ */ React16.createElement(Article, {
|
|
632
|
-
title,
|
|
633
|
-
description
|
|
634
|
-
}, /* @__PURE__ */ React16.createElement(List, __spreadValues({}, rest)));
|
|
635
|
-
};
|
|
636
|
-
var LinkList = (props) => {
|
|
637
|
-
const _a = props, { title, description, links } = _a, rest = __objRest(_a, ["title", "description", "links"]);
|
|
638
|
-
const renderLink = ({ name, to }) => {
|
|
639
|
-
return /* @__PURE__ */ React16.createElement(Link, {
|
|
640
|
-
to,
|
|
641
|
-
key: name
|
|
642
|
-
}, name);
|
|
643
|
-
};
|
|
644
|
-
return /* @__PURE__ */ React16.createElement(TitledList, __spreadValues({
|
|
645
|
-
title,
|
|
646
|
-
description,
|
|
647
|
-
items: links,
|
|
648
|
-
itemRenderer: renderLink
|
|
649
|
-
}, rest));
|
|
650
|
-
};
|
|
651
693
|
export {
|
|
652
694
|
Article,
|
|
695
|
+
ArticleSkeleton,
|
|
653
696
|
BlinkDot,
|
|
654
697
|
Breadcrumb,
|
|
655
698
|
Button,
|
|
@@ -658,6 +701,7 @@ export {
|
|
|
658
701
|
Link,
|
|
659
702
|
LinkColor,
|
|
660
703
|
LinkList,
|
|
704
|
+
LinkListSkeleton,
|
|
661
705
|
List,
|
|
662
706
|
Logo,
|
|
663
707
|
Nav,
|