@flozy/editor 1.1.2 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. package/dist/Editor/CollaborativeEditor.js +7 -2
  2. package/dist/Editor/CommonEditor.js +53 -34
  3. package/dist/Editor/Editor.css +93 -17
  4. package/dist/Editor/Elements/Accordion/Accordion.js +67 -2
  5. package/dist/Editor/Elements/Accordion/AccordionBtnPopup.js +20 -0
  6. package/dist/Editor/Elements/Accordion/AccordionButton.js +2 -1
  7. package/dist/Editor/Elements/Accordion/AccordionSummary.js +59 -4
  8. package/dist/Editor/Elements/Accordion/AccordionTitlePopup.js +20 -0
  9. package/dist/Editor/Elements/Button/ButtonPopup.js +20 -0
  10. package/dist/Editor/Elements/Button/ButtonToolIcon.js +19 -0
  11. package/dist/Editor/Elements/Button/EditorButton.js +124 -0
  12. package/dist/Editor/Elements/Carousel/Arrows.js +39 -0
  13. package/dist/Editor/Elements/Carousel/Carousel.js +82 -0
  14. package/dist/Editor/Elements/Carousel/CarouselButton.js +19 -0
  15. package/dist/Editor/Elements/Carousel/CarouselItem.js +13 -0
  16. package/dist/Editor/Elements/Carousel/slick-theme.min.css +143 -0
  17. package/dist/Editor/Elements/Carousel/slick.min.css +83 -0
  18. package/dist/Editor/Elements/Color Picker/ColorPicker.js +1 -1
  19. package/dist/Editor/Elements/Embed/Embed.css +22 -2
  20. package/dist/Editor/Elements/Embed/Embed.js +89 -74
  21. package/dist/Editor/Elements/Embed/EmbedPopup.js +23 -0
  22. package/dist/Editor/Elements/Embed/Image.js +92 -10
  23. package/dist/Editor/Elements/Embed/Video.js +1 -0
  24. package/dist/Editor/Elements/Equation/EquationButton.js +12 -12
  25. package/dist/Editor/Elements/Grid/Grid.js +64 -8
  26. package/dist/Editor/Elements/Grid/GridButton.js +2 -4
  27. package/dist/Editor/Elements/Grid/GridItem.js +59 -5
  28. package/dist/Editor/Elements/Grid/GridItemPopup.js +20 -0
  29. package/dist/Editor/Elements/Grid/GridPopup.js +22 -0
  30. package/dist/Editor/Elements/ID/Id.js +1 -1
  31. package/dist/Editor/Elements/ImageText/ImageText.js +14 -0
  32. package/dist/Editor/Elements/ImageText/ImageTextWrapper.js +14 -0
  33. package/dist/Editor/Elements/Link/LinkButton.js +1 -1
  34. package/dist/Editor/Elements/NewLine/NewLineButton.js +2 -1
  35. package/dist/Editor/Elements/PageSettings/PageSettingsButton.js +88 -0
  36. package/dist/Editor/Elements/PageSettings/PageSettingsPopup.js +22 -0
  37. package/dist/Editor/Elements/Signature/Signature.js +4 -2
  38. package/dist/Editor/Elements/Signature/SignatureButton.js +2 -1
  39. package/dist/Editor/Elements/Signature/SignatureOptions/DrawSignature.js +7 -2
  40. package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +2 -1
  41. package/dist/Editor/Elements/Signature/SignatureOptions/UploadSignature.js +50 -0
  42. package/dist/Editor/Elements/Signature/SignatureOptions/index.js +2 -1
  43. package/dist/Editor/Elements/Signature/SignaturePopup.js +79 -10
  44. package/dist/Editor/Elements/Table/DeleteCellIcon.js +24 -0
  45. package/dist/Editor/Elements/Table/DeleteRowIcon.js +24 -0
  46. package/dist/Editor/Elements/Table/Table.js +9 -1
  47. package/dist/Editor/Elements/Table/TableCell.js +181 -0
  48. package/dist/Editor/Elements/Table/TablePopup.js +22 -0
  49. package/dist/Editor/Elements/Table/TableRow.js +31 -0
  50. package/dist/Editor/Elements/Table/TableSelector.js +62 -68
  51. package/dist/Editor/Toolbar/Toolbar.js +22 -7
  52. package/dist/Editor/Toolbar/styles.css +20 -11
  53. package/dist/Editor/Toolbar/toolbarGroups.js +9 -9
  54. package/dist/Editor/common/Button.js +4 -8
  55. package/dist/Editor/common/StyleBuilder/accordionTitleBtnStyle.js +23 -0
  56. package/dist/Editor/common/StyleBuilder/accordionTitleStyle.js +35 -0
  57. package/dist/Editor/common/StyleBuilder/buttonStyle.js +47 -0
  58. package/dist/Editor/common/StyleBuilder/embedImageStyle.js +63 -0
  59. package/dist/Editor/common/StyleBuilder/fieldTypes/alignment.js +88 -0
  60. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +87 -0
  61. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +136 -0
  62. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +126 -0
  63. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +89 -0
  64. package/dist/Editor/common/StyleBuilder/fieldTypes/elementSize.js +110 -0
  65. package/dist/Editor/common/StyleBuilder/fieldTypes/gridSize.js +42 -0
  66. package/dist/Editor/common/StyleBuilder/fieldTypes/imageTexts.js +75 -0
  67. package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +21 -0
  68. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +46 -0
  69. package/dist/Editor/common/StyleBuilder/gridItemStyle.js +51 -0
  70. package/dist/Editor/common/StyleBuilder/gridStyle.js +51 -0
  71. package/dist/Editor/common/StyleBuilder/index.js +114 -0
  72. package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +10 -0
  73. package/dist/Editor/common/StyleBuilder/tableStyle.js +38 -0
  74. package/dist/Editor/common/Uploader.js +87 -0
  75. package/dist/Editor/plugins/withEmbeds.js +12 -5
  76. package/dist/Editor/plugins/withTable.js +5 -4
  77. package/dist/Editor/service/fileupload.js +17 -0
  78. package/dist/Editor/utils/SlateUtilityFunctions.js +46 -12
  79. package/dist/Editor/utils/button.js +11 -0
  80. package/dist/Editor/utils/carousel.js +13 -0
  81. package/dist/Editor/utils/carouselItem.js +19 -0
  82. package/dist/Editor/utils/customHooks/useContextMenu.js +8 -8
  83. package/dist/Editor/utils/customHooks/useResize.js +1 -1
  84. package/dist/Editor/utils/font.js +4 -4
  85. package/dist/Editor/utils/helper.js +16 -0
  86. package/dist/Editor/utils/imageText.js +19 -0
  87. package/dist/Editor/utils/table.js +172 -0
  88. package/package.json +2 -1
@@ -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
+ }
@@ -62,7 +62,7 @@ const ColorPicker = ({
62
62
  setHexValue(newHex);
63
63
  };
64
64
  return /*#__PURE__*/_jsxs("div", {
65
- className: "color-picker popup-wrapper",
65
+ className: "color-picker popup-wrapper1",
66
66
  ref: colorPickerRef,
67
67
  children: [/*#__PURE__*/_jsx("button", {
68
68
  style: {
@@ -1,14 +1,34 @@
1
1
  .embed{
2
2
  width: fit-content;
3
3
  position: relative;
4
- margin-right: 20px;
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
  }