react-spatial 1.12.0 → 1.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/BaseLayerSwitcher/BaseLayerSwitcher.js +51 -51
- package/components/BaseLayerSwitcher/BaseLayerSwitcher.js.map +2 -2
- package/components/BasicMap/BasicMap.js +80 -80
- package/components/BasicMap/BasicMap.js.map +2 -2
- package/components/CanvasSaveButton/CanvasSaveButton.js +68 -68
- package/components/CanvasSaveButton/CanvasSaveButton.js.map +2 -2
- package/components/Copyright/Copyright.js +12 -12
- package/components/Copyright/Copyright.js.map +2 -2
- package/components/FeatureExportButton/FeatureExportButton.js +5 -5
- package/components/FeatureExportButton/FeatureExportButton.js.map +2 -2
- package/components/FitExtent/FitExtent.js +15 -15
- package/components/FitExtent/FitExtent.js.map +2 -2
- package/components/Geolocation/Geolocation.js +96 -96
- package/components/Geolocation/Geolocation.js.map +2 -2
- package/components/LayerTree/LayerTree.js +172 -172
- package/components/LayerTree/LayerTree.js.map +2 -2
- package/components/MousePosition/MousePosition.js +27 -27
- package/components/MousePosition/MousePosition.js.map +2 -2
- package/components/NorthArrow/NorthArrow.js +13 -13
- package/components/NorthArrow/NorthArrow.js.map +2 -2
- package/components/Overlay/Overlay.js +49 -49
- package/components/Overlay/Overlay.js.map +2 -2
- package/components/Permalink/Permalink.js +70 -70
- package/components/Permalink/Permalink.js.map +2 -2
- package/components/Popup/Popup.js +73 -73
- package/components/Popup/Popup.js.map +2 -2
- package/components/ResizeHandler/ResizeHandler.js +51 -49
- package/components/ResizeHandler/ResizeHandler.js.map +2 -2
- package/components/RouteSchedule/RouteSchedule.js +86 -74
- package/components/RouteSchedule/RouteSchedule.js.map +2 -2
- package/components/RouteSchedule/RouteSchedule.scss +0 -20
- package/components/ScaleLine/ScaleLine.js +2 -2
- package/components/ScaleLine/ScaleLine.js.map +2 -2
- package/components/StopsFinder/StopsFinder.js +21 -21
- package/components/StopsFinder/StopsFinder.js.map +2 -2
- package/components/StopsFinder/StopsFinderOption.js +3 -3
- package/components/StopsFinder/StopsFinderOption.js.map +2 -2
- package/components/Zoom/Zoom.js +35 -35
- package/components/Zoom/Zoom.js.map +2 -2
- package/package.json +33 -29
- package/propTypes.js +10 -10
- package/propTypes.js.map +2 -2
- package/utils/GlobalsForOle.js +57 -57
- package/utils/GlobalsForOle.js.map +2 -2
- package/utils/KML.js +32 -32
- package/utils/KML.js.map +2 -2
- package/utils/Styles.js +7 -7
- package/utils/Styles.js.map +2 -2
- package/utils/timeUtils.js +6 -6
- package/utils/timeUtils.js.map +2 -2
|
@@ -1,18 +1,28 @@
|
|
|
1
|
-
import React, { useState, useRef, useEffect, useCallback } from "react";
|
|
2
|
-
import PropTypes from "prop-types";
|
|
3
|
-
import OLMap from "ol/Map";
|
|
4
|
-
import { createStringXY } from "ol/coordinate";
|
|
5
1
|
import OLMousePosition from "ol/control/MousePosition";
|
|
2
|
+
import { createStringXY } from "ol/coordinate";
|
|
3
|
+
import OLMap from "ol/Map";
|
|
4
|
+
import PropTypes from "prop-types";
|
|
5
|
+
import React, { useCallback, useEffect, useRef, useState } from "react";
|
|
6
6
|
const propTypes = {
|
|
7
7
|
/**
|
|
8
8
|
* An [ol/map](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html).
|
|
9
9
|
*/
|
|
10
10
|
map: PropTypes.instanceOf(OLMap).isRequired,
|
|
11
|
+
/**
|
|
12
|
+
* Function triggered on projection's change event.
|
|
13
|
+
* @param {Event} event The change event object.
|
|
14
|
+
* @param {Object} projection The selected projection object.
|
|
15
|
+
*/
|
|
16
|
+
onChange: PropTypes.func,
|
|
11
17
|
/**
|
|
12
18
|
* List of projections to display.
|
|
13
19
|
*/
|
|
14
20
|
projections: PropTypes.arrayOf(
|
|
15
21
|
PropTypes.shape({
|
|
22
|
+
/**
|
|
23
|
+
* A function following the [CoordinateFormat](https://openlayers.org/en/latest/apidoc/module-ol_coordinate.html#~CoordinateFormat).
|
|
24
|
+
*/
|
|
25
|
+
format: PropTypes.func,
|
|
16
26
|
/**
|
|
17
27
|
* The label to display in the select box.
|
|
18
28
|
*/
|
|
@@ -21,17 +31,17 @@ const propTypes = {
|
|
|
21
31
|
* The value used to create the options´s projection of the MousePosition control.
|
|
22
32
|
* See [doc](https://openlayers.org/en/latest/apidoc/module-ol_control_MousePosition.html).
|
|
23
33
|
*/
|
|
24
|
-
value: PropTypes.string.isRequired
|
|
25
|
-
/**
|
|
26
|
-
* A function following the [CoordinateFormat](https://openlayers.org/en/latest/apidoc/module-ol_coordinate.html#~CoordinateFormat).
|
|
27
|
-
*/
|
|
28
|
-
format: PropTypes.func
|
|
34
|
+
value: PropTypes.string.isRequired
|
|
29
35
|
})
|
|
30
36
|
),
|
|
31
37
|
/**
|
|
32
38
|
* The initially selected projection
|
|
33
39
|
*/
|
|
34
40
|
projectionValue: PropTypes.shape({
|
|
41
|
+
/**
|
|
42
|
+
* A function following the [CoordinateFormat](https://openlayers.org/en/latest/apidoc/module-ol_coordinate.html#~CoordinateFormat).
|
|
43
|
+
*/
|
|
44
|
+
format: PropTypes.func,
|
|
35
45
|
/**
|
|
36
46
|
* The label to display in the select box.
|
|
37
47
|
*/
|
|
@@ -40,18 +50,8 @@ const propTypes = {
|
|
|
40
50
|
* The value used to create the options´s projection of the MousePosition control.
|
|
41
51
|
* See [doc](https://openlayers.org/en/latest/apidoc/module-ol_control_MousePosition.html).
|
|
42
52
|
*/
|
|
43
|
-
value: PropTypes.string.isRequired
|
|
44
|
-
|
|
45
|
-
* A function following the [CoordinateFormat](https://openlayers.org/en/latest/apidoc/module-ol_coordinate.html#~CoordinateFormat).
|
|
46
|
-
*/
|
|
47
|
-
format: PropTypes.func
|
|
48
|
-
}),
|
|
49
|
-
/**
|
|
50
|
-
* Function triggered on projection's change event.
|
|
51
|
-
* @param {Event} event The change event object.
|
|
52
|
-
* @param {Object} projection The selected projection object.
|
|
53
|
-
*/
|
|
54
|
-
onChange: PropTypes.func
|
|
53
|
+
value: PropTypes.string.isRequired
|
|
54
|
+
})
|
|
55
55
|
};
|
|
56
56
|
const defaultProps = {
|
|
57
57
|
onChange: () => {
|
|
@@ -70,9 +70,9 @@ const defaultProps = {
|
|
|
70
70
|
};
|
|
71
71
|
function MousePosition({
|
|
72
72
|
map,
|
|
73
|
+
onChange = defaultProps.onChange,
|
|
73
74
|
projections = defaultProps.projections,
|
|
74
75
|
projectionValue = defaultProps.projectionValue,
|
|
75
|
-
onChange = defaultProps.onChange,
|
|
76
76
|
...other
|
|
77
77
|
}) {
|
|
78
78
|
const [projection, setProjection] = useState(
|
|
@@ -84,9 +84,9 @@ function MousePosition({
|
|
|
84
84
|
const ref = useRef();
|
|
85
85
|
useEffect(() => {
|
|
86
86
|
const mousePosition = new OLMousePosition({
|
|
87
|
-
|
|
87
|
+
className: "",
|
|
88
88
|
placeholder: " ",
|
|
89
|
-
|
|
89
|
+
target: ref.current
|
|
90
90
|
});
|
|
91
91
|
map.addControl(mousePosition);
|
|
92
92
|
setControl(mousePosition);
|
|
@@ -128,13 +128,13 @@ function MousePosition({
|
|
|
128
128
|
"select",
|
|
129
129
|
{
|
|
130
130
|
className: "rs-select",
|
|
131
|
-
|
|
132
|
-
|
|
131
|
+
onChange: onChangeCb,
|
|
132
|
+
value: projection.value
|
|
133
133
|
},
|
|
134
134
|
projections.map((option) => {
|
|
135
135
|
return /* @__PURE__ */ React.createElement("option", { key: option.value, value: option.value }, option.label);
|
|
136
136
|
})
|
|
137
|
-
), /* @__PURE__ */ React.createElement("span", {
|
|
137
|
+
), /* @__PURE__ */ React.createElement("span", { className: "rs-coordinates", ref }))
|
|
138
138
|
);
|
|
139
139
|
}
|
|
140
140
|
MousePosition.propTypes = propTypes;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/MousePosition/MousePosition.js"],
|
|
4
|
-
"sourcesContent": ["import
|
|
5
|
-
"mappings": "AAAA,OAAO,SAAS,
|
|
4
|
+
"sourcesContent": ["import OLMousePosition from \"ol/control/MousePosition\";\nimport { createStringXY } from \"ol/coordinate\";\nimport OLMap from \"ol/Map\";\nimport PropTypes from \"prop-types\";\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\n\nconst propTypes = {\n /**\n * An [ol/map](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html).\n */\n map: PropTypes.instanceOf(OLMap).isRequired,\n\n /**\n * Function triggered on projection's change event.\n * @param {Event} event The change event object.\n * @param {Object} projection The selected projection object.\n */\n onChange: PropTypes.func,\n\n /**\n * List of projections to display.\n */\n projections: PropTypes.arrayOf(\n PropTypes.shape({\n /**\n * A function following the [CoordinateFormat](https://openlayers.org/en/latest/apidoc/module-ol_coordinate.html#~CoordinateFormat).\n */\n format: PropTypes.func,\n\n /**\n * The label to display in the select box.\n */\n label: PropTypes.string.isRequired,\n\n /**\n * The value used to create the options\u00B4s projection of the MousePosition control.\n * See [doc](https://openlayers.org/en/latest/apidoc/module-ol_control_MousePosition.html).\n */\n value: PropTypes.string.isRequired,\n }),\n ),\n\n /**\n * The initially selected projection\n */\n projectionValue: PropTypes.shape({\n /**\n * A function following the [CoordinateFormat](https://openlayers.org/en/latest/apidoc/module-ol_coordinate.html#~CoordinateFormat).\n */\n format: PropTypes.func,\n\n /**\n * The label to display in the select box.\n */\n label: PropTypes.string.isRequired,\n\n /**\n * The value used to create the options\u00B4s projection of the MousePosition control.\n * See [doc](https://openlayers.org/en/latest/apidoc/module-ol_control_MousePosition.html).\n */\n value: PropTypes.string.isRequired,\n }),\n};\n\nconst defaultProps = {\n onChange: () => {},\n projections: [\n {\n label: \"EPSG:4326\",\n value: \"EPSG:4326\",\n },\n {\n label: \"EPSG:3857\",\n value: \"EPSG:3857\",\n },\n ],\n projectionValue: null,\n};\n\n/**\n * The MousePosition component renders a select box with map projection options\n * and the cursor position in coordinates using the selected projection.\n */\nfunction MousePosition({\n map,\n onChange = defaultProps.onChange,\n projections = defaultProps.projections,\n projectionValue = defaultProps.projectionValue,\n ...other\n}) {\n const [projection, setProjection] = useState(\n projections &&\n ((projectionValue &&\n projections.find((p) => {\n return p.value === projectionValue.value;\n })) ||\n projections[0]),\n );\n const [control, setControl] = useState();\n const ref = useRef();\n\n useEffect(() => {\n const mousePosition = new OLMousePosition({\n className: \"\",\n placeholder: \" \",\n target: ref.current,\n });\n map.addControl(mousePosition);\n setControl(mousePosition);\n\n return () => {\n map.removeControl(mousePosition);\n };\n }, [map]);\n\n useEffect(() => {\n if (!projection || !control) {\n return;\n }\n control.setProjection(projection.value);\n control.setCoordinateFormat(projection.format || createStringXY(4));\n }, [projection, control]);\n\n useEffect(() => {\n if (projections) {\n const proj =\n (projectionValue &&\n projections.find((p) => {\n return p.value === projectionValue.value;\n })) ||\n projections[0];\n setProjection(proj);\n }\n }, [projections, projectionValue]);\n\n const onChangeCb = useCallback(\n (evt) => {\n const newProj = projections.find((opt) => {\n return evt.target.value === opt.value;\n });\n setProjection(newProj);\n onChange(evt, newProj);\n },\n [onChange, projections],\n );\n\n if (!projection || !projections || !projections.length) {\n return null;\n }\n\n return (\n // eslint-disable-next-line react/jsx-props-no-spreading\n <div className=\"rs-mouse-position\" {...other}>\n <select\n className=\"rs-select\"\n onChange={onChangeCb}\n value={projection.value}\n >\n {projections.map((option) => {\n return (\n <option key={option.value} value={option.value}>\n {option.label}\n </option>\n );\n })}\n </select>\n <span className=\"rs-coordinates\" ref={ref} />\n </div>\n );\n}\n\nMousePosition.propTypes = propTypes;\n\nexport default React.memo(MousePosition);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import React, { useEffect, useState } from "react";
|
|
2
|
-
import PropTypes from "prop-types";
|
|
3
1
|
import OLMap from "ol/Map";
|
|
4
|
-
import { unByKey } from "ol/Observable";
|
|
5
2
|
import { toDegrees } from "ol/math";
|
|
3
|
+
import { unByKey } from "ol/Observable";
|
|
4
|
+
import PropTypes from "prop-types";
|
|
5
|
+
import React, { useEffect, useState } from "react";
|
|
6
6
|
import NorthArrowSimple from "../../images/northArrow.svg";
|
|
7
7
|
import NorthArrowCircle from "../../images/northArrowCircle.svg";
|
|
8
8
|
const propTypes = {
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
11
|
-
*/
|
|
12
|
-
map: PropTypes.instanceOf(OLMap).isRequired,
|
|
13
|
-
/**
|
|
14
|
-
* Rotation of the north arrow in degrees.
|
|
10
|
+
* Children content of the north arrow.
|
|
15
11
|
*/
|
|
16
|
-
|
|
12
|
+
children: PropTypes.node,
|
|
17
13
|
/**
|
|
18
14
|
* Display circle around the north arrow. Not used if pass children.
|
|
19
15
|
*/
|
|
20
16
|
circled: PropTypes.bool,
|
|
21
17
|
/**
|
|
22
|
-
*
|
|
18
|
+
* An [ol/map](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html).
|
|
23
19
|
*/
|
|
24
|
-
|
|
20
|
+
map: PropTypes.instanceOf(OLMap).isRequired,
|
|
21
|
+
/**
|
|
22
|
+
* Rotation of the north arrow in degrees.
|
|
23
|
+
*/
|
|
24
|
+
rotationOffset: PropTypes.number
|
|
25
25
|
};
|
|
26
26
|
const getRotation = (map, rotationOffset) => {
|
|
27
27
|
return toDegrees(map.getView().getRotation()) + rotationOffset;
|
|
28
28
|
};
|
|
29
29
|
function NorthArrow({
|
|
30
|
+
children = null,
|
|
31
|
+
circled = false,
|
|
30
32
|
map,
|
|
31
33
|
rotationOffset = 0,
|
|
32
|
-
circled = false,
|
|
33
|
-
children = null,
|
|
34
34
|
...other
|
|
35
35
|
}) {
|
|
36
36
|
const [rotation, setRotation] = useState(rotationOffset);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/NorthArrow/NorthArrow.js"],
|
|
4
|
-
"sourcesContent": ["import
|
|
5
|
-
"mappings": "AAAA,OAAO,SAAS,
|
|
4
|
+
"sourcesContent": ["import OLMap from \"ol/Map\";\nimport { toDegrees } from \"ol/math\";\nimport { unByKey } from \"ol/Observable\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\n\nimport NorthArrowSimple from \"../../images/northArrow.svg\";\nimport NorthArrowCircle from \"../../images/northArrowCircle.svg\";\n\nconst propTypes = {\n /**\n * Children content of the north arrow.\n */\n children: PropTypes.node,\n\n /**\n * Display circle around the north arrow. Not used if pass children.\n */\n circled: PropTypes.bool,\n\n /**\n * An [ol/map](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html).\n */\n map: PropTypes.instanceOf(OLMap).isRequired,\n\n /**\n * Rotation of the north arrow in degrees.\n */\n rotationOffset: PropTypes.number,\n};\n\nconst getRotation = (map, rotationOffset) => {\n return toDegrees(map.getView().getRotation()) + rotationOffset;\n};\n\n/**\n * This NorthArrow component inserts an arrow pointing north into an\n * [ol/map](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html).\n */\nfunction NorthArrow({\n children = null,\n circled = false,\n map,\n rotationOffset = 0,\n ...other\n}) {\n const [rotation, setRotation] = useState(rotationOffset);\n\n useEffect(() => {\n if (!map) {\n return null;\n }\n const key = map.on(\"postrender\", () => {\n setRotation(getRotation(map, rotationOffset));\n });\n return () => {\n unByKey(key);\n };\n }, [map, rotationOffset]);\n\n return (\n <div\n className=\"rs-north-arrow\"\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...other}\n style={{ transform: `rotate(${rotation}deg)` }}\n >\n {children || (circled ? <NorthArrowCircle /> : <NorthArrowSimple />)}\n </div>\n );\n}\n\nNorthArrow.propTypes = propTypes;\n\nexport default React.memo(NorthArrow);\n"],
|
|
5
|
+
"mappings": "AAAA,OAAO,WAAW;AAClB,SAAS,iBAAiB;AAC1B,SAAS,eAAe;AACxB,OAAO,eAAe;AACtB,OAAO,SAAS,WAAW,gBAAgB;AAE3C,OAAO,sBAAsB;AAC7B,OAAO,sBAAsB;AAE7B,MAAM,YAAY;AAAA;AAAA;AAAA;AAAA,EAIhB,UAAU,UAAU;AAAA;AAAA;AAAA;AAAA,EAKpB,SAAS,UAAU;AAAA;AAAA;AAAA;AAAA,EAKnB,KAAK,UAAU,WAAW,KAAK,EAAE;AAAA;AAAA;AAAA;AAAA,EAKjC,gBAAgB,UAAU;AAC5B;AAEA,MAAM,cAAc,CAAC,KAAK,mBAAmB;AAC3C,SAAO,UAAU,IAAI,QAAQ,EAAE,YAAY,CAAC,IAAI;AAClD;AAMA,SAAS,WAAW;AAAA,EAClB,WAAW;AAAA,EACX,UAAU;AAAA,EACV;AAAA,EACA,iBAAiB;AAAA,EACjB,GAAG;AACL,GAAG;AACD,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,cAAc;AAEvD,YAAU,MAAM;AACd,QAAI,CAAC,KAAK;AACR,aAAO;AAAA,IACT;AACA,UAAM,MAAM,IAAI,GAAG,cAAc,MAAM;AACrC,kBAAY,YAAY,KAAK,cAAc,CAAC;AAAA,IAC9C,CAAC;AACD,WAAO,MAAM;AACX,cAAQ,GAAG;AAAA,IACb;AAAA,EACF,GAAG,CAAC,KAAK,cAAc,CAAC;AAExB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MAET,GAAG;AAAA,MACJ,OAAO,EAAE,WAAW,UAAU,QAAQ,OAAO;AAAA;AAAA,IAE5C,aAAa,UAAU,oCAAC,sBAAiB,IAAK,oCAAC,sBAAiB;AAAA,EACnE;AAEJ;AAEA,WAAW,YAAY;AAEvB,eAAe,MAAM,KAAK,UAAU;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,26 +1,16 @@
|
|
|
1
|
-
import React, { Component, useState } from "react";
|
|
2
1
|
import PropTypes from "prop-types";
|
|
3
2
|
import { Resizable } from "re-resizable";
|
|
3
|
+
import React, { Component, useState } from "react";
|
|
4
4
|
import ResizeHandler from "../ResizeHandler";
|
|
5
5
|
const propTypes = {
|
|
6
|
-
/**
|
|
7
|
-
* CSS class added to container.
|
|
8
|
-
*/
|
|
9
|
-
className: PropTypes.string,
|
|
10
6
|
/**
|
|
11
7
|
* Children content of the overlay.
|
|
12
8
|
*/
|
|
13
9
|
children: PropTypes.node,
|
|
14
10
|
/**
|
|
15
|
-
*
|
|
11
|
+
* CSS class added to container.
|
|
16
12
|
*/
|
|
17
|
-
|
|
18
|
-
PropTypes.string,
|
|
19
|
-
PropTypes.node,
|
|
20
|
-
PropTypes.instanceOf(Component),
|
|
21
|
-
PropTypes.shape({ current: PropTypes.node }),
|
|
22
|
-
PropTypes.shape({ current: PropTypes.instanceOf(Component) })
|
|
23
|
-
]),
|
|
13
|
+
className: PropTypes.string,
|
|
24
14
|
/**
|
|
25
15
|
* Deactivate the ability to resize the overlay on mobile.
|
|
26
16
|
* /!\ This prop is only used if isMobile (observer width < 768px).
|
|
@@ -33,54 +23,64 @@ const propTypes = {
|
|
|
33
23
|
* /!\ This prop is only used if isMobile (observer width < 768px).
|
|
34
24
|
*/
|
|
35
25
|
mobileSize: PropTypes.shape({
|
|
36
|
-
minimalHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
37
|
-
maximalHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
38
26
|
defaultSize: PropTypes.shape({
|
|
39
27
|
height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
40
28
|
width: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
|
|
41
29
|
}),
|
|
30
|
+
maximalHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
31
|
+
minimalHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
42
32
|
size: PropTypes.shape({
|
|
43
33
|
height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
44
34
|
width: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
|
|
45
35
|
})
|
|
46
36
|
}),
|
|
47
37
|
/**
|
|
48
|
-
*
|
|
49
|
-
* Default is 768px.
|
|
38
|
+
* Observed element to define screen size.
|
|
50
39
|
*/
|
|
51
|
-
|
|
40
|
+
observe: PropTypes.oneOfType([
|
|
41
|
+
PropTypes.string,
|
|
42
|
+
PropTypes.node,
|
|
43
|
+
PropTypes.instanceOf(Component),
|
|
44
|
+
PropTypes.shape({ current: PropTypes.node }),
|
|
45
|
+
PropTypes.shape({ current: PropTypes.instanceOf(Component) })
|
|
46
|
+
]),
|
|
52
47
|
/**
|
|
53
|
-
* Callback when
|
|
48
|
+
* Callback when start resizing
|
|
54
49
|
* Pass following prop to re-resizable component
|
|
55
50
|
* (https://github.com/bokuweb/re-resizable)
|
|
56
51
|
*/
|
|
57
|
-
|
|
52
|
+
onResizeStart: PropTypes.func,
|
|
58
53
|
/**
|
|
59
|
-
* Callback when
|
|
54
|
+
* Callback when stop resizing
|
|
60
55
|
* Pass following prop to re-resizable component
|
|
61
56
|
* (https://github.com/bokuweb/re-resizable)
|
|
62
57
|
*/
|
|
63
|
-
|
|
58
|
+
onResizeStop: PropTypes.func,
|
|
59
|
+
/**
|
|
60
|
+
* Minimal width to consider the observed as mobile.
|
|
61
|
+
* Default is 768px.
|
|
62
|
+
*/
|
|
63
|
+
thresholdWidthForMobile: PropTypes.number
|
|
64
64
|
};
|
|
65
65
|
const defaultMobileSize = {
|
|
66
66
|
defaultSize: {
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
height: "25%",
|
|
68
|
+
width: "100%"
|
|
69
69
|
},
|
|
70
|
-
size: void 0,
|
|
71
70
|
maximalHeight: "100%",
|
|
72
|
-
minimalHeight: "25%"
|
|
71
|
+
minimalHeight: "25%",
|
|
72
|
+
size: void 0
|
|
73
73
|
};
|
|
74
74
|
const emptyFunc = () => {
|
|
75
75
|
};
|
|
76
76
|
function Overlay({
|
|
77
|
-
observe = null,
|
|
78
|
-
className = null,
|
|
79
77
|
children = null,
|
|
78
|
+
className = null,
|
|
80
79
|
isMobileResizable = true,
|
|
81
80
|
mobileSize = defaultMobileSize,
|
|
82
|
-
|
|
81
|
+
observe = null,
|
|
83
82
|
onResizeStart = emptyFunc,
|
|
83
|
+
onResizeStop = emptyFunc,
|
|
84
84
|
thresholdWidthForMobile = 768
|
|
85
85
|
}) {
|
|
86
86
|
const [isMobile, setIsMobile] = useState();
|
|
@@ -97,40 +97,40 @@ function Overlay({
|
|
|
97
97
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, observe ? /* @__PURE__ */ React.createElement(ResizeHandler, { observe, onResize }) : null, isMobile ? /* @__PURE__ */ React.createElement(
|
|
98
98
|
Resizable,
|
|
99
99
|
{
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
},
|
|
100
|
+
className: `tm-overlay-mobile${className ? ` ${className}` : ""}`,
|
|
101
|
+
defaultSize: mobileSize && resizableMobileSize.defaultSize,
|
|
103
102
|
enable: {
|
|
104
|
-
top: isMobileResizable,
|
|
105
|
-
right: false,
|
|
106
103
|
bottom: false,
|
|
107
|
-
left: false,
|
|
108
|
-
topRight: false,
|
|
109
|
-
bottomRight: false,
|
|
110
104
|
bottomLeft: false,
|
|
111
|
-
|
|
105
|
+
bottomRight: false,
|
|
106
|
+
left: false,
|
|
107
|
+
right: false,
|
|
108
|
+
top: isMobileResizable,
|
|
109
|
+
topLeft: false,
|
|
110
|
+
topRight: false
|
|
112
111
|
},
|
|
113
|
-
maxHeight: mobileSize && resizableMobileSize.maximalHeight,
|
|
114
|
-
minHeight: mobileSize && resizableMobileSize.minimalHeight,
|
|
115
112
|
handleComponent: {
|
|
116
113
|
top: /* @__PURE__ */ React.createElement("div", { className: "tm-overlay-handler" }, "\u2014")
|
|
117
114
|
},
|
|
118
|
-
onResizeStart,
|
|
119
|
-
onResizeStop,
|
|
120
115
|
handleStyles: {
|
|
121
116
|
top: {
|
|
122
|
-
|
|
117
|
+
alignItems: "center",
|
|
118
|
+
display: "flex",
|
|
123
119
|
height: "20px",
|
|
120
|
+
justifyContent: "center",
|
|
124
121
|
padding: "20px 0",
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
alignItems: "center",
|
|
128
|
-
justifyContent: "center"
|
|
122
|
+
top: "-20px",
|
|
123
|
+
width: "100%"
|
|
129
124
|
}
|
|
130
125
|
},
|
|
126
|
+
maxHeight: mobileSize && resizableMobileSize.maximalHeight,
|
|
127
|
+
minHeight: mobileSize && resizableMobileSize.minimalHeight,
|
|
128
|
+
onResizeStart,
|
|
129
|
+
onResizeStop,
|
|
131
130
|
size: resizableMobileSize.size,
|
|
132
|
-
|
|
133
|
-
|
|
131
|
+
style: {
|
|
132
|
+
position: "absolute"
|
|
133
|
+
}
|
|
134
134
|
},
|
|
135
135
|
/* @__PURE__ */ React.createElement("div", { className: "tm-overlay-mobile-content" }, children)
|
|
136
136
|
) : /* @__PURE__ */ React.createElement("div", { className: `tm-overlay${className ? ` ${className}` : ""}` }, children));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/Overlay/Overlay.js"],
|
|
4
|
-
"sourcesContent": ["import
|
|
5
|
-
"mappings": "AAAA,OAAO,
|
|
4
|
+
"sourcesContent": ["import PropTypes from \"prop-types\";\nimport { Resizable } from \"re-resizable\";\nimport React, { Component, useState } from \"react\";\n\nimport ResizeHandler from \"../ResizeHandler\";\n\nconst propTypes = {\n /**\n * Children content of the overlay.\n */\n children: PropTypes.node,\n\n /**\n * CSS class added to container.\n */\n className: PropTypes.string,\n\n /**\n * Deactivate the ability to resize the overlay on mobile.\n * /!\\ This prop is only used if isMobile (observer width < 768px).\n */\n isMobileResizable: PropTypes.bool,\n\n /**\n * Size parameters to the Resizable component on mobile.\n * Pass following prop to re-resizable component: 'size', 'defaultSize', 'minHeight' & 'maxHeight'\n * (https://github.com/bokuweb/re-resizable)\n * /!\\ This prop is only used if isMobile (observer width < 768px).\n */\n mobileSize: PropTypes.shape({\n defaultSize: PropTypes.shape({\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n }),\n maximalHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n minimalHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n size: PropTypes.shape({\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n }),\n }),\n\n /**\n * Observed element to define screen size.\n */\n observe: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.instanceOf(Component),\n PropTypes.shape({ current: PropTypes.node }),\n PropTypes.shape({ current: PropTypes.instanceOf(Component) }),\n ]),\n\n /**\n * Callback when start resizing\n * Pass following prop to re-resizable component\n * (https://github.com/bokuweb/re-resizable)\n */\n onResizeStart: PropTypes.func,\n\n /**\n * Callback when stop resizing\n * Pass following prop to re-resizable component\n * (https://github.com/bokuweb/re-resizable)\n */\n onResizeStop: PropTypes.func,\n\n /**\n * Minimal width to consider the observed as mobile.\n * Default is 768px.\n */\n thresholdWidthForMobile: PropTypes.number,\n};\n\nconst defaultMobileSize = {\n defaultSize: {\n height: \"25%\",\n width: \"100%\",\n },\n maximalHeight: \"100%\",\n minimalHeight: \"25%\",\n size: undefined,\n};\n\nconst emptyFunc = () => {};\n/**\n * The Overlay component creates a resizable, swipable overlay <div\\>\n */\nfunction Overlay({\n children = null,\n className = null,\n isMobileResizable = true,\n mobileSize = defaultMobileSize,\n observe = null,\n onResizeStart = emptyFunc,\n onResizeStop = emptyFunc,\n thresholdWidthForMobile = 768,\n}) {\n const [isMobile, setIsMobile] = useState();\n\n const onResize = (entries) => {\n for (let i = 0; i < entries.length; i += 1) {\n const { width } = entries[i].contentRect;\n setIsMobile(width <= thresholdWidthForMobile);\n }\n };\n\n let resizableMobileSize;\n if (mobileSize) {\n resizableMobileSize = { ...defaultMobileSize, ...mobileSize };\n }\n\n return (\n <>\n {observe ? <ResizeHandler observe={observe} onResize={onResize} /> : null}\n {isMobile ? (\n <Resizable\n className={`tm-overlay-mobile${className ? ` ${className}` : \"\"}`}\n defaultSize={mobileSize && resizableMobileSize.defaultSize}\n enable={{\n bottom: false,\n bottomLeft: false,\n bottomRight: false,\n left: false,\n right: false,\n top: isMobileResizable,\n topLeft: false,\n topRight: false,\n }}\n handleComponent={{\n top: <div className=\"tm-overlay-handler\">—</div>,\n }}\n handleStyles={{\n top: {\n alignItems: \"center\",\n display: \"flex\",\n height: \"20px\",\n justifyContent: \"center\",\n padding: \"20px 0\",\n top: \"-20px\",\n width: \"100%\",\n },\n }}\n maxHeight={mobileSize && resizableMobileSize.maximalHeight}\n minHeight={mobileSize && resizableMobileSize.minimalHeight}\n onResizeStart={onResizeStart}\n onResizeStop={onResizeStop}\n size={resizableMobileSize.size}\n style={{\n position: \"absolute\",\n }}\n >\n <div className=\"tm-overlay-mobile-content\">{children}</div>\n </Resizable>\n ) : (\n <div className={`tm-overlay${className ? ` ${className}` : \"\"}`}>\n {children}\n </div>\n )}\n </>\n );\n}\n\nOverlay.propTypes = propTypes;\n\nexport default Overlay;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|