nestiq-component-library 1.1.172 → 1.2.0

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 +1674 -733
  4. package/dist/index.js.map +1 -1
  5. package/dist/style.css +1 -0
  6. package/package.json +36 -35
  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
package/dist/index.es.js DELETED
@@ -1,742 +0,0 @@
1
- import 'react-toastify/dist/ReactToastify.css';
2
- import React, { useState, useRef, useEffect } from 'react';
3
- import { toast, ToastContainer } from 'react-toastify';
4
-
5
- var Button = function (_a) {
6
- var label = _a.label;
7
- return React.createElement("button", null, label);
8
- };
9
-
10
- var x$1 = "/static/media/icon_close_2.e41bb9a4db48e048.png";
11
-
12
- function styleInject(css, ref) {
13
- if ( ref === void 0 ) ref = {};
14
- var insertAt = ref.insertAt;
15
-
16
- if (!css || typeof document === 'undefined') { return; }
17
-
18
- var head = document.head || document.getElementsByTagName('head')[0];
19
- var style = document.createElement('style');
20
- style.type = 'text/css';
21
-
22
- if (insertAt === 'top') {
23
- if (head.firstChild) {
24
- head.insertBefore(style, head.firstChild);
25
- } else {
26
- head.appendChild(style);
27
- }
28
- } else {
29
- head.appendChild(style);
30
- }
31
-
32
- if (style.styleSheet) {
33
- style.styleSheet.cssText = css;
34
- } else {
35
- style.appendChild(document.createTextNode(css));
36
- }
37
- }
38
-
39
- var css_248z$a = ".popUpHeader {\r\n height: 48px;\r\n font-size: 32px;\r\n font-weight: 600;\r\n color: #1b1b1b;\r\n}\r\n\r\n.closeIcon {\r\n width: 16px;\r\n height: 16px;\r\n cursor: pointer;\r\n}\r\n";
40
- styleInject(css_248z$a);
41
-
42
- var css_248z$9 = ".popup-overlay {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n background-color: rgba(0, 0, 0, 0.7);\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n z-index: 9998;\r\n}\r\n:root {\r\n --main-yellow: #ffb525;\r\n --second-yellow:#ff902b;\r\n --gradient: linear-gradient(to bottom, var(--main-yellow), var(--second-yellow));;\r\n}\r\n";
43
- styleInject(css_248z$9);
44
-
45
- var Popup = function (_a) {
46
- var onCloseClick = _a.onCloseClick, children = _a.children;
47
- return (React.createElement("div", { className: "popup-overlay" },
48
- React.createElement("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" },
49
- React.createElement("div", { className: "end-0 top-0 position-absolute " },
50
- React.createElement("img", { src: x$1, alt: "close", className: "closeIcon me-2", onClick: onCloseClick })),
51
- children)));
52
- };
53
-
54
- var ShareIcon = "/static/media/icon_share_1.b9ec05630dc1087e.svg";
55
-
56
- var locationIcon$1 = "/static/media/locationIconBlack.eb8e9e9226b43573.svg";
57
-
58
- var css_248z$8 = ".compact_cc {\r\n padding: 32px;\r\n height: 194px;\r\n border-radius: 32px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background-color: #f2f2f2;\r\n}\r\n\r\n.header_Text {\r\n margin-top: 140px;\r\n font-size: 32px;\r\n line-height: normal;\r\n color: #1b1b1b;\r\n}\r\n.location {\r\n left: 0;\r\n}\r\n.vector svg {\r\n width: 6px;\r\n height: 21.5px;\r\n flex-grow: 0;\r\n margin: 4.2px 10px 4.2px 0;\r\n fill: #344041;\r\n cursor: pointer;\r\n}\r\n\r\n.textWrapper {\r\n height: 20px;\r\n}\r\n\r\n.propText {\r\n font-size: 16px;\r\n letter-spacing: normal;\r\n text-align: center;\r\n color: #344041;\r\n}\r\n\r\n.v_share {\r\n cursor: pointer;\r\n}\r\n\r\n.fetch_section {\r\n margin-top: 90px;\r\n height: 60px;\r\n}\r\n@media (min-width: 800px) {\r\n .Pheader {\r\n max-width: 1750px;\r\n margin: 0 auto;\r\n }\r\n}\r\n@media (min-width: 300px) and (max-width: 670px) {\r\n .Pheader {\r\n height: 700px;\r\n }\r\n .compact {\r\n border-radius: 32px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background-color: #f2f2f2;\r\n }\r\n .compact2 {\r\n position: relative !important;\r\n display: flex !important;\r\n align-self: flex-start !important;\r\n margin-left: 25px;\r\n justify-content: start !important;\r\n align-items: flex-start !important;\r\n }\r\n .compact3 {\r\n position: relative !important;\r\n display: flex !important;\r\n margin-left: 30px;\r\n margin-top: 10px !important;\r\n }\r\n .header_Text {\r\n margin-top: 0px;\r\n }\r\n .fetch_section {\r\n margin-top: 0px;\r\n height: 60px;\r\n }\r\n .propText {\r\n justify-content: start !important;\r\n align-self: flex-start !important;\r\n text-align: start !important;\r\n }\r\n .propText2 {\r\n justify-content: start !important;\r\n align-self: flex-start !important;\r\n text-align: start !important;\r\n font-weight: 1000;\r\n font-size: 24px;\r\n }\r\n}\r\n";
59
- styleInject(css_248z$8);
60
-
61
- var email = "/static/media/envelope-fill.6669c9d64183941c.svg";
62
-
63
- var facebook = "/static/media/facebook.ce73eacbfffe8a27.svg";
64
-
65
- var linkedln = "/static/media/linkedin.7539333145b03678.svg";
66
-
67
- var Xtwitter = "/static/media/twitter-x.48a4ac3f560f0a62.svg";
68
-
69
- var whatsapp = "/static/media/whatsapp.28e6b0b24adc9289.svg";
70
-
71
- var css_248z$7 = ".shareSection {\r\n height: 340px;\r\n padding: 40px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #d7d9e3;\r\n background-color: #fff;\r\n max-width: 1280px;\r\n}\r\n.popUpHeader {\r\n height: 48px;\r\n font-size: 32px;\r\n font-weight: 600;\r\n color: #1b1b1b;\r\n}\r\n\r\n.closeIcon_c {\r\n width: 16px;\r\n height: 16px;\r\n cursor: pointer;\r\n}\r\n\r\n.socialMediaIconsSection {\r\n gap: 60px !important;\r\n}\r\n\r\n.socialMediaIcons {\r\n width: 28px !important;\r\n height: 28px !important;\r\n cursor: pointer;\r\n}\r\n\r\n.socialMediaIconText {\r\n height: 36px;\r\n font-size: 13px;\r\n font-weight: 500;\r\n line-height: 3;\r\n color: #344041;\r\n cursor: pointer;\r\n}\r\n\r\n.popup_search-input {\r\n height: 60px;\r\n padding-inline-end: 190px;\r\n font-size: 20px;\r\n box-shadow: inset 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background-color: rgba(0, 0, 0, 0.05);\r\n}\r\n\r\n.popup_search-input::placeholder {\r\n font-size: 20px;\r\n color: rgba(140, 140, 140, 0.5);\r\n}\r\n\r\n.popup_search-input:focus {\r\n outline: none;\r\n}\r\n\r\n.popupcustom-button {\r\n height: 35px;\r\n color: #000;\r\n cursor: pointer;\r\n border-color: var(--main-yellow);\r\n right: 0;\r\n z-index: 1;\r\n background-image: var(--gradient);\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n}\r\n.button-text {\r\n width: 115px;\r\n height: 19px;\r\n flex-grow: 0;\r\n font-family: Inter;\r\n font-size: 16px;\r\n font-weight: 500;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: normal;\r\n letter-spacing: normal;\r\n text-align: center;\r\n}\r\n.button_success-right {\r\n width: 184px;\r\n height: 43px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 16px;\r\n border-color: #000;\r\n background-color: transparent;\r\n}\r\n.button_success-left {\r\n width: 200px;\r\n height: 43px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background-color: var(--main-yellow);\r\n}\r\n.shareSection-Success {\r\n height: 510px;\r\n padding: 40px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #d7d9e3;\r\n background-color: #fff;\r\n}\r\n.shareSection-Error {\r\n height: 400px;\r\n padding: 10px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #d7d9e3;\r\n background-color: #fff;\r\n}\r\n.MessageShareSection {\r\n height: 513px;\r\n padding: 14px 14px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #d7d9e3;\r\n background-color: #fff;\r\n}\r\n\r\n.popup-tags {\r\n font-size: large;\r\n font-weight: bold;\r\n}\r\n.button_icon-left {\r\n width: 184px;\r\n height: 43px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background-color: var(--main-yellow);\r\n}\r\n.button-text {\r\n width: 85px;\r\n height: 19px;\r\n flex-grow: 0;\r\n font-family: Inter;\r\n font-size: 16px;\r\n font-weight: 500;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: normal;\r\n letter-spacing: normal;\r\n text-align: center;\r\n}\r\n.button_icon-right {\r\n width: 184px;\r\n height: 43px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 16px;\r\n border-color: #000;\r\n background-color: transparent;\r\n}\r\n.circle {\r\n height: 55px;\r\n width: 55px;\r\n background-color: transparent;\r\n border-radius: 50%;\r\n border-style: solid;\r\n border-color: #000;\r\n border-width: 2px;\r\n}\r\n.Line-9,\r\n.Line-10 {\r\n height: 1px;\r\n flex-grow: 1;\r\n background-color: rgba(140, 140, 140, 0.5);\r\n max-width: 23rem;\r\n align-self: center;\r\n align-content: center;\r\n}\r\n\r\n.middle-container {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n.middle-text {\r\n margin: 25px 25px;\r\n}\r\n.google-button {\r\n width: 260px;\r\n height: 45px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 4px;\r\n background-color: #000000;\r\n background: linear-gradient(to top, #000, #666);\r\n}\r\n.Account-popup {\r\n height: 713px;\r\n padding: 10px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #d7d9e3;\r\n background-color: #fff;\r\n max-width: 1000px;\r\n}\r\n.lightertxt {\r\n color: #797979;\r\n}\r\n\r\n.filter {\r\n height: 343px;\r\n align-self: stretch;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 2px;\r\n padding: 32px;\r\n border-radius: 32px;\r\n box-shadow: inset 0 4px 10px 0 rgba(0, 0, 0, 0.15);\r\n background-color: #f2f2f2;\r\n}\r\n.loginFilter {\r\n height: 280px;\r\n align-self: stretch;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 2px;\r\n padding: 32px;\r\n border-radius: 32px;\r\n box-shadow: inset 0 4px 10px 0 rgba(0, 0, 0, 0.15);\r\n background-color: #f2f2f2;\r\n}\r\n.radioLabel {\r\n width: 176px;\r\n height: 19px;\r\n flex-grow: 0;\r\n font-family: Inter;\r\n font-size: 16px;\r\n font-weight: normal;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: normal;\r\n letter-spacing: normal;\r\n text-align: left;\r\n color: #1b1b1b;\r\n}\r\n.goButton-text {\r\n width: 78px;\r\n height: 19px;\r\n flex-grow: 0;\r\n font-family: Inter;\r\n font-size: 16px;\r\n font-weight: 500;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: normal;\r\n letter-spacing: normal;\r\n text-align: center;\r\n color: #1b1b1b;\r\n}\r\n.placeholders {\r\n width: 232px;\r\n height: 45px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: flex-start;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 4px;\r\n background-image: linear-gradient(to top, #000 100%, #666 0%);\r\n}\r\n.TagW.active {\r\n height: 40px;\r\n flex-grow: 1;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 6px;\r\n padding: 0 24px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background-image: linear-gradient(to top, #000, #666);\r\n color: white;\r\n}\r\n.Tag {\r\n height: 40px;\r\n flex-grow: 1;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 6px;\r\n padding: 0 24px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background-image: linear-gradient(\r\n to top,\r\n rgba(255, 0, 0, 0),\r\n rgba(255, 0, 0, 1)\r\n );\r\n}\r\n.TagW {\r\n height: 40px;\r\n flex-grow: 1;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 6px;\r\n padding: 0 24px;\r\n border-radius: 16px;\r\n border: solid 1px #000;\r\n background-color: #fff;\r\n color: #000;\r\n}\r\n/* */\r\n.response {\r\n max-width: 1280px;\r\n}\r\n";
72
- styleInject(css_248z$7);
73
-
74
- function SharePopup(props) {
75
- var _a = useState(true), showPopUp = _a[0]; _a[1];
76
- var handleClose = function () {
77
- props.onClick();
78
- };
79
- var urlInputRef = useRef(null);
80
- var copyToClipboard = function () {
81
- urlInputRef.current.select();
82
- document.execCommand("copy");
83
- toast.success("URL copied to clipboard!");
84
- };
85
- return (React.createElement("div", null, showPopUp && (React.createElement("div", { className: " popup-overlay" },
86
- React.createElement("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" },
87
- React.createElement("div", { className: "end-0 top-0 position-absolute " },
88
- React.createElement("img", { src: x$1, alt: "close", className: "closeIcon_c me-2", onClick: handleClose })),
89
- React.createElement("div", { className: "popUpHeader col-lg-12 d-flex justify-content-center mb-2" }, "Jetzt teilen und weitersagen!"),
90
- React.createElement("div", { className: "h-25 col-lg-12 socialMediaIconsSection d-flex flex-row align-items-center justify-content-center mx-auto" },
91
- React.createElement("a", { href: "https://twitter.com/intent/tweet?url=https://www.nestiq.de&text=Nestiq", className: "text-decoration-none", target: "blank" },
92
- React.createElement("div", { className: " flex-column d-flex align-items-center" },
93
- React.createElement("img", { src: Xtwitter, alt: "twitter", className: "socialMediaIcons" }),
94
- React.createElement("span", { className: "socialMediaIconText" }, "X (Twitter)"))),
95
- React.createElement("a", { href: "https://www.facebook.com/sharer/sharer.php?u=https://www.nestiq.de", className: "text-decoration-none", target: "blank" },
96
- React.createElement("div", { className: " flex-column d-flex align-items-center" },
97
- React.createElement("img", { src: facebook, alt: "facebook", className: "socialMediaIcons " }),
98
- React.createElement("span", { className: "socialMediaIconText" }, "Facebook"))),
99
- React.createElement("a", { href: "https://api.whatsapp.com/send?text=https://www.nestiq.de", target: "blank", className: "text-decoration-none" },
100
- React.createElement("div", { className: " flex-column d-flex align-items-center" },
101
- React.createElement("img", { src: whatsapp, alt: "whatsapp", className: " socialMediaIcons" }),
102
- React.createElement("span", { className: "socialMediaIconText" }, "WhatsApp"))),
103
- React.createElement("a", { href: "https://www.linkedin.com/shareArticle?mini=true&url=https://www.nestiq.de", target: "blank", className: "text-decoration-none" },
104
- React.createElement("div", { className: " flex-column d-flex align-items-center" },
105
- React.createElement("img", { src: linkedln, alt: "linkedin", className: " socialMediaIcons" }),
106
- React.createElement("span", { className: "socialMediaIconText" }, "LinkedIn"))),
107
- React.createElement("a", { href: "https://www.nestiq.de", target: "blank", className: "text-decoration-none" },
108
- React.createElement("div", { className: " flex-column d-flex align-items-center" },
109
- React.createElement("img", { src: email, alt: "email", className: " socialMediaIcons" }),
110
- React.createElement("span", { className: "socialMediaIconText" }, "E-Mail")))),
111
- React.createElement("div", { className: "col-10 mx-auto" },
112
- React.createElement("div", { className: " row align-items-center position-relative" },
113
- React.createElement("input", { ref: urlInputRef, type: "text", className: "popup_search-input rounded-4 border border-0 ", placeholder: "Enter link here", value: window.location.href, readOnly: true }),
114
- React.createElement("button", { onClick: copyToClipboard, className: "popupcustom-button border border-0 position-absolute me-2 col-lg-3 col-md-3 col-sm-3 rounded-4 fs-6", type: "button", id: "button" },
115
- React.createElement("strong", null, "Kopieren")))))))));
116
- }
117
-
118
- function formatPrice(number) {
119
- return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
120
- }
121
- function formatPropertyArea(area) {
122
- if (typeof area === "number" || typeof area === "string") {
123
- return area
124
- .toString()
125
- .replace(".", ",")
126
- .replace(/\B(?=(\d{3})+(?!\d))/g, ".");
127
- }
128
- else {
129
- return area;
130
- }
131
- }
132
-
133
- function PropertyDetailsHeader(props) {
134
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
135
- var _l = useState(false), showPopUp = _l[0], setShowPopUp = _l[1];
136
- (_a = props.property) === null || _a === void 0 ? void 0 : _a.propertyArea;
137
- var handleOpenPopup = function () { return setShowPopUp(true); };
138
- var handleClosePopup = function () { return setShowPopUp(false); };
139
- var t = {
140
- kaufpreis: ((_b = props.translations) === null || _b === void 0 ? void 0 : _b.kaufpreis) || "Kaufpreis",
141
- wohnflache: ((_c = props.translations) === null || _c === void 0 ? void 0 : _c.wohnflache) || "Wohnfläche",
142
- zimmer: ((_d = props.translations) === null || _d === void 0 ? void 0 : _d.zimmer) || "Zimmer",
143
- grundriss: ((_e = props.translations) === null || _e === void 0 ? void 0 : _e.grundriss) || "Grundriss",
144
- };
145
- return (React.createElement("div", { className: "compact_cc d-flex flex-column col-12 col-lg-12 mt-3 justify-content-between" },
146
- React.createElement("div", { className: "col-12 d-flex flex-row" },
147
- React.createElement("div", { className: "header_Text d-flex col-lg-11 col-md-11 mt-0" },
148
- React.createElement("strong", null, (_f = props.title) !== null && _f !== void 0 ? _f : "-")),
149
- React.createElement("div", { className: "d-flex col-lg-1 col-md-1 justify-content-end position-relative" },
150
- React.createElement("img", { src: ShareIcon, alt: "share icon", className: "v_share me-3 position-absolute", onClick: handleOpenPopup }))),
151
- React.createElement("div", { className: "d-flex flex-row justify-content-between" },
152
- React.createElement("div", { className: "col-6 d-flex flex-row align-items-end jsutify-content-start gap-1" },
153
- React.createElement("div", { className: "d-flex gap-1 justify-content-center" },
154
- React.createElement("div", { className: "d-flex gap-2 align-items-center" },
155
- React.createElement("img", { src: locationIcon$1, className: "", alt: "location Icon" })),
156
- React.createElement("div", { className: "textWrapper" }, (_g = props.property) === null || _g === void 0 ? void 0 : _g.fullAddress))),
157
- React.createElement("div", { className: "d-flex align-items-end gap-3 justify-content-end flex-row col-lg-6 col-md-6 col-sm-5" },
158
- props && (React.createElement("div", { className: "propText h-100 d-flex flex-column align-items-center justify-content-center" },
159
- React.createElement("span", { className: "" },
160
- formatPrice((_j = (_h = props.property) === null || _h === void 0 ? void 0 : _h.askingPrice) !== null && _j !== void 0 ? _j : 0),
161
- "\u20AC ",
162
- React.createElement("br", null)),
163
- React.createElement("span", { className: "textWrapper" }, t.kaufpreis))),
164
- props && (React.createElement("div", { className: "propText h-100 d-flex flex-column align-items-center justify-content-center" },
165
- React.createElement("span", { className: "" }, (_k = formatPropertyArea(props.property.constructedArea)) !== null && _k !== void 0 ? _k : 0),
166
- React.createElement("span", { className: "textWrapper" }, t.wohnflache))),
167
- props && (React.createElement("div", { className: "propText h-100 d-flex flex-column align-items-center justify-content-center" },
168
- React.createElement("span", { className: "" }, props.property.rooms),
169
- React.createElement("span", { className: "textWrapper" }, t.zimmer))))),
170
- showPopUp && React.createElement(SharePopup, { onClick: function () { return handleClosePopup(); } })));
171
- }
172
-
173
- var iconArrowRight = "/static/media/Icon_rightArrow.bced4a705c07148d.svg";
174
-
175
- var blcIconArrowRight = "/static/media/blackarrow-Right.e585ae62dd55abae.svg";
176
-
177
- var blcIconArrowLeft = "/static/media/blckarrow-Left.e2134741aa368d30.svg";
178
-
179
- var iconArrowLeft = "/static/media/chevron-left.04f0a7f16b745c1a.svg";
180
-
181
- var iconGallery = "/static/media/icon_gallery.269b721daf2ca907.svg";
182
-
183
- var iconMap = "/static/media/icon_map.2318ec664c3e615e.svg";
184
-
185
- var iconLayers$1 = "/static/media/layer_icon.9b56c187199c44b5.svg";
186
-
187
- var css_248z$6 = ".mainImage {\r\n height: 80%;\r\n}\r\n\r\n.secondList {\r\n height: 20%;\r\n max-height: 121.6px;\r\n}\r\n\r\n.listImageButton {\r\n background-image: linear-gradient(to top, #000, #666);\r\n align-items: center !important;\r\n justify-content: center !important;\r\n min-height: 121px;\r\n}\r\n\r\n.listImgText {\r\n height: 30px;\r\n font-size: 14px;\r\n line-height: 2.14;\r\n color: #fff;\r\n}\r\n\r\n.arroIconColour {\r\n height: 30px;\r\n fill: #fff !important;\r\n}\r\n\r\n.onImageArrow {\r\n width: 50px;\r\n height: 50px;\r\n padding: 23px 8px;\r\n background-color: rgba(255, 255, 255, 0.8);\r\n}\r\n\r\n.blackArrow {\r\n width: 20px;\r\n height: 20px;\r\n}\r\n\r\n\r\n.imagesArray {\r\n background-size: cover !important;\r\n}\r\n@media (max-width: 450px) {\r\n .Pimagelist {\r\n }\r\n .mainImage {\r\n height: 500px;\r\n width: 88vw;\r\n }\r\n}\r\n\r\n/* @media (min-width: 390px) and (max-width: 850px) {\r\n .Pimagelist {\r\n }\r\n .mainImage {\r\n height: 500px;\r\n width: 58vw;\r\n }\r\n} */\r\n@media (min-width: 768px) and (max-width: 819px) {\r\n .Pimagelist {\r\n }\r\n .mainImage {\r\n height: 80%;\r\n width: 58vw;\r\n }\r\n}\r\n@media (min-width: 820px) and (max-width: 850px) {\r\n .Pimagelist {\r\n }\r\n .mainImage {\r\n height: 80%;\r\n width: 58vw;\r\n }\r\n}\r\n\r\n.image-thumbnail {\r\n position: relative;\r\n transition: opacity 0.3s ease-in-out;\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n.image-thumbnail img {\r\n height: 100%;\r\n object-fit: cover;\r\n border-radius: 8px;\r\n}\r\n\r\n.image-thumbnail.greyed-out img {\r\n filter: grayscale(100%) brightness(50%);\r\n}\r\n\r\n.image-thumbnail.selected img {\r\n filter: none;\r\n border: 2px solid #007bff; /* Highlight border for selected image */\r\n}";
188
- styleInject(css_248z$6);
189
-
190
- var css_248z$5 = ".popup-header {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n padding: 1rem;\r\n position: absolute;\r\n top: 0;\r\n}\r\n\r\n.closeIconNestiq {\r\n position: absolute;\r\n right: 10px;\r\n top: 10px;\r\n width: 12px;\r\n height: 12px;\r\n cursor: pointer;\r\n z-index: 1;\r\n}\r\n\r\n.popup-title {\r\n color: white;\r\n font-size: 24px;\r\n font-weight: bold;\r\n}\r\n\r\n.btn-close {\r\n position: absolute;\r\n right: 1rem;\r\n top: 1rem;\r\n background: none;\r\n border: none;\r\n color: white;\r\n font-size: 24px;\r\n cursor: pointer;\r\n}\r\n\r\n.popup-body {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 1rem;\r\n position: relative;\r\n flex: 1;\r\n}\r\n\r\n.main-image {\r\n max-width: 100%;\r\n max-height: 80vh;\r\n border-radius: 8px;\r\n}\r\n\r\n.btn-prev,\r\n.btn-next {\r\n background: none;\r\n border: none;\r\n color: white;\r\n font-size: 48px;\r\n cursor: pointer;\r\n position: absolute;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n}\r\n\r\n.btn-prev {\r\n left: 10px;\r\n}\r\n\r\n.btn-next {\r\n right: 10px;\r\n}\r\n\r\n.popup-thumbnails {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 10px;\r\n padding: 1rem;\r\n}\r\n\r\n.thumbnail {\r\n width: 60px;\r\n height: 60px;\r\n object-fit: cover;\r\n border-radius: 8px;\r\n cursor: pointer;\r\n opacity: 0.6;\r\n}\r\n\r\n.thumbnail.active {\r\n border: 2px solid white;\r\n opacity: 1;\r\n}\r\n\r\n.activeStyle {\r\n border: 3px solid transparent;\r\n border-radius: 4px;\r\n transition: transform 0.2s ease, border-color 0.2s ease;\r\n cursor: pointer;\r\n}\r\n\r\n.activeStyle:hover {\r\n transform: scale(1.05);\r\n}\r\n\r\n.activeStyle:focus {\r\n outline: none;\r\n transform: scale(1.05);\r\n}\r\n\r\n.activeStyle.active {\r\n transform: scale(1.05);\r\n}\r\n";
191
- styleInject(css_248z$5);
192
-
193
- var iconClose = "/static/media/close.b5ce9141e80c688b.png";
194
-
195
- function ImageListPopup(props) {
196
- var _a = useState(true), showPopUp = _a[0]; _a[1];
197
- var _b = useState(0), currentImageIndex = _b[0], setCurrentImageIndex = _b[1];
198
- var imageListRef = useRef(null);
199
- var handleArrowClickInMainImage = function (direction) {
200
- if (props.pictureUrls.length === 0)
201
- return;
202
- var newIndex = currentImageIndex;
203
- if (direction === "left") {
204
- newIndex =
205
- (currentImageIndex - 1 + props.pictureUrls.length) %
206
- props.pictureUrls.length;
207
- }
208
- else if (direction === "right") {
209
- newIndex = (currentImageIndex + 1) % props.pictureUrls.length;
210
- }
211
- setCurrentImageIndex(newIndex);
212
- imageListRef.current.scrollTo({
213
- left: newIndex * 150,
214
- behavior: "smooth",
215
- });
216
- };
217
- var handleClose = function () {
218
- if (props.onClose) {
219
- props.onClose();
220
- }
221
- };
222
- return (React.createElement("div", null, showPopUp && (React.createElement("div", { className: "popup-overlay" },
223
- React.createElement("div", { className: " d-flex flex-column " },
224
- React.createElement("div", { className: "d-flex align-self-end me-5 " },
225
- React.createElement("img", { src: iconClose, alt: "close", className: "closeIconNestiq", onClick: handleClose })),
226
- React.createElement("span", { className: "text-white align-self-center" }, props.pictureUrls[currentImageIndex].title),
227
- React.createElement("div", { className: "d-flex justify-content-center" },
228
- React.createElement("div", { className: "p-2 bd-highlight align-self-center align-items-center me-5" },
229
- React.createElement("div", { className: "rounded-circle border onImageArrow d-flex justify-content-center", role: "button", onClick: function () { return handleArrowClickInMainImage("left"); } },
230
- React.createElement("img", { src: blcIconArrowLeft, className: "blackArrow align-self-center", alt: "Left Arrow" }))),
231
- React.createElement("div", { className: "p-2 bd-highlight" },
232
- React.createElement("div", { className: " rounded-5", style: {
233
- backgroundImage: "url(".concat(props.pictureUrls[currentImageIndex].url, ")"),
234
- height: "465px",
235
- width: "880px",
236
- backgroundSize: "cover",
237
- backgroundPosition: "center",
238
- } })),
239
- React.createElement("div", { className: "p-2 bd-highlight align-self-center ms-5" },
240
- " ",
241
- React.createElement("div", { role: "button", className: "rounded-circle border onImageArrow d-flex justify-content-center", onClick: function () { return handleArrowClickInMainImage("right"); } },
242
- React.createElement("img", { src: blcIconArrowRight, className: "blackArrow align-self-center", alt: "Right Arrow" })))),
243
- React.createElement("div", { className: "d-flex flex-row" }),
244
- React.createElement("div", { className: "d-flex flex-row justify-content-center w-100 mt-5" },
245
- React.createElement("div", { className: "d-flex flex-row gap-4 overflow-auto px-3", ref: imageListRef, style: {
246
- maxWidth: "100%",
247
- scrollbarWidth: "thin",
248
- } }, props.pictureUrls.length > 0 && (React.createElement(React.Fragment, null, props.pictureUrls.map(function (picture, index) { return (React.createElement("div", { key: index, className: "flex-shrink-0 activeStyle ".concat(index === currentImageIndex ? "active" : ""), onClick: function () {
249
- setCurrentImageIndex(index);
250
- imageListRef.current.scrollTo({
251
- left: index * 170, // 150px width + gap
252
- behavior: "smooth",
253
- });
254
- }, role: "button", style: {
255
- cursor: "pointer",
256
- width: "150px",
257
- height: "150px",
258
- } },
259
- React.createElement("img", { src: picture.url, alt: "Image ".concat(index + 1), className: "w-100 h-100 rounded-3 object-fit-cover", style: {
260
- display: "block",
261
- } }))); }))))))))));
262
- }
263
-
264
- function PropertyImageList(prop) {
265
- var _a, _b, _c, _d, _e, _f;
266
- var _g = useState(0), currentImageIndex = _g[0], setCurrentImageIndex = _g[1];
267
- var _h = useState(false), isImagePopupOpen = _h[0], setIsImagePopupOpen = _h[1];
268
- var _j = useState(false), isFloorPlanPopupOpen = _j[0], setIsFloorPlanPopupOpen = _j[1];
269
- var imageListRef = useRef(null);
270
- var handleArrowClickInMainImage = function (direction) {
271
- if (!prop.pictureUrls.length)
272
- return;
273
- setCurrentImageIndex(function (prevIndex) {
274
- var newIndex;
275
- if (direction === "left") {
276
- newIndex =
277
- (prevIndex - 1 + prop.pictureUrls.length) % prop.pictureUrls.length;
278
- }
279
- else {
280
- newIndex = (prevIndex + 1) % prop.pictureUrls.length;
281
- }
282
- if (imageListRef.current) {
283
- imageListRef.current.scrollTo({
284
- left: newIndex * 150,
285
- behavior: "smooth",
286
- });
287
- }
288
- return newIndex || 0;
289
- });
290
- };
291
- var allPhotos = ((_a = prop.property.pictures) === null || _a === void 0 ? void 0 : _a.filter(function (p) { var _a; return ((_a = p.pictureType) === null || _a === void 0 ? void 0 : _a.id) === 2; }).map(function (p, index) { return ({
292
- url: prop.baseUrl + p.contentUrl,
293
- title: "Photo ".concat(index + 1),
294
- }); })) || [];
295
- var floorPlanImages = ((_b = prop.property.pictures) === null || _b === void 0 ? void 0 : _b.filter(function (p) { var _a; return ((_a = p.pictureType) === null || _a === void 0 ? void 0 : _a.id) === 1; }).map(function (p, index) { return ({
296
- url: prop.baseUrl + p.contentUrl,
297
- title: "Floor Plan ".concat(index + 1),
298
- }); })) || [];
299
- var toggleAllPhotos = function () {
300
- setIsImagePopupOpen(!isImagePopupOpen);
301
- };
302
- var floorPlanClickHandler = function () {
303
- setIsFloorPlanPopupOpen(true);
304
- };
305
- var t = {
306
- allPhotos: ((_c = prop.translations) === null || _c === void 0 ? void 0 : _c.allPhotos) || "Alle Fotos",
307
- map: ((_d = prop.translations) === null || _d === void 0 ? void 0 : _d.map) || "Karte",
308
- grundriss: ((_e = prop.translations) === null || _e === void 0 ? void 0 : _e.grundriss) || "Grundriss",
309
- };
310
- return (React.createElement("div", { className: "col-8 Pimagelist " },
311
- React.createElement("div", { className: "col-12 rounded-5 mainImage d-flex position-relative align-items-center", style: {
312
- backgroundImage: "url(".concat((_f = prop.pictureUrls[currentImageIndex]) === null || _f === void 0 ? void 0 : _f.url, ")"),
313
- backgroundSize: "cover",
314
- backgroundPosition: "center",
315
- } },
316
- React.createElement("div", { className: "rounded-circle border onImageArrow d-flex position-absolute start-0 ms-2 align-items-center justify-content-center", role: "button", onClick: function () { return handleArrowClickInMainImage("left"); } },
317
- React.createElement("img", { src: blcIconArrowLeft, className: "blackArrow", alt: "Left Arrow" })),
318
- React.createElement("div", { role: "button", className: "rounded-circle border onImageArrow d-flex position-absolute end-0 me-2 align-items-center justify-content-center", onClick: function () { return handleArrowClickInMainImage("right"); } },
319
- React.createElement("img", { src: blcIconArrowRight, className: "blackArrow", alt: "Right Arrow" }))),
320
- React.createElement("div", { className: "d-none d-md-block" },
321
- React.createElement("div", { className: "mt-1 d-flex flex-row gap-1 col-12 secondList" },
322
- React.createElement("div", { className: "\tcol-lg-6 col-6 d-flex flex-row py-0 px-1" },
323
- React.createElement("div", { className: "\t col-12 position-relative d-flex justify-content-center" },
324
- React.createElement("div", { className: "col-1 h-100 d-flex position-absolute start-0", onClick: function () { return handleArrowClickInMainImage("left"); }, role: "button" },
325
- React.createElement("div", { className: "col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3" },
326
- React.createElement("img", { src: iconArrowLeft, className: "arroIconColour", alt: "Left Arrow" }))),
327
- React.createElement("div", { className: "col-lg-10 rounded-3 h-100 d-flex flex-row gap-2 overflow-hidden", ref: imageListRef }, prop.pictureUrls.length > 0 && (React.createElement("div", { className: "col-lg-5 h-100 d-flex gap-2 flex-row rounded-3" }, prop.pictureUrls.map(function (picture, index) { return (React.createElement("div", { key: index, className: "col-lg-12 h-100 d-flex image-thumbnail ".concat(index === currentImageIndex
328
- ? "selected"
329
- : "greyed-out", " ").concat(index === 0
330
- ? "ms-1"
331
- : index === prop.pictureUrls.length - 1
332
- ? "me-1"
333
- : ""), onClick: function () {
334
- setCurrentImageIndex(index);
335
- imageListRef.current.scrollTo({
336
- left: index * 150,
337
- behavior: "smooth",
338
- });
339
- }, role: "button" },
340
- React.createElement("img", { src: picture.url, alt: "Image ".concat(index + 1), className: "col-12 h-100 rounded-3 object-fit-cover" }))); })))),
341
- React.createElement("div", { className: "col-1 h-100 d-flex position-absolute end-0 top-0", onClick: function () { return handleArrowClickInMainImage("right"); }, role: "button" },
342
- React.createElement("div", { className: "col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3" },
343
- React.createElement("img", { src: iconArrowRight, className: "arroIconColour ", alt: "Right Arrow" }))))),
344
- React.createElement("div", { className: "col-7 col-lg-6 d-flex flex-row" },
345
- React.createElement("div", { className: "col-lg-4 col-4 py-0 px-1", role: "button", onClick: toggleAllPhotos },
346
- React.createElement("div", { className: "border col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3" },
347
- React.createElement("img", { src: iconGallery, alt: "Gallery Icon" }),
348
- React.createElement("span", { className: "listImgText" },
349
- " ",
350
- t.allPhotos))),
351
- React.createElement("div", { className: "col-lg-4 col-3 py-0 px-1", role: "button", onClick: floorPlanClickHandler },
352
- React.createElement("div", { className: "border col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3" },
353
- React.createElement("img", { src: iconLayers$1, alt: "Layers Icon" }),
354
- React.createElement("span", { className: "listImgText" }, t.grundriss))),
355
- React.createElement("div", { className: "col-lg-4 col-3 py-0 px-1", role: "button", onClick: function () {
356
- return window.scrollTo({
357
- top: document.documentElement.scrollHeight,
358
- });
359
- } },
360
- React.createElement("div", { className: "border col-lg-12 h-100 d-flex flex-column listImageButton border-0 rounded-3" },
361
- React.createElement("img", { src: iconMap, alt: "Map Icon" }),
362
- React.createElement("span", { className: "listImgText" }, t.map)))))),
363
- isImagePopupOpen && (React.createElement(ImageListPopup, { pictureUrls: allPhotos, onClose: function () { return setIsImagePopupOpen(false); } })),
364
- isFloorPlanPopupOpen && (React.createElement(ImageListPopup, { pictureUrls: floorPlanImages, onClose: function () { return setIsFloorPlanPopupOpen(false); } }))));
365
- }
366
-
367
- var layerIcon = "/static/media/LayersIcon.34c085c352a2c9c8.svg";
368
-
369
- var locationIcon = "/static/media/locationIcon.961de080757bda41.svg";
370
-
371
- var css_248z$4 = ".padding-global {\r\n height: 737px !important;\r\n padding: 0 40px;\r\n}\r\n.header {\r\n font-size: 48px;\r\n font-weight: 600;\r\n color: #1b1b1b;\r\n}\r\n\r\n.firstLabel {\r\n width: 100px;\r\n height: 25px;\r\n gap: 6px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #031012 !important;\r\n background-color: var(--main-yellow);\r\n}\r\n\r\n.secondLabel {\r\n width: fit-content;\r\n height: 25px;\r\n padding: 0 17px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #000;\r\n background-color: #fff;\r\n}\r\n\r\n/* .thirdLabels {\r\n padding: 4px;\r\n width: 110px;\r\n height: 25px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #000;\r\n background-color: #fff;\r\n} */\r\n\r\n.fourthLabels {\r\n padding: 2px;\r\n\r\n width: 100px;\r\n height: 25px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #000;\r\n background-color: #fff;\r\n}\r\n\r\n.layersVector {\r\n width: 15.1px;\r\n height: 16px;\r\n}\r\n\r\n.layersText {\r\n font-size: 14px;\r\n color: #1b1b1b;\r\n}\r\n\r\n.style-img {\r\n object-fit: cover;\r\n border-radius: 30px !important;\r\n}\r\n\r\n.Vector {\r\n width: 12px;\r\n height: 16.1px;\r\n flex-grow: 0;\r\n margin: 0.4px 6px 0.4px 0;\r\n}\r\n\r\n.customButton {\r\n width: 262px;\r\n height: 43px;\r\n color: #000;\r\n cursor: pointer;\r\n border-color: var(--main-yellow);\r\n background-color: var(--main-yellow);\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n}\r\n.button_text {\r\n font-size: 16px;\r\n font-weight: 500;\r\n color: #1b1b1b;\r\n}\r\n\r\n.heartVector {\r\n width: 23px;\r\n height: 26.7px;\r\n cursor: pointer;\r\n}\r\n\r\n.heartVector.liked {\r\n fill: rgb(255, 255, 255) !important;\r\n}\r\n.locationText {\r\n font-size: 14px;\r\n color: white;\r\n text-align: center;\r\n}\r\n\r\n.arrowVector {\r\n width: 23px;\r\n height: 23px;\r\n flex-grow: 0;\r\n object-fit: contain;\r\n}\r\n\r\n.Price {\r\n font-size: 26px;\r\n font-weight: 500;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: normal;\r\n letter-spacing: normal;\r\n text-align: center;\r\n color: #fff;\r\n}\r\n\r\n.detail {\r\n font-size: 12px;\r\n text-align: center;\r\n color: #fff;\r\n}\r\n\r\n.class {\r\n background-color: #1b1b1b;\r\n}\r\n\r\n.header {\r\n height: 64px;\r\n justify-content: center;\r\n}\r\n\r\n.cardStyle {\r\n width: 405px;\r\n max-width: 2405px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n height: 350px;\r\n border-radius: 30px !important;\r\n}\r\n\r\n.rightConer {\r\n width: 200px;\r\n}\r\n@media all and (min-width: 2560px) {\r\n .header {\r\n font-size: 38px;\r\n\r\n display: flex;\r\n }\r\n .cardStyle {\r\n gap: 0px;\r\n width: 350px;\r\n height: 300px;\r\n /* margin-left: 250px; */\r\n }\r\n}\r\n@media (max-width: 1399px) {\r\n .header {\r\n font-size: 38px;\r\n align-self: center;\r\n margin-left: 150px;\r\n }\r\n .cardStyle {\r\n gap: 0px;\r\n width: 350px;\r\n height: 300px;\r\n }\r\n}\r\n\r\n@media (max-width: 1199px) {\r\n .header {\r\n font-size: 38px;\r\n }\r\n .cardStyle {\r\n width: 300px;\r\n height: 250px;\r\n }\r\n}\r\n\r\n@media (max-width: 575px) {\r\n .detail {\r\n font-size: 11px;\r\n padding: 2px;\r\n }\r\n .Price {\r\n font-size: 19px;\r\n }\r\n .header {\r\n font-size: 28px;\r\n }\r\n .locationText {\r\n font-size: 12px;\r\n }\r\n .customButton {\r\n width: 200px !important;\r\n }\r\n .button_text {\r\n font-size: 13px;\r\n }\r\n}\r\n\r\n@media (max-width: 375px) {\r\n .labelTopClass {\r\n width: 105px !important;\r\n }\r\n .layersText {\r\n font-size: 9px;\r\n }\r\n .firstLabel {\r\n gap: 2px;\r\n }\r\n .layersVector {\r\n width: 9px;\r\n height: 10px;\r\n gap: 0px;\r\n }\r\n .cardStyle {\r\n width: 320px !important;\r\n height: 220px !important;\r\n }\r\n .header {\r\n font-size: 24px;\r\n }\r\n .detail {\r\n font-size: 10px;\r\n padding: 2px;\r\n }\r\n .Price {\r\n font-size: 18px;\r\n }\r\n .locationText {\r\n font-size: 10px;\r\n }\r\n .Vector {\r\n width: 8px;\r\n height: 16px;\r\n margin: 0px 2px 0.4px;\r\n }\r\n}\r\n\r\n@media (max-width: 280px) {\r\n .cardStyle {\r\n width: 260px !important;\r\n height: 160px !important;\r\n }\r\n .detail {\r\n margin-bottom: 5px;\r\n font-size: 0.6ch;\r\n }\r\n .Price {\r\n font-size: 9px;\r\n }\r\n .locationText {\r\n font-size: 6px;\r\n }\r\n .Vector {\r\n width: 7px;\r\n height: 10px;\r\n margin: 0px 2px 4px;\r\n }\r\n .heartVector {\r\n width: 15px;\r\n height: 20px;\r\n }\r\n}\r\n";
372
- styleInject(css_248z$4);
373
-
374
- var noImageIcon$1 = "/static/media/default-property.9987f19670be82b6.jpg";
375
-
376
- function PropertyCard$1(props) {
377
- var _a, _b, _c, _d;
378
- var _e = useState(false); _e[0]; _e[1];
379
- var pictureUrl = props.property.pictures && props.property.pictures.length > 0
380
- ? "".concat(props.baseUrl).concat(props.property.pictures[0].contentUrl)
381
- : noImageIcon$1;
382
- return (React.createElement("div", { key: props.property.id, className: "card-body me-4 mb-4 position-relative cardStyle", style: {
383
- backgroundImage: "url(".concat(pictureUrl, ")"),
384
- backgroundSize: "cover",
385
- backgroundPosition: "center",
386
- }, onClick: props.onClick, role: "button" },
387
- React.createElement("div", { className: "labelTopClass position-absolute top-0 start-0 col-sm-5 col-lg-8" },
388
- React.createElement("div", { className: "d-flex align-items-center ms-2 mb-1 mt-2 gap-2" },
389
- React.createElement("label", { className: "p-1 firstLabel d-flex flex-row justify-content-center align-items-center" },
390
- React.createElement("img", { src: layerIcon, alt: "Location Icon", className: "layersVector" }),
391
- React.createElement("span", { className: "layersText" }, "Grundriss")),
392
- props.property.historicalProtection && (React.createElement("label", { className: "thirdLabels d-flex flex-row justify-content-center align-items-center" },
393
- React.createElement("span", { className: "layersText p-1" }, "Denkmalschutz"))),
394
- props.property.basement && (React.createElement("label", { className: "secondLabel d-flex flex-row justify-content-center align-items-center" },
395
- React.createElement("span", { className: "layersText p-1" }, "Keller")))),
396
- React.createElement("div", { className: "d-flex align-items-center ms-2 start-0 gap-2" },
397
- props.property.terrace && (React.createElement("label", { className: "p-1 thirdLabels d-flex flex-row justify-content-center align-items-center " },
398
- React.createElement("span", { className: "layersText" }, "Terrace"))),
399
- props.property.balcony && (React.createElement("label", { className: "secondLabel d-flex flex-row justify-content-center align-items-center" },
400
- React.createElement("span", { className: "layersText p-1" }, "Balkon"))),
401
- props.property.guestBathroom && (React.createElement("label", { className: "col-1 fourthLabels d-flex flex-row justify-content-center align-items-center " },
402
- React.createElement("span", { className: "layersText p-1" }, "Gäste-WC"))))),
403
- React.createElement("div", { className: "d-flex align-items-center position-absolute top-0 end-0 p-3" }),
404
- React.createElement("div", { className: "d-flex align-items-center mb-3 position-absolute bottom-0 start-0 p-2" },
405
- React.createElement("span", { className: "Price col-lg-12 col-md-12 col-sm-12 text-truncate p-1" },
406
- formatPrice((_c = (_b = (_a = props.property) === null || _a === void 0 ? void 0 : _a.evaluation) === null || _b === void 0 ? void 0 : _b.askingPrice) !== null && _c !== void 0 ? _c : 0),
407
- " \u20AC")),
408
- React.createElement("div", { className: "d-flex w-50 align-items-center position-absolute bottom-0 start-0 p-2" },
409
- React.createElement("img", { src: locationIcon, alt: "Location Icon", className: "Vector" }),
410
- React.createElement("span", { className: "locationText text-truncate" }, props.property.city || "N/A")),
411
- React.createElement("div", { className: "d-flex col-lg-6 col-md-6 col-sm-5 me-lg-0 me-md-0 me-sm-3 justify-content-center mb-2 position-absolute bottom-0 end-0" },
412
- React.createElement("span", { className: "detail col-lg-4 col-md-4 col-sm-6 text-truncate border-end " },
413
- +props.property.rooms,
414
- React.createElement("br", null),
415
- React.createElement("span", null, "Zimmer")),
416
- React.createElement("span", { className: "detail col-lg-3 col-md-3 col-sm-4 text-truncate " },
417
- +props.property.bathrooms,
418
- React.createElement("br", null),
419
- React.createElement("span", null, "Bad")),
420
- React.createElement("span", { className: "detail col-lg-5 col-md-5 col-sm-7 text-truncate border-start me-3" },
421
- formatPropertyArea((_d = props.property) === null || _d === void 0 ? void 0 : _d.constructedArea),
422
- " m\u00B2",
423
- React.createElement("br", null),
424
- React.createElement("span", null, "Wohnfl\u00E4che")))));
425
- }
426
-
427
- var FloorPlanPopup = function (_a) {
428
- var contentUrl = _a.contentUrl, onCloseClick = _a.onCloseClick;
429
- var _b = useState(false), isContentImage = _b[0], setIsContentImage = _b[1];
430
- useEffect(function () {
431
- var _a;
432
- if (contentUrl) {
433
- var fileFormat = (_a = contentUrl.split(".").pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase();
434
- if (fileFormat === "png" ||
435
- fileFormat === "jpg" ||
436
- fileFormat === "jpeg" ||
437
- fileFormat === "svg") {
438
- setIsContentImage(true);
439
- }
440
- }
441
- }, [contentUrl]);
442
- var downloadButtonClickHandler = function () {
443
- // Create a temporary anchor element
444
- var link = document.createElement("a");
445
- link.href = contentUrl;
446
- link.setAttribute("download", ""); // This attribute hints the browser to download the file
447
- // Append the anchor to the body and click it to trigger the download
448
- document.body.appendChild(link);
449
- link.click();
450
- // Clean up: remove the anchor element
451
- document.body.removeChild(link);
452
- };
453
- return (React.createElement("div", { className: "popup-overlay" },
454
- React.createElement("div", { className: " d-flex w-50 flex-column col-6 " },
455
- React.createElement("div", { className: "d-flex align-self-end me-5 mt-5" },
456
- React.createElement("img", { src: iconClose, alt: "close", className: "closeIcon mt-5", onClick: onCloseClick })),
457
- React.createElement("div", { className: "d-flex justify-content-center" },
458
- React.createElement("div", { className: "p-2 bd-highlight" },
459
- isContentImage && (React.createElement("div", { className: "rounded-5 mainImage", style: {
460
- backgroundImage: "url(".concat(contentUrl, ")"),
461
- height: "350px",
462
- width: "600px",
463
- backgroundSize: "cover",
464
- backgroundPosition: "center",
465
- } })),
466
- !isContentImage && (React.createElement("div", { className: "text-white text-center" },
467
- "No Preview Available",
468
- React.createElement("button", { className: "btn btn-info", onClick: downloadButtonClickHandler },
469
- " ",
470
- "Download",
471
- " "))))))));
472
- };
473
-
474
- var css_248z$3 = ".property-card {\r\n width: 100%;\r\n /* max-width: 1280px; */\r\n height: auto;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border-radius: 32px;\r\n\r\n /* @media (min-width: 1500px) {\r\n max-width: 1280px;\r\n margin: 0 auto;\r\n } */\r\n}\r\n\r\n.priceValue,\r\n.value {\r\n white-space: nowrap;\r\n}\r\n\r\n.price_label,\r\n.details {\r\n white-space: nowrap;\r\n}\r\n\r\n.listing-compact_c {\r\n /* max-width: 750px; */\r\n gap: 8px;\r\n padding: 24px;\r\n border-radius: 0 32px 32px 0;\r\n background-color: rgba(58, 58, 58, 0.068);\r\n}\r\n\r\n.wrapperCompanySec {\r\n height: 119px;\r\n align-self: stretch;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: flex-start;\r\n align-items: center;\r\n gap: 16px;\r\n padding: 10px 16px;\r\n border-radius: 16px;\r\n border: solid 1px rgba(0, 0, 0, 0.1);\r\n background-color: #fff;\r\n}\r\n\r\n.kontactbutton_cc {\r\n width: 180px;\r\n height: 43px;\r\n gap: 10px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background: linear-gradient(to top, #000, #666);\r\n}\r\n\r\n.cc-height {\r\n height: 460px;\r\n}\r\n\r\n.listing-height {\r\n height: 422px;\r\n}\r\n\r\n.cardStyles {\r\n width: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n height: 460px;\r\n border-radius: 32px 0px 0px 32px !important;\r\n}\r\n.cardTag {\r\n width: 75px;\r\n height: 30px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: flex-start;\r\n align-items: center;\r\n gap: 6px;\r\n padding: 0 24px;\r\n border-radius: 16px;\r\n border: solid 1px #313131;\r\n background-color: #fff;\r\n}\r\n.Grundriss {\r\n width: 120px;\r\n height: 30px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 10px;\r\n font-size: 14px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background: linear-gradient(to top, #000, #666);\r\n}\r\n.Frame-136 {\r\n height: 85px;\r\n align-self: stretch;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: flex-start;\r\n align-items: center;\r\n gap: 16px;\r\n padding: 10px 16px;\r\n border-radius: 16px;\r\n border: solid 1px rgba(0, 0, 0, 0.1);\r\n background-color: #fff;\r\n}\r\n.kontactbutton {\r\n width: 198px;\r\n height: 43px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 10px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background: linear-gradient(to top, #000, #666);\r\n}\r\n.kontact-button-text {\r\n flex-grow: 0;\r\n font-size: 16px;\r\n font-weight: 500;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: normal;\r\n letter-spacing: normal;\r\n text-align: center;\r\n color: #fff;\r\n}\r\n.propertyTitle {\r\n display: flex;\r\n flex-grow: 0;\r\n font-size: 24px;\r\n font-weight: 580;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: normal;\r\n letter-spacing: normal;\r\n text-align: start;\r\n color: #313131;\r\n}\r\n\r\n.chipLabel {\r\n height: 30px;\r\n padding: 0 10px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #000;\r\n background-color: #fff;\r\n display: flex;\r\n}\r\n\r\n.layersVector {\r\n width: 15.1px;\r\n height: 16px;\r\n}\r\n\r\n.layersText {\r\n padding: 0 8px;\r\n font-size: 14px;\r\n color: #1b1b1b;\r\n line-height: 2.14;\r\n text-wrap: nowrap;\r\n}\r\n\r\n.style-img {\r\n object-fit: cover;\r\n border-radius: 30px !important;\r\n}\r\n\r\n.Vector {\r\n width: 12px;\r\n height: 16.1px;\r\n flex-grow: 0;\r\n margin: 0.4px 6px 0.4px 0;\r\n}\r\n\r\n.customButton {\r\n width: 262px;\r\n height: 43px;\r\n color: #000;\r\n cursor: pointer;\r\n border-color: #161410;\r\n background-color: #181716;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n}\r\n.button_text {\r\n font-size: 16px;\r\n font-weight: 500;\r\n color: #1b1b1b;\r\n}\r\n\r\n.heartVector {\r\n width: 23px;\r\n height: 26.7px;\r\n cursor: pointer;\r\n}\r\n\r\n.heartVector.liked {\r\n fill: rgb(255, 255, 255) !important;\r\n}\r\n\r\n.location-wrapper {\r\n display: flex;\r\n align-items: center;\r\n gap: 10px;\r\n}\r\n\r\n.location-icon {\r\n width: 16px;\r\n height: 21px;\r\n flex-grow: 0;\r\n object-fit: contain;\r\n}\r\n\r\n.locationTexts {\r\n font-size: 16px;\r\n color: #344041;\r\n text-align: center;\r\n}\r\n\r\n.arrowVector {\r\n width: 23px;\r\n height: 23px;\r\n flex-grow: 0;\r\n object-fit: contain;\r\n}\r\n\r\n.Price {\r\n font-size: 26px;\r\n font-weight: 500;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: normal;\r\n letter-spacing: normal;\r\n text-align: center;\r\n color: #ffffff;\r\n}\r\n\r\n.details {\r\n font-size: 16px;\r\n color: #344041;\r\n}\r\n\r\n.price_label {\r\n font-size: 16px;\r\n text-align: left;\r\n color: #344041;\r\n}\r\n\r\n.value {\r\n font-size: 20px;\r\n font-weight: 500;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 5px;\r\n line-height: 1;\r\n}\r\n.priceValue {\r\n font-size: 20px;\r\n font-weight: 500;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 5px;\r\n line-height: 1;\r\n}\r\n\r\n.class {\r\n background-color: #1b1b1b;\r\n}\r\n\r\n.header {\r\n height: 64px;\r\n justify-content: center;\r\n}\r\n\r\n.rightConer {\r\n width: 200px;\r\n}\r\n.labelTopClass {\r\n height: 32px;\r\n}\r\n@media all and (min-width: 2560px) {\r\n .header {\r\n font-size: 38px;\r\n\r\n display: flex;\r\n }\r\n .cardStyle {\r\n gap: 0px;\r\n width: 350px;\r\n height: 300px;\r\n /* margin-left: 250px; */\r\n }\r\n}\r\n@media (max-width: 1399px) {\r\n .header {\r\n font-size: 38px;\r\n align-self: center;\r\n margin-left: 150px;\r\n }\r\n .cardStyle {\r\n gap: 0px;\r\n width: 350px;\r\n height: 300px;\r\n }\r\n}\r\n\r\n@media (max-width: 1199px) {\r\n .header {\r\n font-size: 38px;\r\n }\r\n .cardStyle {\r\n width: 300px;\r\n height: 250px;\r\n }\r\n}\r\n\r\n@media (max-width: 575px) {\r\n .detail {\r\n font-size: 11px;\r\n padding: 2px;\r\n }\r\n .Price {\r\n font-size: 19px;\r\n }\r\n .header {\r\n font-size: 28px;\r\n }\r\n .locationText {\r\n font-size: 12px;\r\n }\r\n .customButton {\r\n width: 200px !important;\r\n }\r\n .button_text {\r\n font-size: 13px;\r\n }\r\n}\r\n\r\n@media (max-width: 375px) {\r\n .labelTopClass {\r\n width: 105px !important;\r\n }\r\n .layersText {\r\n font-size: 9px;\r\n padding: 0 2rem;\r\n }\r\n .firstLabel {\r\n gap: 2px;\r\n }\r\n .layersVector {\r\n width: 9px;\r\n height: 10px;\r\n gap: 0px;\r\n }\r\n .cardStyle {\r\n width: 320px !important;\r\n height: 220px !important;\r\n }\r\n .header {\r\n font-size: 24px;\r\n }\r\n .detail {\r\n font-size: 10px;\r\n padding: 2px;\r\n }\r\n .Price {\r\n font-size: 18px;\r\n }\r\n .locationText {\r\n font-size: 10px;\r\n }\r\n .Vector {\r\n width: 8px;\r\n height: 16px;\r\n margin: 0px 2px 0.4px;\r\n }\r\n}\r\n\r\n@media (max-width: 280px) {\r\n .cardStyle {\r\n width: 260px !important;\r\n height: 160px !important;\r\n }\r\n .detail {\r\n margin-bottom: 5px;\r\n font-size: 0.6ch;\r\n }\r\n .Price {\r\n font-size: 9px;\r\n }\r\n .locationText {\r\n font-size: 6px;\r\n }\r\n .Vector {\r\n width: 7px;\r\n height: 10px;\r\n margin: 0px 2px 4px;\r\n }\r\n .heartVector {\r\n width: 15px;\r\n height: 20px;\r\n }\r\n}\r\n";
475
- styleInject(css_248z$3);
476
-
477
- var noImageIcon = "/static/media/default-property.9987f19670be82b6.jpg";
478
-
479
- var shareIcon = "/static/media/icon_share_1.b9ec05630dc1087e.svg";
480
-
481
- var moreIcon = "/static/media/more.ce14789c8d37e327.svg";
482
-
483
- var arrowLeft = "/static/media/card-arrow-left.55343410142dad3f.svg";
484
-
485
- var arrowRight = "/static/media/card-arrow-right.60b3bf0e34c1800d.svg";
486
-
487
- var iconLayers = "/static/media/layer_icon.9b56c187199c44b5.svg";
488
-
489
- var immooly = "/static/media/imooly.b46514ac970e6052.svg";
490
-
491
- function PropertyCard(props) {
492
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
493
- var _p = useState(false); _p[0]; _p[1];
494
- var _q = useState(null), mainImage = _q[0], setMainImage = _q[1];
495
- var _r = useState(0), currentImageIndex = _r[0], setCurrentImageIndex = _r[1];
496
- var imageListRef = useRef(null);
497
- var _s = useState(false); _s[0]; _s[1];
498
- var _t = useState(false); _t[0]; _t[1];
499
- var _u = useState(false), sharePopUp = _u[0], setSharePopUp = _u[1];
500
- var _v = useState(false), isImagePopupOpen = _v[0], setIsImagePopupOpen = _v[1];
501
- var pictureUrls = ((_b = (_a = props.property) === null || _a === void 0 ? void 0 : _a.pictures) === null || _b === void 0 ? void 0 : _b.length) > 0
502
- ? props.property.pictures
503
- .filter(function (picture) { return picture.pictureType.id === 2; })
504
- .map(function (picture) { return "".concat(props.baseUrl).concat(picture.contentUrl); })
505
- : [noImageIcon];
506
- var floorPlanImages = ((_c = props.property.pictures) === null || _c === void 0 ? void 0 : _c.filter(function (p) { var _a; return ((_a = p.pictureType) === null || _a === void 0 ? void 0 : _a.id) === 1; }).map(function (p, index) { return ({
507
- url: props.baseUrl + p.contentUrl,
508
- title: "Floor Plan ".concat(index + 1),
509
- }); })) || [];
510
- var handleFloorPlanButton = function () {
511
- setIsImagePopupOpen(true);
512
- if (props.onFloorPlanClick) {
513
- props.onFloorPlanClick(floorPlanImages);
514
- }
515
- };
516
- var handleSharePopUp = function () {
517
- setSharePopUp(true);
518
- };
519
- var handleArrowClickInMainImage = function (direction) {
520
- if (!props.property || pictureUrls.length === 0)
521
- return;
522
- var newIndex = currentImageIndex;
523
- if (direction === "left") {
524
- newIndex =
525
- (currentImageIndex - 1 + pictureUrls.length) % pictureUrls.length;
526
- }
527
- else if (direction === "right") {
528
- newIndex = (currentImageIndex + 1) % pictureUrls.length;
529
- }
530
- setCurrentImageIndex(newIndex);
531
- setMainImage(pictureUrls[newIndex]);
532
- // Ensure the ref exists before calling scrollTo
533
- if (imageListRef.current) {
534
- imageListRef.current.scrollTo({
535
- left: newIndex * 150,
536
- behavior: "smooth",
537
- });
538
- }
539
- else {
540
- console.warn("imageListRef is not set");
541
- }
542
- };
543
- // const boosted = "true";
544
- var t = {
545
- kaufpreis: ((_d = props.translations) === null || _d === void 0 ? void 0 : _d.kaufpreis) || "Kaufpreis",
546
- wohnflache: ((_e = props.translations) === null || _e === void 0 ? void 0 : _e.wohnflache) || "Wohnfläche",
547
- zimmer: ((_f = props.translations) === null || _f === void 0 ? void 0 : _f.zimmer) || "Zimmer",
548
- grundriss: ((_g = props.translations) === null || _g === void 0 ? void 0 : _g.grundriss) || "Grundriss",
549
- };
550
- return (React.createElement("div", { className: "d-flex flex-row property-card" },
551
- React.createElement("div", { className: "d-flex flex-column col-md-6 col-lg-6" },
552
- React.createElement("div", { key: props.property.id, className: "card-bod position-relative cardStyles h-100 w-100", style: {
553
- backgroundImage: "url(".concat(mainImage || pictureUrls[0], ")"),
554
- backgroundSize: "cover",
555
- backgroundPosition: "center",
556
- maxWidth: "640",
557
- } },
558
- React.createElement("div", { className: "d-flex flex-row col-12 justify-content-between " },
559
- React.createElement("div", { className: "d-felx align-self-start justify-items-start ms-4 ", style: { left: "16px" }, onClick: function () { return handleArrowClickInMainImage("left"); }, role: "button" },
560
- React.createElement("img", { src: arrowLeft })),
561
- React.createElement("div", null),
562
- React.createElement("div", { className: "d-flex align-self-end justify-items-end me-4", onClick: function () { return handleArrowClickInMainImage("right"); }, role: "button" },
563
- React.createElement("img", { src: arrowRight, style: { right: "16px" } }))),
564
- React.createElement("div", { className: "d-flex flex-row align-self-end justify-item-start justify-content-between align-item-start gap-1 mb-2 ms-4", style: { position: "absolute", left: "0" } },
565
- React.createElement("div", { className: "cardTag", style: { marginBottom: "16px" } }, "".concat(currentImageIndex + 1, "/").concat(pictureUrls.length)),
566
- React.createElement("div", { className: "Grundriss kontact-button-text ms-2 ", role: "button", onClick: function () { return handleFloorPlanButton(); }, style: { marginBottom: "16px" } },
567
- React.createElement("img", { src: iconLayers, className: "", style: { width: "18px" } }),
568
- " ",
569
- t.grundriss)))),
570
- React.createElement("div", { className: "listing-compact_c justify-content-between d-flex flex-column col-6 ".concat(props.Impliment ? "cc-height" : "listing-height") },
571
- React.createElement("div", { className: "col-12 d-flex justify-content-end gap-2" },
572
- React.createElement("img", { src: shareIcon, alt: "Share Icon", className: " ", onClick: handleSharePopUp, style: { maxHeight: "24px", maxWidth: "24px" }, role: "button" }),
573
- React.createElement("img", { src: moreIcon, alt: "More Icon", className: "", style: { maxHeight: "24px", maxWidth: "24px" }, role: "button" })),
574
- React.createElement("div", { className: "col-11" },
575
- React.createElement("span", { className: "propertyTitle align-items-start ", onClick: props.onClick, role: "button" }, (_h = props.property.expose) === null || _h === void 0 ? void 0 : _h.title)),
576
- React.createElement("div", { className: "col-12" },
577
- React.createElement("div", { className: "location-wrapper" },
578
- React.createElement("img", { src: locationIcon, alt: "Location Icon", className: "location-icon" }),
579
- React.createElement("span", { className: "locationTexts " }, props.property.city || "N/A"))),
580
- React.createElement("div", { className: "d-flex flex-row justify-content-between" },
581
- React.createElement("span", { className: "priceValue justify-content-center align-items-center" },
582
- formatPrice((_l = (_k = (_j = props.property) === null || _j === void 0 ? void 0 : _j.evaluation) === null || _k === void 0 ? void 0 : _k.askingPrice) !== null && _l !== void 0 ? _l : 0),
583
- " \u20AC",
584
- React.createElement("div", { className: "price_label", style: { whiteSpace: "nowrap" } }, t.kaufpreis)),
585
- React.createElement("span", { className: "text-dark value d-flex justify-content-center align-items-center" },
586
- props.property.constructedArea,
587
- " m\u00B2",
588
- React.createElement("div", { className: "details", style: { whiteSpace: "nowrap" } }, t.wohnflache)),
589
- React.createElement("span", { className: "text-dark value d-flex justify-content-center align-items-center" },
590
- +((_m = props.property) === null || _m === void 0 ? void 0 : _m.rooms),
591
- React.createElement("div", { className: "details text-center", style: { whiteSpace: "nowrap" } }, t.zimmer))),
592
- React.createElement("div", { className: "d-lex flex-column " },
593
- React.createElement("div", { className: "wrapperCompanySec d-flex justify-content-around flex-row" },
594
- React.createElement("div", { className: "d-flex flex-column col-4 justify-content-between " },
595
- React.createElement("img", { src: immooly, alt: "Logo", className: "immooly" })),
596
- React.createElement("div", { className: "d-flex flex-column align-items-center justify-content-center" },
597
- React.createElement("div", { className: "d-flex flex-column text-center" },
598
- React.createElement("span", { className: "fw-bold" }, props.userData
599
- ? "".concat(props.userData.firstname, " ").concat(props.userData.lastname)
600
- : "Firstname Lastname"),
601
- React.createElement("span", { className: "fst-italic fw-normal" }, ((_o = props.userData) === null || _o === void 0 ? void 0 : _o.company)
602
- ? props.userData.company
603
- : "Your Company")))))),
604
- sharePopUp && React.createElement(SharePopup, { onClick: function () { return setSharePopUp(false); } }),
605
- isImagePopupOpen && (React.createElement(ImageListPopup, { pictureUrls: floorPlanImages, onClose: function () { return setIsImagePopupOpen(false); } }))));
606
- }
607
-
608
- var x = "/static/media/icon_close_2.e41bb9a4db48e048.png";
609
-
610
- var mail_icon = "/static/media/mail-icon.176f921aa16b9a3d.png";
611
-
612
- var css_248z$2 = ".popup-overlay {\r\n position: fixed; /* Fixed position to cover the whole screen */\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent background */\r\n display: flex; /* Flexbox to center the popup */\r\n justify-content: center; /* Center horizontally */\r\n align-items: center; /* Center vertically */\r\n z-index: 9998; /* Ensure it's above other content */\r\n}\r\n\r\n.MessageShareSections {\r\n height: 550px;\r\n padding: 10px 14px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #d7d9e3;\r\n background-color: #fff;\r\n max-width: 1280px;\r\n}\r\n.popUpHeader {\r\n height: 48px;\r\n font-size: 32px;\r\n font-weight: 600;\r\n color: #1b1b1b;\r\n}\r\n\r\n.closeIcon {\r\n width: 16px;\r\n height: 16px;\r\n cursor: pointer;\r\n}\r\n\r\n.socialMediaIconsSection {\r\n gap: 60px !important;\r\n}\r\n\r\n.socialMediaIcons {\r\n width: 28px !important;\r\n height: 28px !important;\r\n cursor: pointer;\r\n}\r\n\r\n.socialMediaIconText {\r\n height: 36px;\r\n font-size: 13px;\r\n font-weight: 500;\r\n line-height: 3;\r\n color: #344041;\r\n cursor: pointer;\r\n}\r\n\r\n.popup_search-input {\r\n height: 60px;\r\n padding-inline-end: 190px;\r\n font-size: 20px;\r\n box-shadow: inset 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background-color: rgba(0, 0, 0, 0.05);\r\n}\r\n\r\n.popup_search-input::placeholder {\r\n font-size: 20px;\r\n color: rgba(140, 140, 140, 0.5);\r\n}\r\n\r\n.popup_search-input:focus {\r\n outline: none;\r\n}\r\n\r\n.popupcustom-button {\r\n height: 35px;\r\n color: #000;\r\n cursor: pointer;\r\n right: 0;\r\n z-index: 1;\r\n background-image: var(--gradient);\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n}\r\n.popup-tags {\r\n font-size: large;\r\n font-weight: bold;\r\n}\r\n.button_icon-left {\r\n width: 184px;\r\n height: 43px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n}\r\n.button-text {\r\n width: 85px;\r\n height: 19px;\r\n flex-grow: 0;\r\n font-family: Inter;\r\n font-size: 16px;\r\n font-weight: 500;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: normal;\r\n letter-spacing: normal;\r\n text-align: center;\r\n}\r\n.button_icon-right {\r\n width: 184px;\r\n height: 43px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 16px;\r\n border-color: #000;\r\n background-color: transparent;\r\n}\r\n.circle {\r\n height: 55px;\r\n width: 55px;\r\n background-color: transparent;\r\n border-radius: 50%;\r\n border-style: solid;\r\n border-color: #000;\r\n border-width: 2px;\r\n align-content: center;\r\n justify-content: center;\r\n justify-items: center;\r\n justify-self: center;\r\n}\r\n@media (min-width: 375px) and (max-width: 667px) {\r\n .popup-overlay {\r\n /* Fixed position to cover the whole screen */\r\n\r\n background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent background */\r\n display: flex; /* Flexbox to center the popup */\r\n\r\n z-index: 9998; /* Ensure it's above other content */\r\n }\r\n\r\n .MessageShareSections {\r\n height: 650px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #d7d9e3;\r\n background-color: #fff;\r\n }\r\n .button_icon-left {\r\n width: 90px;\r\n height: 43px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n }\r\n .button-text {\r\n width: 85px;\r\n height: 19px;\r\n flex-grow: 0;\r\n font-family: Inter;\r\n font-size: 16px;\r\n font-weight: 500;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: normal;\r\n letter-spacing: normal;\r\n text-align: center;\r\n }\r\n .button_icon-right {\r\n width: 184px;\r\n }\r\n .circle {\r\n height: 55px;\r\n width: 55px;\r\n background-color: transparent;\r\n border-radius: 50%;\r\n border-style: solid;\r\n border-color: #000;\r\n border-width: 2px;\r\n }\r\n .button_icon-left {\r\n width: 184px;\r\n }\r\n}\r\n";
613
- styleInject(css_248z$2);
614
-
615
- function MessagePopUp(props) {
616
- var _a, _b;
617
- var _c = useState(""), themeId = _c[0], setThemeId = _c[1];
618
- var _d = useState(""), subject = _d[0], setSubject = _d[1];
619
- var _e = useState(""), messageText = _e[0], setMessageText = _e[1];
620
- var _f = useState(""), firstName = _f[0], setFirstName = _f[1];
621
- var _g = useState(""), lastName = _g[0], setLastName = _g[1];
622
- var handleClose = function () {
623
- props.onCloseClick();
624
- };
625
- function handleSendMessage() {
626
- props.onSubmit({ themeId: themeId, subject: subject, messageText: messageText, firstName: firstName, lastName: lastName });
627
- }
628
- useEffect(function () {
629
- var user = JSON.parse(localStorage.getItem("user") || "{}");
630
- if (user) {
631
- setFirstName(user.firstname || "");
632
- setLastName(user.lastname || "");
633
- }
634
- }, []);
635
- return (React.createElement("div", null,
636
- React.createElement("div", { className: " popup-overlay" },
637
- React.createElement("div", { className: "MessageShareSections d-flex flex-column col-10 col-lg-7" },
638
- React.createElement("img", { src: x, alt: "close", className: "closeIcon d-flex flex-column align-self-end", onClick: handleClose }),
639
- React.createElement("div", { className: "" },
640
- React.createElement("div", { className: "d-flex ms-md-5 mb-4" },
641
- React.createElement("div", { className: "circle align-self-center ms-md-2 me-4" },
642
- React.createElement("img", { src: mail_icon, alt: "email", className: "align-self-center", style: {
643
- alignSelf: "center",
644
- justifyContent: "center",
645
- margin: "14px",
646
- width: "25px",
647
- height: "20px",
648
- } })),
649
- React.createElement("div", { className: "popUpHeader d-flex flex-column text-wrap mb-md-1 " },
650
- "Nachricht senden ", (_a = props.userData) === null || _a === void 0 ? void 0 :
651
- _a.firstname,
652
- " ", (_b = props.userData) === null || _b === void 0 ? void 0 :
653
- _b.lastname)),
654
- React.createElement("div", { className: "d-flex flex-md-row flex-column ms-md-5 mt-md-0 " },
655
- React.createElement("div", { className: "d-flex flex-column mt-md-0 mt-4 col me-4 w-100 align-self-start justify-content-start" },
656
- React.createElement("span", { className: "popup-tags mb-2" }, "Betreff:*"),
657
- React.createElement("div", null,
658
- React.createElement("select", { name: "theme", id: "theme", className: "mb-md-4 col-md-11 col-12", style: { height: "42px" }, value: themeId, onChange: function (e) { return setThemeId(e.target.value); } },
659
- React.createElement("option", { value: "" }, "Select a theme"),
660
- props.themesList.map(function (theme) { return (React.createElement("option", { key: theme.id, value: theme.id }, theme.name)); })))),
661
- React.createElement("div", { className: "d-flex flex-column mt-md-4 col me-4 w-100" },
662
- React.createElement("div", null),
663
- React.createElement("textarea", { className: "popup_textarea col-12 col-md-10 mb-md-0 mt-2 ", placeholder: "Betreff deiner Nachricht", style: { height: "42px" }, value: subject, onChange: function (e) { return setSubject(e.target.value); } }))),
664
- React.createElement("div", { className: "d-flex flex-column col ms-md-5 me-md-4" },
665
- React.createElement("span", { className: "popup-tags mb-2 " }, "Deine Nachricht:*"),
666
- React.createElement("textarea", { className: "popup_textarea mb-md-4 col-md-11 col-12 ", placeholder: "Deine Nachricht hier...", value: messageText, onChange: function (e) { return setMessageText(e.target.value); } })),
667
- React.createElement("div", { className: "d-flex flex-md-row flex-column ms-md-5 " },
668
- React.createElement("div", { className: "d-flex flex-column col me-4 w-100" },
669
- React.createElement("span", { className: "popup-tags mb-2" }, "Vorname:"),
670
- React.createElement("input", { className: "popup_textarea mb-md-4 col-12 col-md-11", placeholder: "Dein Vorname", type: "text", value: firstName, onChange: function (e) { return setFirstName(e.target.value); }, style: { height: "42px" } })),
671
- React.createElement("div", { className: "d-flex flex-column me-4 w-100 col " },
672
- React.createElement("span", { className: "popup-tags mb-2" }, "Nachname:"),
673
- React.createElement("input", { className: "popup_textarea col-12 mb-4 col-md-10", placeholder: "Dein Nachname", type: "text", value: lastName, onChange: function (e) { return setLastName(e.target.value); }, style: { height: "42px" } }))),
674
- React.createElement("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" },
675
- React.createElement("button", { className: "main_button border-0 rounded-4 align-self-center ", type: "button", id: "button", onClick: handleSendMessage },
676
- React.createElement("strong", null, "Nachricht senden")),
677
- React.createElement("button", { className: "button_icon-right border-1 col-sm-3 align-self-center" },
678
- React.createElement("strong", null, "Abbrechen"))))))));
679
- }
680
-
681
- var css_248z$1 = ".popup-overlay {\r\n position: fixed; /* Fixed position to cover the whole screen */\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent background */\r\n display: flex; /* Flexbox to center the popup */\r\n justify-content: center; /* Center horizontally */\r\n align-items: center; /* Center vertically */\r\n z-index: 2000; /* Ensure it's above other content */\r\n}\r\n\r\n.shareSection {\r\n height: 340px;\r\n padding: 40px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #d7d9e3;\r\n background-color: #fff;\r\n}\r\n.popUpHeader {\r\n height: 48px;\r\n font-size: 32px;\r\n font-weight: 600;\r\n color: #1b1b1b;\r\n}\r\n\r\n.closeIcon {\r\n width: 16px;\r\n height: 16px;\r\n cursor: pointer;\r\n}\r\n\r\n.socialMediaIconsSection {\r\n gap: 60px !important;\r\n}\r\n\r\n.socialMediaIcons {\r\n width: 28px !important;\r\n height: 28px !important;\r\n cursor: pointer;\r\n}\r\n\r\n.socialMediaIconText {\r\n height: 36px;\r\n font-size: 13px;\r\n font-weight: 500;\r\n line-height: 3;\r\n color: #344041;\r\n cursor: pointer;\r\n}\r\n\r\n.popup_search-input {\r\n height: 60px;\r\n padding-inline-end: 190px;\r\n font-size: 20px;\r\n box-shadow: inset 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background-color: rgba(0, 0, 0, 0.05);\r\n}\r\n\r\n.popup_search-input::placeholder {\r\n font-size: 20px;\r\n color: rgba(140, 140, 140, 0.5);\r\n}\r\n\r\n.popup_search-input:focus {\r\n outline: none;\r\n}\r\n\r\n.popupcustom-button {\r\n height: 35px;\r\n color: #000;\r\n cursor: pointer;\r\n border-color: var(--main-yellow);\r\n right: 0;\r\n z-index: 1;\r\n background-image: var(--gradient);\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n}\r\n.button-text {\r\n width: 115px;\r\n height: 19px;\r\n flex-grow: 0;\r\n font-family: Inter;\r\n font-size: 16px;\r\n font-weight: 500;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: normal;\r\n letter-spacing: normal;\r\n text-align: center;\r\n}\r\n.button_success-right {\r\n width: 184px;\r\n height: 43px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 16px;\r\n border-color: #000;\r\n background-color: transparent;\r\n}\r\n.button_success-left {\r\n width: 200px;\r\n height: 43px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background-color: var(--main-yellow);\r\n}\r\n.shareSection-Success {\r\n height: 510px;\r\n padding: 40px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #d7d9e3;\r\n background-color: #fff;\r\n}\r\n.shareSection-Error {\r\n height: 400px;\r\n padding: 10px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #d7d9e3;\r\n background-color: #fff;\r\n}\r\n.MessageShareSection {\r\n height: 513px;\r\n padding: 14px 14px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #d7d9e3;\r\n background-color: #fff;\r\n}\r\n\r\n.popup-tags {\r\n font-size: large;\r\n font-weight: bold;\r\n}\r\n.button_icon-left {\r\n width: 184px;\r\n height: 43px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n}\r\n.main_button {\r\n width: 184px;\r\n height: 43px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background-image: var(--gradient);\r\n}\r\n.button-text {\r\n width: 85px;\r\n height: 19px;\r\n flex-grow: 0;\r\n font-family: Inter;\r\n font-size: 16px;\r\n font-weight: 500;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: normal;\r\n letter-spacing: normal;\r\n text-align: center;\r\n}\r\n.button_icon-right {\r\n width: 184px;\r\n height: 43px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 16px;\r\n border-color: #000;\r\n background-color: transparent;\r\n}\r\n.circle {\r\n height: 55px;\r\n width: 55px;\r\n background-color: transparent;\r\n border-radius: 50%;\r\n border-style: solid;\r\n border-color: #000;\r\n border-width: 2px;\r\n}\r\n.Line-9,\r\n.Line-10 {\r\n height: 1px;\r\n flex-grow: 1;\r\n background-color: rgba(140, 140, 140, 0.5);\r\n max-width: 18rem;\r\n align-self: center;\r\n align-content: center;\r\n}\r\n\r\n.middle-container {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n.middle-text {\r\n margin: 25px 25px;\r\n}\r\n.google-button {\r\n width: 260px;\r\n height: 45px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 4px;\r\n background-color: #000000;\r\n background: linear-gradient(to top, #000, #666);\r\n}\r\n.Account-popup {\r\n height: 713px;\r\n padding: 10px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #d7d9e3;\r\n background-color: #fff;\r\n max-width: 1000px;\r\n}\r\n.lightertxt {\r\n color: #797979;\r\n}\r\n\r\n.filter {\r\n height: 343px;\r\n align-self: stretch;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 2px;\r\n padding: 32px;\r\n border-radius: 32px;\r\n box-shadow: inset 0 4px 10px 0 rgba(0, 0, 0, 0.15);\r\n background-color: #f2f2f2;\r\n}\r\n.loginFilter {\r\n height: 280px;\r\n align-self: stretch;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 2px;\r\n padding: 32px;\r\n border-radius: 32px;\r\n box-shadow: inset 0 4px 10px 0 rgba(0, 0, 0, 0.15);\r\n background-color: #f2f2f2;\r\n}\r\n.radioLabel {\r\n width: 176px;\r\n height: 19px;\r\n flex-grow: 0;\r\n font-family: Inter;\r\n font-size: 16px;\r\n font-weight: normal;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: normal;\r\n letter-spacing: normal;\r\n text-align: left;\r\n color: #1b1b1b;\r\n}\r\n.goButton-text {\r\n width: 78px;\r\n height: 19px;\r\n flex-grow: 0;\r\n font-family: Inter;\r\n font-size: 16px;\r\n font-weight: 500;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: normal;\r\n letter-spacing: normal;\r\n text-align: center;\r\n color: #1b1b1b;\r\n}\r\n.placeholders {\r\n width: 232px;\r\n height: 45px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: flex-start;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 4px;\r\n background-image: linear-gradient(to top, #000 100%, #666 0%);\r\n}\r\n.TagW.active {\r\n height: 40px;\r\n flex-grow: 1;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 6px;\r\n padding: 0 24px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background-image: linear-gradient(to top, #000, #666);\r\n color: white;\r\n}\r\n.Tag {\r\n height: 40px;\r\n flex-grow: 1;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 6px;\r\n padding: 0 24px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background-image: linear-gradient(\r\n to top,\r\n rgba(255, 0, 0, 0),\r\n rgba(255, 0, 0, 1)\r\n );\r\n}\r\n.TagW {\r\n height: 40px;\r\n flex-grow: 1;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 6px;\r\n padding: 0 24px;\r\n border-radius: 16px;\r\n border: solid 1px #000;\r\n background-color: #fff;\r\n color: #000;\r\n}\r\n/* */\r\n@media (min-width: 375px) and (max-width: 667px) {\r\n .Account-popup {\r\n height: 650px !important;\r\n padding: 10px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #d7d9e3;\r\n background-color: #fff;\r\n width: 90vw;\r\n }\r\n .filter {\r\n height: 260px;\r\n align-self: stretch;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 2px;\r\n padding: 32px;\r\n border-radius: 32px;\r\n box-shadow: inset 0 4px 10px 0 rgba(0, 0, 0, 0.15);\r\n background-color: #f2f2f2;\r\n}\r\n.middle-text {\r\n margin: 5px 25px;\r\n}\r\n.loginFilter {\r\n height: 180px;\r\n align-self: stretch;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 2px;\r\n padding: 32px;\r\n border-radius: 32px;\r\n box-shadow: inset 0 4px 10px 0 rgba(0, 0, 0, 0.15);\r\n background-color: #f2f2f2;\r\n}\r\n}\r\n";
682
- styleInject(css_248z$1);
683
-
684
- var icon_checkmark = "/static/media/icon_checkmark.9b48c4a4bc651b08.svg";
685
-
686
- function SuccessPopUp(props) {
687
- var _a = useState(true); _a[0]; _a[1];
688
- var handleClose = function () {
689
- props.onClick();
690
- };
691
- return (React.createElement("div", null,
692
- React.createElement("div", { className: "popup-overlay" },
693
- React.createElement("div", { className: "shareSection-Success d-flex flex-column col-7 " },
694
- React.createElement("img", { src: x$1, alt: "close", className: "closeIcon d-flex flex-column align-self-end ms-5 ", onClick: handleClose }),
695
- React.createElement("div", { className: " d-flex flex-column align-self-center ms-5 " },
696
- React.createElement("img", { src: icon_checkmark, alt: "facebook", className: " mb-4" })),
697
- React.createElement("div", { className: "popUpHeader d-flex flex-column col- text-center text-wrap mb-5 align-self-center" },
698
- React.createElement("span", null, " Herzlichen Gl\u00FCckwunsch! "),
699
- React.createElement("span", null, " Deine Nachricht wurde erfolgreich gesendet. ")),
700
- React.createElement("div", { className: "d-flex flex-column mt-4 mb-4" },
701
- React.createElement("span", { className: "text-center ms-5 text-wrap" }, "Neben vielen weiteren Einstellungen und Aktionen kannst du die Antwort auf deine Nachricht in deinem Control Center einsehen, sobald der Verk\u00E4ufer darauf reagiert hat.")),
702
- React.createElement("div", { className: " d-flex flex-row align-self-center " },
703
- React.createElement("button", { className: "d-flex button_success-left col-sm-5 border-0 rounded-4", type: "button", id: "button", onClick: handleClose },
704
- React.createElement("strong", null, " Zum Control Center")),
705
- React.createElement("button", { className: "button_success-right col-sm-3 border-1 ms-3 rounded-4", type: "button", id: "button" },
706
- React.createElement("strong", null, "Abbrechen")))))));
707
- }
708
-
709
- var warning = "/static/media/warning.6f99cb4c6a048b47.svg";
710
-
711
- var css_248z = ".popup-overlay {\r\n position: fixed; /* Fixed position to cover the whole screen */\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent background */\r\n display: flex; /* Flexbox to center the popup */\r\n justify-content: center; /* Center horizontally */\r\n align-items: center; /* Center vertically */\r\n z-index: 2000; /* Ensure it's above other content */\r\n}\r\n\r\n.shareSection {\r\n height: 340px;\r\n padding: 40px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #d7d9e3;\r\n background-color: #fff;\r\n max-width: 1280px;\r\n}\r\n.popUpHeader {\r\n height: 48px;\r\n font-size: 32px;\r\n font-weight: 600;\r\n color: #1b1b1b;\r\n}\r\n\r\n.closeIcon {\r\n width: 16px;\r\n height: 16px;\r\n cursor: pointer;\r\n}\r\n\r\n.socialMediaIconsSection {\r\n gap: 60px !important;\r\n}\r\n\r\n.socialMediaIcons {\r\n width: 28px !important;\r\n height: 28px !important;\r\n cursor: pointer;\r\n}\r\n\r\n.socialMediaIconText {\r\n height: 36px;\r\n font-size: 13px;\r\n font-weight: 500;\r\n line-height: 3;\r\n color: #344041;\r\n cursor: pointer;\r\n}\r\n\r\n.popup_search-input {\r\n height: 60px;\r\n padding-inline-end: 190px;\r\n font-size: 20px;\r\n box-shadow: inset 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background-color: rgba(0, 0, 0, 0.05);\r\n}\r\n\r\n.popup_search-input::placeholder {\r\n font-size: 20px;\r\n color: rgba(140, 140, 140, 0.5);\r\n}\r\n\r\n.popup_search-input:focus {\r\n outline: none;\r\n}\r\n\r\n.popupcustom-button {\r\n height: 35px;\r\n color: #000;\r\n cursor: pointer;\r\n border-color: var(--main-yellow);\r\n right: 0;\r\n z-index: 1;\r\n background-image: var(--gradient);\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n}\r\n.button-text {\r\n width: 115px;\r\n height: 19px;\r\n flex-grow: 0;\r\n font-family: Inter;\r\n font-size: 16px;\r\n font-weight: 500;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: normal;\r\n letter-spacing: normal;\r\n text-align: center;\r\n}\r\n.button_success-right {\r\n width: 184px;\r\n height: 43px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 16px;\r\n border-color: #000;\r\n background-color: transparent;\r\n}\r\n.button_success-left {\r\n width: 200px;\r\n height: 43px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background-color: var(--main-yellow);\r\n}\r\n.shareSection-Success {\r\n height: 510px;\r\n padding: 40px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #d7d9e3;\r\n background-color: #fff;\r\n}\r\n.shareSection-Error {\r\n height: 400px;\r\n padding: 10px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #d7d9e3;\r\n background-color: #fff;\r\n}\r\n.MessageShareSection {\r\n height: 513px;\r\n padding: 14px 14px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #d7d9e3;\r\n background-color: #fff;\r\n}\r\n\r\n.popup-tags {\r\n font-size: large;\r\n font-weight: bold;\r\n}\r\n.button_icon-left {\r\n width: 184px;\r\n height: 43px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n}\r\n.main_button {\r\n width: 184px;\r\n height: 43px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background-image: var(--gradient);\r\n}\r\n.button-text {\r\n width: 85px;\r\n height: 19px;\r\n flex-grow: 0;\r\n font-family: Inter;\r\n font-size: 16px;\r\n font-weight: 500;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: normal;\r\n letter-spacing: normal;\r\n text-align: center;\r\n}\r\n.button_icon-right {\r\n width: 184px;\r\n height: 43px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 16px;\r\n border-color: #000;\r\n background-color: transparent;\r\n}\r\n.circle {\r\n height: 55px;\r\n width: 55px;\r\n background-color: transparent;\r\n border-radius: 50%;\r\n border-style: solid;\r\n border-color: #000;\r\n border-width: 2px;\r\n}\r\n.Line-9,\r\n.Line-10 {\r\n height: 1px;\r\n flex-grow: 1;\r\n background-color: rgba(140, 140, 140, 0.5);\r\n max-width: 18rem;\r\n align-self: center;\r\n align-content: center;\r\n}\r\n\r\n.middle-container {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n.middle-text {\r\n margin: 25px 25px;\r\n}\r\n.google-button {\r\n width: 260px;\r\n height: 45px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 4px;\r\n background-color: #000000;\r\n background: linear-gradient(to top, #000, #666);\r\n}\r\n.Account-popup {\r\n height: 713px;\r\n padding: 10px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #d7d9e3;\r\n background-color: #fff;\r\n max-width: 1000px;\r\n}\r\n.lightertxt {\r\n color: #797979;\r\n}\r\n\r\n.filter {\r\n height: 343px;\r\n align-self: stretch;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 2px;\r\n padding: 32px;\r\n border-radius: 32px;\r\n box-shadow: inset 0 4px 10px 0 rgba(0, 0, 0, 0.15);\r\n background-color: #f2f2f2;\r\n}\r\n.loginFilter {\r\n height: 280px;\r\n align-self: stretch;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 2px;\r\n padding: 32px;\r\n border-radius: 32px;\r\n box-shadow: inset 0 4px 10px 0 rgba(0, 0, 0, 0.15);\r\n background-color: #f2f2f2;\r\n}\r\n.radioLabel {\r\n width: 176px;\r\n height: 19px;\r\n flex-grow: 0;\r\n font-family: Inter;\r\n font-size: 16px;\r\n font-weight: normal;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: normal;\r\n letter-spacing: normal;\r\n text-align: left;\r\n color: #1b1b1b;\r\n}\r\n.goButton-text {\r\n width: 78px;\r\n height: 19px;\r\n flex-grow: 0;\r\n font-family: Inter;\r\n font-size: 16px;\r\n font-weight: 500;\r\n font-stretch: normal;\r\n font-style: normal;\r\n line-height: normal;\r\n letter-spacing: normal;\r\n text-align: center;\r\n color: #1b1b1b;\r\n}\r\n.placeholders {\r\n width: 232px;\r\n height: 45px;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: flex-start;\r\n align-items: center;\r\n gap: 8px;\r\n padding: 12px 24px;\r\n border-radius: 4px;\r\n background-image: linear-gradient(to top, #000 100%, #666 0%);\r\n}\r\n.TagW.active {\r\n height: 40px;\r\n flex-grow: 1;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 6px;\r\n padding: 0 24px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background-image: linear-gradient(to top, #000, #666);\r\n color: white;\r\n}\r\n.Tag {\r\n height: 40px;\r\n flex-grow: 1;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 6px;\r\n padding: 0 24px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n background-image: linear-gradient(\r\n to top,\r\n rgba(255, 0, 0, 0),\r\n rgba(255, 0, 0, 1)\r\n );\r\n}\r\n.TagW {\r\n height: 40px;\r\n flex-grow: 1;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 6px;\r\n padding: 0 24px;\r\n border-radius: 16px;\r\n border: solid 1px #000;\r\n background-color: #fff;\r\n color: #000;\r\n}\r\n/* */\r\n@media (min-width: 375px) and (max-width: 667px) {\r\n .Account-popup {\r\n height: 650px !important;\r\n padding: 10px;\r\n border-radius: 16px;\r\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\r\n border: solid 1px #d7d9e3;\r\n background-color: #fff;\r\n width: 90vw;\r\n }\r\n .filter {\r\n height: 260px;\r\n align-self: stretch;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 2px;\r\n padding: 32px;\r\n border-radius: 32px;\r\n box-shadow: inset 0 4px 10px 0 rgba(0, 0, 0, 0.15);\r\n background-color: #f2f2f2;\r\n }\r\n .middle-text {\r\n margin: 5px 25px;\r\n }\r\n .loginFilter {\r\n height: 180px;\r\n align-self: stretch;\r\n flex-grow: 0;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 2px;\r\n padding: 32px;\r\n border-radius: 32px;\r\n box-shadow: inset 0 4px 10px 0 rgba(0, 0, 0, 0.15);\r\n background-color: #f2f2f2;\r\n }\r\n}\r\n";
712
- styleInject(css_248z);
713
-
714
- function ErrorPopup(props) {
715
- var handleClose = function () {
716
- props.onClick();
717
- };
718
- return (React.createElement("div", { className: "popup-overlay" },
719
- React.createElement("div", { className: "shareSection-Error d-flex flex-column col-6 " },
720
- React.createElement("img", { src: x, alt: "close", className: "closeIcon d-flex flex-column align-self-end ms-5 ", onClick: handleClose }),
721
- React.createElement("div", { className: " d-flex flex-column align-self-center ms-5 " },
722
- React.createElement("img", { src: warning, alt: "facebook", className: " mb-4" })),
723
- React.createElement("div", { className: "popUpHeader d-flex flex-column col- text-center text-wrap mb-1 align-self-center" },
724
- React.createElement("span", null, " Oops! Etwas ist schiefgelaufen.")),
725
- React.createElement("div", { className: "d-flex flex-column mt-4 mb-4" },
726
- React.createElement("span", { className: "text-center ms-5 text-wrap" }, "Beim Senden deiner Nachricht ist ein Fehler aufgetreten. Wenn das Problem weiterhin besteht, kontaktiere uns unter support@nestiq.de")),
727
- React.createElement("div", { className: " d-flex flex-row align-self-center " },
728
- React.createElement("button", { className: "d-flex button_success-left col-sm-5 border-0 rounded-4", type: "button", id: "button" },
729
- React.createElement("strong", null, " Erneut versuchen")),
730
- React.createElement("button", { className: "button_success-right w-50 border-1 ms-3 rounded-4", type: "button", id: "button" },
731
- React.createElement("strong", null, " Support kontaktieren"))))));
732
- }
733
-
734
- // Utility function to show a toast
735
- var showToast = function (message, type) {
736
- if (type === void 0) { type = "info"; }
737
- toast(message, { type: type });
738
- };
739
- var ToastWrapper = function () { return (React.createElement(ToastContainer, { position: "top-right", autoClose: 5000, hideProgressBar: false, closeOnClick: true, rtl: false, pauseOnFocusLoss: true, draggable: true, pauseOnHover: true })); };
740
-
741
- export { Button, ErrorPopup, FloorPlanPopup, MessagePopUp, PropertyCard as NewPropertyCard, Popup, PropertyCard$1 as PropertyCard, PropertyDetailsHeader, PropertyImageList, SharePopup, SuccessPopUp, ToastWrapper, formatPrice, formatPropertyArea, showToast };
742
- //# sourceMappingURL=index.es.js.map