nestiq-component-library 1.0.26 → 1.0.27

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.
Files changed (82) hide show
  1. package/dist/assets/images/Icon_rightArrow.svg +3 -0
  2. package/dist/assets/images/LayersIcon.svg +5 -0
  3. package/dist/assets/images/blackarrow-Right.svg +3 -0
  4. package/dist/assets/images/blckarrow-Left.svg +3 -0
  5. package/dist/assets/images/chevron-left.svg +3 -0
  6. package/dist/assets/images/default-property.jpg +0 -0
  7. package/dist/assets/images/envelope-fill.6669c9d64183941c.svg +3 -0
  8. package/dist/assets/images/facebook.ce73eacbfffe8a27.svg +3 -0
  9. package/dist/assets/images/heartIcon.svg +3 -0
  10. package/dist/assets/images/icon-close-white.webp +0 -0
  11. package/dist/assets/images/icon_close_2.png +0 -0
  12. package/dist/assets/images/icon_gallery.svg +4 -0
  13. package/dist/assets/images/icon_map.svg +10 -0
  14. package/dist/assets/images/icon_share_1.svg +3 -0
  15. package/dist/assets/images/layer_icon.svg +5 -0
  16. package/dist/assets/images/linkedin.7539333145b03678.svg +3 -0
  17. package/dist/assets/images/locationIcon.svg +4 -0
  18. package/dist/assets/images/locationIconBlack.svg +4 -0
  19. package/dist/assets/images/no-image-icon.png +0 -0
  20. package/dist/assets/images/twitter-x.48a4ac3f560f0a62.svg +3 -0
  21. package/dist/assets/images/whatsapp.28e6b0b24adc9289.svg +3 -0
  22. package/dist/components/Button/Button.js +6 -0
  23. package/dist/components/ImageListPopup/ImageListPopup.js +26 -0
  24. package/dist/components/Popup/Popup.js +12 -0
  25. package/dist/components/SharePopup/PopUp.d.ts +7 -0
  26. package/dist/index.es.js +65 -6
  27. package/dist/index.es.js.map +1 -1
  28. package/dist/index.js +64 -5
  29. package/dist/index.js.map +1 -1
  30. package/nestiq-component-library-1.0.26.tgz +0 -0
  31. package/package.json +1 -1
  32. package/rollup.config.mjs +35 -35
  33. package/src/assets/images/Images/Icon_rightArrow.svg +3 -0
  34. package/src/assets/images/Images/LayersIcon.svg +5 -0
  35. package/src/assets/images/Images/Logo-Nestiq_black.svg +7 -0
  36. package/src/assets/images/Images/arrow-right-short.svg +3 -0
  37. package/src/assets/images/Images/arrow-right.svg +10 -0
  38. package/src/assets/images/Images/blackarrow-Right.svg +3 -0
  39. package/src/assets/images/Images/blckarrow-Left.svg +3 -0
  40. package/src/assets/images/Images/chevron-left.svg +3 -0
  41. package/src/assets/images/Images/default-property.jpg +0 -0
  42. package/src/assets/images/Images/dropdownIcon.svg +16 -0
  43. package/src/assets/images/Images/envelope-fill.svg +3 -0
  44. package/src/assets/images/Images/facebook.svg +3 -0
  45. package/src/assets/images/Images/facebook_icon.svg +3 -0
  46. package/src/assets/images/Images/google_icon.svg +10 -0
  47. package/src/assets/images/Images/heart.svg +3 -0
  48. package/src/assets/images/Images/heartIcon.svg +3 -0
  49. package/src/assets/images/Images/house.jpg +0 -0
  50. package/src/assets/images/Images/icon-close-white.webp +0 -0
  51. package/src/assets/images/Images/icon_checkmark.svg +10 -0
  52. package/src/assets/images/Images/icon_close 2.png +0 -0
  53. package/src/assets/images/Images/icon_gallery.svg +4 -0
  54. package/src/assets/images/Images/icon_home.svg +3 -0
  55. package/src/assets/images/Images/icon_map.svg +10 -0
  56. package/src/assets/images/Images/icon_share 1.svg +3 -0
  57. package/src/assets/images/Images/icon_user.png +0 -0
  58. package/src/assets/images/Images/layer_icon.svg +5 -0
  59. package/src/assets/images/Images/left arrow.svg +16 -0
  60. package/src/assets/images/Images/left-arrow.svg +4 -0
  61. package/src/assets/images/Images/linkedin.svg +3 -0
  62. package/src/assets/images/Images/locationIcon.svg +4 -0
  63. package/src/assets/images/Images/locationIconBlack.svg +4 -0
  64. package/src/assets/images/Images/mail-icon.png +0 -0
  65. package/src/assets/images/Images/no-image-icon.png +0 -0
  66. package/src/assets/images/Images/right arrow.svg +16 -0
  67. package/src/assets/images/Images/right-arrow.svg +4 -0
  68. package/src/assets/images/Images/twitter-x.svg +3 -0
  69. package/src/assets/images/Images/warning.svg +11 -0
  70. package/src/assets/images/Images/whatsapp.svg +3 -0
  71. package/src/assets/images/Images/x.svg +3 -0
  72. package/src/assets/images/envelope-fill.svg +3 -0
  73. package/src/assets/images/facebook.svg +3 -0
  74. package/src/assets/images/linkedin.svg +3 -0
  75. package/src/assets/images/twitter-x.svg +3 -0
  76. package/src/assets/images/whatsapp.svg +3 -0
  77. package/src/components/ImageListPopup/ImageListPopup.css +107 -107
  78. package/src/components/ImageListPopup/ImageListPopup.tsx +141 -141
  79. package/src/components/Popup/Popup.tsx +28 -28
  80. package/src/components/PropertyDetailsHeader/PropertyDetailsHeader.tsx +84 -83
  81. package/src/components/SharePopup/PopUp.css +359 -0
  82. package/src/components/SharePopup/PopUp.tsx +130 -0
@@ -1,141 +1,141 @@
1
- import "./ImageListPopup.css";
2
- import React, { useRef, useState } from "react";
3
- import blcIconArrowRight from "../../assets/Images/blackarrow-Right.svg";
4
- import blcIconArrowLeft from "../../assets/Images/blckarrow-Left.svg";
5
- import iconClose from "../../assets/images/icon_close_2.png";
6
-
7
- interface PopupProps {
8
- pictureUrls: { title: string; url: string }[];
9
- }
10
-
11
- export default function ImageListPopup(props: PopupProps) {
12
- const [showPopUp, setShowPopUp] = useState(true);
13
- const [currentImageIndex, setCurrentImageIndex] = useState(0);
14
- const imageListRef = useRef<HTMLDivElement | null>(null);
15
-
16
- const handleArrowClickInMainImage = (direction: any) => {
17
- if (props.pictureUrls.length === 0) return;
18
-
19
- let newIndex = currentImageIndex;
20
- if (direction === "left") {
21
- newIndex =
22
- (currentImageIndex - 1 + props.pictureUrls.length) %
23
- props.pictureUrls.length;
24
- } else if (direction === "right") {
25
- newIndex = (currentImageIndex + 1) % props.pictureUrls.length;
26
- }
27
-
28
- setCurrentImageIndex(newIndex);
29
-
30
- imageListRef.current!.scrollTo({
31
- left: newIndex * 150,
32
- behavior: "smooth",
33
- });
34
- };
35
-
36
- const handleClose = () => {
37
- setShowPopUp(false);
38
- };
39
-
40
- return (
41
- <div>
42
- {showPopUp && (
43
- <div className="popup-overlay">
44
- <div className=" d-flex flex-column col-6 ">
45
- <span className="txt-white">
46
- {props.pictureUrls[currentImageIndex].title}
47
- </span>
48
- <div className="d-flex align-self-end me-0 ms-5">
49
- <img
50
- src={iconClose}
51
- alt="close"
52
- className="closeIcon"
53
- onClick={handleClose}
54
- />
55
- </div>
56
-
57
- <div className="d-flex justify-content-center">
58
- <div className="p-2 bd-highlight align-self-center align-items-center me-5">
59
- <div
60
- className="rounded-circle border onImageArrow start-0 d-flex "
61
- role="button"
62
- onClick={() => handleArrowClickInMainImage("left")}
63
- >
64
- <img
65
- src={blcIconArrowLeft}
66
- className="blackArrow align-self-center"
67
- alt="Left Arrow"
68
- />
69
- </div>
70
- </div>
71
- <div className="p-2 bd-highlight">
72
- <div
73
- className=" rounded-5 mainImage "
74
- style={{
75
- backgroundImage: `url(${props.pictureUrls[currentImageIndex].url})`,
76
- height: "350px",
77
- width: "600px",
78
- backgroundSize: "cover",
79
- backgroundPosition: "center",
80
- }}
81
- ></div>
82
- </div>
83
- <div className="p-2 bd-highlight align-self-center ms-5">
84
- {" "}
85
- <div
86
- role="button"
87
- className="rounded-circle border onImageArrow d-flex justify-content-center"
88
- onClick={() => handleArrowClickInMainImage("right")}
89
- >
90
- <img
91
- src={blcIconArrowRight}
92
- className="blackArrow align-self-center"
93
- alt="Right Arrow"
94
- />
95
- </div>
96
- </div>
97
- </div>
98
- <div className="d-flex flex-row">
99
- {/* Arrows on the main image */}
100
- </div>
101
- <div className="d-flex flex-row gap-4 w-100 secondList ">
102
- <div className="col-lg-12 d-flex flex-row p-1 align-self-center mt-5">
103
- <div className="col-12 position-relative d-flex justify-content-center">
104
- <div
105
- className="col-lg-10 rounded-3 h-100 w-100 d-flex flex-row gap-2 overflow-auto "
106
- ref={imageListRef}
107
- >
108
- {props.pictureUrls.length > 0 && (
109
- <div className="col-lg-5 h-100 w-25 d-flex gap-4 flex-row rounded-3">
110
- {props.pictureUrls.map((picture, index) => (
111
- <div
112
- key={index}
113
- className="col-lg-12 h-100 d-flex"
114
- onClick={() => {
115
- setCurrentImageIndex(index);
116
- imageListRef.current!.scrollTo({
117
- left: index * 150,
118
- behavior: "smooth",
119
- });
120
- }}
121
- role="button"
122
- >
123
- <img
124
- src={picture.url}
125
- alt={`Image ${index + 1}`}
126
- className="col-12 h-100 rounded-3 object-fit-cover"
127
- />
128
- </div>
129
- ))}
130
- </div>
131
- )}
132
- </div>
133
- </div>
134
- </div>
135
- </div>
136
- </div>
137
- </div>
138
- )}
139
- </div>
140
- );
141
- }
1
+ import "./ImageListPopup.css";
2
+ import React, { useRef, useState } from "react";
3
+ import blcIconArrowRight from "../../assets/Images/blackarrow-Right.svg";
4
+ import blcIconArrowLeft from "../../assets/Images/blckarrow-Left.svg";
5
+ import iconClose from "../../assets/images/icon_close_2.png";
6
+
7
+ interface PopupProps {
8
+ pictureUrls: { title: string; url: string }[];
9
+ }
10
+
11
+ export default function ImageListPopup(props: PopupProps) {
12
+ const [showPopUp, setShowPopUp] = useState(true);
13
+ const [currentImageIndex, setCurrentImageIndex] = useState(0);
14
+ const imageListRef = useRef<HTMLDivElement | null>(null);
15
+
16
+ const handleArrowClickInMainImage = (direction: any) => {
17
+ if (props.pictureUrls.length === 0) return;
18
+
19
+ let newIndex = currentImageIndex;
20
+ if (direction === "left") {
21
+ newIndex =
22
+ (currentImageIndex - 1 + props.pictureUrls.length) %
23
+ props.pictureUrls.length;
24
+ } else if (direction === "right") {
25
+ newIndex = (currentImageIndex + 1) % props.pictureUrls.length;
26
+ }
27
+
28
+ setCurrentImageIndex(newIndex);
29
+
30
+ imageListRef.current!.scrollTo({
31
+ left: newIndex * 150,
32
+ behavior: "smooth",
33
+ });
34
+ };
35
+
36
+ const handleClose = () => {
37
+ setShowPopUp(false);
38
+ };
39
+
40
+ return (
41
+ <div>
42
+ {showPopUp && (
43
+ <div className="popup-overlay">
44
+ <div className=" d-flex flex-column col-6 ">
45
+ <span className="txt-white">
46
+ {props.pictureUrls[currentImageIndex].title}
47
+ </span>
48
+ <div className="d-flex align-self-end me-0 ms-5">
49
+ <img
50
+ src={iconClose}
51
+ alt="close"
52
+ className="closeIcon"
53
+ onClick={handleClose}
54
+ />
55
+ </div>
56
+
57
+ <div className="d-flex justify-content-center">
58
+ <div className="p-2 bd-highlight align-self-center align-items-center me-5">
59
+ <div
60
+ className="rounded-circle border onImageArrow start-0 d-flex "
61
+ role="button"
62
+ onClick={() => handleArrowClickInMainImage("left")}
63
+ >
64
+ <img
65
+ src={blcIconArrowLeft}
66
+ className="blackArrow align-self-center"
67
+ alt="Left Arrow"
68
+ />
69
+ </div>
70
+ </div>
71
+ <div className="p-2 bd-highlight">
72
+ <div
73
+ className=" rounded-5 mainImage "
74
+ style={{
75
+ backgroundImage: `url(${props.pictureUrls[currentImageIndex].url})`,
76
+ height: "350px",
77
+ width: "600px",
78
+ backgroundSize: "cover",
79
+ backgroundPosition: "center",
80
+ }}
81
+ ></div>
82
+ </div>
83
+ <div className="p-2 bd-highlight align-self-center ms-5">
84
+ {" "}
85
+ <div
86
+ role="button"
87
+ className="rounded-circle border onImageArrow d-flex justify-content-center"
88
+ onClick={() => handleArrowClickInMainImage("right")}
89
+ >
90
+ <img
91
+ src={blcIconArrowRight}
92
+ className="blackArrow align-self-center"
93
+ alt="Right Arrow"
94
+ />
95
+ </div>
96
+ </div>
97
+ </div>
98
+ <div className="d-flex flex-row">
99
+ {/* Arrows on the main image */}
100
+ </div>
101
+ <div className="d-flex flex-row gap-4 w-100 secondList ">
102
+ <div className="col-lg-12 d-flex flex-row p-1 align-self-center mt-5">
103
+ <div className="col-12 position-relative d-flex justify-content-center">
104
+ <div
105
+ className="col-lg-10 rounded-3 h-100 w-100 d-flex flex-row gap-2 overflow-auto "
106
+ ref={imageListRef}
107
+ >
108
+ {props.pictureUrls.length > 0 && (
109
+ <div className="col-lg-5 h-100 w-25 d-flex gap-4 flex-row rounded-3">
110
+ {props.pictureUrls.map((picture, index) => (
111
+ <div
112
+ key={index}
113
+ className="col-lg-12 h-100 d-flex"
114
+ onClick={() => {
115
+ setCurrentImageIndex(index);
116
+ imageListRef.current!.scrollTo({
117
+ left: index * 150,
118
+ behavior: "smooth",
119
+ });
120
+ }}
121
+ role="button"
122
+ >
123
+ <img
124
+ src={picture.url}
125
+ alt={`Image ${index + 1}`}
126
+ className="col-12 h-100 rounded-3 object-fit-cover"
127
+ />
128
+ </div>
129
+ ))}
130
+ </div>
131
+ )}
132
+ </div>
133
+ </div>
134
+ </div>
135
+ </div>
136
+ </div>
137
+ </div>
138
+ )}
139
+ </div>
140
+ );
141
+ }
@@ -1,28 +1,28 @@
1
- import React from "react";
2
- import closeIcon from "../../assets/images/icon_close_2.png";
3
- import "./Popup.css";
4
-
5
- interface PopupProps {
6
- children: React.ReactNode;
7
- onCloseClick: () => void;
8
- }
9
-
10
- const Popup: React.FC<PopupProps> = ({ onCloseClick, children }) => {
11
- return (
12
- <div className="popup-overlay">
13
- <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">
14
- <div className="end-0 top-0 position-absolute ">
15
- <img
16
- src={closeIcon}
17
- alt="close"
18
- className="closeIcon me-2"
19
- onClick={onCloseClick}
20
- />
21
- </div>
22
- {children}
23
- </div>
24
- </div>
25
- );
26
- };
27
-
28
- export default Popup;
1
+ import React from "react";
2
+ import closeIcon from "../../assets/images/icon_close_2.png";
3
+ import "./Popup.css";
4
+
5
+ interface PopupProps {
6
+ children: React.ReactNode;
7
+ onCloseClick: () => void;
8
+ }
9
+
10
+ const Popup: React.FC<PopupProps> = ({ onCloseClick, children }) => {
11
+ return (
12
+ <div className="popup-overlay">
13
+ <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">
14
+ <div className="end-0 top-0 position-absolute ">
15
+ <img
16
+ src={closeIcon}
17
+ alt="close"
18
+ className="closeIcon me-2"
19
+ onClick={onCloseClick}
20
+ />
21
+ </div>
22
+ {children}
23
+ </div>
24
+ </div>
25
+ );
26
+ };
27
+
28
+ export default Popup;
@@ -1,83 +1,84 @@
1
- import React, { useState } from "react";
2
- // import { FormattedMessage } from "react-intl";
3
- import ShareIcon from "../../assets/images/icon_share_1.svg";
4
- import locationIcon from "../../assets/images/locationIconBlack.svg";
5
- import "./PropertyDetailsHeader.css";
6
-
7
- export interface PopupProps {
8
- property: {
9
- city: string;
10
- constructedArea: string;
11
- rooms: string;
12
- propertyArea: string;
13
- askingPrice: string;
14
- };
15
- title: string;
16
- }
17
-
18
- export default function PropertyDetailsHeader(props: PopupProps) {
19
- const [showPopUp, setShowPopUp] = useState(false);
20
-
21
- const handlePopUp = () => {
22
- setShowPopUp(!showPopUp);
23
- };
24
-
25
- return (
26
- <div className="Pheader compact d-flex col-12 col-lg-12 position-relative mt-5 ">
27
- <div className="header_Text d-flex col-lg-7 col-md-9 mt-4 ms-4 ">
28
- <strong>{props.title ?? "-"}</strong>
29
- </div>
30
- <div className="header_Text text-truncate col-lg-6 col-md-7 d-flex flex-row position-absolute ms-4">
31
- <img src={locationIcon} className="vector me-2" alt="location Icon" />
32
-
33
- <div className="propText text-truncate col-lg-6 col-md-6 d-flex align-items-center">
34
- {props.property.city}
35
- </div>
36
- </div>
37
- <div className="d-flex col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0 mt-4">
38
- {/* <img src={Hearticon} alt="Location Icon" className="v_share me-3" /> */}
39
- <img
40
- src={ShareIcon}
41
- alt="share icon"
42
- className="v_share me-3"
43
- onClick={handlePopUp}
44
- />
45
- </div>
46
- <div className="fetch_section d-flex align-items-center flex-row col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0">
47
- {props && (
48
- <div className=" propText col-lg-3 col-md-3 h-100 d-flex align-items-center justify-content-center ">
49
- {props.property.askingPrice} <br />
50
- Kaufpreis
51
- </div>
52
- )}
53
- {props && (
54
- <div className="propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center">
55
- {props.property.constructedArea} <br />
56
- Wohnfläche
57
- {/* <FormattedMessage id="LIVING_SPACE" /> */}
58
- </div>
59
- )}
60
- {props && (
61
- <div className="propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center">
62
- {props.property.rooms} <br />
63
- Zimmer
64
- {/* <FormattedMessage id="ROOMS" /> */}
65
- </div>
66
- )}
67
- {props && (
68
- <div className="propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center">
69
- {props.property.propertyArea}
70
- <br />
71
- Grundstück
72
- {/* <FormattedMessage id="Grundstück" /> */}
73
- </div>
74
- )}
75
- </div>
76
- {/* {showPopUp && (
77
- <PopUp
78
-
79
- />
80
- )} */}
81
- </div>
82
- );
83
- }
1
+ import React, { useState } from "react";
2
+ // import { FormattedMessage } from "react-intl";
3
+ import ShareIcon from "../../assets/images/icon_share_1.svg";
4
+ import locationIcon from "../../assets/images/locationIconBlack.svg";
5
+ import "./PropertyDetailsHeader.css";
6
+ import PopUp from "../SharePopup/PopUp";
7
+
8
+ export interface PopupProps {
9
+ property: {
10
+ city: string;
11
+ constructedArea: string;
12
+ rooms: string;
13
+ propertyArea: string;
14
+ askingPrice: string;
15
+ };
16
+ title: string;
17
+ }
18
+
19
+ export default function PropertyDetailsHeader(props: PopupProps) {
20
+ const [showPopUp, setShowPopUp] = useState(false);
21
+
22
+ const handlePopUp = () => {
23
+ setShowPopUp(!showPopUp);
24
+ };
25
+
26
+ return (
27
+ <div className="Pheader compact d-flex col-12 col-lg-12 position-relative mt-5 ">
28
+ <div className="header_Text d-flex col-lg-7 col-md-9 mt-4 ms-4 ">
29
+ <strong>{props.title ?? "-"}</strong>
30
+ </div>
31
+ <div className="header_Text text-truncate col-lg-6 col-md-7 d-flex flex-row position-absolute ms-4">
32
+ <img src={locationIcon} className="vector me-2" alt="location Icon" />
33
+
34
+ <div className="propText text-truncate col-lg-6 col-md-6 d-flex align-items-center">
35
+ {props.property.city}
36
+ </div>
37
+ </div>
38
+ <div className="d-flex col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0 mt-4">
39
+ {/* <img src={Hearticon} alt="Location Icon" className="v_share me-3" /> */}
40
+ <img
41
+ src={ShareIcon}
42
+ alt="share icon"
43
+ className="v_share me-3"
44
+ onClick={handlePopUp}
45
+ />
46
+ </div>
47
+ <div className="fetch_section d-flex align-items-center flex-row col-lg-5 col-md-6 col-sm-5 justify-content-end position-absolute end-0">
48
+ {props && (
49
+ <div className=" propText col-lg-3 col-md-3 h-100 d-flex align-items-center justify-content-center ">
50
+ {props.property.askingPrice} <br />
51
+ Kaufpreis
52
+ </div>
53
+ )}
54
+ {props && (
55
+ <div className="propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center">
56
+ {props.property.constructedArea} m² <br />
57
+ Wohnfläche
58
+ {/* <FormattedMessage id="LIVING_SPACE" /> */}
59
+ </div>
60
+ )}
61
+ {props && (
62
+ <div className="propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center">
63
+ {props.property.rooms} <br />
64
+ Zimmer
65
+ {/* <FormattedMessage id="ROOMS" /> */}
66
+ </div>
67
+ )}
68
+ {props && (
69
+ <div className="propText col-lg-3 col-md-3 d-flex h-100 align-items-center justify-content-center">
70
+ {props.property.propertyArea}
71
+ <br />
72
+ Grundstück
73
+ {/* <FormattedMessage id="Grundstück" /> */}
74
+ </div>
75
+ )}
76
+ </div>
77
+ {showPopUp && (
78
+ <PopUp
79
+ onClick={handlePopUp}
80
+ />
81
+ )}
82
+ </div>
83
+ );
84
+ }