@flozy/editor 1.1.1 → 1.1.4
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/Editor/CollaborativeEditor.js +7 -2
- package/dist/Editor/CommonEditor.js +59 -37
- package/dist/Editor/Editor.css +209 -12
- package/dist/Editor/Elements/Accordion/Accordion.js +100 -0
- package/dist/Editor/Elements/Accordion/AccordionBtnPopup.js +20 -0
- package/dist/Editor/Elements/Accordion/AccordionButton.js +22 -0
- package/dist/Editor/Elements/Accordion/AccordionDetails.js +18 -0
- package/dist/Editor/Elements/Accordion/AccordionSummary.js +69 -0
- package/dist/Editor/Elements/Accordion/AccordionTitlePopup.js +20 -0
- package/dist/Editor/Elements/Button/ButtonPopup.js +20 -0
- package/dist/Editor/Elements/Button/ButtonToolIcon.js +19 -0
- package/dist/Editor/Elements/Button/EditorButton.js +124 -0
- package/dist/Editor/Elements/Carousel/Arrows.js +39 -0
- package/dist/Editor/Elements/Carousel/Carousel.js +82 -0
- package/dist/Editor/Elements/Carousel/CarouselButton.js +19 -0
- package/dist/Editor/Elements/Carousel/CarouselItem.js +13 -0
- package/dist/Editor/Elements/Carousel/slick-theme.min.css +143 -0
- package/dist/Editor/Elements/Carousel/slick.min.css +83 -0
- package/dist/Editor/Elements/Color Picker/ColorPicker.js +1 -1
- package/dist/Editor/Elements/Embed/Embed.css +22 -2
- package/dist/Editor/Elements/Embed/Embed.js +89 -74
- package/dist/Editor/Elements/Embed/EmbedPopup.js +23 -0
- package/dist/Editor/Elements/Embed/Image.js +92 -10
- package/dist/Editor/Elements/Embed/Video.js +31 -5
- package/dist/Editor/Elements/Equation/EquationButton.js +12 -12
- package/dist/Editor/Elements/Grid/Grid.js +64 -8
- package/dist/Editor/Elements/Grid/GridButton.js +2 -4
- package/dist/Editor/Elements/Grid/GridItem.js +59 -5
- package/dist/Editor/Elements/Grid/GridItemPopup.js +20 -0
- package/dist/Editor/Elements/Grid/GridPopup.js +22 -0
- package/dist/Editor/Elements/ID/Id.js +1 -1
- package/dist/Editor/Elements/ImageText/ImageText.js +14 -0
- package/dist/Editor/Elements/ImageText/ImageTextWrapper.js +14 -0
- package/dist/Editor/Elements/Link/LinkButton.js +1 -1
- package/dist/Editor/Elements/NewLine/NewLineButton.js +2 -1
- package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +88 -0
- package/dist/Editor/Elements/PageSettings/PageSettingsPopup.js +22 -0
- package/dist/Editor/Elements/Signature/Signature.js +50 -0
- package/dist/Editor/Elements/Signature/SignatureButton.js +19 -0
- package/dist/Editor/Elements/Signature/SignatureOptions/DrawSignature.js +39 -0
- package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +84 -0
- package/dist/Editor/Elements/Signature/SignatureOptions/UploadSignature.js +50 -0
- package/dist/Editor/Elements/Signature/SignatureOptions/index.js +5 -0
- package/dist/Editor/Elements/Signature/SignaturePopup.js +243 -0
- package/dist/Editor/Elements/Signature/Signed.js +80 -0
- package/dist/Editor/Elements/Table/DeleteCellIcon.js +24 -0
- package/dist/Editor/Elements/Table/DeleteRowIcon.js +24 -0
- package/dist/Editor/Elements/Table/Table.js +9 -1
- package/dist/Editor/Elements/Table/TableCell.js +181 -0
- package/dist/Editor/Elements/Table/TablePopup.js +22 -0
- package/dist/Editor/Elements/Table/TableRow.js +31 -0
- package/dist/Editor/Elements/Table/TableSelector.js +62 -68
- package/dist/Editor/Toolbar/Toolbar.js +47 -10
- package/dist/Editor/Toolbar/styles.css +20 -11
- package/dist/Editor/Toolbar/toolbarGroups.js +17 -19
- package/dist/Editor/common/Button.js +4 -8
- package/dist/Editor/common/StyleBuilder/accordionTitleBtnStyle.js +23 -0
- package/dist/Editor/common/StyleBuilder/accordionTitleStyle.js +35 -0
- package/dist/Editor/common/StyleBuilder/buttonStyle.js +47 -0
- package/dist/Editor/common/StyleBuilder/embedImageStyle.js +63 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/alignment.js +88 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +87 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +136 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +126 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +89 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/elementSize.js +110 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/gridSize.js +42 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/imageTexts.js +75 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +21 -0
- package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +46 -0
- package/dist/Editor/common/StyleBuilder/gridItemStyle.js +51 -0
- package/dist/Editor/common/StyleBuilder/gridStyle.js +51 -0
- package/dist/Editor/common/StyleBuilder/index.js +114 -0
- package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +10 -0
- package/dist/Editor/common/StyleBuilder/tableStyle.js +38 -0
- package/dist/Editor/common/Uploader.js +87 -0
- package/dist/Editor/plugins/withEmbeds.js +12 -5
- package/dist/Editor/plugins/withTable.js +5 -4
- package/dist/Editor/service/fileupload.js +17 -0
- package/dist/Editor/utils/SlateUtilityFunctions.js +72 -23
- package/dist/Editor/utils/accordion.js +25 -0
- package/dist/Editor/utils/button.js +11 -0
- package/dist/Editor/utils/carousel.js +13 -0
- package/dist/Editor/utils/carouselItem.js +19 -0
- package/dist/Editor/utils/customHooks/useContextMenu.js +8 -8
- package/dist/Editor/utils/customHooks/useResize.js +1 -1
- package/dist/Editor/utils/font.js +59 -0
- package/dist/Editor/utils/helper.js +32 -0
- package/dist/Editor/utils/imageText.js +19 -0
- package/dist/Editor/utils/signature.js +23 -0
- package/dist/Editor/utils/table.js +172 -0
- package/package.json +11 -3
@@ -0,0 +1,20 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import StyleBuilder from "../../common/StyleBuilder";
|
3
|
+
import buttonStyle from "../../common/StyleBuilder/buttonStyle";
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
5
|
+
const ButtonPopup = props => {
|
6
|
+
const {
|
7
|
+
element,
|
8
|
+
onSave,
|
9
|
+
onClose
|
10
|
+
} = props;
|
11
|
+
return /*#__PURE__*/_jsx(StyleBuilder, {
|
12
|
+
title: "Button",
|
13
|
+
type: "buttonStyle",
|
14
|
+
element: element,
|
15
|
+
onSave: onSave,
|
16
|
+
onClose: onClose,
|
17
|
+
renderTabs: buttonStyle
|
18
|
+
});
|
19
|
+
};
|
20
|
+
export default ButtonPopup;
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { IconButton } from "@mui/material";
|
3
|
+
import ViewStreamIcon from "@mui/icons-material/ViewStream";
|
4
|
+
import { insertButton } from "../../utils/button";
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
6
|
+
const ButtonToolIcon = props => {
|
7
|
+
const {
|
8
|
+
editor
|
9
|
+
} = props;
|
10
|
+
const handleInsertButton = () => {
|
11
|
+
insertButton(editor);
|
12
|
+
};
|
13
|
+
return /*#__PURE__*/_jsx(IconButton, {
|
14
|
+
onClick: handleInsertButton,
|
15
|
+
title: "Button",
|
16
|
+
children: /*#__PURE__*/_jsx(ViewStreamIcon, {})
|
17
|
+
});
|
18
|
+
};
|
19
|
+
export default ButtonToolIcon;
|
@@ -0,0 +1,124 @@
|
|
1
|
+
import React, { useState } from "react";
|
2
|
+
import { Transforms } from "slate";
|
3
|
+
import { ReactEditor, useSlateStatic } from "slate-react";
|
4
|
+
import { Menu, MenuItem } from "@mui/material";
|
5
|
+
import ButtonPopup from "./ButtonPopup";
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
7
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
8
|
+
const EditorButton = props => {
|
9
|
+
const {
|
10
|
+
attributes,
|
11
|
+
element,
|
12
|
+
customProps
|
13
|
+
} = props;
|
14
|
+
const {
|
15
|
+
readOnly
|
16
|
+
} = customProps;
|
17
|
+
const editor = useSlateStatic();
|
18
|
+
const path = ReactEditor.findPath(editor, element);
|
19
|
+
const [edit, setEdit] = useState(false);
|
20
|
+
const [anchorEl, setAnchorEl] = useState(null);
|
21
|
+
const {
|
22
|
+
label,
|
23
|
+
bgColor,
|
24
|
+
borderRadius,
|
25
|
+
bannerSpacing,
|
26
|
+
textColor,
|
27
|
+
url,
|
28
|
+
borderColor
|
29
|
+
} = element;
|
30
|
+
const {
|
31
|
+
topLeft,
|
32
|
+
topRight,
|
33
|
+
bottomLeft,
|
34
|
+
bottomRight
|
35
|
+
} = borderRadius || {};
|
36
|
+
const {
|
37
|
+
left,
|
38
|
+
top,
|
39
|
+
right,
|
40
|
+
bottom
|
41
|
+
} = bannerSpacing || {};
|
42
|
+
const onClick = e => {
|
43
|
+
setAnchorEl(e.currentTarget);
|
44
|
+
};
|
45
|
+
const handleClose = () => {
|
46
|
+
setAnchorEl(null);
|
47
|
+
};
|
48
|
+
const onMenuClick = val => () => {
|
49
|
+
switch (val) {
|
50
|
+
case "open":
|
51
|
+
const refUrl = url ? url.includes("http") ? url : `//${url}` : "Link";
|
52
|
+
window.open(refUrl, "_blank").focus();
|
53
|
+
return;
|
54
|
+
case "edit":
|
55
|
+
setEdit(true);
|
56
|
+
return;
|
57
|
+
case "delete":
|
58
|
+
Transforms.removeNodes(editor, {
|
59
|
+
at: [path]
|
60
|
+
});
|
61
|
+
return;
|
62
|
+
default:
|
63
|
+
return;
|
64
|
+
}
|
65
|
+
};
|
66
|
+
const onSave = data => {
|
67
|
+
const updateData = {
|
68
|
+
...data
|
69
|
+
};
|
70
|
+
delete updateData.children;
|
71
|
+
Transforms.setNodes(editor, {
|
72
|
+
...updateData
|
73
|
+
}, {
|
74
|
+
at: [path]
|
75
|
+
});
|
76
|
+
setEdit(false);
|
77
|
+
};
|
78
|
+
const onClose = () => {
|
79
|
+
setEdit(false);
|
80
|
+
};
|
81
|
+
return /*#__PURE__*/_jsxs("div", {
|
82
|
+
className: "editor-btn-wrapper",
|
83
|
+
...attributes,
|
84
|
+
children: [/*#__PURE__*/_jsx("div", {
|
85
|
+
className: "editor-btn-wrapper-inner",
|
86
|
+
children: /*#__PURE__*/_jsx("button", {
|
87
|
+
contentEditable: false,
|
88
|
+
className: "editor-btn",
|
89
|
+
style: {
|
90
|
+
backgroundColor: bgColor || "rgb(30, 75, 122)",
|
91
|
+
border: borderColor ? `1px solid ${borderColor}` : "none",
|
92
|
+
borderRadius: `${topLeft}px ${topRight}px ${bottomLeft}px ${bottomRight}px`,
|
93
|
+
paddingLeft: `${left || 8}px`,
|
94
|
+
paddingRight: `${right || 8}px`,
|
95
|
+
paddingTop: `${top || 8}px`,
|
96
|
+
paddingBottom: `${bottom || 8}px`,
|
97
|
+
color: `${textColor || "#FFFFFF"}`
|
98
|
+
},
|
99
|
+
onClick: onClick,
|
100
|
+
children: label || "My Button"
|
101
|
+
})
|
102
|
+
}), /*#__PURE__*/_jsxs(Menu, {
|
103
|
+
className: "editor-btn-options",
|
104
|
+
open: anchorEl !== null,
|
105
|
+
anchorEl: anchorEl,
|
106
|
+
onClose: handleClose,
|
107
|
+
children: [!readOnly && /*#__PURE__*/_jsx(MenuItem, {
|
108
|
+
onClick: onMenuClick("edit"),
|
109
|
+
children: "Edit"
|
110
|
+
}), /*#__PURE__*/_jsx(MenuItem, {
|
111
|
+
onClick: onMenuClick("open"),
|
112
|
+
children: "Open"
|
113
|
+
}), !readOnly && /*#__PURE__*/_jsx(MenuItem, {
|
114
|
+
onClick: onMenuClick("delete"),
|
115
|
+
children: "Delete"
|
116
|
+
})]
|
117
|
+
}), edit && /*#__PURE__*/_jsx(ButtonPopup, {
|
118
|
+
element: element,
|
119
|
+
onSave: onSave,
|
120
|
+
onClose: onClose
|
121
|
+
})]
|
122
|
+
});
|
123
|
+
};
|
124
|
+
export default EditorButton;
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { IconButton } from "@mui/material";
|
3
|
+
import ArrowBackIosIcon from "@mui/icons-material/ArrowBackIos";
|
4
|
+
import ArrowForwardIosIcon from "@mui/icons-material/ArrowForwardIos";
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
6
|
+
export const PrevArrow = props => {
|
7
|
+
const {
|
8
|
+
className,
|
9
|
+
style,
|
10
|
+
onClick
|
11
|
+
} = props;
|
12
|
+
return /*#__PURE__*/_jsx(IconButton, {
|
13
|
+
className: className,
|
14
|
+
style: {
|
15
|
+
...style,
|
16
|
+
position: "absolute"
|
17
|
+
},
|
18
|
+
onClick: onClick,
|
19
|
+
contentEditable: false,
|
20
|
+
children: /*#__PURE__*/_jsx(ArrowBackIosIcon, {})
|
21
|
+
});
|
22
|
+
};
|
23
|
+
export const NextArrow = props => {
|
24
|
+
const {
|
25
|
+
className,
|
26
|
+
style,
|
27
|
+
onClick
|
28
|
+
} = props;
|
29
|
+
return /*#__PURE__*/_jsx(IconButton, {
|
30
|
+
className: className,
|
31
|
+
style: {
|
32
|
+
...style,
|
33
|
+
position: "absolute"
|
34
|
+
},
|
35
|
+
onClick: onClick,
|
36
|
+
contentEditable: false,
|
37
|
+
children: /*#__PURE__*/_jsx(ArrowForwardIosIcon, {})
|
38
|
+
});
|
39
|
+
};
|
@@ -0,0 +1,82 @@
|
|
1
|
+
import React, { useState } from "react";
|
2
|
+
import { Transforms, Path } from "slate";
|
3
|
+
import { useSelected, useSlateStatic } from "slate-react";
|
4
|
+
import Slider from "react-slick";
|
5
|
+
import "./slick-theme.min.css";
|
6
|
+
import "./slick.min.css";
|
7
|
+
import { PrevArrow, NextArrow } from "./Arrows";
|
8
|
+
import { carouselItem } from "../../utils/carouselItem";
|
9
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
10
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
11
|
+
const Empty = ({
|
12
|
+
children
|
13
|
+
}) => {
|
14
|
+
return /*#__PURE__*/_jsx("div", {
|
15
|
+
className: "empty-carousel-wrapper",
|
16
|
+
children: children
|
17
|
+
});
|
18
|
+
};
|
19
|
+
const Carousel = props => {
|
20
|
+
const {
|
21
|
+
attributes,
|
22
|
+
children,
|
23
|
+
element
|
24
|
+
} = props;
|
25
|
+
const editor = useSlateStatic();
|
26
|
+
const selected = useSelected();
|
27
|
+
const [edit, setEdit] = useState(false);
|
28
|
+
const settings = {
|
29
|
+
dots: true,
|
30
|
+
infinite: true,
|
31
|
+
speed: 500,
|
32
|
+
slidesToShow: 1,
|
33
|
+
slidesToScroll: 1,
|
34
|
+
nextArrow: /*#__PURE__*/_jsx(NextArrow, {}),
|
35
|
+
prevArrow: /*#__PURE__*/_jsx(PrevArrow, {})
|
36
|
+
};
|
37
|
+
const onAddSlide = () => {
|
38
|
+
const currentPath = editor.selection?.anchor?.path;
|
39
|
+
const ancestorsPath = Path.ancestors(currentPath, {
|
40
|
+
reverse: true
|
41
|
+
});
|
42
|
+
const insertPath = ancestorsPath[1];
|
43
|
+
if (insertPath) {
|
44
|
+
insertPath[insertPath.length - 1] = element.children.length;
|
45
|
+
Transforms.insertNodes(editor, [{
|
46
|
+
...carouselItem()
|
47
|
+
}], {
|
48
|
+
at: insertPath
|
49
|
+
});
|
50
|
+
}
|
51
|
+
};
|
52
|
+
const onEdit = () => {
|
53
|
+
setEdit(!edit);
|
54
|
+
};
|
55
|
+
const ToolBar = () => {
|
56
|
+
return selected ? /*#__PURE__*/_jsxs("div", {
|
57
|
+
className: "grid-container-toolbar",
|
58
|
+
contentEditable: false,
|
59
|
+
children: [/*#__PURE__*/_jsx("button", {
|
60
|
+
onClick: onEdit,
|
61
|
+
children: "Edit"
|
62
|
+
}), /*#__PURE__*/_jsx("button", {
|
63
|
+
onClick: onAddSlide,
|
64
|
+
children: "Add Slide"
|
65
|
+
})]
|
66
|
+
}) : null;
|
67
|
+
};
|
68
|
+
const CarouselWrapper = edit ? Slider : Empty;
|
69
|
+
return /*#__PURE__*/_jsxs("div", {
|
70
|
+
...attributes,
|
71
|
+
style: {
|
72
|
+
padding: "32px",
|
73
|
+
backgroundColor: "#CCC",
|
74
|
+
position: "relative"
|
75
|
+
},
|
76
|
+
children: [/*#__PURE__*/_jsx(CarouselWrapper, {
|
77
|
+
...settings,
|
78
|
+
children: children
|
79
|
+
}), /*#__PURE__*/_jsx(ToolBar, {})]
|
80
|
+
});
|
81
|
+
};
|
82
|
+
export default Carousel;
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { IconButton } from "@mui/material";
|
3
|
+
import ViewCarouselIcon from "@mui/icons-material/ViewCarousel";
|
4
|
+
import { insertCarousel } from "../../utils/carousel";
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
6
|
+
const CarouselButton = props => {
|
7
|
+
const {
|
8
|
+
editor
|
9
|
+
} = props;
|
10
|
+
const handleClick = () => {
|
11
|
+
insertCarousel(editor);
|
12
|
+
};
|
13
|
+
return /*#__PURE__*/_jsx(IconButton, {
|
14
|
+
title: "Carousel",
|
15
|
+
onClick: handleClick,
|
16
|
+
children: /*#__PURE__*/_jsx(ViewCarouselIcon, {})
|
17
|
+
});
|
18
|
+
};
|
19
|
+
export default CarouselButton;
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
3
|
+
const CarouselItem = props => {
|
4
|
+
const {
|
5
|
+
attributes,
|
6
|
+
children
|
7
|
+
} = props;
|
8
|
+
return /*#__PURE__*/_jsx("div", {
|
9
|
+
...attributes,
|
10
|
+
children: children
|
11
|
+
});
|
12
|
+
};
|
13
|
+
export default CarouselItem;
|
@@ -0,0 +1,143 @@
|
|
1
|
+
.slick-dots,
|
2
|
+
.slick-next,
|
3
|
+
.slick-prev {
|
4
|
+
position: absolute;
|
5
|
+
display: block;
|
6
|
+
padding: 0 !important;
|
7
|
+
}
|
8
|
+
.slick-dots li button:before,
|
9
|
+
.slick-next:before,
|
10
|
+
.slick-prev:before {
|
11
|
+
font-family: slick;
|
12
|
+
-webkit-font-smoothing: antialiased;
|
13
|
+
-moz-osx-font-smoothing: grayscale;
|
14
|
+
}
|
15
|
+
.slick-loading .slick-list {
|
16
|
+
background: #fff;
|
17
|
+
}
|
18
|
+
.slick-next,
|
19
|
+
.slick-prev {
|
20
|
+
font-size: 0;
|
21
|
+
line-height: 0;
|
22
|
+
top: 0;
|
23
|
+
bottom: 0;
|
24
|
+
width: 24px;
|
25
|
+
height: 24px;
|
26
|
+
cursor: pointer;
|
27
|
+
color: transparent;
|
28
|
+
border: none;
|
29
|
+
outline: 0;
|
30
|
+
margin: auto !important;
|
31
|
+
}
|
32
|
+
/* .slick-next:focus,
|
33
|
+
.slick-next:hover,
|
34
|
+
.slick-prev:focus,
|
35
|
+
.slick-prev:hover {
|
36
|
+
color: transparent;
|
37
|
+
outline: 0;
|
38
|
+
background: 0 0;
|
39
|
+
} */
|
40
|
+
/* .slick-next:focus:before,
|
41
|
+
.slick-next:hover:before,
|
42
|
+
.slick-prev:focus:before,
|
43
|
+
.slick-prev:hover:before {
|
44
|
+
opacity: 1;
|
45
|
+
} */
|
46
|
+
/* .slick-next.slick-disabled:before,
|
47
|
+
.slick-prev.slick-disabled:before {
|
48
|
+
opacity: 0.25;
|
49
|
+
} */
|
50
|
+
/* .slick-next:before,
|
51
|
+
.slick-prev:before {
|
52
|
+
font-size: 20px;
|
53
|
+
line-height: 1;
|
54
|
+
opacity: 0.75;
|
55
|
+
color: #fff;
|
56
|
+
} */
|
57
|
+
.slick-prev {
|
58
|
+
left: -25px;
|
59
|
+
}
|
60
|
+
[dir="rtl"] .slick-prev {
|
61
|
+
right: -25px;
|
62
|
+
left: auto;
|
63
|
+
}
|
64
|
+
/* .slick-prev:before {
|
65
|
+
content: "←";
|
66
|
+
}
|
67
|
+
.slick-next:before,
|
68
|
+
[dir="rtl"] .slick-prev:before {
|
69
|
+
content: "→";
|
70
|
+
} */
|
71
|
+
.slick-next {
|
72
|
+
right: -25px;
|
73
|
+
}
|
74
|
+
[dir="rtl"] .slick-next {
|
75
|
+
right: auto;
|
76
|
+
left: -25px;
|
77
|
+
}
|
78
|
+
/* [dir="rtl"] .slick-next:before {
|
79
|
+
content: "←";
|
80
|
+
} */
|
81
|
+
.slick-dotted.slick-slider {
|
82
|
+
margin-bottom: 30px;
|
83
|
+
}
|
84
|
+
.slick-dots {
|
85
|
+
bottom: -25px;
|
86
|
+
width: 100%;
|
87
|
+
margin: 0;
|
88
|
+
list-style: none;
|
89
|
+
text-align: center;
|
90
|
+
}
|
91
|
+
.slick-dots li {
|
92
|
+
position: relative;
|
93
|
+
display: inline-block;
|
94
|
+
width: 20px;
|
95
|
+
height: 20px;
|
96
|
+
margin: 0 5px;
|
97
|
+
padding: 0;
|
98
|
+
cursor: pointer;
|
99
|
+
background-color: rgba(0,0,0,0.25);
|
100
|
+
border-radius: 50%;
|
101
|
+
}
|
102
|
+
.slick-dots li button {
|
103
|
+
font-size: 0;
|
104
|
+
line-height: 0;
|
105
|
+
display: block;
|
106
|
+
width: 20px;
|
107
|
+
height: 20px;
|
108
|
+
padding: 5px;
|
109
|
+
cursor: pointer;
|
110
|
+
color: transparent;
|
111
|
+
border: 0;
|
112
|
+
outline: 0;
|
113
|
+
background: 0 0;
|
114
|
+
}
|
115
|
+
.slick-dots li button:focus,
|
116
|
+
.slick-dots li button:hover {
|
117
|
+
outline: 0;
|
118
|
+
}
|
119
|
+
.slick-dots li button:focus:before,
|
120
|
+
.slick-dots li button:hover:before {
|
121
|
+
opacity: 1;
|
122
|
+
}
|
123
|
+
.slick-dots li button:before {
|
124
|
+
font-size: 6px;
|
125
|
+
line-height: 20px;
|
126
|
+
position: absolute;
|
127
|
+
top: 0;
|
128
|
+
left: 0;
|
129
|
+
width: 20px;
|
130
|
+
height: 20px;
|
131
|
+
content: "•";
|
132
|
+
text-align: center;
|
133
|
+
opacity: 0.25;
|
134
|
+
color: #000;
|
135
|
+
}
|
136
|
+
.slick-dots li.slick-active button:before {
|
137
|
+
opacity: 0.75;
|
138
|
+
color: #000;
|
139
|
+
}
|
140
|
+
|
141
|
+
.slick-dots li.slick-active {
|
142
|
+
background-color: rgba(0,0,0,0.75);
|
143
|
+
}
|
@@ -0,0 +1,83 @@
|
|
1
|
+
.slick-list,
|
2
|
+
.slick-slider,
|
3
|
+
.slick-track {
|
4
|
+
position: relative;
|
5
|
+
display: block;
|
6
|
+
}
|
7
|
+
.slick-loading .slick-slide,
|
8
|
+
.slick-loading .slick-track {
|
9
|
+
visibility: hidden;
|
10
|
+
}
|
11
|
+
.slick-slider {
|
12
|
+
box-sizing: border-box;
|
13
|
+
-webkit-user-select: none;
|
14
|
+
-moz-user-select: none;
|
15
|
+
-ms-user-select: none;
|
16
|
+
user-select: none;
|
17
|
+
-webkit-touch-callout: none;
|
18
|
+
-khtml-user-select: none;
|
19
|
+
-ms-touch-action: pan-y;
|
20
|
+
touch-action: pan-y;
|
21
|
+
-webkit-tap-highlight-color: transparent;
|
22
|
+
}
|
23
|
+
.slick-list {
|
24
|
+
overflow: hidden;
|
25
|
+
margin: 0;
|
26
|
+
padding: 0;
|
27
|
+
}
|
28
|
+
.slick-list:focus {
|
29
|
+
outline: 0;
|
30
|
+
}
|
31
|
+
.slick-list.dragging {
|
32
|
+
cursor: pointer;
|
33
|
+
cursor: hand;
|
34
|
+
}
|
35
|
+
.slick-slider .slick-list,
|
36
|
+
.slick-slider .slick-track {
|
37
|
+
-webkit-transform: translate3d(0, 0, 0);
|
38
|
+
-moz-transform: translate3d(0, 0, 0);
|
39
|
+
-ms-transform: translate3d(0, 0, 0);
|
40
|
+
-o-transform: translate3d(0, 0, 0);
|
41
|
+
transform: translate3d(0, 0, 0);
|
42
|
+
}
|
43
|
+
.slick-track {
|
44
|
+
top: 0;
|
45
|
+
left: 0;
|
46
|
+
}
|
47
|
+
.slick-track:after,
|
48
|
+
.slick-track:before {
|
49
|
+
display: table;
|
50
|
+
content: "";
|
51
|
+
}
|
52
|
+
.slick-track:after {
|
53
|
+
clear: both;
|
54
|
+
}
|
55
|
+
.slick-slide {
|
56
|
+
display: none;
|
57
|
+
float: left;
|
58
|
+
height: 100%;
|
59
|
+
min-height: 1px;
|
60
|
+
}
|
61
|
+
[dir="rtl"] .slick-slide {
|
62
|
+
float: right;
|
63
|
+
}
|
64
|
+
.slick-slide img {
|
65
|
+
display: block;
|
66
|
+
}
|
67
|
+
.slick-slide.slick-loading img {
|
68
|
+
display: none;
|
69
|
+
}
|
70
|
+
.slick-slide.dragging img {
|
71
|
+
pointer-events: none;
|
72
|
+
}
|
73
|
+
.slick-initialized .slick-slide {
|
74
|
+
display: block;
|
75
|
+
}
|
76
|
+
.slick-vertical .slick-slide {
|
77
|
+
display: block;
|
78
|
+
height: auto;
|
79
|
+
border: 1px solid transparent;
|
80
|
+
}
|
81
|
+
.slick-arrow.slick-hidden {
|
82
|
+
display: none;
|
83
|
+
}
|
@@ -1,14 +1,34 @@
|
|
1
1
|
.embed{
|
2
2
|
width: fit-content;
|
3
3
|
position: relative;
|
4
|
-
margin
|
4
|
+
margin: 0px;
|
5
5
|
}
|
6
6
|
.embed img,.embed iframe{
|
7
7
|
width: 100%;
|
8
8
|
height:100%;
|
9
9
|
}
|
10
|
-
.embed button{
|
10
|
+
.embed button.resize{
|
11
11
|
position: absolute;
|
12
12
|
bottom: -6px;
|
13
13
|
right: 0;
|
14
|
+
}
|
15
|
+
|
16
|
+
.image-text-wrapper {
|
17
|
+
padding: 0px;
|
18
|
+
margin: 0px;
|
19
|
+
left: 0px;
|
20
|
+
color: #fff;
|
21
|
+
font-weight: bold;
|
22
|
+
display: flex;
|
23
|
+
bottom: 0;
|
24
|
+
width: 100%;
|
25
|
+
flex-direction: column;
|
26
|
+
}
|
27
|
+
|
28
|
+
.image-text {
|
29
|
+
padding: 12px;
|
30
|
+
background-color: rgba(0,0,0,0.5);
|
31
|
+
margin: 0px;
|
32
|
+
color: #FFF;
|
33
|
+
font-weight: bold;
|
14
34
|
}
|