nestiq-component-library 1.1.142 → 1.1.144
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/assets/images/Icon_rightArrow.svg +3 -0
- package/dist/assets/images/LayersIcon.svg +5 -0
- package/dist/assets/images/blackarrow-Right.svg +3 -0
- package/dist/assets/images/blckarrow-Left.svg +3 -0
- package/dist/assets/images/{card-arrow-left.55343410142dad3f.svg → card-arrow-left.28090aba4b4f2006.svg} +4 -4
- package/dist/assets/images/{card-arrow-right.60b3bf0e34c1800d.svg → card-arrow-right.c60af4cbbd49f3aa.svg} +4 -4
- package/dist/assets/images/chevron-left.svg +3 -0
- package/dist/assets/images/default-property.jpg +0 -0
- package/dist/assets/images/heartIcon.svg +3 -0
- package/dist/assets/images/icon-close-white.webp +0 -0
- package/dist/assets/images/icon_close 2.e41bb9a4db48e048.png +0 -0
- package/dist/assets/images/icon_close_2.png +0 -0
- package/dist/assets/images/icon_gallery.svg +4 -0
- package/dist/assets/images/icon_map.svg +10 -0
- package/dist/assets/images/icon_share_1.svg +3 -0
- package/dist/assets/images/{imooly.b46514ac970e6052.svg → imooly.890e3dd01ea33574.svg} +7 -7
- package/dist/assets/images/layer_icon.svg +5 -0
- package/dist/assets/images/locationIcon.0af399c78e0cdc20.svg +4 -0
- package/dist/assets/images/locationIcon.svg +4 -0
- package/dist/assets/images/locationIconBlack.svg +4 -0
- package/dist/assets/images/{more.ce14789c8d37e327.svg → more.1e158adc48fbb406.svg} +12 -12
- package/dist/assets/images/no-image-icon.png +0 -0
- package/dist/components/Button/Button.js +6 -0
- package/dist/components/ImageListPopup/ImageListPopup.js +26 -0
- package/dist/components/MessagePopup/ErrorPopup.d.ts +7 -0
- package/dist/components/Popup/Popup.js +12 -0
- package/dist/components/SharePopup/PopUp.d.ts +7 -0
- package/dist/index.es.js +34 -27
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +34 -27
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/rollup.config.mjs +36 -36
- package/src/assets/images/card-arrow-left.svg +4 -4
- package/src/assets/images/card-arrow-right.svg +4 -4
- package/src/assets/images/imooly.svg +7 -7
- package/src/assets/images/more.svg +12 -12
- package/src/components/FloorPlanPopup/FloorPlanPopup.css +3 -3
- package/src/components/FloorPlanPopup/FloorPlanPopup.tsx +83 -83
- package/src/components/ImageListPopup/ImageListPopup.css +83 -83
- package/src/components/ImageListPopup/ImageListPopup.tsx +141 -141
- package/src/components/NewPropertyCard/NewPropertyCard.tsx +358 -358
- package/src/components/Popup/Popup.tsx +29 -29
- package/src/components/PropertyImageList/PropertyImageList.css +24 -6
- package/src/components/PropertyImageList/PropertyImageList.tsx +32 -25
- package/src/components/ToastWrapper/ToastWrapper.tsx +25 -25
- package/src/models/message.model.ts +7 -7
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import closeIcon from "../../assets/images/icon_close_2.png";
|
|
3
|
-
import "./Popup.css";
|
|
4
|
-
import "../../styles/common.css";
|
|
5
|
-
|
|
6
|
-
interface PopupProps {
|
|
7
|
-
children: React.ReactNode;
|
|
8
|
-
onCloseClick: () => void;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
const Popup: React.FC<PopupProps> = ({ onCloseClick, children }) => {
|
|
12
|
-
return (
|
|
13
|
-
<div className="popup-overlay">
|
|
14
|
-
<div className="shareSection col-12 d-flex position-relative flex-column mx-auto justify-content-center col-5 col-lg-6 d-flex gap-4">
|
|
15
|
-
<div className="end-0 top-0 position-absolute ">
|
|
16
|
-
<img
|
|
17
|
-
src={closeIcon}
|
|
18
|
-
alt="close"
|
|
19
|
-
className="closeIcon me-2"
|
|
20
|
-
onClick={onCloseClick}
|
|
21
|
-
/>
|
|
22
|
-
</div>
|
|
23
|
-
{children}
|
|
24
|
-
</div>
|
|
25
|
-
</div>
|
|
26
|
-
);
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export default Popup;
|
|
1
|
+
import React from "react";
|
|
2
|
+
import closeIcon from "../../assets/images/icon_close_2.png";
|
|
3
|
+
import "./Popup.css";
|
|
4
|
+
import "../../styles/common.css";
|
|
5
|
+
|
|
6
|
+
interface PopupProps {
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
onCloseClick: () => void;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const Popup: React.FC<PopupProps> = ({ onCloseClick, children }) => {
|
|
12
|
+
return (
|
|
13
|
+
<div className="popup-overlay">
|
|
14
|
+
<div className="shareSection col-12 d-flex position-relative flex-column mx-auto justify-content-center col-5 col-lg-6 d-flex gap-4">
|
|
15
|
+
<div className="end-0 top-0 position-absolute ">
|
|
16
|
+
<img
|
|
17
|
+
src={closeIcon}
|
|
18
|
+
alt="close"
|
|
19
|
+
className="closeIcon me-2"
|
|
20
|
+
onClick={onCloseClick}
|
|
21
|
+
/>
|
|
22
|
+
</div>
|
|
23
|
+
{children}
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export default Popup;
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
.imagesArray {
|
|
43
|
-
background-size:
|
|
43
|
+
background-size: cover !important;
|
|
44
44
|
}
|
|
45
45
|
@media (max-width: 450px) {
|
|
46
46
|
.Pimagelist {
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
width: 58vw;
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
@media (min-width: 820px) and (max-width:
|
|
70
|
+
@media (min-width: 820px) and (max-width: 850px) {
|
|
71
71
|
.Pimagelist {
|
|
72
72
|
}
|
|
73
73
|
.mainImage {
|
|
@@ -75,9 +75,27 @@
|
|
|
75
75
|
width: 58vw;
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
|
|
79
|
+
.image-thumbnail {
|
|
80
|
+
position: relative;
|
|
81
|
+
transition: opacity 0.3s ease-in-out;
|
|
82
|
+
height: 100%;
|
|
83
|
+
display: flex;
|
|
84
|
+
align-items: center;
|
|
85
|
+
justify-content: center;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.image-thumbnail img {
|
|
89
|
+
height: 100%;
|
|
90
|
+
object-fit: cover;
|
|
91
|
+
border-radius: 8px;
|
|
80
92
|
}
|
|
81
|
-
|
|
82
|
-
|
|
93
|
+
|
|
94
|
+
.image-thumbnail.greyed-out img {
|
|
95
|
+
filter: grayscale(100%) brightness(50%);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.image-thumbnail.selected img {
|
|
99
|
+
filter: none;
|
|
100
|
+
border: 2px solid #007bff; /* Highlight border for selected image */
|
|
83
101
|
}
|
|
@@ -21,22 +21,22 @@ export default function PropertyImageList(prop: PopupProps) {
|
|
|
21
21
|
const [isFloorPlanPopupOpen, setIsFloorPlanPopupOpen] = useState(false);
|
|
22
22
|
const imageListRef = useRef<HTMLDivElement | null>(null);
|
|
23
23
|
|
|
24
|
-
const handleArrowClickInMainImage = (direction:
|
|
25
|
-
if (prop.pictureUrls.length
|
|
24
|
+
const handleArrowClickInMainImage = (direction: "left" | "right") => {
|
|
25
|
+
if (!prop.pictureUrls.length) return;
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
27
|
+
setCurrentImageIndex((prevIndex) => {
|
|
28
|
+
let newIndex;
|
|
29
|
+
if (direction === "left") {
|
|
30
|
+
newIndex =
|
|
31
|
+
(prevIndex - 1 + prop.pictureUrls.length) % prop.pictureUrls.length;
|
|
32
|
+
} else if (direction === "right") {
|
|
33
|
+
newIndex = (prevIndex + 1) % prop.pictureUrls.length;
|
|
34
|
+
}
|
|
35
|
+
return newIndex || 0;
|
|
36
|
+
});
|
|
37
37
|
|
|
38
38
|
imageListRef.current!.scrollTo({
|
|
39
|
-
left:
|
|
39
|
+
left: currentImageIndex * (direction === "left" ? -150 : 150),
|
|
40
40
|
behavior: "smooth",
|
|
41
41
|
});
|
|
42
42
|
};
|
|
@@ -88,8 +88,8 @@ export default function PropertyImageList(prop: PopupProps) {
|
|
|
88
88
|
|
|
89
89
|
{/* Image Thumbnails */}
|
|
90
90
|
<div className="d-none d-md-block">
|
|
91
|
-
<div className="mt-1 d-flex flex-row gap-1 col-12
|
|
92
|
-
<div className=" col-lg-6 col-6 d-flex flex-row
|
|
91
|
+
<div className="mt-1 d-flex flex-row gap-1 col-12 secondList">
|
|
92
|
+
<div className=" col-lg-6 col-6 d-flex flex-row py-0 px-1">
|
|
93
93
|
<div className=" col-12 position-relative d-flex justify-content-center">
|
|
94
94
|
<div
|
|
95
95
|
className="col-1 h-100 d-flex position-absolute start-0"
|
|
@@ -105,18 +105,25 @@ export default function PropertyImageList(prop: PopupProps) {
|
|
|
105
105
|
</div>
|
|
106
106
|
</div>
|
|
107
107
|
<div
|
|
108
|
-
className="col-lg-10 rounded-3 h-100 d-flex flex-row gap-2 overflow-
|
|
108
|
+
className="col-lg-10 rounded-3 h-100 d-flex flex-row gap-2 overflow-hidden"
|
|
109
109
|
ref={imageListRef}
|
|
110
110
|
>
|
|
111
111
|
{prop.pictureUrls.length > 0 && (
|
|
112
|
-
<div
|
|
113
|
-
className="col-lg-5 h-100 d-flex gap-2 flex-row rounded-3"
|
|
114
|
-
style={{ overflow: "hidden" }}
|
|
115
|
-
>
|
|
112
|
+
<div className="col-lg-5 h-100 d-flex gap-2 flex-row rounded-3">
|
|
116
113
|
{prop.pictureUrls.map((picture, index) => (
|
|
117
114
|
<div
|
|
118
115
|
key={index}
|
|
119
|
-
className=
|
|
116
|
+
className={`col-lg-12 h-100 d-flex image-thumbnail ${
|
|
117
|
+
index === currentImageIndex
|
|
118
|
+
? "selected"
|
|
119
|
+
: "greyed-out"
|
|
120
|
+
} ${
|
|
121
|
+
index === 0
|
|
122
|
+
? "ms-1"
|
|
123
|
+
: index === prop.pictureUrls.length - 1
|
|
124
|
+
? "me-1"
|
|
125
|
+
: ""
|
|
126
|
+
}`}
|
|
120
127
|
onClick={() => {
|
|
121
128
|
setCurrentImageIndex(index);
|
|
122
129
|
imageListRef.current!.scrollTo({
|
|
@@ -141,7 +148,7 @@ export default function PropertyImageList(prop: PopupProps) {
|
|
|
141
148
|
onClick={() => handleArrowClickInMainImage("right")}
|
|
142
149
|
role="button"
|
|
143
150
|
>
|
|
144
|
-
<div className="col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3
|
|
151
|
+
<div className="col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3">
|
|
145
152
|
<img
|
|
146
153
|
src={iconArrowRight}
|
|
147
154
|
className="arroIconColour "
|
|
@@ -155,7 +162,7 @@ export default function PropertyImageList(prop: PopupProps) {
|
|
|
155
162
|
{/* Buttons for "Alle Fotos", "Grundriss", "Karte" */}
|
|
156
163
|
<div className="col-7 col-lg-6 d-flex flex-row">
|
|
157
164
|
<div
|
|
158
|
-
className="col-lg-4 col-4
|
|
165
|
+
className="col-lg-4 col-4 py-0 px-1"
|
|
159
166
|
role="button"
|
|
160
167
|
onClick={toggleAllPhotos}
|
|
161
168
|
>
|
|
@@ -165,7 +172,7 @@ export default function PropertyImageList(prop: PopupProps) {
|
|
|
165
172
|
</div>
|
|
166
173
|
</div>
|
|
167
174
|
<div
|
|
168
|
-
className="col-lg-4 col-3
|
|
175
|
+
className="col-lg-4 col-3 py-0 px-1"
|
|
169
176
|
role="button"
|
|
170
177
|
onClick={floorPlanClickHandler}
|
|
171
178
|
>
|
|
@@ -175,7 +182,7 @@ export default function PropertyImageList(prop: PopupProps) {
|
|
|
175
182
|
</div>
|
|
176
183
|
</div>
|
|
177
184
|
<div
|
|
178
|
-
className="col-lg-4 col-3
|
|
185
|
+
className="col-lg-4 col-3 py-0 px-1"
|
|
179
186
|
role="button"
|
|
180
187
|
onClick={() =>
|
|
181
188
|
window.scrollTo({
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { ToastContainer, toast } from "react-toastify";
|
|
3
|
-
|
|
4
|
-
// Utility function to show a toast
|
|
5
|
-
export const showToast = (
|
|
6
|
-
message: string,
|
|
7
|
-
type: "info" | "success" | "warning" | "error" = "info",
|
|
8
|
-
) => {
|
|
9
|
-
toast(message, { type });
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
const ToastWrapper: React.FC = () => (
|
|
13
|
-
<ToastContainer
|
|
14
|
-
position="top-right"
|
|
15
|
-
autoClose={5000}
|
|
16
|
-
hideProgressBar={false}
|
|
17
|
-
closeOnClick
|
|
18
|
-
rtl={false}
|
|
19
|
-
pauseOnFocusLoss
|
|
20
|
-
draggable
|
|
21
|
-
pauseOnHover
|
|
22
|
-
/>
|
|
23
|
-
);
|
|
24
|
-
|
|
25
|
-
export default ToastWrapper;
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ToastContainer, toast } from "react-toastify";
|
|
3
|
+
|
|
4
|
+
// Utility function to show a toast
|
|
5
|
+
export const showToast = (
|
|
6
|
+
message: string,
|
|
7
|
+
type: "info" | "success" | "warning" | "error" = "info",
|
|
8
|
+
) => {
|
|
9
|
+
toast(message, { type });
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const ToastWrapper: React.FC = () => (
|
|
13
|
+
<ToastContainer
|
|
14
|
+
position="top-right"
|
|
15
|
+
autoClose={5000}
|
|
16
|
+
hideProgressBar={false}
|
|
17
|
+
closeOnClick
|
|
18
|
+
rtl={false}
|
|
19
|
+
pauseOnFocusLoss
|
|
20
|
+
draggable
|
|
21
|
+
pauseOnHover
|
|
22
|
+
/>
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
export default ToastWrapper;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export interface MessageModel {
|
|
2
|
-
themeId: string;
|
|
3
|
-
subject: string;
|
|
4
|
-
messageText: string;
|
|
5
|
-
firstName: string;
|
|
6
|
-
lastName: string;
|
|
7
|
-
}
|
|
1
|
+
export interface MessageModel {
|
|
2
|
+
themeId: string;
|
|
3
|
+
subject: string;
|
|
4
|
+
messageText: string;
|
|
5
|
+
firstName: string;
|
|
6
|
+
lastName: string;
|
|
7
|
+
}
|