@opentripplanner/vehicle-rental-overlay 1.4.3 → 2.0.0-alpha.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.
@@ -1,140 +0,0 @@
1
- import { divIcon } from "leaflet";
2
- import memoize from "lodash.memoize";
3
- import PropTypes from "prop-types";
4
- import React from "react";
5
- import ReactDOMServer from "react-dom/server";
6
- import { CircleMarker, Marker } from "react-leaflet";
7
- import { floatingBikeIcon, hubIcons } from "../bike-icons";
8
- import * as Styled from "../styled";
9
- /**
10
- * This file contains default marker types for rental vehicles,
11
- * that can be used when defining the VehicleRentalOverlay's symbol prop:
12
- * - SharedBikeCircle
13
- * - GenericMarker
14
- * - HubAndFloatingBike
15
- */
16
- // Prop types reused across components.
17
-
18
- var templatePropTypes = {
19
- /** The children of the component. */
20
- children: PropTypes.node,
21
-
22
- /** The rental vehicle or station to render. */
23
- // entity: coreUtils.types.stationType.isRequired,
24
- // eslint-disable-next-line react/forbid-prop-types
25
- entity: PropTypes.object.isRequired,
26
-
27
- /** leaflet attribute to control tabindex value for keyboaryd-only / SR users */
28
- keyboard: PropTypes.bool
29
- };
30
- var templateDefaultProps = {
31
- children: null,
32
- keyboard: false
33
- };
34
- /**
35
- * Renders a shared bike or shared bike dock as a circle
36
- * with predefined colors and size.
37
- */
38
-
39
- export var SharedBikeCircle = function SharedBikeCircle(_ref) {
40
- var dockStrokeColor = _ref.dockStrokeColor,
41
- _ref$fillColor = _ref.fillColor,
42
- fillColor = _ref$fillColor === void 0 ? "gray" : _ref$fillColor,
43
- pixels = _ref.pixels,
44
- strokeColor = _ref.strokeColor;
45
-
46
- var GeneratedMarker = function GeneratedMarker(_ref2) {
47
- var children = _ref2.children,
48
- keyboard = _ref2.keyboard,
49
- station = _ref2.entity;
50
- var newStrokeColor = strokeColor || fillColor;
51
-
52
- if (!station.isFloatingBike) {
53
- newStrokeColor = dockStrokeColor || strokeColor;
54
- }
55
-
56
- return /*#__PURE__*/React.createElement(CircleMarker, {
57
- center: [station.y, station.x],
58
- color: newStrokeColor,
59
- fillColor: fillColor,
60
- fillOpacity: 1,
61
- keyboard: keyboard,
62
- radius: pixels - (station.isFloatingBike ? 1 : 0),
63
- weight: 1
64
- }, children);
65
- };
66
-
67
- GeneratedMarker.propTypes = templatePropTypes;
68
- GeneratedMarker.defaultProps = templateDefaultProps;
69
- return GeneratedMarker;
70
- };
71
- /**
72
- * A component that renders rental bike entities
73
- * either as a bike or a bike dock (or hub, showing spaces available).
74
- */
75
-
76
- export var HubAndFloatingBike = function HubAndFloatingBike(_ref3) {
77
- var children = _ref3.children,
78
- keyboard = _ref3.keyboard,
79
- station = _ref3.entity;
80
- var icon;
81
-
82
- if (station.isFloatingBike) {
83
- icon = floatingBikeIcon;
84
- } else {
85
- var capacity = station.bikesAvailable + station.spacesAvailable;
86
- if (capacity === 0) return null;
87
- var pctFull = station.bikesAvailable / capacity;
88
- var i = Math.round(pctFull * 9);
89
- icon = hubIcons[i];
90
- }
91
-
92
- return /*#__PURE__*/React.createElement(Marker, {
93
- icon: icon,
94
- keyboard: keyboard,
95
- position: [station.y, station.x]
96
- }, children);
97
- };
98
- HubAndFloatingBike.propTypes = templatePropTypes;
99
- HubAndFloatingBike.defaultProps = templateDefaultProps;
100
- /**
101
- * Creates and caches a leaflet element icon based on color.
102
- */
103
-
104
- var getStationMarkerByColor = memoize(function (color) {
105
- return divIcon({
106
- className: "",
107
- iconSize: [11, 16],
108
- popupAnchor: [0, -6],
109
- html: ReactDOMServer.renderToStaticMarkup( /*#__PURE__*/React.createElement(Styled.StationMarker, {
110
- color: color
111
- }))
112
- });
113
- });
114
- /**
115
- * Helper function to create a leaflet Marker component to render entities
116
- * using fixed fill color.
117
- * Usage: GenericMarker({ fillColor: "#F204B5" })
118
- */
119
-
120
- export var GenericMarker = function GenericMarker(_ref4) {
121
- var _ref4$fillColor = _ref4.fillColor,
122
- fillColor = _ref4$fillColor === void 0 ? "gray" : _ref4$fillColor;
123
- var markerIcon = getStationMarkerByColor(fillColor);
124
-
125
- var GeneratedMarker = function GeneratedMarker(_ref5) {
126
- var children = _ref5.children,
127
- keyboard = _ref5.keyboard,
128
- station = _ref5.entity;
129
- return /*#__PURE__*/React.createElement(Marker, {
130
- icon: markerIcon,
131
- keyboard: keyboard,
132
- position: [station.y, station.x]
133
- }, children);
134
- };
135
-
136
- GeneratedMarker.propTypes = templatePropTypes;
137
- GeneratedMarker.defaultProps = templateDefaultProps;
138
- return GeneratedMarker;
139
- };
140
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/DefaultMarkers/index.js"],"names":["divIcon","memoize","PropTypes","React","ReactDOMServer","CircleMarker","Marker","floatingBikeIcon","hubIcons","Styled","templatePropTypes","children","node","entity","object","isRequired","keyboard","bool","templateDefaultProps","SharedBikeCircle","dockStrokeColor","fillColor","pixels","strokeColor","GeneratedMarker","station","newStrokeColor","isFloatingBike","y","x","propTypes","defaultProps","HubAndFloatingBike","icon","capacity","bikesAvailable","spacesAvailable","pctFull","i","Math","round","getStationMarkerByColor","color","className","iconSize","popupAnchor","html","renderToStaticMarkup","GenericMarker","markerIcon"],"mappings":"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","sourcesContent":["import { divIcon } from \"leaflet\";\nimport memoize from \"lodash.memoize\";\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport ReactDOMServer from \"react-dom/server\";\nimport { CircleMarker, Marker } from \"react-leaflet\";\n\nimport { floatingBikeIcon, hubIcons } from \"../bike-icons\";\nimport * as Styled from \"../styled\";\n\n/**\n * This file contains default marker types for rental vehicles,\n * that can be used when defining the VehicleRentalOverlay's symbol prop:\n * - SharedBikeCircle\n * - GenericMarker\n * - HubAndFloatingBike\n */\n\n// Prop types reused across components.\nconst templatePropTypes = {\n /** The children of the component. */\n children: PropTypes.node,\n /** The rental vehicle or station to render. */\n // entity: coreUtils.types.stationType.isRequired,\n // eslint-disable-next-line react/forbid-prop-types\n entity: PropTypes.object.isRequired,\n /** leaflet attribute to control tabindex value for keyboaryd-only / SR users */\n keyboard: PropTypes.bool\n};\nconst templateDefaultProps = {\n children: null,\n keyboard: false\n};\n\n/**\n * Renders a shared bike or shared bike dock as a circle\n * with predefined colors and size.\n */\nexport const SharedBikeCircle = ({\n dockStrokeColor,\n fillColor = \"gray\",\n pixels,\n strokeColor\n}) => {\n const GeneratedMarker = ({ children, keyboard, entity: station }) => {\n let newStrokeColor = strokeColor || fillColor;\n\n if (!station.isFloatingBike) {\n newStrokeColor = dockStrokeColor || strokeColor;\n }\n\n return (\n <CircleMarker\n center={[station.y, station.x]}\n color={newStrokeColor}\n fillColor={fillColor}\n fillOpacity={1}\n keyboard={keyboard}\n radius={pixels - (station.isFloatingBike ? 1 : 0)}\n weight={1}\n >\n {children}\n </CircleMarker>\n );\n };\n\n GeneratedMarker.propTypes = templatePropTypes;\n GeneratedMarker.defaultProps = templateDefaultProps;\n return GeneratedMarker;\n};\n\n/**\n * A component that renders rental bike entities\n * either as a bike or a bike dock (or hub, showing spaces available).\n */\nexport const HubAndFloatingBike = ({ children, keyboard, entity: station }) => {\n let icon;\n if (station.isFloatingBike) {\n icon = floatingBikeIcon;\n } else {\n const capacity = station.bikesAvailable + station.spacesAvailable;\n if (capacity === 0) return null;\n const pctFull = station.bikesAvailable / capacity;\n const i = Math.round(pctFull * 9);\n icon = hubIcons[i];\n }\n return (\n <Marker icon={icon} keyboard={keyboard} position={[station.y, station.x]}>\n {children}\n </Marker>\n );\n};\nHubAndFloatingBike.propTypes = templatePropTypes;\nHubAndFloatingBike.defaultProps = templateDefaultProps;\n\n/**\n * Creates and caches a leaflet element icon based on color.\n */\nconst getStationMarkerByColor = memoize(color =>\n divIcon({\n className: \"\",\n iconSize: [11, 16],\n popupAnchor: [0, -6],\n html: ReactDOMServer.renderToStaticMarkup(\n <Styled.StationMarker color={color} />\n )\n })\n);\n\n/**\n * Helper function to create a leaflet Marker component to render entities\n * using fixed fill color.\n * Usage: GenericMarker({ fillColor: \"#F204B5\" })\n */\nexport const GenericMarker = ({ fillColor = \"gray\" }) => {\n const markerIcon = getStationMarkerByColor(fillColor);\n\n const GeneratedMarker = ({ children, keyboard, entity: station }) => (\n <Marker\n icon={markerIcon}\n keyboard={keyboard}\n position={[station.y, station.x]}\n >\n {children}\n </Marker>\n );\n GeneratedMarker.propTypes = templatePropTypes;\n GeneratedMarker.defaultProps = templateDefaultProps;\n return GeneratedMarker;\n};\n"],"file":"index.js"}
package/esm/bike-icons.js DELETED
@@ -1,21 +0,0 @@
1
- import { divIcon } from "leaflet";
2
- import React from "react";
3
- import ReactDOMServer from "react-dom/server";
4
- import * as S from "./styled";
5
- export var floatingBikeIcon = divIcon({
6
- iconSize: [24, 24],
7
- iconAnchor: [12, 24],
8
- popupAnchor: [0, -12],
9
- html: ReactDOMServer.renderToStaticMarkup( /*#__PURE__*/React.createElement(S.OutOfHubBikeIcon, null)),
10
- className: ""
11
- });
12
- export var hubIcons = S.hubIcons.map(function (StyledIcon) {
13
- return divIcon({
14
- iconSize: [24, 24],
15
- iconAnchor: [12, 24],
16
- popupAnchor: [0, -12],
17
- html: ReactDOMServer.renderToStaticMarkup( /*#__PURE__*/React.createElement(StyledIcon, null)),
18
- className: ""
19
- });
20
- });
21
- //# sourceMappingURL=bike-icons.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/bike-icons.js"],"names":["divIcon","React","ReactDOMServer","S","floatingBikeIcon","iconSize","iconAnchor","popupAnchor","html","renderToStaticMarkup","className","hubIcons","map","StyledIcon"],"mappings":"AAAA,SAASA,OAAT,QAAwB,SAAxB;AACA,OAAOC,KAAP,MAAkB,OAAlB;AACA,OAAOC,cAAP,MAA2B,kBAA3B;AAEA,OAAO,KAAKC,CAAZ,MAAmB,UAAnB;AAEA,OAAO,IAAMC,gBAAgB,GAAGJ,OAAO,CAAC;AACtCK,EAAAA,QAAQ,EAAE,CAAC,EAAD,EAAK,EAAL,CAD4B;AAEtCC,EAAAA,UAAU,EAAE,CAAC,EAAD,EAAK,EAAL,CAF0B;AAGtCC,EAAAA,WAAW,EAAE,CAAC,CAAD,EAAI,CAAC,EAAL,CAHyB;AAItCC,EAAAA,IAAI,EAAEN,cAAc,CAACO,oBAAf,eAAoC,oBAAC,CAAD,CAAG,gBAAH,OAApC,CAJgC;AAKtCC,EAAAA,SAAS,EAAE;AAL2B,CAAD,CAAhC;AAQP,OAAO,IAAMC,QAAQ,GAAGR,CAAC,CAACQ,QAAF,CAAWC,GAAX,CAAe,UAAAC,UAAU;AAAA,SAC/Cb,OAAO,CAAC;AACNK,IAAAA,QAAQ,EAAE,CAAC,EAAD,EAAK,EAAL,CADJ;AAENC,IAAAA,UAAU,EAAE,CAAC,EAAD,EAAK,EAAL,CAFN;AAGNC,IAAAA,WAAW,EAAE,CAAC,CAAD,EAAI,CAAC,EAAL,CAHP;AAINC,IAAAA,IAAI,EAAEN,cAAc,CAACO,oBAAf,eAAoC,oBAAC,UAAD,OAApC,CAJA;AAKNC,IAAAA,SAAS,EAAE;AALL,GAAD,CADwC;AAAA,CAAzB,CAAjB","sourcesContent":["import { divIcon } from \"leaflet\";\nimport React from \"react\";\nimport ReactDOMServer from \"react-dom/server\";\n\nimport * as S from \"./styled\";\n\nexport const floatingBikeIcon = divIcon({\n iconSize: [24, 24],\n iconAnchor: [12, 24],\n popupAnchor: [0, -12],\n html: ReactDOMServer.renderToStaticMarkup(<S.OutOfHubBikeIcon />),\n className: \"\"\n});\n\nexport const hubIcons = S.hubIcons.map(StyledIcon =>\n divIcon({\n iconSize: [24, 24],\n iconAnchor: [12, 24],\n popupAnchor: [0, -12],\n html: ReactDOMServer.renderToStaticMarkup(<StyledIcon />),\n className: \"\"\n })\n);\n"],"file":"bike-icons.js"}
@@ -1,165 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.GenericMarker = exports.HubAndFloatingBike = exports.SharedBikeCircle = void 0;
9
-
10
- var _leaflet = require("leaflet");
11
-
12
- var _lodash = _interopRequireDefault(require("lodash.memoize"));
13
-
14
- var _propTypes = _interopRequireDefault(require("prop-types"));
15
-
16
- var _react = _interopRequireDefault(require("react"));
17
-
18
- var _server = _interopRequireDefault(require("react-dom/server"));
19
-
20
- var _reactLeaflet = require("react-leaflet");
21
-
22
- var _bikeIcons = require("../bike-icons");
23
-
24
- var Styled = _interopRequireWildcard(require("../styled"));
25
-
26
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
-
28
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
-
30
- /**
31
- * This file contains default marker types for rental vehicles,
32
- * that can be used when defining the VehicleRentalOverlay's symbol prop:
33
- * - SharedBikeCircle
34
- * - GenericMarker
35
- * - HubAndFloatingBike
36
- */
37
- // Prop types reused across components.
38
- const templatePropTypes = {
39
- /** The children of the component. */
40
- children: _propTypes.default.node,
41
-
42
- /** The rental vehicle or station to render. */
43
- // entity: coreUtils.types.stationType.isRequired,
44
- // eslint-disable-next-line react/forbid-prop-types
45
- entity: _propTypes.default.object.isRequired,
46
-
47
- /** leaflet attribute to control tabindex value for keyboaryd-only / SR users */
48
- keyboard: _propTypes.default.bool
49
- };
50
- const templateDefaultProps = {
51
- children: null,
52
- keyboard: false
53
- };
54
- /**
55
- * Renders a shared bike or shared bike dock as a circle
56
- * with predefined colors and size.
57
- */
58
-
59
- const SharedBikeCircle = ({
60
- dockStrokeColor,
61
- fillColor = "gray",
62
- pixels,
63
- strokeColor
64
- }) => {
65
- const GeneratedMarker = ({
66
- children,
67
- keyboard,
68
- entity: station
69
- }) => {
70
- let newStrokeColor = strokeColor || fillColor;
71
-
72
- if (!station.isFloatingBike) {
73
- newStrokeColor = dockStrokeColor || strokeColor;
74
- }
75
-
76
- return /*#__PURE__*/_react.default.createElement(_reactLeaflet.CircleMarker, {
77
- center: [station.y, station.x],
78
- color: newStrokeColor,
79
- fillColor: fillColor,
80
- fillOpacity: 1,
81
- keyboard: keyboard,
82
- radius: pixels - (station.isFloatingBike ? 1 : 0),
83
- weight: 1
84
- }, children);
85
- };
86
-
87
- GeneratedMarker.propTypes = templatePropTypes;
88
- GeneratedMarker.defaultProps = templateDefaultProps;
89
- return GeneratedMarker;
90
- };
91
- /**
92
- * A component that renders rental bike entities
93
- * either as a bike or a bike dock (or hub, showing spaces available).
94
- */
95
-
96
-
97
- exports.SharedBikeCircle = SharedBikeCircle;
98
-
99
- const HubAndFloatingBike = ({
100
- children,
101
- keyboard,
102
- entity: station
103
- }) => {
104
- let icon;
105
-
106
- if (station.isFloatingBike) {
107
- icon = _bikeIcons.floatingBikeIcon;
108
- } else {
109
- const capacity = station.bikesAvailable + station.spacesAvailable;
110
- if (capacity === 0) return null;
111
- const pctFull = station.bikesAvailable / capacity;
112
- const i = Math.round(pctFull * 9);
113
- icon = _bikeIcons.hubIcons[i];
114
- }
115
-
116
- return /*#__PURE__*/_react.default.createElement(_reactLeaflet.Marker, {
117
- icon: icon,
118
- keyboard: keyboard,
119
- position: [station.y, station.x]
120
- }, children);
121
- };
122
-
123
- exports.HubAndFloatingBike = HubAndFloatingBike;
124
- HubAndFloatingBike.propTypes = templatePropTypes;
125
- HubAndFloatingBike.defaultProps = templateDefaultProps;
126
- /**
127
- * Creates and caches a leaflet element icon based on color.
128
- */
129
-
130
- const getStationMarkerByColor = (0, _lodash.default)(color => (0, _leaflet.divIcon)({
131
- className: "",
132
- iconSize: [11, 16],
133
- popupAnchor: [0, -6],
134
- html: _server.default.renderToStaticMarkup( /*#__PURE__*/_react.default.createElement(Styled.StationMarker, {
135
- color: color
136
- }))
137
- }));
138
- /**
139
- * Helper function to create a leaflet Marker component to render entities
140
- * using fixed fill color.
141
- * Usage: GenericMarker({ fillColor: "#F204B5" })
142
- */
143
-
144
- const GenericMarker = ({
145
- fillColor = "gray"
146
- }) => {
147
- const markerIcon = getStationMarkerByColor(fillColor);
148
-
149
- const GeneratedMarker = ({
150
- children,
151
- keyboard,
152
- entity: station
153
- }) => /*#__PURE__*/_react.default.createElement(_reactLeaflet.Marker, {
154
- icon: markerIcon,
155
- keyboard: keyboard,
156
- position: [station.y, station.x]
157
- }, children);
158
-
159
- GeneratedMarker.propTypes = templatePropTypes;
160
- GeneratedMarker.defaultProps = templateDefaultProps;
161
- return GeneratedMarker;
162
- };
163
-
164
- exports.GenericMarker = GenericMarker;
165
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/DefaultMarkers/index.js"],"names":["templatePropTypes","children","PropTypes","node","entity","object","isRequired","keyboard","bool","templateDefaultProps","SharedBikeCircle","dockStrokeColor","fillColor","pixels","strokeColor","GeneratedMarker","station","newStrokeColor","isFloatingBike","y","x","propTypes","defaultProps","HubAndFloatingBike","icon","floatingBikeIcon","capacity","bikesAvailable","spacesAvailable","pctFull","i","Math","round","hubIcons","getStationMarkerByColor","color","className","iconSize","popupAnchor","html","ReactDOMServer","renderToStaticMarkup","GenericMarker","markerIcon"],"mappings":"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","sourcesContent":["import { divIcon } from \"leaflet\";\nimport memoize from \"lodash.memoize\";\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\nimport ReactDOMServer from \"react-dom/server\";\nimport { CircleMarker, Marker } from \"react-leaflet\";\n\nimport { floatingBikeIcon, hubIcons } from \"../bike-icons\";\nimport * as Styled from \"../styled\";\n\n/**\n * This file contains default marker types for rental vehicles,\n * that can be used when defining the VehicleRentalOverlay's symbol prop:\n * - SharedBikeCircle\n * - GenericMarker\n * - HubAndFloatingBike\n */\n\n// Prop types reused across components.\nconst templatePropTypes = {\n /** The children of the component. */\n children: PropTypes.node,\n /** The rental vehicle or station to render. */\n // entity: coreUtils.types.stationType.isRequired,\n // eslint-disable-next-line react/forbid-prop-types\n entity: PropTypes.object.isRequired,\n /** leaflet attribute to control tabindex value for keyboaryd-only / SR users */\n keyboard: PropTypes.bool\n};\nconst templateDefaultProps = {\n children: null,\n keyboard: false\n};\n\n/**\n * Renders a shared bike or shared bike dock as a circle\n * with predefined colors and size.\n */\nexport const SharedBikeCircle = ({\n dockStrokeColor,\n fillColor = \"gray\",\n pixels,\n strokeColor\n}) => {\n const GeneratedMarker = ({ children, keyboard, entity: station }) => {\n let newStrokeColor = strokeColor || fillColor;\n\n if (!station.isFloatingBike) {\n newStrokeColor = dockStrokeColor || strokeColor;\n }\n\n return (\n <CircleMarker\n center={[station.y, station.x]}\n color={newStrokeColor}\n fillColor={fillColor}\n fillOpacity={1}\n keyboard={keyboard}\n radius={pixels - (station.isFloatingBike ? 1 : 0)}\n weight={1}\n >\n {children}\n </CircleMarker>\n );\n };\n\n GeneratedMarker.propTypes = templatePropTypes;\n GeneratedMarker.defaultProps = templateDefaultProps;\n return GeneratedMarker;\n};\n\n/**\n * A component that renders rental bike entities\n * either as a bike or a bike dock (or hub, showing spaces available).\n */\nexport const HubAndFloatingBike = ({ children, keyboard, entity: station }) => {\n let icon;\n if (station.isFloatingBike) {\n icon = floatingBikeIcon;\n } else {\n const capacity = station.bikesAvailable + station.spacesAvailable;\n if (capacity === 0) return null;\n const pctFull = station.bikesAvailable / capacity;\n const i = Math.round(pctFull * 9);\n icon = hubIcons[i];\n }\n return (\n <Marker icon={icon} keyboard={keyboard} position={[station.y, station.x]}>\n {children}\n </Marker>\n );\n};\nHubAndFloatingBike.propTypes = templatePropTypes;\nHubAndFloatingBike.defaultProps = templateDefaultProps;\n\n/**\n * Creates and caches a leaflet element icon based on color.\n */\nconst getStationMarkerByColor = memoize(color =>\n divIcon({\n className: \"\",\n iconSize: [11, 16],\n popupAnchor: [0, -6],\n html: ReactDOMServer.renderToStaticMarkup(\n <Styled.StationMarker color={color} />\n )\n })\n);\n\n/**\n * Helper function to create a leaflet Marker component to render entities\n * using fixed fill color.\n * Usage: GenericMarker({ fillColor: \"#F204B5\" })\n */\nexport const GenericMarker = ({ fillColor = \"gray\" }) => {\n const markerIcon = getStationMarkerByColor(fillColor);\n\n const GeneratedMarker = ({ children, keyboard, entity: station }) => (\n <Marker\n icon={markerIcon}\n keyboard={keyboard}\n position={[station.y, station.x]}\n >\n {children}\n </Marker>\n );\n GeneratedMarker.propTypes = templatePropTypes;\n GeneratedMarker.defaultProps = templateDefaultProps;\n return GeneratedMarker;\n};\n"],"file":"index.js"}
package/lib/bike-icons.js DELETED
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.hubIcons = exports.floatingBikeIcon = void 0;
9
-
10
- var _leaflet = require("leaflet");
11
-
12
- var _react = _interopRequireDefault(require("react"));
13
-
14
- var _server = _interopRequireDefault(require("react-dom/server"));
15
-
16
- var S = _interopRequireWildcard(require("./styled"));
17
-
18
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
-
20
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
-
22
- const floatingBikeIcon = (0, _leaflet.divIcon)({
23
- iconSize: [24, 24],
24
- iconAnchor: [12, 24],
25
- popupAnchor: [0, -12],
26
- html: _server.default.renderToStaticMarkup( /*#__PURE__*/_react.default.createElement(S.OutOfHubBikeIcon, null)),
27
- className: ""
28
- });
29
- exports.floatingBikeIcon = floatingBikeIcon;
30
- const hubIcons = S.hubIcons.map(StyledIcon => (0, _leaflet.divIcon)({
31
- iconSize: [24, 24],
32
- iconAnchor: [12, 24],
33
- popupAnchor: [0, -12],
34
- html: _server.default.renderToStaticMarkup( /*#__PURE__*/_react.default.createElement(StyledIcon, null)),
35
- className: ""
36
- }));
37
- exports.hubIcons = hubIcons;
38
- //# sourceMappingURL=bike-icons.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/bike-icons.js"],"names":["floatingBikeIcon","iconSize","iconAnchor","popupAnchor","html","ReactDOMServer","renderToStaticMarkup","className","hubIcons","S","map","StyledIcon"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;AAEO,MAAMA,gBAAgB,GAAG,sBAAQ;AACtCC,EAAAA,QAAQ,EAAE,CAAC,EAAD,EAAK,EAAL,CAD4B;AAEtCC,EAAAA,UAAU,EAAE,CAAC,EAAD,EAAK,EAAL,CAF0B;AAGtCC,EAAAA,WAAW,EAAE,CAAC,CAAD,EAAI,CAAC,EAAL,CAHyB;AAItCC,EAAAA,IAAI,EAAEC,gBAAeC,oBAAf,eAAoC,6BAAC,CAAD,CAAG,gBAAH,OAApC,CAJgC;AAKtCC,EAAAA,SAAS,EAAE;AAL2B,CAAR,CAAzB;;AAQA,MAAMC,QAAQ,GAAGC,CAAC,CAACD,QAAF,CAAWE,GAAX,CAAeC,UAAU,IAC/C,sBAAQ;AACNV,EAAAA,QAAQ,EAAE,CAAC,EAAD,EAAK,EAAL,CADJ;AAENC,EAAAA,UAAU,EAAE,CAAC,EAAD,EAAK,EAAL,CAFN;AAGNC,EAAAA,WAAW,EAAE,CAAC,CAAD,EAAI,CAAC,EAAL,CAHP;AAINC,EAAAA,IAAI,EAAEC,gBAAeC,oBAAf,eAAoC,6BAAC,UAAD,OAApC,CAJA;AAKNC,EAAAA,SAAS,EAAE;AALL,CAAR,CADsB,CAAjB","sourcesContent":["import { divIcon } from \"leaflet\";\nimport React from \"react\";\nimport ReactDOMServer from \"react-dom/server\";\n\nimport * as S from \"./styled\";\n\nexport const floatingBikeIcon = divIcon({\n iconSize: [24, 24],\n iconAnchor: [12, 24],\n popupAnchor: [0, -12],\n html: ReactDOMServer.renderToStaticMarkup(<S.OutOfHubBikeIcon />),\n className: \"\"\n});\n\nexport const hubIcons = S.hubIcons.map(StyledIcon =>\n divIcon({\n iconSize: [24, 24],\n iconAnchor: [12, 24],\n popupAnchor: [0, -12],\n html: ReactDOMServer.renderToStaticMarkup(<StyledIcon />),\n className: \"\"\n })\n);\n"],"file":"bike-icons.js"}
@@ -1,130 +0,0 @@
1
- import { divIcon } from "leaflet";
2
- import memoize from "lodash.memoize";
3
- import PropTypes from "prop-types";
4
- import React from "react";
5
- import ReactDOMServer from "react-dom/server";
6
- import { CircleMarker, Marker } from "react-leaflet";
7
-
8
- import { floatingBikeIcon, hubIcons } from "../bike-icons";
9
- import * as Styled from "../styled";
10
-
11
- /**
12
- * This file contains default marker types for rental vehicles,
13
- * that can be used when defining the VehicleRentalOverlay's symbol prop:
14
- * - SharedBikeCircle
15
- * - GenericMarker
16
- * - HubAndFloatingBike
17
- */
18
-
19
- // Prop types reused across components.
20
- const templatePropTypes = {
21
- /** The children of the component. */
22
- children: PropTypes.node,
23
- /** The rental vehicle or station to render. */
24
- // entity: coreUtils.types.stationType.isRequired,
25
- // eslint-disable-next-line react/forbid-prop-types
26
- entity: PropTypes.object.isRequired,
27
- /** leaflet attribute to control tabindex value for keyboaryd-only / SR users */
28
- keyboard: PropTypes.bool
29
- };
30
- const templateDefaultProps = {
31
- children: null,
32
- keyboard: false
33
- };
34
-
35
- /**
36
- * Renders a shared bike or shared bike dock as a circle
37
- * with predefined colors and size.
38
- */
39
- export const SharedBikeCircle = ({
40
- dockStrokeColor,
41
- fillColor = "gray",
42
- pixels,
43
- strokeColor
44
- }) => {
45
- const GeneratedMarker = ({ children, keyboard, entity: station }) => {
46
- let newStrokeColor = strokeColor || fillColor;
47
-
48
- if (!station.isFloatingBike) {
49
- newStrokeColor = dockStrokeColor || strokeColor;
50
- }
51
-
52
- return (
53
- <CircleMarker
54
- center={[station.y, station.x]}
55
- color={newStrokeColor}
56
- fillColor={fillColor}
57
- fillOpacity={1}
58
- keyboard={keyboard}
59
- radius={pixels - (station.isFloatingBike ? 1 : 0)}
60
- weight={1}
61
- >
62
- {children}
63
- </CircleMarker>
64
- );
65
- };
66
-
67
- GeneratedMarker.propTypes = templatePropTypes;
68
- GeneratedMarker.defaultProps = templateDefaultProps;
69
- return GeneratedMarker;
70
- };
71
-
72
- /**
73
- * A component that renders rental bike entities
74
- * either as a bike or a bike dock (or hub, showing spaces available).
75
- */
76
- export const HubAndFloatingBike = ({ children, keyboard, entity: station }) => {
77
- let icon;
78
- if (station.isFloatingBike) {
79
- icon = floatingBikeIcon;
80
- } else {
81
- const capacity = station.bikesAvailable + station.spacesAvailable;
82
- if (capacity === 0) return null;
83
- const pctFull = station.bikesAvailable / capacity;
84
- const i = Math.round(pctFull * 9);
85
- icon = hubIcons[i];
86
- }
87
- return (
88
- <Marker icon={icon} keyboard={keyboard} position={[station.y, station.x]}>
89
- {children}
90
- </Marker>
91
- );
92
- };
93
- HubAndFloatingBike.propTypes = templatePropTypes;
94
- HubAndFloatingBike.defaultProps = templateDefaultProps;
95
-
96
- /**
97
- * Creates and caches a leaflet element icon based on color.
98
- */
99
- const getStationMarkerByColor = memoize(color =>
100
- divIcon({
101
- className: "",
102
- iconSize: [11, 16],
103
- popupAnchor: [0, -6],
104
- html: ReactDOMServer.renderToStaticMarkup(
105
- <Styled.StationMarker color={color} />
106
- )
107
- })
108
- );
109
-
110
- /**
111
- * Helper function to create a leaflet Marker component to render entities
112
- * using fixed fill color.
113
- * Usage: GenericMarker({ fillColor: "#F204B5" })
114
- */
115
- export const GenericMarker = ({ fillColor = "gray" }) => {
116
- const markerIcon = getStationMarkerByColor(fillColor);
117
-
118
- const GeneratedMarker = ({ children, keyboard, entity: station }) => (
119
- <Marker
120
- icon={markerIcon}
121
- keyboard={keyboard}
122
- position={[station.y, station.x]}
123
- >
124
- {children}
125
- </Marker>
126
- );
127
- GeneratedMarker.propTypes = templatePropTypes;
128
- GeneratedMarker.defaultProps = templateDefaultProps;
129
- return GeneratedMarker;
130
- };