@bbki.ng/components 1.5.7 → 1.5.10
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 +49 -9
- package/dist/index.js +145 -38
- package/dist/index.mjs +120 -19
- 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;
|
|
@@ -153,4 +166,31 @@ declare type BLinkDotProps = {
|
|
|
153
166
|
};
|
|
154
167
|
declare const BlinkDot: (props: BLinkDotProps) => JSX.Element;
|
|
155
168
|
|
|
156
|
-
|
|
169
|
+
declare type threeColLayoutProps = {
|
|
170
|
+
leftRenderer?: () => ReactElement | null;
|
|
171
|
+
rightRenderer?: () => ReactElement | null;
|
|
172
|
+
middleRenderer?: () => ReactElement | null;
|
|
173
|
+
};
|
|
174
|
+
declare const ThreeColLayout: (props: threeColLayoutProps) => JSX.Element;
|
|
175
|
+
|
|
176
|
+
interface listProps {
|
|
177
|
+
className?: string;
|
|
178
|
+
compact?: boolean;
|
|
179
|
+
items: any[];
|
|
180
|
+
itemRenderer: (itemProps: any, index: number) => ReactElement;
|
|
181
|
+
horizontal?: boolean;
|
|
182
|
+
}
|
|
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;
|
|
195
|
+
|
|
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,9 @@ __export(src_exports, {
|
|
|
66
67
|
DropImage: () => DropImage,
|
|
67
68
|
Link: () => Link,
|
|
68
69
|
LinkColor: () => LinkColor,
|
|
70
|
+
LinkList: () => LinkList,
|
|
71
|
+
LinkListSkeleton: () => LinkListSkeleton,
|
|
72
|
+
List: () => List,
|
|
69
73
|
Logo: () => Logo,
|
|
70
74
|
Nav: () => Nav,
|
|
71
75
|
Page: () => Page,
|
|
@@ -75,21 +79,25 @@ __export(src_exports, {
|
|
|
75
79
|
SkeletonColor: () => SkeletonColor,
|
|
76
80
|
Table: () => Table,
|
|
77
81
|
Tag: () => Tag,
|
|
78
|
-
Tags: () => Tags
|
|
82
|
+
Tags: () => Tags,
|
|
83
|
+
ThreeColLayout: () => ThreeColLayout,
|
|
84
|
+
TitledList: () => TitledList
|
|
79
85
|
});
|
|
80
86
|
|
|
81
87
|
// src/article/Article.tsx
|
|
82
88
|
var import_classnames = __toESM(require("classnames"));
|
|
83
89
|
var import_react = __toESM(require("react"));
|
|
84
90
|
var Article = (props) => {
|
|
85
|
-
const { title, content, children, className } = props;
|
|
91
|
+
const { title, content, children, className, description } = props;
|
|
86
92
|
return /* @__PURE__ */ import_react.default.createElement("div", {
|
|
87
93
|
className: (0, import_classnames.default)("article", className)
|
|
88
94
|
}, /* @__PURE__ */ import_react.default.createElement("div", {
|
|
89
95
|
className: "text-[2.25rem] leading-none"
|
|
90
96
|
}, title), /* @__PURE__ */ import_react.default.createElement("hr", {
|
|
91
97
|
className: "my-64 border-gray-200"
|
|
92
|
-
}), /* @__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", {
|
|
93
101
|
className: "text-gray-700"
|
|
94
102
|
}, children || content));
|
|
95
103
|
};
|
|
@@ -330,31 +338,105 @@ Table.HCell = (props) => /* @__PURE__ */ import_react10.default.createElement("t
|
|
|
330
338
|
Table.Cell = (props) => /* @__PURE__ */ import_react10.default.createElement("td", __spreadValues({}, props), props.children);
|
|
331
339
|
|
|
332
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
|
|
333
345
|
var import_classnames5 = __toESM(require("classnames"));
|
|
334
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
|
|
335
389
|
var SkeletonColor = /* @__PURE__ */ ((SkeletonColor2) => {
|
|
336
390
|
SkeletonColor2["BLUE"] = "blue";
|
|
337
391
|
SkeletonColor2["RED"] = "red";
|
|
338
392
|
SkeletonColor2["GRAY"] = "gray";
|
|
393
|
+
SkeletonColor2["BLACK"] = "black";
|
|
339
394
|
return SkeletonColor2;
|
|
340
395
|
})(SkeletonColor || {});
|
|
341
396
|
var COLOR_MAPPING2 = {
|
|
342
397
|
["blue" /* BLUE */]: "bg-blue-100",
|
|
343
398
|
["red" /* RED */]: "bg-red-100",
|
|
344
|
-
["gray" /* GRAY */]: "bg-gray-100"
|
|
399
|
+
["gray" /* GRAY */]: "bg-gray-100",
|
|
400
|
+
["black" /* BLACK */]: "bg-gray-200"
|
|
345
401
|
};
|
|
346
402
|
var Skeleton = (props) => {
|
|
347
403
|
const { bgColor = "gray" /* GRAY */, width = 26, height = 24 } = props;
|
|
348
|
-
return /* @__PURE__ */
|
|
349
|
-
className: (0,
|
|
404
|
+
return /* @__PURE__ */ import_react12.default.createElement("div", {
|
|
405
|
+
className: (0, import_classnames6.default)(COLOR_MAPPING2[bgColor], "animate-pulse", "rounded"),
|
|
350
406
|
style: { width, height }
|
|
351
407
|
});
|
|
352
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
|
+
};
|
|
353
435
|
|
|
354
436
|
// src/drop-image/DropImage.tsx
|
|
355
|
-
var
|
|
356
|
-
var
|
|
357
|
-
var
|
|
437
|
+
var import_classnames7 = __toESM(require("classnames"));
|
|
438
|
+
var import_react14 = __toESM(require("react"));
|
|
439
|
+
var import_react15 = require("react");
|
|
358
440
|
|
|
359
441
|
// src/drop-image/utils.ts
|
|
360
442
|
var wait = (d) => new Promise((r) => setTimeout(r, d));
|
|
@@ -362,12 +444,12 @@ var noop = () => {
|
|
|
362
444
|
};
|
|
363
445
|
|
|
364
446
|
// src/drop-image/useDropImage.ts
|
|
365
|
-
var
|
|
447
|
+
var import_react13 = require("react");
|
|
366
448
|
var useDropImage = (params) => {
|
|
367
|
-
const [isDragOver, setIsDragOver] = (0,
|
|
368
|
-
const [imageSrc, setImageSrc] = (0,
|
|
369
|
-
const [imageSize, setImageSize] = (0,
|
|
370
|
-
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);
|
|
371
453
|
const {
|
|
372
454
|
portraitImageWidth = 384,
|
|
373
455
|
landscapeImageWidth = 500,
|
|
@@ -399,15 +481,15 @@ var useDropImage = (params) => {
|
|
|
399
481
|
setImageSrc("");
|
|
400
482
|
}
|
|
401
483
|
};
|
|
402
|
-
const handleDragOver = (0,
|
|
484
|
+
const handleDragOver = (0, import_react13.useCallback)((ev) => {
|
|
403
485
|
ev.preventDefault();
|
|
404
486
|
setIsDragOver(true);
|
|
405
487
|
ev.dataTransfer.dropEffect = "move";
|
|
406
488
|
}, []);
|
|
407
|
-
const handleDragLeave = (0,
|
|
489
|
+
const handleDragLeave = (0, import_react13.useCallback)(() => {
|
|
408
490
|
setIsDragOver(false);
|
|
409
491
|
}, []);
|
|
410
|
-
const handleDrop = (0,
|
|
492
|
+
const handleDrop = (0, import_react13.useCallback)((ev) => {
|
|
411
493
|
ev.preventDefault();
|
|
412
494
|
setIsDragOver(false);
|
|
413
495
|
const file = ev.dataTransfer.files[0];
|
|
@@ -437,7 +519,7 @@ var useDropImage = (params) => {
|
|
|
437
519
|
}
|
|
438
520
|
img.onload = updateFunc;
|
|
439
521
|
};
|
|
440
|
-
const imageRef = (0,
|
|
522
|
+
const imageRef = (0, import_react13.useCallback)((input) => {
|
|
441
523
|
if (!input) {
|
|
442
524
|
return;
|
|
443
525
|
}
|
|
@@ -464,8 +546,8 @@ var ImagePreviewer = (props) => {
|
|
|
464
546
|
imageSrc,
|
|
465
547
|
className
|
|
466
548
|
} = props;
|
|
467
|
-
return /* @__PURE__ */
|
|
468
|
-
className: (0,
|
|
549
|
+
return /* @__PURE__ */ import_react14.default.createElement("img", {
|
|
550
|
+
className: (0, import_classnames7.default)(className, "max-w-[100%]", "h-[auto]", "duration-300", "transition-opacity", "opacity-100", {
|
|
469
551
|
"opacity-0": !showImagePreviewer,
|
|
470
552
|
"!m-0": !showImagePreviewer,
|
|
471
553
|
"!p-0": !showImagePreviewer
|
|
@@ -486,9 +568,9 @@ var GhostDropImage = (props) => {
|
|
|
486
568
|
children,
|
|
487
569
|
placeholder
|
|
488
570
|
} = props;
|
|
489
|
-
const [coverVisible, setCoverVisible] = (0,
|
|
490
|
-
const [imageVisible, setImageVisible] = (0,
|
|
491
|
-
const handleDocDragEnter = (0,
|
|
571
|
+
const [coverVisible, setCoverVisible] = (0, import_react15.useState)(false);
|
|
572
|
+
const [imageVisible, setImageVisible] = (0, import_react15.useState)(false);
|
|
573
|
+
const handleDocDragEnter = (0, import_react14.useCallback)(() => {
|
|
492
574
|
setCoverVisible(true);
|
|
493
575
|
}, []);
|
|
494
576
|
const {
|
|
@@ -513,19 +595,19 @@ var GhostDropImage = (props) => {
|
|
|
513
595
|
reset();
|
|
514
596
|
}
|
|
515
597
|
});
|
|
516
|
-
(0,
|
|
598
|
+
(0, import_react14.useEffect)(() => {
|
|
517
599
|
document.addEventListener("dragenter", handleDocDragEnter);
|
|
518
600
|
return () => {
|
|
519
601
|
document.removeEventListener("dragenter", handleDocDragEnter);
|
|
520
602
|
};
|
|
521
603
|
}, []);
|
|
522
|
-
const coverCls = (0,
|
|
604
|
+
const coverCls = (0, import_classnames7.default)("fixed", "top-0", "left-0", "h-full", "w-full", {
|
|
523
605
|
"lqip-blur": coverVisible,
|
|
524
606
|
"z-[999]": coverVisible,
|
|
525
607
|
block: coverVisible,
|
|
526
608
|
hidden: !coverVisible
|
|
527
609
|
});
|
|
528
|
-
return /* @__PURE__ */
|
|
610
|
+
return /* @__PURE__ */ import_react14.default.createElement(import_react14.default.Fragment, null, /* @__PURE__ */ import_react14.default.createElement("div", {
|
|
529
611
|
className: coverCls,
|
|
530
612
|
onDragLeave: () => {
|
|
531
613
|
handleDragLeave();
|
|
@@ -538,7 +620,7 @@ var GhostDropImage = (props) => {
|
|
|
538
620
|
imageRef,
|
|
539
621
|
imageSize,
|
|
540
622
|
imageSrc
|
|
541
|
-
}) : /* @__PURE__ */
|
|
623
|
+
}) : /* @__PURE__ */ import_react14.default.createElement(ImagePreviewer, {
|
|
542
624
|
className,
|
|
543
625
|
visible: imageVisible,
|
|
544
626
|
imageRef,
|
|
@@ -564,9 +646,9 @@ var DropImage = (props) => {
|
|
|
564
646
|
}
|
|
565
647
|
} = props;
|
|
566
648
|
if (ghost) {
|
|
567
|
-
return /* @__PURE__ */
|
|
649
|
+
return /* @__PURE__ */ import_react14.default.createElement(GhostDropImage, __spreadValues({}, props));
|
|
568
650
|
}
|
|
569
|
-
const [showImagePreviewer, setShowImagePreviewer] = (0,
|
|
651
|
+
const [showImagePreviewer, setShowImagePreviewer] = (0, import_react15.useState)(false);
|
|
570
652
|
const {
|
|
571
653
|
handleDragLeave,
|
|
572
654
|
handleDragOver,
|
|
@@ -595,8 +677,8 @@ var DropImage = (props) => {
|
|
|
595
677
|
height: imageSize.height || dropAreaStyle.height
|
|
596
678
|
});
|
|
597
679
|
};
|
|
598
|
-
return /* @__PURE__ */
|
|
599
|
-
className: (0,
|
|
680
|
+
return /* @__PURE__ */ import_react14.default.createElement("div", {
|
|
681
|
+
className: (0, import_classnames7.default)(className, "transition-all items-center justify-center flex duration-200 ease-in-out", {
|
|
600
682
|
"shadow-input": !imageSrc,
|
|
601
683
|
"shadow-empty": imageSrc
|
|
602
684
|
}),
|
|
@@ -609,7 +691,7 @@ var DropImage = (props) => {
|
|
|
609
691
|
imageRef,
|
|
610
692
|
imageSize,
|
|
611
693
|
imageSrc
|
|
612
|
-
}) : /* @__PURE__ */
|
|
694
|
+
}) : /* @__PURE__ */ import_react14.default.createElement(ImagePreviewer, {
|
|
613
695
|
visible: showImagePreviewer,
|
|
614
696
|
imageRef,
|
|
615
697
|
imageSrc,
|
|
@@ -618,20 +700,40 @@ var DropImage = (props) => {
|
|
|
618
700
|
};
|
|
619
701
|
|
|
620
702
|
// src/blink-dot/BlinkDot.tsx
|
|
621
|
-
var
|
|
622
|
-
var
|
|
703
|
+
var import_classnames8 = __toESM(require("classnames"));
|
|
704
|
+
var import_react16 = __toESM(require("react"));
|
|
623
705
|
var BlinkDot = (props) => {
|
|
624
706
|
const { className } = props;
|
|
625
|
-
return /* @__PURE__ */
|
|
626
|
-
className: (0,
|
|
627
|
-
}, /* @__PURE__ */
|
|
707
|
+
return /* @__PURE__ */ import_react16.default.createElement("span", {
|
|
708
|
+
className: (0, import_classnames8.default)("inline-flex h-1 w-1 justify-center items-center relative", className)
|
|
709
|
+
}, /* @__PURE__ */ import_react16.default.createElement("span", {
|
|
628
710
|
className: "animate-ping-fast absolute inline-flex h-full w-full rounded-full bg-red-600"
|
|
629
711
|
}));
|
|
630
712
|
};
|
|
713
|
+
|
|
714
|
+
// src/layout/layout.tsx
|
|
715
|
+
var import_classnames9 = __toESM(require("classnames"));
|
|
716
|
+
var import_react17 = __toESM(require("react"));
|
|
717
|
+
var ThreeColLayout = (props) => {
|
|
718
|
+
const { leftRenderer, middleRenderer, rightRenderer } = props;
|
|
719
|
+
const colCls = (0, import_classnames9.default)("max-h-full overflow-auto md:block py-64");
|
|
720
|
+
return /* @__PURE__ */ import_react17.default.createElement("div", {
|
|
721
|
+
className: "grid grid-cols-1 xl:grid-cols-3 gap-4 h-full w-full"
|
|
722
|
+
}, /* @__PURE__ */ import_react17.default.createElement("div", {
|
|
723
|
+
className: (0, import_classnames9.default)("hidden", colCls)
|
|
724
|
+
}, leftRenderer && leftRenderer()), /* @__PURE__ */ import_react17.default.createElement("div", {
|
|
725
|
+
className: (0, import_classnames9.default)(colCls, "sm:px-128 xl:px-0 no-scrollbar", "relative", {
|
|
726
|
+
hidden: !middleRenderer
|
|
727
|
+
})
|
|
728
|
+
}, middleRenderer && middleRenderer()), /* @__PURE__ */ import_react17.default.createElement("div", {
|
|
729
|
+
className: (0, import_classnames9.default)("hidden", colCls)
|
|
730
|
+
}, rightRenderer && rightRenderer()));
|
|
731
|
+
};
|
|
631
732
|
module.exports = __toCommonJS(src_exports);
|
|
632
733
|
// Annotate the CommonJS export names for ESM import in node:
|
|
633
734
|
0 && (module.exports = {
|
|
634
735
|
Article,
|
|
736
|
+
ArticleSkeleton,
|
|
635
737
|
BlinkDot,
|
|
636
738
|
Breadcrumb,
|
|
637
739
|
Button,
|
|
@@ -639,6 +741,9 @@ module.exports = __toCommonJS(src_exports);
|
|
|
639
741
|
DropImage,
|
|
640
742
|
Link,
|
|
641
743
|
LinkColor,
|
|
744
|
+
LinkList,
|
|
745
|
+
LinkListSkeleton,
|
|
746
|
+
List,
|
|
642
747
|
Logo,
|
|
643
748
|
Nav,
|
|
644
749
|
Page,
|
|
@@ -648,5 +753,7 @@ module.exports = __toCommonJS(src_exports);
|
|
|
648
753
|
SkeletonColor,
|
|
649
754
|
Table,
|
|
650
755
|
Tag,
|
|
651
|
-
Tags
|
|
756
|
+
Tags,
|
|
757
|
+
ThreeColLayout,
|
|
758
|
+
TitledList
|
|
652
759
|
});
|
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";
|
|
@@ -419,8 +495,8 @@ var ImagePreviewer = (props) => {
|
|
|
419
495
|
imageSrc,
|
|
420
496
|
className
|
|
421
497
|
} = props;
|
|
422
|
-
return /* @__PURE__ */
|
|
423
|
-
className:
|
|
498
|
+
return /* @__PURE__ */ React14.createElement("img", {
|
|
499
|
+
className: cls2(className, "max-w-[100%]", "h-[auto]", "duration-300", "transition-opacity", "opacity-100", {
|
|
424
500
|
"opacity-0": !showImagePreviewer,
|
|
425
501
|
"!m-0": !showImagePreviewer,
|
|
426
502
|
"!p-0": !showImagePreviewer
|
|
@@ -474,13 +550,13 @@ var GhostDropImage = (props) => {
|
|
|
474
550
|
document.removeEventListener("dragenter", handleDocDragEnter);
|
|
475
551
|
};
|
|
476
552
|
}, []);
|
|
477
|
-
const coverCls =
|
|
553
|
+
const coverCls = cls2("fixed", "top-0", "left-0", "h-full", "w-full", {
|
|
478
554
|
"lqip-blur": coverVisible,
|
|
479
555
|
"z-[999]": coverVisible,
|
|
480
556
|
block: coverVisible,
|
|
481
557
|
hidden: !coverVisible
|
|
482
558
|
});
|
|
483
|
-
return /* @__PURE__ */
|
|
559
|
+
return /* @__PURE__ */ React14.createElement(React14.Fragment, null, /* @__PURE__ */ React14.createElement("div", {
|
|
484
560
|
className: coverCls,
|
|
485
561
|
onDragLeave: () => {
|
|
486
562
|
handleDragLeave();
|
|
@@ -493,7 +569,7 @@ var GhostDropImage = (props) => {
|
|
|
493
569
|
imageRef,
|
|
494
570
|
imageSize,
|
|
495
571
|
imageSrc
|
|
496
|
-
}) : /* @__PURE__ */
|
|
572
|
+
}) : /* @__PURE__ */ React14.createElement(ImagePreviewer, {
|
|
497
573
|
className,
|
|
498
574
|
visible: imageVisible,
|
|
499
575
|
imageRef,
|
|
@@ -519,7 +595,7 @@ var DropImage = (props) => {
|
|
|
519
595
|
}
|
|
520
596
|
} = props;
|
|
521
597
|
if (ghost) {
|
|
522
|
-
return /* @__PURE__ */
|
|
598
|
+
return /* @__PURE__ */ React14.createElement(GhostDropImage, __spreadValues({}, props));
|
|
523
599
|
}
|
|
524
600
|
const [showImagePreviewer, setShowImagePreviewer] = useState3(false);
|
|
525
601
|
const {
|
|
@@ -550,8 +626,8 @@ var DropImage = (props) => {
|
|
|
550
626
|
height: imageSize.height || dropAreaStyle.height
|
|
551
627
|
});
|
|
552
628
|
};
|
|
553
|
-
return /* @__PURE__ */
|
|
554
|
-
className:
|
|
629
|
+
return /* @__PURE__ */ React14.createElement("div", {
|
|
630
|
+
className: cls2(className, "transition-all items-center justify-center flex duration-200 ease-in-out", {
|
|
555
631
|
"shadow-input": !imageSrc,
|
|
556
632
|
"shadow-empty": imageSrc
|
|
557
633
|
}),
|
|
@@ -564,7 +640,7 @@ var DropImage = (props) => {
|
|
|
564
640
|
imageRef,
|
|
565
641
|
imageSize,
|
|
566
642
|
imageSrc
|
|
567
|
-
}) : /* @__PURE__ */
|
|
643
|
+
}) : /* @__PURE__ */ React14.createElement(ImagePreviewer, {
|
|
568
644
|
visible: showImagePreviewer,
|
|
569
645
|
imageRef,
|
|
570
646
|
imageSrc,
|
|
@@ -574,17 +650,37 @@ var DropImage = (props) => {
|
|
|
574
650
|
|
|
575
651
|
// src/blink-dot/BlinkDot.tsx
|
|
576
652
|
import classNames6 from "classnames";
|
|
577
|
-
import
|
|
653
|
+
import React15 from "react";
|
|
578
654
|
var BlinkDot = (props) => {
|
|
579
655
|
const { className } = props;
|
|
580
|
-
return /* @__PURE__ */
|
|
656
|
+
return /* @__PURE__ */ React15.createElement("span", {
|
|
581
657
|
className: classNames6("inline-flex h-1 w-1 justify-center items-center relative", className)
|
|
582
|
-
}, /* @__PURE__ */
|
|
658
|
+
}, /* @__PURE__ */ React15.createElement("span", {
|
|
583
659
|
className: "animate-ping-fast absolute inline-flex h-full w-full rounded-full bg-red-600"
|
|
584
660
|
}));
|
|
585
661
|
};
|
|
662
|
+
|
|
663
|
+
// src/layout/layout.tsx
|
|
664
|
+
import cls3 from "classnames";
|
|
665
|
+
import React16 from "react";
|
|
666
|
+
var ThreeColLayout = (props) => {
|
|
667
|
+
const { leftRenderer, middleRenderer, rightRenderer } = props;
|
|
668
|
+
const colCls = cls3("max-h-full overflow-auto md:block py-64");
|
|
669
|
+
return /* @__PURE__ */ React16.createElement("div", {
|
|
670
|
+
className: "grid grid-cols-1 xl:grid-cols-3 gap-4 h-full w-full"
|
|
671
|
+
}, /* @__PURE__ */ React16.createElement("div", {
|
|
672
|
+
className: cls3("hidden", colCls)
|
|
673
|
+
}, leftRenderer && leftRenderer()), /* @__PURE__ */ React16.createElement("div", {
|
|
674
|
+
className: cls3(colCls, "sm:px-128 xl:px-0 no-scrollbar", "relative", {
|
|
675
|
+
hidden: !middleRenderer
|
|
676
|
+
})
|
|
677
|
+
}, middleRenderer && middleRenderer()), /* @__PURE__ */ React16.createElement("div", {
|
|
678
|
+
className: cls3("hidden", colCls)
|
|
679
|
+
}, rightRenderer && rightRenderer()));
|
|
680
|
+
};
|
|
586
681
|
export {
|
|
587
682
|
Article,
|
|
683
|
+
ArticleSkeleton,
|
|
588
684
|
BlinkDot,
|
|
589
685
|
Breadcrumb,
|
|
590
686
|
Button,
|
|
@@ -592,6 +688,9 @@ export {
|
|
|
592
688
|
DropImage,
|
|
593
689
|
Link,
|
|
594
690
|
LinkColor,
|
|
691
|
+
LinkList,
|
|
692
|
+
LinkListSkeleton,
|
|
693
|
+
List,
|
|
595
694
|
Logo,
|
|
596
695
|
Nav,
|
|
597
696
|
Page,
|
|
@@ -601,5 +700,7 @@ export {
|
|
|
601
700
|
SkeletonColor,
|
|
602
701
|
Table,
|
|
603
702
|
Tag,
|
|
604
|
-
Tags
|
|
703
|
+
Tags,
|
|
704
|
+
ThreeColLayout,
|
|
705
|
+
TitledList
|
|
605
706
|
};
|
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
|
-
}
|