nestiq-component-library 1.1.172 → 1.2.1

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 (111) hide show
  1. package/dist/index.cjs +8 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.js +1670 -733
  4. package/dist/index.js.map +1 -1
  5. package/dist/style.css +1 -0
  6. package/package.json +27 -26
  7. package/dist/assets/images/Icon_rightArrow.bced4a705c07148d.svg +0 -3
  8. package/dist/assets/images/LayersIcon.34c085c352a2c9c8.svg +0 -5
  9. package/dist/assets/images/blackarrow-Right.e585ae62dd55abae.svg +0 -3
  10. package/dist/assets/images/blckarrow-Left.e2134741aa368d30.svg +0 -3
  11. package/dist/assets/images/card-arrow-left.55343410142dad3f.svg +0 -4
  12. package/dist/assets/images/card-arrow-right.60b3bf0e34c1800d.svg +0 -4
  13. package/dist/assets/images/chevron-left.04f0a7f16b745c1a.svg +0 -3
  14. package/dist/assets/images/close.b5ce9141e80c688b.png +0 -0
  15. package/dist/assets/images/default-property.9987f19670be82b6.jpg +0 -0
  16. package/dist/assets/images/envelope-fill.6669c9d64183941c.svg +0 -3
  17. package/dist/assets/images/facebook.ce73eacbfffe8a27.svg +0 -3
  18. package/dist/assets/images/icon_checkmark.9b48c4a4bc651b08.svg +0 -10
  19. package/dist/assets/images/icon_close_2.e41bb9a4db48e048.png +0 -0
  20. package/dist/assets/images/icon_gallery.269b721daf2ca907.svg +0 -4
  21. package/dist/assets/images/icon_map.2318ec664c3e615e.svg +0 -10
  22. package/dist/assets/images/icon_share_1.b9ec05630dc1087e.svg +0 -3
  23. package/dist/assets/images/imooly.b46514ac970e6052.svg +0 -7
  24. package/dist/assets/images/layer_icon.9b56c187199c44b5.svg +0 -5
  25. package/dist/assets/images/linkedin.7539333145b03678.svg +0 -3
  26. package/dist/assets/images/locationIcon.961de080757bda41.svg +0 -4
  27. package/dist/assets/images/locationIconBlack.eb8e9e9226b43573.svg +0 -4
  28. package/dist/assets/images/mail-icon.176f921aa16b9a3d.png +0 -0
  29. package/dist/assets/images/more.ce14789c8d37e327.svg +0 -12
  30. package/dist/assets/images/twitter-x.48a4ac3f560f0a62.svg +0 -3
  31. package/dist/assets/images/warning.6f99cb4c6a048b47.svg +0 -11
  32. package/dist/assets/images/whatsapp.28e6b0b24adc9289.svg +0 -3
  33. package/dist/components/Button/Button.d.ts +0 -6
  34. package/dist/components/ErrorPopup/ErrorPopup.d.ts +0 -7
  35. package/dist/components/FloorPlanPopup/FloorPlanPopup.d.ts +0 -7
  36. package/dist/components/ImageListPopup/ImageListPopup.d.ts +0 -12
  37. package/dist/components/MessagePopup/MessagePopUp.d.ts +0 -16
  38. package/dist/components/MessagePopup/SuccessPopup.d.ts +0 -7
  39. package/dist/components/NewPropertyCard/NewPropertyCard.d.ts +0 -55
  40. package/dist/components/Popup/Popup.d.ts +0 -9
  41. package/dist/components/PropertyCard/PropertyCard.d.ts +0 -27
  42. package/dist/components/PropertyDetailsHeader/PropertyDetailsHeader.d.ts +0 -20
  43. package/dist/components/PropertyImageList/PropertyImageList.d.ts +0 -29
  44. package/dist/components/SharePopup/SharePopup.d.ts +0 -8
  45. package/dist/components/ToastWrapper/ToastWrapper.d.ts +0 -4
  46. package/dist/functions/util.d.ts +0 -2
  47. package/dist/index.d.ts +0 -15
  48. package/dist/index.es.js +0 -742
  49. package/dist/index.es.js.map +0 -1
  50. package/dist/models/message.model.d.ts +0 -7
  51. package/rollup.config.mjs +0 -36
  52. package/src/assets/images/Icon_rightArrow.svg +0 -3
  53. package/src/assets/images/LayersIcon.svg +0 -5
  54. package/src/assets/images/blackarrow-Right.svg +0 -3
  55. package/src/assets/images/blckarrow-Left.svg +0 -3
  56. package/src/assets/images/card-arrow-left.svg +0 -4
  57. package/src/assets/images/card-arrow-right.svg +0 -4
  58. package/src/assets/images/chevron-left.svg +0 -3
  59. package/src/assets/images/close.png +0 -0
  60. package/src/assets/images/default-property.jpg +0 -0
  61. package/src/assets/images/envelope-fill.svg +0 -3
  62. package/src/assets/images/facebook.svg +0 -3
  63. package/src/assets/images/heart.svg +0 -3
  64. package/src/assets/images/house.jpg +0 -0
  65. package/src/assets/images/icon_checkmark.svg +0 -10
  66. package/src/assets/images/icon_close 2.png +0 -0
  67. package/src/assets/images/icon_close_2.png +0 -0
  68. package/src/assets/images/icon_gallery.svg +0 -4
  69. package/src/assets/images/icon_home.svg +0 -3
  70. package/src/assets/images/icon_map.svg +0 -10
  71. package/src/assets/images/icon_share_1.svg +0 -3
  72. package/src/assets/images/imooly.svg +0 -7
  73. package/src/assets/images/layer_icon.svg +0 -5
  74. package/src/assets/images/linkedin.svg +0 -3
  75. package/src/assets/images/locationIcon.svg +0 -4
  76. package/src/assets/images/locationIconBlack.svg +0 -4
  77. package/src/assets/images/mail-icon.png +0 -0
  78. package/src/assets/images/more.svg +0 -12
  79. package/src/assets/images/twitter-x.svg +0 -3
  80. package/src/assets/images/warning.svg +0 -11
  81. package/src/assets/images/whatsapp.svg +0 -3
  82. package/src/components/Button/Button.tsx +0 -11
  83. package/src/components/ErrorPopup/ErrorPopup.tsx +0 -63
  84. package/src/components/ErrorPopup/PopUp.css +0 -409
  85. package/src/components/FloorPlanPopup/FloorPlanPopup.css +0 -3
  86. package/src/components/FloorPlanPopup/FloorPlanPopup.tsx +0 -83
  87. package/src/components/ImageListPopup/ImageListPopup.css +0 -113
  88. package/src/components/ImageListPopup/ImageListPopup.tsx +0 -154
  89. package/src/components/MessagePopup/MessagePopUp.css +0 -196
  90. package/src/components/MessagePopup/MessagePopUp.tsx +0 -160
  91. package/src/components/MessagePopup/PopUp.css +0 -408
  92. package/src/components/MessagePopup/SuccessPopup.tsx +0 -64
  93. package/src/components/NewPropertyCard/NewPropertyCard.css +0 -413
  94. package/src/components/NewPropertyCard/NewPropertyCard.tsx +0 -383
  95. package/src/components/Popup/Popup.css +0 -12
  96. package/src/components/Popup/Popup.tsx +0 -29
  97. package/src/components/PropertyCard/PropertyCard.css +0 -271
  98. package/src/components/PropertyCard/PropertyCard.tsx +0 -137
  99. package/src/components/PropertyDetailsHeader/PropertyDetailsHeader.css +0 -94
  100. package/src/components/PropertyDetailsHeader/PropertyDetailsHeader.tsx +0 -106
  101. package/src/components/PropertyImageList/PropertyImageList.css +0 -101
  102. package/src/components/PropertyImageList/PropertyImageList.tsx +0 -254
  103. package/src/components/SharePopup/SharePopup.css +0 -348
  104. package/src/components/SharePopup/SharePopup.tsx +0 -143
  105. package/src/components/ToastWrapper/ToastWrapper.tsx +0 -25
  106. package/src/functions/util.ts +0 -14
  107. package/src/index.tsx +0 -26
  108. package/src/models/message.model.ts +0 -7
  109. package/src/styles/common.css +0 -17
  110. package/src/types/images.d.ts +0 -25
  111. package/tsconfig.json +0 -22
@@ -1,154 +0,0 @@
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/close.png";
6
- import "../../styles/common.css";
7
-
8
- interface PopupProps {
9
- pictureUrls: { title: string; url: string }[];
10
- onClose?: () => void;
11
- }
12
-
13
- export default function ImageListPopup(props: PopupProps) {
14
- const [showPopUp, setShowPopUp] = useState(true);
15
- const [currentImageIndex, setCurrentImageIndex] = useState(0);
16
- const imageListRef = useRef<HTMLDivElement | null>(null);
17
-
18
- const handleArrowClickInMainImage = (direction: any) => {
19
- if (props.pictureUrls.length === 0) return;
20
-
21
- let newIndex = currentImageIndex;
22
- if (direction === "left") {
23
- newIndex =
24
- (currentImageIndex - 1 + props.pictureUrls.length) %
25
- props.pictureUrls.length;
26
- } else if (direction === "right") {
27
- newIndex = (currentImageIndex + 1) % props.pictureUrls.length;
28
- }
29
-
30
- setCurrentImageIndex(newIndex);
31
-
32
- imageListRef.current!.scrollTo({
33
- left: newIndex * 150,
34
- behavior: "smooth",
35
- });
36
- };
37
-
38
- const handleClose = () => {
39
- if (props.onClose) {
40
- props.onClose();
41
- }
42
- };
43
-
44
- return (
45
- <div>
46
- {showPopUp && (
47
- <div className="popup-overlay">
48
- <div className=" d-flex flex-column ">
49
- <div className="d-flex align-self-end me-5 ">
50
- <img
51
- src={iconClose}
52
- alt="close"
53
- className="closeIconNestiq"
54
- onClick={handleClose}
55
- />
56
- </div>
57
- <span className="text-white align-self-center">
58
- {props.pictureUrls[currentImageIndex].title}
59
- </span>
60
- <div className="d-flex justify-content-center">
61
- <div className="p-2 bd-highlight align-self-center align-items-center me-5">
62
- <div
63
- className="rounded-circle border onImageArrow d-flex justify-content-center"
64
- role="button"
65
- onClick={() => handleArrowClickInMainImage("left")}
66
- >
67
- <img
68
- src={blcIconArrowLeft}
69
- className="blackArrow align-self-center"
70
- alt="Left Arrow"
71
- />
72
- </div>
73
- </div>
74
- <div className="p-2 bd-highlight">
75
- <div
76
- className=" rounded-5"
77
- style={{
78
- backgroundImage: `url(${props.pictureUrls[currentImageIndex].url})`,
79
- height: "465px",
80
- width: "880px",
81
- backgroundSize: "cover",
82
- backgroundPosition: "center",
83
- }}
84
- ></div>
85
- </div>
86
- <div className="p-2 bd-highlight align-self-center ms-5">
87
- {" "}
88
- <div
89
- role="button"
90
- className="rounded-circle border onImageArrow d-flex justify-content-center"
91
- onClick={() => handleArrowClickInMainImage("right")}
92
- >
93
- <img
94
- src={blcIconArrowRight}
95
- className="blackArrow align-self-center"
96
- alt="Right Arrow"
97
- />
98
- </div>
99
- </div>
100
- </div>
101
- <div className="d-flex flex-row">
102
- {/* Arrows on the main image */}
103
- </div>
104
- <div className="d-flex flex-row justify-content-center w-100 mt-5">
105
- <div
106
- className="d-flex flex-row gap-4 overflow-auto px-3"
107
- ref={imageListRef}
108
- style={{
109
- maxWidth: "100%",
110
- scrollbarWidth: "thin",
111
- }}
112
- >
113
- {props.pictureUrls.length > 0 && (
114
- <>
115
- {props.pictureUrls.map((picture, index) => (
116
- <div
117
- key={index}
118
- className={`flex-shrink-0 activeStyle ${
119
- index === currentImageIndex ? "active" : ""
120
- }`}
121
- onClick={() => {
122
- setCurrentImageIndex(index);
123
- imageListRef.current!.scrollTo({
124
- left: index * 170, // 150px width + gap
125
- behavior: "smooth",
126
- });
127
- }}
128
- role="button"
129
- style={{
130
- cursor: "pointer",
131
- width: "150px",
132
- height: "150px",
133
- }}
134
- >
135
- <img
136
- src={picture.url}
137
- alt={`Image ${index + 1}`}
138
- className="w-100 h-100 rounded-3 object-fit-cover"
139
- style={{
140
- display: "block",
141
- }}
142
- />
143
- </div>
144
- ))}
145
- </>
146
- )}
147
- </div>
148
- </div>
149
- </div>
150
- </div>
151
- )}
152
- </div>
153
- );
154
- }
@@ -1,196 +0,0 @@
1
- .popup-overlay {
2
- position: fixed; /* Fixed position to cover the whole screen */
3
- top: 0;
4
- left: 0;
5
- right: 0;
6
- bottom: 0;
7
- background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent background */
8
- display: flex; /* Flexbox to center the popup */
9
- justify-content: center; /* Center horizontally */
10
- align-items: center; /* Center vertically */
11
- z-index: 9998; /* Ensure it's above other content */
12
- }
13
-
14
- .MessageShareSections {
15
- height: 550px;
16
- padding: 10px 14px;
17
- border-radius: 16px;
18
- box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
19
- border: solid 1px #d7d9e3;
20
- background-color: #fff;
21
- max-width: 1280px;
22
- }
23
- .popUpHeader {
24
- height: 48px;
25
- font-size: 32px;
26
- font-weight: 600;
27
- color: #1b1b1b;
28
- }
29
-
30
- .closeIcon {
31
- width: 16px;
32
- height: 16px;
33
- cursor: pointer;
34
- }
35
-
36
- .socialMediaIconsSection {
37
- gap: 60px !important;
38
- }
39
-
40
- .socialMediaIcons {
41
- width: 28px !important;
42
- height: 28px !important;
43
- cursor: pointer;
44
- }
45
-
46
- .socialMediaIconText {
47
- height: 36px;
48
- font-size: 13px;
49
- font-weight: 500;
50
- line-height: 3;
51
- color: #344041;
52
- cursor: pointer;
53
- }
54
-
55
- .popup_search-input {
56
- height: 60px;
57
- padding-inline-end: 190px;
58
- font-size: 20px;
59
- box-shadow: inset 0 4px 4px 0 rgba(0, 0, 0, 0.25);
60
- background-color: rgba(0, 0, 0, 0.05);
61
- }
62
-
63
- .popup_search-input::placeholder {
64
- font-size: 20px;
65
- color: rgba(140, 140, 140, 0.5);
66
- }
67
-
68
- .popup_search-input:focus {
69
- outline: none;
70
- }
71
-
72
- .popupcustom-button {
73
- height: 35px;
74
- color: #000;
75
- cursor: pointer;
76
- right: 0;
77
- z-index: 1;
78
- background-image: var(--gradient);
79
- box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
80
- }
81
- .popup-tags {
82
- font-size: large;
83
- font-weight: bold;
84
- }
85
- .button_icon-left {
86
- width: 184px;
87
- height: 43px;
88
- flex-grow: 0;
89
- display: flex;
90
- flex-direction: row;
91
- justify-content: center;
92
- align-items: center;
93
- gap: 8px;
94
- padding: 12px 24px;
95
- border-radius: 16px;
96
- box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
97
- }
98
- .button-text {
99
- width: 85px;
100
- height: 19px;
101
- flex-grow: 0;
102
- font-family: Inter;
103
- font-size: 16px;
104
- font-weight: 500;
105
- font-stretch: normal;
106
- font-style: normal;
107
- line-height: normal;
108
- letter-spacing: normal;
109
- text-align: center;
110
- }
111
- .button_icon-right {
112
- width: 184px;
113
- height: 43px;
114
- flex-grow: 0;
115
- display: flex;
116
- flex-direction: row;
117
- justify-content: center;
118
- align-items: center;
119
- gap: 8px;
120
- padding: 12px 24px;
121
- border-radius: 16px;
122
- border-color: #000;
123
- background-color: transparent;
124
- }
125
- .circle {
126
- height: 55px;
127
- width: 55px;
128
- background-color: transparent;
129
- border-radius: 50%;
130
- border-style: solid;
131
- border-color: #000;
132
- border-width: 2px;
133
- align-content: center;
134
- justify-content: center;
135
- justify-items: center;
136
- justify-self: center;
137
- }
138
- @media (min-width: 375px) and (max-width: 667px) {
139
- .popup-overlay {
140
- /* Fixed position to cover the whole screen */
141
-
142
- background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent background */
143
- display: flex; /* Flexbox to center the popup */
144
-
145
- z-index: 9998; /* Ensure it's above other content */
146
- }
147
-
148
- .MessageShareSections {
149
- height: 650px;
150
- border-radius: 16px;
151
- box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
152
- border: solid 1px #d7d9e3;
153
- background-color: #fff;
154
- }
155
- .button_icon-left {
156
- width: 90px;
157
- height: 43px;
158
- flex-grow: 0;
159
- display: flex;
160
- flex-direction: row;
161
- justify-content: center;
162
- align-items: center;
163
- gap: 8px;
164
- padding: 12px 24px;
165
- border-radius: 16px;
166
- box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
167
- }
168
- .button-text {
169
- width: 85px;
170
- height: 19px;
171
- flex-grow: 0;
172
- font-family: Inter;
173
- font-size: 16px;
174
- font-weight: 500;
175
- font-stretch: normal;
176
- font-style: normal;
177
- line-height: normal;
178
- letter-spacing: normal;
179
- text-align: center;
180
- }
181
- .button_icon-right {
182
- width: 184px;
183
- }
184
- .circle {
185
- height: 55px;
186
- width: 55px;
187
- background-color: transparent;
188
- border-radius: 50%;
189
- border-style: solid;
190
- border-color: #000;
191
- border-width: 2px;
192
- }
193
- .button_icon-left {
194
- width: 184px;
195
- }
196
- }
@@ -1,160 +0,0 @@
1
- import React, { useEffect, useState } from "react";
2
- import x from "../../assets/Images/icon_close_2.png";
3
- import mail_icon from "../../assets/Images/mail-icon.png";
4
- import "../MessagePopup/MessagePopUp.css";
5
- import { MessageModel } from "../../models/message.model";
6
-
7
- interface PopupProps {
8
- sellerFirstName: string;
9
- sellerLastName: string;
10
- onCloseClick: () => void;
11
- themesList: any;
12
- onSubmit: (formValues: MessageModel) => void;
13
- userData:{
14
- firstname: string;
15
- lastname: string;
16
- };
17
- }
18
-
19
- export default function MessagePopUp(props: PopupProps) {
20
- const [themeId, setThemeId] = useState("");
21
- const [subject, setSubject] = useState("");
22
- const [messageText, setMessageText] = useState("");
23
- const [firstName, setFirstName] = useState("");
24
- const [lastName, setLastName] = useState("");
25
-
26
- const handleClose = () => {
27
- props.onCloseClick();
28
- };
29
- function handleSendMessage() {
30
- props.onSubmit({ themeId, subject, messageText, firstName, lastName });
31
- }
32
-
33
- useEffect(() => {
34
- const user = JSON.parse(localStorage.getItem("user") || "{}");
35
- if (user) {
36
- setFirstName(user.firstname || "");
37
- setLastName(user.lastname || "");
38
- }
39
- }, []);
40
- return (
41
- <div>
42
- <div className=" popup-overlay">
43
- <div className="MessageShareSections d-flex flex-column col-10 col-lg-7">
44
- <img
45
- src={x}
46
- alt="close"
47
- className="closeIcon d-flex flex-column align-self-end"
48
- onClick={handleClose}
49
- />
50
- <div className="">
51
- <div className="d-flex ms-md-5 mb-4">
52
- <div className="circle align-self-center ms-md-2 me-4">
53
- <img
54
- src={mail_icon}
55
- alt="email"
56
- className="align-self-center"
57
- style={{
58
- alignSelf: "center",
59
- justifyContent: "center",
60
- margin: "14px",
61
- width: "25px",
62
- height: "20px",
63
- }}
64
- />
65
- </div>
66
- <div className="popUpHeader d-flex flex-column text-wrap mb-md-1 ">
67
- Nachricht senden {props.userData?.firstname} {props.userData?.lastname}
68
- </div>
69
- </div>
70
-
71
- <div className="d-flex flex-md-row flex-column ms-md-5 mt-md-0 ">
72
- <div className="d-flex flex-column mt-md-0 mt-4 col me-4 w-100 align-self-start justify-content-start">
73
- <span className="popup-tags mb-2">Betreff:*</span>
74
- <div>
75
- <select
76
- name="theme"
77
- id="theme"
78
- className="mb-md-4 col-md-11 col-12"
79
- style={{ height: "42px" }}
80
- value={themeId}
81
- onChange={(e) => setThemeId(e.target.value)}
82
- >
83
- <option value="">Select a theme</option>
84
- {props.themesList.map(
85
- (theme: { id: string; name: string }) => (
86
- <option key={theme.id} value={theme.id}>
87
- {theme.name}
88
- </option>
89
- )
90
- )}
91
- </select>
92
- </div>
93
- </div>
94
- <div className="d-flex flex-column mt-md-4 col me-4 w-100">
95
- <div></div>
96
- <textarea
97
- className="popup_textarea col-12 col-md-10 mb-md-0 mt-2 "
98
- placeholder="Betreff deiner Nachricht"
99
- style={{ height: "42px" }}
100
- value={subject}
101
- onChange={(e) => setSubject(e.target.value)}
102
- />
103
- </div>
104
- </div>
105
- <div className="d-flex flex-column col ms-md-5 me-md-4">
106
- <span className="popup-tags mb-2 ">Deine Nachricht:*</span>
107
- <textarea
108
- className="popup_textarea mb-md-4 col-md-11 col-12 "
109
- placeholder="Deine Nachricht hier..."
110
- value={messageText}
111
- onChange={(e) => setMessageText(e.target.value)}
112
- />
113
- </div>
114
- {/* <div className="d-flex flex-column ms-5 me-5">
115
- <span className="popup-tags mb-2">Thema auswählen:*</span>
116
-
117
- </div> */}
118
- <div className="d-flex flex-md-row flex-column ms-md-5 ">
119
- <div className="d-flex flex-column col me-4 w-100">
120
- <span className="popup-tags mb-2">Vorname:</span>
121
- <input
122
- className="popup_textarea mb-md-4 col-12 col-md-11"
123
- placeholder="Dein Vorname"
124
- type="text"
125
- value={firstName}
126
- onChange={(e) => setFirstName(e.target.value)}
127
- style={{ height: "42px" }}
128
- />
129
- </div>
130
- <div className="d-flex flex-column me-4 w-100 col ">
131
- <span className="popup-tags mb-2">Nachname:</span>
132
- <input
133
- className="popup_textarea col-12 mb-4 col-md-10"
134
- placeholder="Dein Nachname"
135
- type="text"
136
- value={lastName}
137
- onChange={(e) => setLastName(e.target.value)}
138
- style={{ height: "42px" }}
139
- />
140
- </div>
141
- </div>
142
- <div className="d-flex gap-md-3 gap-3 flex-md-row flex-column align-self-center justify-content-center mb-4 mt-md-2">
143
- <button
144
- className="main_button border-0 rounded-4 align-self-center "
145
- type="button"
146
- id="button"
147
- onClick={handleSendMessage}
148
- >
149
- <strong>Nachricht senden</strong>
150
- </button>
151
- <button className="button_icon-right border-1 col-sm-3 align-self-center">
152
- <strong>Abbrechen</strong>
153
- </button>
154
- </div>
155
- </div>
156
- </div>
157
- </div>
158
- </div>
159
- );
160
- }