@bbki.ng/components 1.5.8 → 1.5.11
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 +34 -10
- package/dist/index.js +135 -67
- package/dist/index.mjs +112 -48
- package/package.json +1 -1
- package/dist/index.css +0 -226
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import React, { EventHandler, ReactElement, CSSProperties, Ref, ReactNode
|
|
1
|
+
import React, { FunctionComponent, EventHandler, ReactElement, CSSProperties, Ref, ReactNode } from 'react';
|
|
2
2
|
import { LinkProps as LinkProps$1 } from 'react-router-dom';
|
|
3
3
|
|
|
4
4
|
declare type ArticleProps = {
|
|
5
|
-
title:
|
|
5
|
+
title: any;
|
|
6
6
|
className?: string;
|
|
7
7
|
content?: any;
|
|
8
8
|
children: any;
|
|
9
|
+
description?: any;
|
|
9
10
|
};
|
|
10
|
-
declare const Article:
|
|
11
|
+
declare const Article: FunctionComponent<ArticleProps>;
|
|
11
12
|
|
|
12
13
|
declare enum ButtonType {
|
|
13
14
|
DANGER = "danger",
|
|
@@ -55,8 +56,9 @@ interface LinkProps extends LinkProps$1 {
|
|
|
55
56
|
color?: LinkColor;
|
|
56
57
|
className?: string;
|
|
57
58
|
external?: boolean;
|
|
59
|
+
name?: any;
|
|
60
|
+
children?: any;
|
|
58
61
|
to: string;
|
|
59
|
-
children: any;
|
|
60
62
|
}
|
|
61
63
|
declare const Link: (props: LinkProps) => JSX.Element;
|
|
62
64
|
|
|
@@ -114,14 +116,25 @@ declare const Table: {
|
|
|
114
116
|
declare enum SkeletonColor {
|
|
115
117
|
BLUE = "blue",
|
|
116
118
|
RED = "red",
|
|
117
|
-
GRAY = "gray"
|
|
119
|
+
GRAY = "gray",
|
|
120
|
+
BLACK = "black"
|
|
118
121
|
}
|
|
119
|
-
|
|
122
|
+
interface SkeletonProps {
|
|
120
123
|
width?: number;
|
|
121
124
|
height?: number;
|
|
122
125
|
bgColor?: SkeletonColor;
|
|
123
|
-
}
|
|
124
|
-
|
|
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;
|
|
125
138
|
|
|
126
139
|
interface ImagePreviewerProps {
|
|
127
140
|
className?: string;
|
|
@@ -167,6 +180,17 @@ interface listProps {
|
|
|
167
180
|
itemRenderer: (itemProps: any, index: number) => ReactElement;
|
|
168
181
|
horizontal?: boolean;
|
|
169
182
|
}
|
|
170
|
-
declare const List: FunctionComponent<listProps>;
|
|
183
|
+
declare const List: FunctionComponent<listProps>;
|
|
184
|
+
interface TitledListProps extends listProps {
|
|
185
|
+
title?: any;
|
|
186
|
+
description?: any;
|
|
187
|
+
}
|
|
188
|
+
declare const TitledList: FunctionComponent<TitledListProps>;
|
|
189
|
+
interface LinkListProps extends Omit<listProps, "itemRenderer" | "items"> {
|
|
190
|
+
title?: string;
|
|
191
|
+
description?: any;
|
|
192
|
+
links: LinkProps[];
|
|
193
|
+
}
|
|
194
|
+
declare const LinkList: (props: LinkListProps) => JSX.Element;
|
|
171
195
|
|
|
172
|
-
export { Article, ArticleProps, BLinkDotProps, BlinkDot, Breadcrumb, BreadcrumbProps, Button, ButtonProps, ButtonType, DropImage, ImageDropProps, ImagePreviewerProps, Link, LinkColor, LinkProps, List, Logo, LogoProps, Nav, NavProps, Page, Panel, PanelProps, PathObj, PopConfirm, PopConfirmProps, Skeleton, SkeletonColor, SkeletonProps, Table, TableProps, Tag, TagProps, Tags, ThreeColLayout, 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,
|
|
@@ -66,6 +67,8 @@ __export(src_exports, {
|
|
|
66
67
|
DropImage: () => DropImage,
|
|
67
68
|
Link: () => Link,
|
|
68
69
|
LinkColor: () => LinkColor,
|
|
70
|
+
LinkList: () => LinkList,
|
|
71
|
+
LinkListSkeleton: () => LinkListSkeleton,
|
|
69
72
|
List: () => List,
|
|
70
73
|
Logo: () => Logo,
|
|
71
74
|
Nav: () => Nav,
|
|
@@ -77,21 +80,24 @@ __export(src_exports, {
|
|
|
77
80
|
Table: () => Table,
|
|
78
81
|
Tag: () => Tag,
|
|
79
82
|
Tags: () => Tags,
|
|
80
|
-
ThreeColLayout: () => ThreeColLayout
|
|
83
|
+
ThreeColLayout: () => ThreeColLayout,
|
|
84
|
+
TitledList: () => TitledList
|
|
81
85
|
});
|
|
82
86
|
|
|
83
87
|
// src/article/Article.tsx
|
|
84
88
|
var import_classnames = __toESM(require("classnames"));
|
|
85
89
|
var import_react = __toESM(require("react"));
|
|
86
90
|
var Article = (props) => {
|
|
87
|
-
const { title, content, children, className } = props;
|
|
91
|
+
const { title, content, children, className, description } = props;
|
|
88
92
|
return /* @__PURE__ */ import_react.default.createElement("div", {
|
|
89
93
|
className: (0, import_classnames.default)("article", className)
|
|
90
94
|
}, /* @__PURE__ */ import_react.default.createElement("div", {
|
|
91
95
|
className: "text-[2.25rem] leading-none"
|
|
92
96
|
}, title), /* @__PURE__ */ import_react.default.createElement("hr", {
|
|
93
97
|
className: "my-64 border-gray-200"
|
|
94
|
-
}), /* @__PURE__ */ import_react.default.createElement("div", {
|
|
98
|
+
}), description && /* @__PURE__ */ import_react.default.createElement("div", {
|
|
99
|
+
className: "mb-128"
|
|
100
|
+
}, description), /* @__PURE__ */ import_react.default.createElement("div", {
|
|
95
101
|
className: "text-gray-700"
|
|
96
102
|
}, children || content));
|
|
97
103
|
};
|
|
@@ -332,31 +338,105 @@ Table.HCell = (props) => /* @__PURE__ */ import_react10.default.createElement("t
|
|
|
332
338
|
Table.Cell = (props) => /* @__PURE__ */ import_react10.default.createElement("td", __spreadValues({}, props), props.children);
|
|
333
339
|
|
|
334
340
|
// src/skeleton/Seleton.tsx
|
|
341
|
+
var import_classnames6 = __toESM(require("classnames"));
|
|
342
|
+
var import_react12 = __toESM(require("react"));
|
|
343
|
+
|
|
344
|
+
// src/list/list.tsx
|
|
335
345
|
var import_classnames5 = __toESM(require("classnames"));
|
|
336
346
|
var import_react11 = __toESM(require("react"));
|
|
347
|
+
var List = (props) => {
|
|
348
|
+
const { items, itemRenderer, className, horizontal, compact } = props;
|
|
349
|
+
const spaceCls = compact ? "" : horizontal ? "mr-3" : "mb-4";
|
|
350
|
+
return /* @__PURE__ */ import_react11.default.createElement("ul", {
|
|
351
|
+
className: (0, import_classnames5.default)(className, "list-style-none", {
|
|
352
|
+
flex: horizontal,
|
|
353
|
+
"align-center": horizontal
|
|
354
|
+
})
|
|
355
|
+
}, items.map((item, index) => {
|
|
356
|
+
return /* @__PURE__ */ import_react11.default.createElement("li", {
|
|
357
|
+
key: item.id || index,
|
|
358
|
+
className: (0, import_classnames5.default)(spaceCls, "flex-shrink-0")
|
|
359
|
+
}, itemRenderer(item, index));
|
|
360
|
+
}));
|
|
361
|
+
};
|
|
362
|
+
var TitledList = (props) => {
|
|
363
|
+
const _a = props, { title, description } = _a, rest = __objRest(_a, ["title", "description"]);
|
|
364
|
+
if (!title) {
|
|
365
|
+
return /* @__PURE__ */ import_react11.default.createElement(List, __spreadValues({}, rest));
|
|
366
|
+
}
|
|
367
|
+
return /* @__PURE__ */ import_react11.default.createElement(Article, {
|
|
368
|
+
title,
|
|
369
|
+
description
|
|
370
|
+
}, /* @__PURE__ */ import_react11.default.createElement(List, __spreadValues({}, rest)));
|
|
371
|
+
};
|
|
372
|
+
var LinkList = (props) => {
|
|
373
|
+
const _a = props, { title, description, links } = _a, rest = __objRest(_a, ["title", "description", "links"]);
|
|
374
|
+
const renderLink = ({ name, to }) => {
|
|
375
|
+
return /* @__PURE__ */ import_react11.default.createElement(Link, {
|
|
376
|
+
to,
|
|
377
|
+
key: name
|
|
378
|
+
}, name);
|
|
379
|
+
};
|
|
380
|
+
return /* @__PURE__ */ import_react11.default.createElement(TitledList, __spreadValues({
|
|
381
|
+
title,
|
|
382
|
+
description,
|
|
383
|
+
items: links,
|
|
384
|
+
itemRenderer: renderLink
|
|
385
|
+
}, rest));
|
|
386
|
+
};
|
|
387
|
+
|
|
388
|
+
// src/skeleton/Seleton.tsx
|
|
337
389
|
var SkeletonColor = /* @__PURE__ */ ((SkeletonColor2) => {
|
|
338
390
|
SkeletonColor2["BLUE"] = "blue";
|
|
339
391
|
SkeletonColor2["RED"] = "red";
|
|
340
392
|
SkeletonColor2["GRAY"] = "gray";
|
|
393
|
+
SkeletonColor2["BLACK"] = "black";
|
|
341
394
|
return SkeletonColor2;
|
|
342
395
|
})(SkeletonColor || {});
|
|
343
396
|
var COLOR_MAPPING2 = {
|
|
344
397
|
["blue" /* BLUE */]: "bg-blue-100",
|
|
345
398
|
["red" /* RED */]: "bg-red-100",
|
|
346
|
-
["gray" /* GRAY */]: "bg-gray-100"
|
|
399
|
+
["gray" /* GRAY */]: "bg-gray-100",
|
|
400
|
+
["black" /* BLACK */]: "bg-gray-200"
|
|
347
401
|
};
|
|
348
402
|
var Skeleton = (props) => {
|
|
349
403
|
const { bgColor = "gray" /* GRAY */, width = 26, height = 24 } = props;
|
|
350
|
-
return /* @__PURE__ */
|
|
351
|
-
className: (0,
|
|
404
|
+
return /* @__PURE__ */ import_react12.default.createElement("div", {
|
|
405
|
+
className: (0, import_classnames6.default)(COLOR_MAPPING2[bgColor], "animate-pulse", "rounded"),
|
|
352
406
|
style: { width, height }
|
|
353
407
|
});
|
|
354
408
|
};
|
|
409
|
+
var ArticleSkeleton = (props) => {
|
|
410
|
+
const { children, titleLength, descriptionLength } = props;
|
|
411
|
+
return /* @__PURE__ */ import_react12.default.createElement(Article, {
|
|
412
|
+
title: /* @__PURE__ */ import_react12.default.createElement(Skeleton, {
|
|
413
|
+
width: 36 * titleLength,
|
|
414
|
+
height: 36,
|
|
415
|
+
bgColor: "black" /* BLACK */
|
|
416
|
+
}),
|
|
417
|
+
description: descriptionLength && /* @__PURE__ */ import_react12.default.createElement(Skeleton, {
|
|
418
|
+
width: 16 * descriptionLength
|
|
419
|
+
})
|
|
420
|
+
}, children);
|
|
421
|
+
};
|
|
422
|
+
var LinkListSkeleton = (props) => {
|
|
423
|
+
const _a = props, { linksLength } = _a, rest = __objRest(_a, ["linksLength"]);
|
|
424
|
+
const renderSkeleton = (length) => {
|
|
425
|
+
return /* @__PURE__ */ import_react12.default.createElement(Skeleton, {
|
|
426
|
+
width: length * 16,
|
|
427
|
+
bgColor: "blue" /* BLUE */
|
|
428
|
+
});
|
|
429
|
+
};
|
|
430
|
+
return /* @__PURE__ */ import_react12.default.createElement(ArticleSkeleton, __spreadValues({}, rest), /* @__PURE__ */ import_react12.default.createElement(List, {
|
|
431
|
+
items: linksLength,
|
|
432
|
+
itemRenderer: renderSkeleton
|
|
433
|
+
}));
|
|
434
|
+
};
|
|
355
435
|
|
|
356
436
|
// src/drop-image/DropImage.tsx
|
|
357
|
-
var
|
|
358
|
-
var
|
|
359
|
-
var
|
|
437
|
+
var import_classnames7 = __toESM(require("classnames"));
|
|
438
|
+
var import_react14 = __toESM(require("react"));
|
|
439
|
+
var import_react15 = require("react");
|
|
360
440
|
|
|
361
441
|
// src/drop-image/utils.ts
|
|
362
442
|
var wait = (d) => new Promise((r) => setTimeout(r, d));
|
|
@@ -364,12 +444,12 @@ var noop = () => {
|
|
|
364
444
|
};
|
|
365
445
|
|
|
366
446
|
// src/drop-image/useDropImage.ts
|
|
367
|
-
var
|
|
447
|
+
var import_react13 = require("react");
|
|
368
448
|
var useDropImage = (params) => {
|
|
369
|
-
const [isDragOver, setIsDragOver] = (0,
|
|
370
|
-
const [imageSrc, setImageSrc] = (0,
|
|
371
|
-
const [imageSize, setImageSize] = (0,
|
|
372
|
-
const imageFile = (0,
|
|
449
|
+
const [isDragOver, setIsDragOver] = (0, import_react13.useState)(false);
|
|
450
|
+
const [imageSrc, setImageSrc] = (0, import_react13.useState)("");
|
|
451
|
+
const [imageSize, setImageSize] = (0, import_react13.useState)({ width: 0, height: 0 });
|
|
452
|
+
const imageFile = (0, import_react13.useRef)(null);
|
|
373
453
|
const {
|
|
374
454
|
portraitImageWidth = 384,
|
|
375
455
|
landscapeImageWidth = 500,
|
|
@@ -401,18 +481,21 @@ var useDropImage = (params) => {
|
|
|
401
481
|
setImageSrc("");
|
|
402
482
|
}
|
|
403
483
|
};
|
|
404
|
-
const handleDragOver = (0,
|
|
484
|
+
const handleDragOver = (0, import_react13.useCallback)((ev) => {
|
|
405
485
|
ev.preventDefault();
|
|
406
486
|
setIsDragOver(true);
|
|
407
487
|
ev.dataTransfer.dropEffect = "move";
|
|
408
488
|
}, []);
|
|
409
|
-
const handleDragLeave = (0,
|
|
489
|
+
const handleDragLeave = (0, import_react13.useCallback)(() => {
|
|
410
490
|
setIsDragOver(false);
|
|
411
491
|
}, []);
|
|
412
|
-
const handleDrop = (0,
|
|
492
|
+
const handleDrop = (0, import_react13.useCallback)((ev) => {
|
|
413
493
|
ev.preventDefault();
|
|
414
494
|
setIsDragOver(false);
|
|
415
495
|
const file = ev.dataTransfer.files[0];
|
|
496
|
+
if (!file || !file.type.startsWith("image")) {
|
|
497
|
+
return;
|
|
498
|
+
}
|
|
416
499
|
imageFile.current = file;
|
|
417
500
|
setPreviewImageSrcByFile(file);
|
|
418
501
|
onDrop(ev, file);
|
|
@@ -439,7 +522,7 @@ var useDropImage = (params) => {
|
|
|
439
522
|
}
|
|
440
523
|
img.onload = updateFunc;
|
|
441
524
|
};
|
|
442
|
-
const imageRef = (0,
|
|
525
|
+
const imageRef = (0, import_react13.useCallback)((input) => {
|
|
443
526
|
if (!input) {
|
|
444
527
|
return;
|
|
445
528
|
}
|
|
@@ -466,8 +549,8 @@ var ImagePreviewer = (props) => {
|
|
|
466
549
|
imageSrc,
|
|
467
550
|
className
|
|
468
551
|
} = props;
|
|
469
|
-
return /* @__PURE__ */
|
|
470
|
-
className: (0,
|
|
552
|
+
return /* @__PURE__ */ import_react14.default.createElement("img", {
|
|
553
|
+
className: (0, import_classnames7.default)(className, "max-w-[100%]", "h-[auto]", "duration-300", "transition-opacity", "opacity-100", {
|
|
471
554
|
"opacity-0": !showImagePreviewer,
|
|
472
555
|
"!m-0": !showImagePreviewer,
|
|
473
556
|
"!p-0": !showImagePreviewer
|
|
@@ -488,9 +571,9 @@ var GhostDropImage = (props) => {
|
|
|
488
571
|
children,
|
|
489
572
|
placeholder
|
|
490
573
|
} = props;
|
|
491
|
-
const [coverVisible, setCoverVisible] = (0,
|
|
492
|
-
const [imageVisible, setImageVisible] = (0,
|
|
493
|
-
const handleDocDragEnter = (0,
|
|
574
|
+
const [coverVisible, setCoverVisible] = (0, import_react15.useState)(false);
|
|
575
|
+
const [imageVisible, setImageVisible] = (0, import_react15.useState)(false);
|
|
576
|
+
const handleDocDragEnter = (0, import_react14.useCallback)(() => {
|
|
494
577
|
setCoverVisible(true);
|
|
495
578
|
}, []);
|
|
496
579
|
const {
|
|
@@ -515,19 +598,19 @@ var GhostDropImage = (props) => {
|
|
|
515
598
|
reset();
|
|
516
599
|
}
|
|
517
600
|
});
|
|
518
|
-
(0,
|
|
601
|
+
(0, import_react14.useEffect)(() => {
|
|
519
602
|
document.addEventListener("dragenter", handleDocDragEnter);
|
|
520
603
|
return () => {
|
|
521
604
|
document.removeEventListener("dragenter", handleDocDragEnter);
|
|
522
605
|
};
|
|
523
606
|
}, []);
|
|
524
|
-
const coverCls = (0,
|
|
607
|
+
const coverCls = (0, import_classnames7.default)("fixed", "top-0", "left-0", "h-full", "w-full", {
|
|
525
608
|
"lqip-blur": coverVisible,
|
|
526
609
|
"z-[999]": coverVisible,
|
|
527
610
|
block: coverVisible,
|
|
528
611
|
hidden: !coverVisible
|
|
529
612
|
});
|
|
530
|
-
return /* @__PURE__ */
|
|
613
|
+
return /* @__PURE__ */ import_react14.default.createElement(import_react14.default.Fragment, null, /* @__PURE__ */ import_react14.default.createElement("div", {
|
|
531
614
|
className: coverCls,
|
|
532
615
|
onDragLeave: () => {
|
|
533
616
|
handleDragLeave();
|
|
@@ -540,7 +623,7 @@ var GhostDropImage = (props) => {
|
|
|
540
623
|
imageRef,
|
|
541
624
|
imageSize,
|
|
542
625
|
imageSrc
|
|
543
|
-
}) : /* @__PURE__ */
|
|
626
|
+
}) : /* @__PURE__ */ import_react14.default.createElement(ImagePreviewer, {
|
|
544
627
|
className,
|
|
545
628
|
visible: imageVisible,
|
|
546
629
|
imageRef,
|
|
@@ -566,9 +649,9 @@ var DropImage = (props) => {
|
|
|
566
649
|
}
|
|
567
650
|
} = props;
|
|
568
651
|
if (ghost) {
|
|
569
|
-
return /* @__PURE__ */
|
|
652
|
+
return /* @__PURE__ */ import_react14.default.createElement(GhostDropImage, __spreadValues({}, props));
|
|
570
653
|
}
|
|
571
|
-
const [showImagePreviewer, setShowImagePreviewer] = (0,
|
|
654
|
+
const [showImagePreviewer, setShowImagePreviewer] = (0, import_react15.useState)(false);
|
|
572
655
|
const {
|
|
573
656
|
handleDragLeave,
|
|
574
657
|
handleDragOver,
|
|
@@ -597,8 +680,8 @@ var DropImage = (props) => {
|
|
|
597
680
|
height: imageSize.height || dropAreaStyle.height
|
|
598
681
|
});
|
|
599
682
|
};
|
|
600
|
-
return /* @__PURE__ */
|
|
601
|
-
className: (0,
|
|
683
|
+
return /* @__PURE__ */ import_react14.default.createElement("div", {
|
|
684
|
+
className: (0, import_classnames7.default)(className, "transition-all items-center justify-center flex duration-200 ease-in-out", {
|
|
602
685
|
"shadow-input": !imageSrc,
|
|
603
686
|
"shadow-empty": imageSrc
|
|
604
687
|
}),
|
|
@@ -611,7 +694,7 @@ var DropImage = (props) => {
|
|
|
611
694
|
imageRef,
|
|
612
695
|
imageSize,
|
|
613
696
|
imageSrc
|
|
614
|
-
}) : /* @__PURE__ */
|
|
697
|
+
}) : /* @__PURE__ */ import_react14.default.createElement(ImagePreviewer, {
|
|
615
698
|
visible: showImagePreviewer,
|
|
616
699
|
imageRef,
|
|
617
700
|
imageSrc,
|
|
@@ -620,58 +703,40 @@ var DropImage = (props) => {
|
|
|
620
703
|
};
|
|
621
704
|
|
|
622
705
|
// src/blink-dot/BlinkDot.tsx
|
|
623
|
-
var
|
|
624
|
-
var
|
|
706
|
+
var import_classnames8 = __toESM(require("classnames"));
|
|
707
|
+
var import_react16 = __toESM(require("react"));
|
|
625
708
|
var BlinkDot = (props) => {
|
|
626
709
|
const { className } = props;
|
|
627
|
-
return /* @__PURE__ */
|
|
628
|
-
className: (0,
|
|
629
|
-
}, /* @__PURE__ */
|
|
710
|
+
return /* @__PURE__ */ import_react16.default.createElement("span", {
|
|
711
|
+
className: (0, import_classnames8.default)("inline-flex h-1 w-1 justify-center items-center relative", className)
|
|
712
|
+
}, /* @__PURE__ */ import_react16.default.createElement("span", {
|
|
630
713
|
className: "animate-ping-fast absolute inline-flex h-full w-full rounded-full bg-red-600"
|
|
631
714
|
}));
|
|
632
715
|
};
|
|
633
716
|
|
|
634
717
|
// src/layout/layout.tsx
|
|
635
|
-
var
|
|
636
|
-
var
|
|
718
|
+
var import_classnames9 = __toESM(require("classnames"));
|
|
719
|
+
var import_react17 = __toESM(require("react"));
|
|
637
720
|
var ThreeColLayout = (props) => {
|
|
638
721
|
const { leftRenderer, middleRenderer, rightRenderer } = props;
|
|
639
|
-
const colCls = (0,
|
|
640
|
-
return /* @__PURE__ */
|
|
722
|
+
const colCls = (0, import_classnames9.default)("max-h-full overflow-auto md:block py-64");
|
|
723
|
+
return /* @__PURE__ */ import_react17.default.createElement("div", {
|
|
641
724
|
className: "grid grid-cols-1 xl:grid-cols-3 gap-4 h-full w-full"
|
|
642
|
-
}, /* @__PURE__ */
|
|
643
|
-
className: (0,
|
|
644
|
-
}, leftRenderer && leftRenderer()), /* @__PURE__ */
|
|
645
|
-
className: (0,
|
|
725
|
+
}, /* @__PURE__ */ import_react17.default.createElement("div", {
|
|
726
|
+
className: (0, import_classnames9.default)("hidden", colCls)
|
|
727
|
+
}, leftRenderer && leftRenderer()), /* @__PURE__ */ import_react17.default.createElement("div", {
|
|
728
|
+
className: (0, import_classnames9.default)(colCls, "sm:px-128 xl:px-0 no-scrollbar", "relative", {
|
|
646
729
|
hidden: !middleRenderer
|
|
647
730
|
})
|
|
648
|
-
}, middleRenderer && middleRenderer()), /* @__PURE__ */
|
|
649
|
-
className: (0,
|
|
731
|
+
}, middleRenderer && middleRenderer()), /* @__PURE__ */ import_react17.default.createElement("div", {
|
|
732
|
+
className: (0, import_classnames9.default)("hidden", colCls)
|
|
650
733
|
}, rightRenderer && rightRenderer()));
|
|
651
734
|
};
|
|
652
|
-
|
|
653
|
-
// src/list/list.tsx
|
|
654
|
-
var import_classnames9 = __toESM(require("classnames"));
|
|
655
|
-
var import_react17 = __toESM(require("react"));
|
|
656
|
-
var List = (props) => {
|
|
657
|
-
const { items, itemRenderer, className, horizontal, compact } = props;
|
|
658
|
-
const spaceCls = compact ? "" : horizontal ? "mr-3" : "mb-4";
|
|
659
|
-
return /* @__PURE__ */ import_react17.default.createElement("ul", {
|
|
660
|
-
className: (0, import_classnames9.default)(className, "list-style-none", {
|
|
661
|
-
flex: horizontal,
|
|
662
|
-
"align-center": horizontal
|
|
663
|
-
})
|
|
664
|
-
}, items.map((item, index) => {
|
|
665
|
-
return /* @__PURE__ */ import_react17.default.createElement("li", {
|
|
666
|
-
key: item.id || index,
|
|
667
|
-
className: (0, import_classnames9.default)(spaceCls, "flex-shrink-0")
|
|
668
|
-
}, itemRenderer(item, index));
|
|
669
|
-
}));
|
|
670
|
-
};
|
|
671
735
|
module.exports = __toCommonJS(src_exports);
|
|
672
736
|
// Annotate the CommonJS export names for ESM import in node:
|
|
673
737
|
0 && (module.exports = {
|
|
674
738
|
Article,
|
|
739
|
+
ArticleSkeleton,
|
|
675
740
|
BlinkDot,
|
|
676
741
|
Breadcrumb,
|
|
677
742
|
Button,
|
|
@@ -679,6 +744,8 @@ module.exports = __toCommonJS(src_exports);
|
|
|
679
744
|
DropImage,
|
|
680
745
|
Link,
|
|
681
746
|
LinkColor,
|
|
747
|
+
LinkList,
|
|
748
|
+
LinkListSkeleton,
|
|
682
749
|
List,
|
|
683
750
|
Logo,
|
|
684
751
|
Nav,
|
|
@@ -690,5 +757,6 @@ module.exports = __toCommonJS(src_exports);
|
|
|
690
757
|
Table,
|
|
691
758
|
Tag,
|
|
692
759
|
Tags,
|
|
693
|
-
ThreeColLayout
|
|
760
|
+
ThreeColLayout,
|
|
761
|
+
TitledList
|
|
694
762
|
});
|
package/dist/index.mjs
CHANGED
|
@@ -34,14 +34,16 @@ var __objRest = (source, exclude) => {
|
|
|
34
34
|
import classNames from "classnames";
|
|
35
35
|
import React from "react";
|
|
36
36
|
var Article = (props) => {
|
|
37
|
-
const { title, content, children, className } = props;
|
|
37
|
+
const { title, content, children, className, description } = props;
|
|
38
38
|
return /* @__PURE__ */ React.createElement("div", {
|
|
39
39
|
className: classNames("article", className)
|
|
40
40
|
}, /* @__PURE__ */ React.createElement("div", {
|
|
41
41
|
className: "text-[2.25rem] leading-none"
|
|
42
42
|
}, title), /* @__PURE__ */ React.createElement("hr", {
|
|
43
43
|
className: "my-64 border-gray-200"
|
|
44
|
-
}), /* @__PURE__ */ React.createElement("div", {
|
|
44
|
+
}), description && /* @__PURE__ */ React.createElement("div", {
|
|
45
|
+
className: "mb-128"
|
|
46
|
+
}, description), /* @__PURE__ */ React.createElement("div", {
|
|
45
47
|
className: "text-gray-700"
|
|
46
48
|
}, children || content));
|
|
47
49
|
};
|
|
@@ -283,29 +285,103 @@ Table.Cell = (props) => /* @__PURE__ */ React11.createElement("td", __spreadValu
|
|
|
283
285
|
|
|
284
286
|
// src/skeleton/Seleton.tsx
|
|
285
287
|
import classNames5 from "classnames";
|
|
288
|
+
import React13 from "react";
|
|
289
|
+
|
|
290
|
+
// src/list/list.tsx
|
|
291
|
+
import cls from "classnames";
|
|
286
292
|
import React12 from "react";
|
|
293
|
+
var List = (props) => {
|
|
294
|
+
const { items, itemRenderer, className, horizontal, compact } = props;
|
|
295
|
+
const spaceCls = compact ? "" : horizontal ? "mr-3" : "mb-4";
|
|
296
|
+
return /* @__PURE__ */ React12.createElement("ul", {
|
|
297
|
+
className: cls(className, "list-style-none", {
|
|
298
|
+
flex: horizontal,
|
|
299
|
+
"align-center": horizontal
|
|
300
|
+
})
|
|
301
|
+
}, items.map((item, index) => {
|
|
302
|
+
return /* @__PURE__ */ React12.createElement("li", {
|
|
303
|
+
key: item.id || index,
|
|
304
|
+
className: cls(spaceCls, "flex-shrink-0")
|
|
305
|
+
}, itemRenderer(item, index));
|
|
306
|
+
}));
|
|
307
|
+
};
|
|
308
|
+
var TitledList = (props) => {
|
|
309
|
+
const _a = props, { title, description } = _a, rest = __objRest(_a, ["title", "description"]);
|
|
310
|
+
if (!title) {
|
|
311
|
+
return /* @__PURE__ */ React12.createElement(List, __spreadValues({}, rest));
|
|
312
|
+
}
|
|
313
|
+
return /* @__PURE__ */ React12.createElement(Article, {
|
|
314
|
+
title,
|
|
315
|
+
description
|
|
316
|
+
}, /* @__PURE__ */ React12.createElement(List, __spreadValues({}, rest)));
|
|
317
|
+
};
|
|
318
|
+
var LinkList = (props) => {
|
|
319
|
+
const _a = props, { title, description, links } = _a, rest = __objRest(_a, ["title", "description", "links"]);
|
|
320
|
+
const renderLink = ({ name, to }) => {
|
|
321
|
+
return /* @__PURE__ */ React12.createElement(Link, {
|
|
322
|
+
to,
|
|
323
|
+
key: name
|
|
324
|
+
}, name);
|
|
325
|
+
};
|
|
326
|
+
return /* @__PURE__ */ React12.createElement(TitledList, __spreadValues({
|
|
327
|
+
title,
|
|
328
|
+
description,
|
|
329
|
+
items: links,
|
|
330
|
+
itemRenderer: renderLink
|
|
331
|
+
}, rest));
|
|
332
|
+
};
|
|
333
|
+
|
|
334
|
+
// src/skeleton/Seleton.tsx
|
|
287
335
|
var SkeletonColor = /* @__PURE__ */ ((SkeletonColor2) => {
|
|
288
336
|
SkeletonColor2["BLUE"] = "blue";
|
|
289
337
|
SkeletonColor2["RED"] = "red";
|
|
290
338
|
SkeletonColor2["GRAY"] = "gray";
|
|
339
|
+
SkeletonColor2["BLACK"] = "black";
|
|
291
340
|
return SkeletonColor2;
|
|
292
341
|
})(SkeletonColor || {});
|
|
293
342
|
var COLOR_MAPPING2 = {
|
|
294
343
|
["blue" /* BLUE */]: "bg-blue-100",
|
|
295
344
|
["red" /* RED */]: "bg-red-100",
|
|
296
|
-
["gray" /* GRAY */]: "bg-gray-100"
|
|
345
|
+
["gray" /* GRAY */]: "bg-gray-100",
|
|
346
|
+
["black" /* BLACK */]: "bg-gray-200"
|
|
297
347
|
};
|
|
298
348
|
var Skeleton = (props) => {
|
|
299
349
|
const { bgColor = "gray" /* GRAY */, width = 26, height = 24 } = props;
|
|
300
|
-
return /* @__PURE__ */
|
|
350
|
+
return /* @__PURE__ */ React13.createElement("div", {
|
|
301
351
|
className: classNames5(COLOR_MAPPING2[bgColor], "animate-pulse", "rounded"),
|
|
302
352
|
style: { width, height }
|
|
303
353
|
});
|
|
304
354
|
};
|
|
355
|
+
var ArticleSkeleton = (props) => {
|
|
356
|
+
const { children, titleLength, descriptionLength } = props;
|
|
357
|
+
return /* @__PURE__ */ React13.createElement(Article, {
|
|
358
|
+
title: /* @__PURE__ */ React13.createElement(Skeleton, {
|
|
359
|
+
width: 36 * titleLength,
|
|
360
|
+
height: 36,
|
|
361
|
+
bgColor: "black" /* BLACK */
|
|
362
|
+
}),
|
|
363
|
+
description: descriptionLength && /* @__PURE__ */ React13.createElement(Skeleton, {
|
|
364
|
+
width: 16 * descriptionLength
|
|
365
|
+
})
|
|
366
|
+
}, children);
|
|
367
|
+
};
|
|
368
|
+
var LinkListSkeleton = (props) => {
|
|
369
|
+
const _a = props, { linksLength } = _a, rest = __objRest(_a, ["linksLength"]);
|
|
370
|
+
const renderSkeleton = (length) => {
|
|
371
|
+
return /* @__PURE__ */ React13.createElement(Skeleton, {
|
|
372
|
+
width: length * 16,
|
|
373
|
+
bgColor: "blue" /* BLUE */
|
|
374
|
+
});
|
|
375
|
+
};
|
|
376
|
+
return /* @__PURE__ */ React13.createElement(ArticleSkeleton, __spreadValues({}, rest), /* @__PURE__ */ React13.createElement(List, {
|
|
377
|
+
items: linksLength,
|
|
378
|
+
itemRenderer: renderSkeleton
|
|
379
|
+
}));
|
|
380
|
+
};
|
|
305
381
|
|
|
306
382
|
// src/drop-image/DropImage.tsx
|
|
307
|
-
import
|
|
308
|
-
import
|
|
383
|
+
import cls2 from "classnames";
|
|
384
|
+
import React14, {
|
|
309
385
|
useEffect as useEffect2,
|
|
310
386
|
useCallback as useCallback2
|
|
311
387
|
} from "react";
|
|
@@ -366,6 +442,9 @@ var useDropImage = (params) => {
|
|
|
366
442
|
ev.preventDefault();
|
|
367
443
|
setIsDragOver(false);
|
|
368
444
|
const file = ev.dataTransfer.files[0];
|
|
445
|
+
if (!file || !file.type.startsWith("image")) {
|
|
446
|
+
return;
|
|
447
|
+
}
|
|
369
448
|
imageFile.current = file;
|
|
370
449
|
setPreviewImageSrcByFile(file);
|
|
371
450
|
onDrop(ev, file);
|
|
@@ -419,8 +498,8 @@ var ImagePreviewer = (props) => {
|
|
|
419
498
|
imageSrc,
|
|
420
499
|
className
|
|
421
500
|
} = props;
|
|
422
|
-
return /* @__PURE__ */
|
|
423
|
-
className:
|
|
501
|
+
return /* @__PURE__ */ React14.createElement("img", {
|
|
502
|
+
className: cls2(className, "max-w-[100%]", "h-[auto]", "duration-300", "transition-opacity", "opacity-100", {
|
|
424
503
|
"opacity-0": !showImagePreviewer,
|
|
425
504
|
"!m-0": !showImagePreviewer,
|
|
426
505
|
"!p-0": !showImagePreviewer
|
|
@@ -474,13 +553,13 @@ var GhostDropImage = (props) => {
|
|
|
474
553
|
document.removeEventListener("dragenter", handleDocDragEnter);
|
|
475
554
|
};
|
|
476
555
|
}, []);
|
|
477
|
-
const coverCls =
|
|
556
|
+
const coverCls = cls2("fixed", "top-0", "left-0", "h-full", "w-full", {
|
|
478
557
|
"lqip-blur": coverVisible,
|
|
479
558
|
"z-[999]": coverVisible,
|
|
480
559
|
block: coverVisible,
|
|
481
560
|
hidden: !coverVisible
|
|
482
561
|
});
|
|
483
|
-
return /* @__PURE__ */
|
|
562
|
+
return /* @__PURE__ */ React14.createElement(React14.Fragment, null, /* @__PURE__ */ React14.createElement("div", {
|
|
484
563
|
className: coverCls,
|
|
485
564
|
onDragLeave: () => {
|
|
486
565
|
handleDragLeave();
|
|
@@ -493,7 +572,7 @@ var GhostDropImage = (props) => {
|
|
|
493
572
|
imageRef,
|
|
494
573
|
imageSize,
|
|
495
574
|
imageSrc
|
|
496
|
-
}) : /* @__PURE__ */
|
|
575
|
+
}) : /* @__PURE__ */ React14.createElement(ImagePreviewer, {
|
|
497
576
|
className,
|
|
498
577
|
visible: imageVisible,
|
|
499
578
|
imageRef,
|
|
@@ -519,7 +598,7 @@ var DropImage = (props) => {
|
|
|
519
598
|
}
|
|
520
599
|
} = props;
|
|
521
600
|
if (ghost) {
|
|
522
|
-
return /* @__PURE__ */
|
|
601
|
+
return /* @__PURE__ */ React14.createElement(GhostDropImage, __spreadValues({}, props));
|
|
523
602
|
}
|
|
524
603
|
const [showImagePreviewer, setShowImagePreviewer] = useState3(false);
|
|
525
604
|
const {
|
|
@@ -550,8 +629,8 @@ var DropImage = (props) => {
|
|
|
550
629
|
height: imageSize.height || dropAreaStyle.height
|
|
551
630
|
});
|
|
552
631
|
};
|
|
553
|
-
return /* @__PURE__ */
|
|
554
|
-
className:
|
|
632
|
+
return /* @__PURE__ */ React14.createElement("div", {
|
|
633
|
+
className: cls2(className, "transition-all items-center justify-center flex duration-200 ease-in-out", {
|
|
555
634
|
"shadow-input": !imageSrc,
|
|
556
635
|
"shadow-empty": imageSrc
|
|
557
636
|
}),
|
|
@@ -564,7 +643,7 @@ var DropImage = (props) => {
|
|
|
564
643
|
imageRef,
|
|
565
644
|
imageSize,
|
|
566
645
|
imageSrc
|
|
567
|
-
}) : /* @__PURE__ */
|
|
646
|
+
}) : /* @__PURE__ */ React14.createElement(ImagePreviewer, {
|
|
568
647
|
visible: showImagePreviewer,
|
|
569
648
|
imageRef,
|
|
570
649
|
imageSrc,
|
|
@@ -574,55 +653,37 @@ var DropImage = (props) => {
|
|
|
574
653
|
|
|
575
654
|
// src/blink-dot/BlinkDot.tsx
|
|
576
655
|
import classNames6 from "classnames";
|
|
577
|
-
import
|
|
656
|
+
import React15 from "react";
|
|
578
657
|
var BlinkDot = (props) => {
|
|
579
658
|
const { className } = props;
|
|
580
|
-
return /* @__PURE__ */
|
|
659
|
+
return /* @__PURE__ */ React15.createElement("span", {
|
|
581
660
|
className: classNames6("inline-flex h-1 w-1 justify-center items-center relative", className)
|
|
582
|
-
}, /* @__PURE__ */
|
|
661
|
+
}, /* @__PURE__ */ React15.createElement("span", {
|
|
583
662
|
className: "animate-ping-fast absolute inline-flex h-full w-full rounded-full bg-red-600"
|
|
584
663
|
}));
|
|
585
664
|
};
|
|
586
665
|
|
|
587
666
|
// src/layout/layout.tsx
|
|
588
|
-
import
|
|
589
|
-
import
|
|
667
|
+
import cls3 from "classnames";
|
|
668
|
+
import React16 from "react";
|
|
590
669
|
var ThreeColLayout = (props) => {
|
|
591
670
|
const { leftRenderer, middleRenderer, rightRenderer } = props;
|
|
592
|
-
const colCls =
|
|
593
|
-
return /* @__PURE__ */
|
|
671
|
+
const colCls = cls3("max-h-full overflow-auto md:block py-64");
|
|
672
|
+
return /* @__PURE__ */ React16.createElement("div", {
|
|
594
673
|
className: "grid grid-cols-1 xl:grid-cols-3 gap-4 h-full w-full"
|
|
595
|
-
}, /* @__PURE__ */
|
|
596
|
-
className:
|
|
597
|
-
}, leftRenderer && leftRenderer()), /* @__PURE__ */
|
|
598
|
-
className:
|
|
674
|
+
}, /* @__PURE__ */ React16.createElement("div", {
|
|
675
|
+
className: cls3("hidden", colCls)
|
|
676
|
+
}, leftRenderer && leftRenderer()), /* @__PURE__ */ React16.createElement("div", {
|
|
677
|
+
className: cls3(colCls, "sm:px-128 xl:px-0 no-scrollbar", "relative", {
|
|
599
678
|
hidden: !middleRenderer
|
|
600
679
|
})
|
|
601
|
-
}, middleRenderer && middleRenderer()), /* @__PURE__ */
|
|
602
|
-
className:
|
|
680
|
+
}, middleRenderer && middleRenderer()), /* @__PURE__ */ React16.createElement("div", {
|
|
681
|
+
className: cls3("hidden", colCls)
|
|
603
682
|
}, rightRenderer && rightRenderer()));
|
|
604
683
|
};
|
|
605
|
-
|
|
606
|
-
// src/list/list.tsx
|
|
607
|
-
import cls3 from "classnames";
|
|
608
|
-
import React16 from "react";
|
|
609
|
-
var List = (props) => {
|
|
610
|
-
const { items, itemRenderer, className, horizontal, compact } = props;
|
|
611
|
-
const spaceCls = compact ? "" : horizontal ? "mr-3" : "mb-4";
|
|
612
|
-
return /* @__PURE__ */ React16.createElement("ul", {
|
|
613
|
-
className: cls3(className, "list-style-none", {
|
|
614
|
-
flex: horizontal,
|
|
615
|
-
"align-center": horizontal
|
|
616
|
-
})
|
|
617
|
-
}, items.map((item, index) => {
|
|
618
|
-
return /* @__PURE__ */ React16.createElement("li", {
|
|
619
|
-
key: item.id || index,
|
|
620
|
-
className: cls3(spaceCls, "flex-shrink-0")
|
|
621
|
-
}, itemRenderer(item, index));
|
|
622
|
-
}));
|
|
623
|
-
};
|
|
624
684
|
export {
|
|
625
685
|
Article,
|
|
686
|
+
ArticleSkeleton,
|
|
626
687
|
BlinkDot,
|
|
627
688
|
Breadcrumb,
|
|
628
689
|
Button,
|
|
@@ -630,6 +691,8 @@ export {
|
|
|
630
691
|
DropImage,
|
|
631
692
|
Link,
|
|
632
693
|
LinkColor,
|
|
694
|
+
LinkList,
|
|
695
|
+
LinkListSkeleton,
|
|
633
696
|
List,
|
|
634
697
|
Logo,
|
|
635
698
|
Nav,
|
|
@@ -641,5 +704,6 @@ export {
|
|
|
641
704
|
Table,
|
|
642
705
|
Tag,
|
|
643
706
|
Tags,
|
|
644
|
-
ThreeColLayout
|
|
707
|
+
ThreeColLayout,
|
|
708
|
+
TitledList
|
|
645
709
|
};
|
package/package.json
CHANGED
package/dist/index.css
DELETED
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
/* src/main.css */
|
|
2
|
-
*,
|
|
3
|
-
::before,
|
|
4
|
-
::after {
|
|
5
|
-
box-sizing: border-box;
|
|
6
|
-
border-width: 0;
|
|
7
|
-
border-style: solid;
|
|
8
|
-
border-color: currentColor;
|
|
9
|
-
}
|
|
10
|
-
::before,
|
|
11
|
-
::after {
|
|
12
|
-
--tw-content: "";
|
|
13
|
-
}
|
|
14
|
-
html {
|
|
15
|
-
line-height: 1.5;
|
|
16
|
-
-webkit-text-size-adjust: 100%;
|
|
17
|
-
-moz-tab-size: 4;
|
|
18
|
-
-o-tab-size: 4;
|
|
19
|
-
tab-size: 4;
|
|
20
|
-
font-family:
|
|
21
|
-
pt-sans,
|
|
22
|
-
ui-sans-serif,
|
|
23
|
-
system-ui,
|
|
24
|
-
-apple-system,
|
|
25
|
-
BlinkMacSystemFont,
|
|
26
|
-
Segoe UI,
|
|
27
|
-
Roboto,
|
|
28
|
-
Helvetica Neue,
|
|
29
|
-
Arial,
|
|
30
|
-
Noto Sans,
|
|
31
|
-
sans-serif,
|
|
32
|
-
Apple Color Emoji,
|
|
33
|
-
Segoe UI Emoji,
|
|
34
|
-
Segoe UI Symbol,
|
|
35
|
-
Noto Color Emoji;
|
|
36
|
-
}
|
|
37
|
-
body {
|
|
38
|
-
margin: 0;
|
|
39
|
-
line-height: inherit;
|
|
40
|
-
}
|
|
41
|
-
hr {
|
|
42
|
-
height: 0;
|
|
43
|
-
color: inherit;
|
|
44
|
-
border-top-width: 1px;
|
|
45
|
-
}
|
|
46
|
-
abbr[title] {
|
|
47
|
-
-webkit-text-decoration: underline dotted;
|
|
48
|
-
text-decoration: underline dotted;
|
|
49
|
-
}
|
|
50
|
-
h1,
|
|
51
|
-
h2,
|
|
52
|
-
h3,
|
|
53
|
-
h4,
|
|
54
|
-
h5,
|
|
55
|
-
h6 {
|
|
56
|
-
font-size: inherit;
|
|
57
|
-
font-weight: inherit;
|
|
58
|
-
}
|
|
59
|
-
a {
|
|
60
|
-
color: inherit;
|
|
61
|
-
text-decoration: inherit;
|
|
62
|
-
}
|
|
63
|
-
b,
|
|
64
|
-
strong {
|
|
65
|
-
font-weight: bolder;
|
|
66
|
-
}
|
|
67
|
-
code,
|
|
68
|
-
kbd,
|
|
69
|
-
samp,
|
|
70
|
-
pre {
|
|
71
|
-
font-family:
|
|
72
|
-
ui-monospace,
|
|
73
|
-
SFMono-Regular,
|
|
74
|
-
Menlo,
|
|
75
|
-
Monaco,
|
|
76
|
-
Consolas,
|
|
77
|
-
Liberation Mono,
|
|
78
|
-
Courier New,
|
|
79
|
-
monospace;
|
|
80
|
-
font-size: 1em;
|
|
81
|
-
}
|
|
82
|
-
small {
|
|
83
|
-
font-size: 80%;
|
|
84
|
-
}
|
|
85
|
-
sub,
|
|
86
|
-
sup {
|
|
87
|
-
font-size: 75%;
|
|
88
|
-
line-height: 0;
|
|
89
|
-
position: relative;
|
|
90
|
-
vertical-align: baseline;
|
|
91
|
-
}
|
|
92
|
-
sub {
|
|
93
|
-
bottom: -0.25em;
|
|
94
|
-
}
|
|
95
|
-
sup {
|
|
96
|
-
top: -0.5em;
|
|
97
|
-
}
|
|
98
|
-
table {
|
|
99
|
-
text-indent: 0;
|
|
100
|
-
border-color: inherit;
|
|
101
|
-
border-collapse: collapse;
|
|
102
|
-
}
|
|
103
|
-
button,
|
|
104
|
-
input,
|
|
105
|
-
optgroup,
|
|
106
|
-
select,
|
|
107
|
-
textarea {
|
|
108
|
-
font-family: inherit;
|
|
109
|
-
font-size: 100%;
|
|
110
|
-
line-height: inherit;
|
|
111
|
-
color: inherit;
|
|
112
|
-
margin: 0;
|
|
113
|
-
padding: 0;
|
|
114
|
-
}
|
|
115
|
-
button,
|
|
116
|
-
select {
|
|
117
|
-
text-transform: none;
|
|
118
|
-
}
|
|
119
|
-
button,
|
|
120
|
-
[type=button],
|
|
121
|
-
[type=reset],
|
|
122
|
-
[type=submit] {
|
|
123
|
-
-webkit-appearance: button;
|
|
124
|
-
background-color: transparent;
|
|
125
|
-
background-image: none;
|
|
126
|
-
}
|
|
127
|
-
:-moz-focusring {
|
|
128
|
-
outline: auto;
|
|
129
|
-
}
|
|
130
|
-
:-moz-ui-invalid {
|
|
131
|
-
box-shadow: none;
|
|
132
|
-
}
|
|
133
|
-
progress {
|
|
134
|
-
vertical-align: baseline;
|
|
135
|
-
}
|
|
136
|
-
::-webkit-inner-spin-button,
|
|
137
|
-
::-webkit-outer-spin-button {
|
|
138
|
-
height: auto;
|
|
139
|
-
}
|
|
140
|
-
[type=search] {
|
|
141
|
-
-webkit-appearance: textfield;
|
|
142
|
-
outline-offset: -2px;
|
|
143
|
-
}
|
|
144
|
-
::-webkit-search-decoration {
|
|
145
|
-
-webkit-appearance: none;
|
|
146
|
-
}
|
|
147
|
-
::-webkit-file-upload-button {
|
|
148
|
-
-webkit-appearance: button;
|
|
149
|
-
font: inherit;
|
|
150
|
-
}
|
|
151
|
-
summary {
|
|
152
|
-
display: list-item;
|
|
153
|
-
}
|
|
154
|
-
blockquote,
|
|
155
|
-
dl,
|
|
156
|
-
dd,
|
|
157
|
-
h1,
|
|
158
|
-
h2,
|
|
159
|
-
h3,
|
|
160
|
-
h4,
|
|
161
|
-
h5,
|
|
162
|
-
h6,
|
|
163
|
-
hr,
|
|
164
|
-
figure,
|
|
165
|
-
p,
|
|
166
|
-
pre {
|
|
167
|
-
margin: 0;
|
|
168
|
-
}
|
|
169
|
-
fieldset {
|
|
170
|
-
margin: 0;
|
|
171
|
-
padding: 0;
|
|
172
|
-
}
|
|
173
|
-
legend {
|
|
174
|
-
padding: 0;
|
|
175
|
-
}
|
|
176
|
-
ol,
|
|
177
|
-
ul,
|
|
178
|
-
menu {
|
|
179
|
-
list-style: none;
|
|
180
|
-
margin: 0;
|
|
181
|
-
padding: 0;
|
|
182
|
-
}
|
|
183
|
-
textarea {
|
|
184
|
-
resize: vertical;
|
|
185
|
-
}
|
|
186
|
-
input::-moz-placeholder,
|
|
187
|
-
textarea::-moz-placeholder {
|
|
188
|
-
opacity: 1;
|
|
189
|
-
color: #9CA3AF;
|
|
190
|
-
}
|
|
191
|
-
input:-ms-input-placeholder,
|
|
192
|
-
textarea:-ms-input-placeholder {
|
|
193
|
-
opacity: 1;
|
|
194
|
-
color: #9CA3AF;
|
|
195
|
-
}
|
|
196
|
-
input::placeholder,
|
|
197
|
-
textarea::placeholder {
|
|
198
|
-
opacity: 1;
|
|
199
|
-
color: #9CA3AF;
|
|
200
|
-
}
|
|
201
|
-
button,
|
|
202
|
-
[role=button] {
|
|
203
|
-
cursor: pointer;
|
|
204
|
-
}
|
|
205
|
-
:disabled {
|
|
206
|
-
cursor: default;
|
|
207
|
-
}
|
|
208
|
-
img,
|
|
209
|
-
svg,
|
|
210
|
-
video,
|
|
211
|
-
canvas,
|
|
212
|
-
audio,
|
|
213
|
-
iframe,
|
|
214
|
-
embed,
|
|
215
|
-
object {
|
|
216
|
-
display: block;
|
|
217
|
-
vertical-align: middle;
|
|
218
|
-
}
|
|
219
|
-
img,
|
|
220
|
-
video {
|
|
221
|
-
max-width: 100%;
|
|
222
|
-
height: auto;
|
|
223
|
-
}
|
|
224
|
-
[hidden] {
|
|
225
|
-
display: none;
|
|
226
|
-
}
|