nestiq-component-library 1.0.6 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Button/Button.js +6 -0
- package/dist/components/ImageListPopup/ImageListPopup.js +26 -0
- package/dist/components/Popup/Popup.js +12 -0
- package/dist/index.es.js +7 -17
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +7 -17
- package/dist/index.js.map +1 -1
- package/package.json +35 -36
- package/rollup.config.mjs +31 -40
- package/src/assets/images/icon_share 1.svg +3 -0
- package/src/assets/images/locationIconBlack.svg +4 -0
- package/src/components/ImageListPopup/ImageListPopup.css +49 -107
- package/src/components/ImageListPopup/ImageListPopup.tsx +62 -100
- package/src/components/Popup/Popup.tsx +28 -28
- package/src/components/PropertyDetailsHeader/PropertyDetailsHeader.css +46 -0
- package/src/components/PropertyDetailsHeader/PropertyDetailsHeader.tsx +71 -0
- package/src/components/SharePopup/PopUp.css +359 -0
- package/src/components/SharePopup/PopUp.tsx +99 -0
- package/src/index.tsx +3 -3
- package/dist/assets/images/blackarrow-Right.svg +0 -3
- package/dist/assets/images/blckarrow-Left.svg +0 -3
- package/dist/assets/images/icon_close 2.png +0 -0
- package/src/assets/images/blackarrow-Right.svg +0 -3
- package/src/assets/images/blckarrow-Left.svg +0 -3
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import "bootstrap/dist/css/bootstrap.min.css";
|
|
3
|
+
import "./ImageListPopup.css";
|
|
4
|
+
var ImageListPopup = function (_a) {
|
|
5
|
+
var images = _a.images, onClose = _a.onClose;
|
|
6
|
+
var _b = useState(0), currentIndex = _b[0], setCurrentIndex = _b[1];
|
|
7
|
+
var handlePrevious = function () {
|
|
8
|
+
setCurrentIndex(function (prevIndex) { return (prevIndex > 0 ? prevIndex - 1 : prevIndex); });
|
|
9
|
+
};
|
|
10
|
+
var handleNext = function () {
|
|
11
|
+
setCurrentIndex(function (prevIndex) {
|
|
12
|
+
return prevIndex < images.length - 1 ? prevIndex + 1 : prevIndex;
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
return (React.createElement("div", { className: "popup-overlay" },
|
|
16
|
+
React.createElement("div", { className: "popup-container" },
|
|
17
|
+
React.createElement("div", { className: "popup-header" },
|
|
18
|
+
React.createElement("span", null, images[currentIndex].title),
|
|
19
|
+
React.createElement("button", { className: "btn-close", onClick: onClose })),
|
|
20
|
+
React.createElement("div", { className: "popup-body" },
|
|
21
|
+
React.createElement("img", { src: images[currentIndex].src, alt: images[currentIndex].title, className: "img-fluid" })),
|
|
22
|
+
React.createElement("div", { className: "popup-footer" }, images.length > 1 && (React.createElement(React.Fragment, null,
|
|
23
|
+
React.createElement("button", { className: "btn btn-secondary me-2", onClick: handlePrevious }, "Previous"),
|
|
24
|
+
React.createElement("button", { className: "btn btn-secondary", onClick: handleNext }, "Next")))))));
|
|
25
|
+
};
|
|
26
|
+
export default ImageListPopup;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import closeIcon from "src/assets/images/icon_close 2.png";
|
|
3
|
+
import "./Popup.css";
|
|
4
|
+
var Popup = function (_a) {
|
|
5
|
+
var onCloseClick = _a.onCloseClick, children = _a.children;
|
|
6
|
+
return (React.createElement("div", { className: "popup-overlay" },
|
|
7
|
+
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" },
|
|
8
|
+
React.createElement("div", { className: "end-0 top-0 position-absolute " },
|
|
9
|
+
React.createElement("img", { src: closeIcon, alt: "close", className: "closeIcon me-2", onClick: onCloseClick })),
|
|
10
|
+
children)));
|
|
11
|
+
};
|
|
12
|
+
export default Popup;
|
package/dist/index.es.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
|
+
import closeIcon from 'src/assets/images/icon_close 2.png';
|
|
2
3
|
import 'bootstrap/dist/css/bootstrap.min.css';
|
|
3
4
|
|
|
4
5
|
var Button = function (_a) {
|
|
@@ -6,8 +7,6 @@ var Button = function (_a) {
|
|
|
6
7
|
return React.createElement("button", null, label);
|
|
7
8
|
};
|
|
8
9
|
|
|
9
|
-
var closeIcon = "icon_close 2.png";
|
|
10
|
-
|
|
11
10
|
function styleInject(css, ref) {
|
|
12
11
|
if ( ref === void 0 ) ref = {};
|
|
13
12
|
var insertAt = ref.insertAt;
|
|
@@ -47,13 +46,9 @@ var Popup = function (_a) {
|
|
|
47
46
|
children)));
|
|
48
47
|
};
|
|
49
48
|
|
|
50
|
-
var css_248z = ".popup-overlay {\n
|
|
49
|
+
var css_248z = ".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.5);\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n z-index: 10000;\r\n}\r\n\r\n.popup-container {\r\n background-color: #fff;\r\n border-radius: 8px;\r\n max-width: 90%;\r\n max-height: 90%;\r\n overflow: hidden;\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n\r\n.popup-header {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n padding: 1rem;\r\n border-bottom: 1px solid #ddd;\r\n}\r\n\r\n.popup-body {\r\n flex: 1;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 1rem;\r\n}\r\n\r\n.popup-body img {\r\n max-width: 100%;\r\n max-height: 100%;\r\n}\r\n\r\n.popup-footer {\r\n padding: 1rem;\r\n text-align: center;\r\n border-top: 1px solid #ddd;\r\n}\r\n";
|
|
51
50
|
styleInject(css_248z);
|
|
52
51
|
|
|
53
|
-
var blcIconArrowRight = "blackarrow-Right.svg";
|
|
54
|
-
|
|
55
|
-
var blcIconArrowLeft = "blckarrow-Left.svg";
|
|
56
|
-
|
|
57
52
|
var ImageListPopup = function (_a) {
|
|
58
53
|
var images = _a.images, onClose = _a.onClose;
|
|
59
54
|
var _b = useState(0), currentIndex = _b[0], setCurrentIndex = _b[1];
|
|
@@ -65,21 +60,16 @@ var ImageListPopup = function (_a) {
|
|
|
65
60
|
return prevIndex < images.length - 1 ? prevIndex + 1 : prevIndex;
|
|
66
61
|
});
|
|
67
62
|
};
|
|
68
|
-
var handleThumbnailClick = function (index) {
|
|
69
|
-
setCurrentIndex(index);
|
|
70
|
-
};
|
|
71
63
|
return (React.createElement("div", { className: "popup-overlay" },
|
|
72
64
|
React.createElement("div", { className: "popup-container" },
|
|
73
65
|
React.createElement("div", { className: "popup-header" },
|
|
74
|
-
React.createElement("span",
|
|
66
|
+
React.createElement("span", null, images[currentIndex].title),
|
|
75
67
|
React.createElement("button", { className: "btn-close", onClick: onClose })),
|
|
76
68
|
React.createElement("div", { className: "popup-body" },
|
|
77
|
-
React.createElement("
|
|
78
|
-
|
|
79
|
-
React.createElement("
|
|
80
|
-
React.createElement("
|
|
81
|
-
React.createElement("img", { src: blcIconArrowRight, className: "blackArrow", alt: "Right Arrow" }))),
|
|
82
|
-
React.createElement("div", { className: "popup-thumbnails" }, images.map(function (image, index) { return (React.createElement("img", { key: index, src: image.src, alt: image.title, className: "thumbnail ".concat(index === currentIndex ? "active" : ""), onClick: function () { return handleThumbnailClick(index); } })); })))));
|
|
69
|
+
React.createElement("img", { src: images[currentIndex].src, alt: images[currentIndex].title, className: "img-fluid" })),
|
|
70
|
+
React.createElement("div", { className: "popup-footer" }, images.length > 1 && (React.createElement(React.Fragment, null,
|
|
71
|
+
React.createElement("button", { className: "btn btn-secondary me-2", onClick: handlePrevious }, "Previous"),
|
|
72
|
+
React.createElement("button", { className: "btn btn-secondary", onClick: handleNext }, "Next")))))));
|
|
83
73
|
};
|
|
84
74
|
|
|
85
75
|
export { Button, ImageListPopup, Popup };
|
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../node_modules/style-inject/dist/style-inject.es.js"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n"],"names":[],"mappings":";;;;;;;;;AAAA,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;AAC/B,EAAE,KAAK,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACjC,EAAE,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AAC9B;AACA,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,EAAE,OAAO,EAAE;AAC1D;AACA,EAAE,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,EAAE,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC9C,EAAE,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;AAC1B;AACA,EAAE,IAAI,QAAQ,KAAK,KAAK,EAAE;AAC1B,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAChD,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC9B,KAAK;AACL,GAAG,MAAM;AACT,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE;AACxB,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;AACnC,GAAG,MAAM;AACT,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","x_google_ignoreList":[0]}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
+
var closeIcon = require('src/assets/images/icon_close 2.png');
|
|
4
5
|
require('bootstrap/dist/css/bootstrap.min.css');
|
|
5
6
|
|
|
6
7
|
var Button = function (_a) {
|
|
@@ -8,8 +9,6 @@ var Button = function (_a) {
|
|
|
8
9
|
return React.createElement("button", null, label);
|
|
9
10
|
};
|
|
10
11
|
|
|
11
|
-
var closeIcon = "icon_close 2.png";
|
|
12
|
-
|
|
13
12
|
function styleInject(css, ref) {
|
|
14
13
|
if ( ref === void 0 ) ref = {};
|
|
15
14
|
var insertAt = ref.insertAt;
|
|
@@ -49,13 +48,9 @@ var Popup = function (_a) {
|
|
|
49
48
|
children)));
|
|
50
49
|
};
|
|
51
50
|
|
|
52
|
-
var css_248z = ".popup-overlay {\n
|
|
51
|
+
var css_248z = ".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.5);\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n z-index: 10000;\r\n}\r\n\r\n.popup-container {\r\n background-color: #fff;\r\n border-radius: 8px;\r\n max-width: 90%;\r\n max-height: 90%;\r\n overflow: hidden;\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n\r\n.popup-header {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n padding: 1rem;\r\n border-bottom: 1px solid #ddd;\r\n}\r\n\r\n.popup-body {\r\n flex: 1;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 1rem;\r\n}\r\n\r\n.popup-body img {\r\n max-width: 100%;\r\n max-height: 100%;\r\n}\r\n\r\n.popup-footer {\r\n padding: 1rem;\r\n text-align: center;\r\n border-top: 1px solid #ddd;\r\n}\r\n";
|
|
53
52
|
styleInject(css_248z);
|
|
54
53
|
|
|
55
|
-
var blcIconArrowRight = "blackarrow-Right.svg";
|
|
56
|
-
|
|
57
|
-
var blcIconArrowLeft = "blckarrow-Left.svg";
|
|
58
|
-
|
|
59
54
|
var ImageListPopup = function (_a) {
|
|
60
55
|
var images = _a.images, onClose = _a.onClose;
|
|
61
56
|
var _b = React.useState(0), currentIndex = _b[0], setCurrentIndex = _b[1];
|
|
@@ -67,21 +62,16 @@ var ImageListPopup = function (_a) {
|
|
|
67
62
|
return prevIndex < images.length - 1 ? prevIndex + 1 : prevIndex;
|
|
68
63
|
});
|
|
69
64
|
};
|
|
70
|
-
var handleThumbnailClick = function (index) {
|
|
71
|
-
setCurrentIndex(index);
|
|
72
|
-
};
|
|
73
65
|
return (React.createElement("div", { className: "popup-overlay" },
|
|
74
66
|
React.createElement("div", { className: "popup-container" },
|
|
75
67
|
React.createElement("div", { className: "popup-header" },
|
|
76
|
-
React.createElement("span",
|
|
68
|
+
React.createElement("span", null, images[currentIndex].title),
|
|
77
69
|
React.createElement("button", { className: "btn-close", onClick: onClose })),
|
|
78
70
|
React.createElement("div", { className: "popup-body" },
|
|
79
|
-
React.createElement("
|
|
80
|
-
|
|
81
|
-
React.createElement("
|
|
82
|
-
React.createElement("
|
|
83
|
-
React.createElement("img", { src: blcIconArrowRight, className: "blackArrow", alt: "Right Arrow" }))),
|
|
84
|
-
React.createElement("div", { className: "popup-thumbnails" }, images.map(function (image, index) { return (React.createElement("img", { key: index, src: image.src, alt: image.title, className: "thumbnail ".concat(index === currentIndex ? "active" : ""), onClick: function () { return handleThumbnailClick(index); } })); })))));
|
|
71
|
+
React.createElement("img", { src: images[currentIndex].src, alt: images[currentIndex].title, className: "img-fluid" })),
|
|
72
|
+
React.createElement("div", { className: "popup-footer" }, images.length > 1 && (React.createElement(React.Fragment, null,
|
|
73
|
+
React.createElement("button", { className: "btn btn-secondary me-2", onClick: handlePrevious }, "Previous"),
|
|
74
|
+
React.createElement("button", { className: "btn btn-secondary", onClick: handleNext }, "Next")))))));
|
|
85
75
|
};
|
|
86
76
|
|
|
87
77
|
exports.Button = Button;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../node_modules/style-inject/dist/style-inject.es.js"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n"],"names":[],"mappings":";;;;;;;;;;;AAAA,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;AAC/B,EAAE,KAAK,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACjC,EAAE,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AAC9B;AACA,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,EAAE,OAAO,EAAE;AAC1D;AACA,EAAE,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,EAAE,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC9C,EAAE,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;AAC1B;AACA,EAAE,IAAI,QAAQ,KAAK,KAAK,EAAE;AAC1B,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAChD,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC9B,KAAK;AACL,GAAG,MAAM;AACT,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE;AACxB,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;AACnC,GAAG,MAAM;AACT,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","x_google_ignoreList":[0]}
|
package/package.json
CHANGED
|
@@ -1,36 +1,35 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "nestiq-component-library",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"type": "module",
|
|
5
|
-
"description": "",
|
|
6
|
-
"main": "dist/index.js",
|
|
7
|
-
"module": "dist/index.es.js",
|
|
8
|
-
"scripts": {
|
|
9
|
-
"test": "echo \"Error: no test specified\" && exit 1",
|
|
10
|
-
"build": "rollup -c"
|
|
11
|
-
},
|
|
12
|
-
"keywords": [],
|
|
13
|
-
"author": "",
|
|
14
|
-
"license": "ISC",
|
|
15
|
-
"dependencies": {
|
|
16
|
-
"react": "^18.3.1",
|
|
17
|
-
"react-dom": "^18.3.1"
|
|
18
|
-
},
|
|
19
|
-
"devDependencies": {
|
|
20
|
-
"@rollup/plugin-commonjs": "^26.0.1",
|
|
21
|
-
"@rollup/plugin-image": "^3.0.3",
|
|
22
|
-
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
23
|
-
"@rollup/plugin-url": "^8.0.2",
|
|
24
|
-
"@types/react": "^18.3.3",
|
|
25
|
-
"@types/react-dom": "^18.3.0",
|
|
26
|
-
"rollup": "^4.18.0",
|
|
27
|
-
"rollup-plugin-
|
|
28
|
-
"rollup-plugin-
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
"react": "^18.3.1"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "nestiq-component-library",
|
|
3
|
+
"version": "1.0.8",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"module": "dist/index.es.js",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
10
|
+
"build": "rollup -c"
|
|
11
|
+
},
|
|
12
|
+
"keywords": [],
|
|
13
|
+
"author": "",
|
|
14
|
+
"license": "ISC",
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"react": "^18.3.1",
|
|
17
|
+
"react-dom": "^18.3.1"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@rollup/plugin-commonjs": "^26.0.1",
|
|
21
|
+
"@rollup/plugin-image": "^3.0.3",
|
|
22
|
+
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
23
|
+
"@rollup/plugin-url": "^8.0.2",
|
|
24
|
+
"@types/react": "^18.3.3",
|
|
25
|
+
"@types/react-dom": "^18.3.0",
|
|
26
|
+
"rollup": "^4.18.0",
|
|
27
|
+
"rollup-plugin-postcss": "^4.0.2",
|
|
28
|
+
"rollup-plugin-typescript2": "^0.36.0",
|
|
29
|
+
"typescript": "^5.4.5"
|
|
30
|
+
},
|
|
31
|
+
"peerDependencies": {
|
|
32
|
+
"react": "^18.3.1",
|
|
33
|
+
"react-dom": "^18.3.1"
|
|
34
|
+
}
|
|
35
|
+
}
|
package/rollup.config.mjs
CHANGED
|
@@ -1,40 +1,31 @@
|
|
|
1
|
-
import typescript from "rollup-plugin-typescript2";
|
|
2
|
-
import url from "@rollup/plugin-url";
|
|
3
|
-
import postcss from "rollup-plugin-postcss";
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
],
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
destDir: 'dist/assets/images',
|
|
33
|
-
}),
|
|
34
|
-
copy({
|
|
35
|
-
targets: [
|
|
36
|
-
{ src: 'src/assets/images/*', dest: 'dist/assets/images' }
|
|
37
|
-
]
|
|
38
|
-
})
|
|
39
|
-
],
|
|
40
|
-
};
|
|
1
|
+
import typescript from "rollup-plugin-typescript2";
|
|
2
|
+
import url from "@rollup/plugin-url";
|
|
3
|
+
import postcss from "rollup-plugin-postcss";
|
|
4
|
+
import pkg from "./package.json" assert { type: "json" };
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
input: "src/index.tsx",
|
|
8
|
+
output: [
|
|
9
|
+
{
|
|
10
|
+
file: pkg.main,
|
|
11
|
+
format: "cjs",
|
|
12
|
+
sourcemap: true,
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
file: pkg.module,
|
|
16
|
+
format: "es",
|
|
17
|
+
sourcemap: true,
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
external: ["react", "react-dom"],
|
|
21
|
+
plugins: [
|
|
22
|
+
typescript(),
|
|
23
|
+
postcss({
|
|
24
|
+
extensions: [".css"],
|
|
25
|
+
}),
|
|
26
|
+
url({
|
|
27
|
+
include: ["**/*.svg", "**/*.png", "**/*.jpg", "**/*.jpeg", "**/*.gif"],
|
|
28
|
+
limit: 0,
|
|
29
|
+
}),
|
|
30
|
+
],
|
|
31
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M22.046 9.9h-2.56a.937.937 0 1 0 0 1.875h2.56c.517 0 .938.42.938.937v12.26c0 .517-.42.938-.938.938H7.953a.939.939 0 0 1-.937-.938v-12.26c0-.517.42-.937.937-.937h2.56a.937.937 0 1 0 0-1.875h-2.56a2.816 2.816 0 0 0-2.812 2.812v12.26a2.816 2.816 0 0 0 2.812 2.813h14.093a2.816 2.816 0 0 0 2.813-2.813v-12.26A2.816 2.816 0 0 0 22.046 9.9zM11.504 8.007l2.59-2.59V17.76a.937.937 0 1 0 1.874 0V5.418l2.59 2.59a.934.934 0 0 0 1.326 0 .937.937 0 0 0 0-1.327l-4.19-4.19a.938.938 0 0 0-1.326 0l-4.19 4.19a.937.937 0 1 0 1.326 1.326z" fill="#000"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-geo-alt" viewBox="0 0 16 16">
|
|
2
|
+
<path d="M12.166 8.94c-.524 1.062-1.234 2.12-1.96 3.07A32 32 0 0 1 8 14.58a32 32 0 0 1-2.206-2.57c-.726-.95-1.436-2.008-1.96-3.07C3.304 7.867 3 6.862 3 6a5 5 0 0 1 10 0c0 .862-.305 1.867-.834 2.94M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10"/>
|
|
3
|
+
<path d="M8 8a2 2 0 1 1 0-4 2 2 0 0 1 0 4m0 1a3 3 0 1 0 0-6 3 3 0 0 0 0 6"/>
|
|
4
|
+
</svg>
|
|
@@ -1,107 +1,49 @@
|
|
|
1
|
-
.popup-overlay {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.popup-container {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.popup-body {
|
|
53
|
-
display: flex;
|
|
54
|
-
justify-content: center;
|
|
55
|
-
align-items: center;
|
|
56
|
-
padding: 1rem;
|
|
57
|
-
position: relative;
|
|
58
|
-
flex: 1;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
.main-image {
|
|
62
|
-
max-width: 100%;
|
|
63
|
-
max-height: 80vh;
|
|
64
|
-
border-radius: 8px;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.btn-prev,
|
|
68
|
-
.btn-next {
|
|
69
|
-
background: none;
|
|
70
|
-
border: none;
|
|
71
|
-
color: white;
|
|
72
|
-
font-size: 48px;
|
|
73
|
-
cursor: pointer;
|
|
74
|
-
position: absolute;
|
|
75
|
-
top: 50%;
|
|
76
|
-
transform: translateY(-50%);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
.btn-prev {
|
|
80
|
-
left: 10px;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
.btn-next {
|
|
84
|
-
right: 10px;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
.popup-thumbnails {
|
|
88
|
-
display: flex;
|
|
89
|
-
justify-content: center;
|
|
90
|
-
align-items: center;
|
|
91
|
-
gap: 10px;
|
|
92
|
-
padding: 1rem;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
.thumbnail {
|
|
96
|
-
width: 60px;
|
|
97
|
-
height: 60px;
|
|
98
|
-
object-fit: cover;
|
|
99
|
-
border-radius: 8px;
|
|
100
|
-
cursor: pointer;
|
|
101
|
-
opacity: 0.6;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
.thumbnail.active {
|
|
105
|
-
border: 2px solid white;
|
|
106
|
-
opacity: 1;
|
|
107
|
-
}
|
|
1
|
+
.popup-overlay {
|
|
2
|
+
position: fixed;
|
|
3
|
+
top: 0;
|
|
4
|
+
left: 0;
|
|
5
|
+
right: 0;
|
|
6
|
+
bottom: 0;
|
|
7
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
8
|
+
display: flex;
|
|
9
|
+
justify-content: center;
|
|
10
|
+
align-items: center;
|
|
11
|
+
z-index: 10000;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.popup-container {
|
|
15
|
+
background-color: #fff;
|
|
16
|
+
border-radius: 8px;
|
|
17
|
+
max-width: 90%;
|
|
18
|
+
max-height: 90%;
|
|
19
|
+
overflow: hidden;
|
|
20
|
+
display: flex;
|
|
21
|
+
flex-direction: column;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.popup-header {
|
|
25
|
+
display: flex;
|
|
26
|
+
justify-content: space-between;
|
|
27
|
+
align-items: center;
|
|
28
|
+
padding: 1rem;
|
|
29
|
+
border-bottom: 1px solid #ddd;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.popup-body {
|
|
33
|
+
flex: 1;
|
|
34
|
+
display: flex;
|
|
35
|
+
justify-content: center;
|
|
36
|
+
align-items: center;
|
|
37
|
+
padding: 1rem;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.popup-body img {
|
|
41
|
+
max-width: 100%;
|
|
42
|
+
max-height: 100%;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.popup-footer {
|
|
46
|
+
padding: 1rem;
|
|
47
|
+
text-align: center;
|
|
48
|
+
border-top: 1px solid #ddd;
|
|
49
|
+
}
|