@opentripplanner/map-popup 5.2.0-alpha.2 → 5.2.0-alpha.3

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/README.md ADDED
@@ -0,0 +1,5 @@
1
+ # map-popup
2
+
3
+ Package for OTP-UI.
4
+
5
+ <!-- Updated for semantic release trigger -->
package/lib/index.js CHANGED
@@ -98,14 +98,15 @@ function MapPopup({
98
98
  setLocation,
99
99
  setViewedStop
100
100
  }) {
101
+ var _entity$networks;
101
102
  const intl = (0, _reactIntl.useIntl)();
102
103
  if (!entity) return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
103
104
  const getNameFunc = getEntityName || (0, _util.makeDefaultGetEntityName)(intl, defaultMessages);
104
105
  const name = getNameFunc(entity, configCompanies);
105
- const stationNetwork = "networks" in entity && (_coreUtils.default.itinerary.getCompaniesLabelFromNetworks(entity?.networks || [], configCompanies) || entity?.networks?.[0]);
106
+ const stationNetwork = "networks" in entity && (_coreUtils.default.itinerary.getCompaniesLabelFromNetworks((entity === null || entity === void 0 ? void 0 : entity.networks) || [], configCompanies) || (entity === null || entity === void 0 || (_entity$networks = entity.networks) === null || _entity$networks === void 0 ? void 0 : _entity$networks[0]));
106
107
  const bikesAvailablePresent = entityIsStation(entity);
107
- const entityIsStationHub = bikesAvailablePresent && entity?.bikesAvailable !== undefined && !entity?.isFloatingBike;
108
- const stopId = !bikesAvailablePresent && entity?.code || entity.id.split(":")[1] || entity.id;
108
+ const entityIsStationHub = bikesAvailablePresent && (entity === null || entity === void 0 ? void 0 : entity.bikesAvailable) !== undefined && !(entity !== null && entity !== void 0 && entity.isFloatingBike);
109
+ const stopId = !bikesAvailablePresent && (entity === null || entity === void 0 ? void 0 : entity.code) || entity.id.split(":")[1] || entity.id;
109
110
 
110
111
  // Double quotes make the query invalid, so remove them from the id just in case
111
112
  const id = `focus-${encodeURIComponent(entity.id).replace(/%/g, "")}-popup`;
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_fromToLocationPicker","_interopRequireDefault","_coreUtils","_buildingBlocks","_flat","_reactIntl","_baseMap","_styled","_enUS","_util","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","defaultMessages","exports","flatten","defaultEnglishMessages","generateLocation","entity","name","lon","entityLon","lat","entityLat","x","y","StationHubDetails","station","createElement","Styled","PopupRow","FormattedMessage","defaultMessage","description","id","values","value","bikesAvailable","spacesAvailable","StopDetails","setViewedStop","stopId","ViewStopButton","onClick","entityIsStation","MapPopup","closePopup","configCompanies","getEntityName","getEntityPrefix","setLocation","intl","useIntl","Fragment","getNameFunc","makeDefaultGetEntityName","stationNetwork","coreUtils","itinerary","getCompaniesLabelFromNetworks","networks","bikesAvailablePresent","entityIsStationHub","undefined","isFloatingBike","code","split","encodeURIComponent","replace","MapOverlayPopup","FocusTrapWrapper","PopupTitle","useCallback","label","location","_default"],"sources":["../src/index.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport FromToLocationPicker from \"@opentripplanner/from-to-location-picker\";\nimport coreUtils from \"@opentripplanner/core-utils\";\n\n// eslint-disable-next-line prettier/prettier\nimport type { Company, ConfiguredCompany, Location, Station, Stop, StopEventHandler } from \"@opentripplanner/types\";\n\nimport { FocusTrapWrapper } from \"@opentripplanner/building-blocks\";\nimport { flatten } from \"flat\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { Styled } from \"@opentripplanner/base-map\";\n\nimport { ViewStopButton } from \"./styled\";\n\n// Load the default messages.\nimport defaultEnglishMessages from \"../i18n/en-US.yml\";\nimport { makeDefaultGetEntityName } from \"./util\";\n\n// HACK: We should flatten the messages loaded above because\n// the YAML loaders behave differently between webpack and our version of jest:\n// - the yaml loader for webpack returns a nested object,\n// - the yaml loader for jest returns messages with flattened ids.\nexport const defaultMessages: { [key: string]: string } = flatten(defaultEnglishMessages);\n\nconst generateLocation = (entity: Entity, name: string) => {\n // @ts-expect-error some of these values may be null, but that's ok\n const { lon: entityLon, lat: entityLat, x, y } = entity\n\n const lat = entityLat || y\n const lon = entityLon || x\n if (!lat || !lon) return null\n\n return { lat, lon, name };\n}\n\nconst StationHubDetails = ({ station }: { station: Station }) => {\n return (\n <Styled.PopupRow>\n <div>\n <FormattedMessage\n defaultMessage={\n defaultMessages[\"otpUi.MapPopup.availableBikes\"]\n }\n description=\"Label text for the number of bikes available\"\n id=\"otpUi.MapPopup.availableBikes\"\n values={{ value: station.bikesAvailable }}\n />\n </div>\n <div>\n <FormattedMessage\n defaultMessage={\n defaultMessages[\"otpUi.MapPopup.availableDocks\"]\n }\n description=\"Label text for the number of docks available\"\n id=\"otpUi.MapPopup.availableDocks\"\n values={{ value: station.spacesAvailable }}\n />\n </div>\n </Styled.PopupRow>\n )\n}\n\nconst StopDetails = ({ id, setViewedStop }: { id: string, setViewedStop: () => void; }) => {\n return (\n <Styled.PopupRow>\n <strong>\n <FormattedMessage\n defaultMessage={defaultMessages[\"otpUi.MapPopup.stopId\"]}\n description=\"Displays the stop id\"\n id=\"otpUi.MapPopup.stopId\"\n values={{\n stopId: id\n }}\n />\n </strong>\n <ViewStopButton onClick={setViewedStop}>\n <FormattedMessage\n defaultMessage={defaultMessages[\"otpUi.MapPopup.stopViewer\"]}\n description=\"Text for link that opens the stop viewer\"\n id=\"otpUi.MapPopup.stopViewer\"\n />\n </ViewStopButton>\n </Styled.PopupRow>\n )\n}\n\ntype Entity = Stop | Station\ntype Props = {\n closePopup?: (arg?: any) => void\n configCompanies?: ConfiguredCompany[];\n entity: Entity\n getEntityName?: (entity: Entity, configCompanies: Company[],) => string;\n getEntityPrefix?: (entity: Entity) => JSX.Element\n setLocation?: ({ location, locationType }: { location: Location, locationType: string }) => void;\n setViewedStop?: StopEventHandler;\n};\n\nfunction entityIsStation(entity: Entity): entity is Station {\n return \"bikesAvailable\" in entity\n}\n\n/**\n * Renders a map popup for a stop, scooter, or shared bike\n */\nexport function MapPopup({ closePopup = () => {}, configCompanies, entity, getEntityName, getEntityPrefix, setLocation, setViewedStop }: Props): JSX.Element {\n\n const intl = useIntl()\n if (!entity) return <></>\n\n const getNameFunc = getEntityName || makeDefaultGetEntityName(intl, defaultMessages);\n const name = getNameFunc(entity, configCompanies);\n\n const stationNetwork = \"networks\" in entity && (coreUtils.itinerary.getCompaniesLabelFromNetworks(entity?.networks || [], configCompanies) || entity?.networks?.[0]);\n\n const bikesAvailablePresent = entityIsStation(entity)\n const entityIsStationHub = bikesAvailablePresent && entity?.bikesAvailable !== undefined && !entity?.isFloatingBike;\n const stopId = !bikesAvailablePresent && entity?.code || entity.id.split(\":\")[1] || entity.id\n\n // Double quotes make the query invalid, so remove them from the id just in case\n const id = `focus-${encodeURIComponent(entity.id).replace(/%/g, \"\")}-popup`\n\n return (\n <Styled.MapOverlayPopup>\n <FocusTrapWrapper closePopup={closePopup} id={id}>\n <Styled.PopupTitle>\n {getEntityPrefix && getEntityPrefix(entity)}\n <FormattedMessage\n defaultMessage={defaultMessages[\"otpUi.MapPopup.popupTitle\"]}\n description=\"Text for title of the popup, contains an optional company name\"\n id=\"otpUi.MapPopup.popupTitle\"\n values={{ name, stationNetwork }}\n />\n </Styled.PopupTitle>\n {/* render dock info if it is available */}\n {entityIsStationHub && <StationHubDetails station={entity} />}\n\n {/* render stop viewer link if available */}\n {setViewedStop && !bikesAvailablePresent && (\n <StopDetails\n id={stopId}\n setViewedStop={useCallback(() => setViewedStop(entity), [entity])}\n />\n )}\n\n {/* The \"Set as [from/to]\" ButtonGroup */}\n {setLocation && (\n <Styled.PopupRow>\n <FromToLocationPicker\n label\n location={generateLocation(entity, name)}\n setLocation={setLocation}\n />\n </Styled.PopupRow>\n )}\n </FocusTrapWrapper>\n \n </Styled.MapOverlayPopup>\n );\n}\n\nexport default MapPopup;"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_fromToLocationPicker","_interopRequireDefault","_coreUtils","_buildingBlocks","_flat","_reactIntl","_baseMap","_styled","_enUS","_util","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","defaultMessages","exports","flatten","defaultEnglishMessages","generateLocation","entity","name","lon","entityLon","lat","entityLat","x","y","StationHubDetails","station","createElement","Styled","PopupRow","FormattedMessage","defaultMessage","description","id","values","value","bikesAvailable","spacesAvailable","StopDetails","setViewedStop","stopId","ViewStopButton","onClick","entityIsStation","MapPopup","closePopup","configCompanies","getEntityName","getEntityPrefix","setLocation","_entity$networks","intl","useIntl","Fragment","getNameFunc","makeDefaultGetEntityName","stationNetwork","coreUtils","itinerary","getCompaniesLabelFromNetworks","networks","bikesAvailablePresent","entityIsStationHub","undefined","isFloatingBike","code","split","encodeURIComponent","replace","MapOverlayPopup","FocusTrapWrapper","PopupTitle","useCallback","label","location","_default"],"sources":["../src/index.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport FromToLocationPicker from \"@opentripplanner/from-to-location-picker\";\nimport coreUtils from \"@opentripplanner/core-utils\";\n\n// eslint-disable-next-line prettier/prettier\nimport type { Company, ConfiguredCompany, Location, Station, Stop, StopEventHandler } from \"@opentripplanner/types\";\n\nimport { FocusTrapWrapper } from \"@opentripplanner/building-blocks\";\nimport { flatten } from \"flat\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { Styled } from \"@opentripplanner/base-map\";\n\nimport { ViewStopButton } from \"./styled\";\n\n// Load the default messages.\nimport defaultEnglishMessages from \"../i18n/en-US.yml\";\nimport { makeDefaultGetEntityName } from \"./util\";\n\n// HACK: We should flatten the messages loaded above because\n// the YAML loaders behave differently between webpack and our version of jest:\n// - the yaml loader for webpack returns a nested object,\n// - the yaml loader for jest returns messages with flattened ids.\nexport const defaultMessages: { [key: string]: string } = flatten(defaultEnglishMessages);\n\nconst generateLocation = (entity: Entity, name: string) => {\n // @ts-expect-error some of these values may be null, but that's ok\n const { lon: entityLon, lat: entityLat, x, y } = entity\n\n const lat = entityLat || y\n const lon = entityLon || x\n if (!lat || !lon) return null\n\n return { lat, lon, name };\n}\n\nconst StationHubDetails = ({ station }: { station: Station }) => {\n return (\n <Styled.PopupRow>\n <div>\n <FormattedMessage\n defaultMessage={\n defaultMessages[\"otpUi.MapPopup.availableBikes\"]\n }\n description=\"Label text for the number of bikes available\"\n id=\"otpUi.MapPopup.availableBikes\"\n values={{ value: station.bikesAvailable }}\n />\n </div>\n <div>\n <FormattedMessage\n defaultMessage={\n defaultMessages[\"otpUi.MapPopup.availableDocks\"]\n }\n description=\"Label text for the number of docks available\"\n id=\"otpUi.MapPopup.availableDocks\"\n values={{ value: station.spacesAvailable }}\n />\n </div>\n </Styled.PopupRow>\n )\n}\n\nconst StopDetails = ({ id, setViewedStop }: { id: string, setViewedStop: () => void; }) => {\n return (\n <Styled.PopupRow>\n <strong>\n <FormattedMessage\n defaultMessage={defaultMessages[\"otpUi.MapPopup.stopId\"]}\n description=\"Displays the stop id\"\n id=\"otpUi.MapPopup.stopId\"\n values={{\n stopId: id\n }}\n />\n </strong>\n <ViewStopButton onClick={setViewedStop}>\n <FormattedMessage\n defaultMessage={defaultMessages[\"otpUi.MapPopup.stopViewer\"]}\n description=\"Text for link that opens the stop viewer\"\n id=\"otpUi.MapPopup.stopViewer\"\n />\n </ViewStopButton>\n </Styled.PopupRow>\n )\n}\n\ntype Entity = Stop | Station\ntype Props = {\n closePopup?: (arg?: any) => void\n configCompanies?: ConfiguredCompany[];\n entity: Entity\n getEntityName?: (entity: Entity, configCompanies: Company[],) => string;\n getEntityPrefix?: (entity: Entity) => JSX.Element\n setLocation?: ({ location, locationType }: { location: Location, locationType: string }) => void;\n setViewedStop?: StopEventHandler;\n};\n\nfunction entityIsStation(entity: Entity): entity is Station {\n return \"bikesAvailable\" in entity\n}\n\n/**\n * Renders a map popup for a stop, scooter, or shared bike\n */\nexport function MapPopup({ closePopup = () => {}, configCompanies, entity, getEntityName, getEntityPrefix, setLocation, setViewedStop }: Props): JSX.Element {\n\n const intl = useIntl()\n if (!entity) return <></>\n\n const getNameFunc = getEntityName || makeDefaultGetEntityName(intl, defaultMessages);\n const name = getNameFunc(entity, configCompanies);\n\n const stationNetwork = \"networks\" in entity && (coreUtils.itinerary.getCompaniesLabelFromNetworks(entity?.networks || [], configCompanies) || entity?.networks?.[0]);\n\n const bikesAvailablePresent = entityIsStation(entity)\n const entityIsStationHub = bikesAvailablePresent && entity?.bikesAvailable !== undefined && !entity?.isFloatingBike;\n const stopId = !bikesAvailablePresent && entity?.code || entity.id.split(\":\")[1] || entity.id\n\n // Double quotes make the query invalid, so remove them from the id just in case\n const id = `focus-${encodeURIComponent(entity.id).replace(/%/g, \"\")}-popup`\n\n return (\n <Styled.MapOverlayPopup>\n <FocusTrapWrapper closePopup={closePopup} id={id}>\n <Styled.PopupTitle>\n {getEntityPrefix && getEntityPrefix(entity)}\n <FormattedMessage\n defaultMessage={defaultMessages[\"otpUi.MapPopup.popupTitle\"]}\n description=\"Text for title of the popup, contains an optional company name\"\n id=\"otpUi.MapPopup.popupTitle\"\n values={{ name, stationNetwork }}\n />\n </Styled.PopupTitle>\n {/* render dock info if it is available */}\n {entityIsStationHub && <StationHubDetails station={entity} />}\n\n {/* render stop viewer link if available */}\n {setViewedStop && !bikesAvailablePresent && (\n <StopDetails\n id={stopId}\n setViewedStop={useCallback(() => setViewedStop(entity), [entity])}\n />\n )}\n\n {/* The \"Set as [from/to]\" ButtonGroup */}\n {setLocation && (\n <Styled.PopupRow>\n <FromToLocationPicker\n label\n location={generateLocation(entity, name)}\n setLocation={setLocation}\n />\n </Styled.PopupRow>\n )}\n </FocusTrapWrapper>\n \n </Styled.MapOverlayPopup>\n );\n}\n\nexport default MapPopup;"],"mappings":"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","ignoreList":[]}
package/lib/util.js CHANGED
@@ -9,9 +9,10 @@ var _coreUtils = _interopRequireDefault(require("@opentripplanner/core-utils"));
9
9
  // eslint-disable-next-line import/prefer-default-export
10
10
  function makeDefaultGetEntityName(intl, defaultEnglishMessages) {
11
11
  return function defaultGetEntityName(entity, configCompanies) {
12
+ var _entity$networks;
12
13
  // TODO: Stop generating this / passing it to the car string? Is it needed?
13
14
  // In English we say "Car: " instead
14
- const stationNetworks = "networks" in entity && (_coreUtils.default.itinerary.getCompaniesLabelFromNetworks(entity?.networks || [], configCompanies) || entity?.networks?.[0]);
15
+ const stationNetworks = "networks" in entity && (_coreUtils.default.itinerary.getCompaniesLabelFromNetworks((entity === null || entity === void 0 ? void 0 : entity.networks) || [], configCompanies) || (entity === null || entity === void 0 || (_entity$networks = entity.networks) === null || _entity$networks === void 0 ? void 0 : _entity$networks[0]));
15
16
  let stationName = entity.name || entity.id;
16
17
  // If the station name or id is a giant UUID (with more than 3 "-" characters)
17
18
  // best not to show that at all. The company name will still be shown.
package/lib/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","names":["_coreUtils","_interopRequireDefault","require","makeDefaultGetEntityName","intl","defaultEnglishMessages","defaultGetEntityName","entity","configCompanies","stationNetworks","coreUtils","itinerary","getCompaniesLabelFromNetworks","networks","stationName","name","id","match","length","isFloatingBike","formatMessage","defaultMessage","description","isFloatingCar","company","isFloatingVehicle"],"sources":["../src/util.ts"],"sourcesContent":["import { Company, Station, Stop } from \"@opentripplanner/types\";\nimport { IntlShape } from \"react-intl\";\nimport coreUtils from \"@opentripplanner/core-utils\";\n\n// eslint-disable-next-line import/prefer-default-export\nexport function makeDefaultGetEntityName(\n intl: IntlShape,\n defaultEnglishMessages: { [key: string]: string }\n) {\n return function defaultGetEntityName(\n entity: Station | Stop,\n configCompanies: Company[]\n ): string | null {\n // TODO: Stop generating this / passing it to the car string? Is it needed?\n // In English we say \"Car: \" instead\n const stationNetworks =\n \"networks\" in entity &&\n (coreUtils.itinerary.getCompaniesLabelFromNetworks(\n entity?.networks || [],\n configCompanies\n ) ||\n entity?.networks?.[0]);\n let stationName: string | null = entity.name || entity.id;\n // If the station name or id is a giant UUID (with more than 3 \"-\" characters)\n // best not to show that at all. The company name will still be shown.\n // Also ignore \"Default Vehicle Type\"\n if (\n (stationName.match(/-/g) || []).length > 3 ||\n stationName === \"Default vehicle type\"\n ) {\n stationName = null;\n }\n\n if (\"isFloatingBike\" in entity && entity.isFloatingBike) {\n stationName = intl.formatMessage(\n {\n defaultMessage: defaultEnglishMessages[\"otpUi.MapPopup.floatingBike\"],\n description: \"Popup title for a free-floating bike\",\n id: \"otpUi.MapPopup.floatingBike\"\n },\n { name: stationName }\n );\n } else if (\"isFloatingCar\" in entity && entity.isFloatingCar) {\n stationName = intl.formatMessage(\n {\n defaultMessage: defaultEnglishMessages[\"otpUi.MapPopup.floatingCar\"],\n description: \"Popup title for a free-floating car\",\n id: \"otpUi.MapPopup.floatingCar\"\n },\n {\n company: stationNetworks,\n name: stationName\n }\n );\n } else if (\"isFloatingVehicle\" in entity && entity.isFloatingVehicle) {\n // assumes that all floating vehicles are E-scooters\n stationName = intl.formatMessage(\n {\n defaultMessage:\n defaultEnglishMessages[\"otpUi.MapPopup.floatingEScooter\"],\n description: \"Popup title for a free-floating e-scooter\",\n id: \"otpUi.MapPopup.floatingEScooter\"\n },\n { name: stationName }\n );\n }\n return stationName;\n };\n}\n"],"mappings":";;;;;;;AAEA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA;AACO,SAASC,wBAAwBA,CACtCC,IAAe,EACfC,sBAAiD,EACjD;EACA,OAAO,SAASC,oBAAoBA,CAClCC,MAAsB,EACtBC,eAA0B,EACX;IACf;IACA;IACA,MAAMC,eAAe,GACnB,UAAU,IAAIF,MAAM,KACnBG,kBAAS,CAACC,SAAS,CAACC,6BAA6B,CAChDL,MAAM,EAAEM,QAAQ,IAAI,EAAE,EACtBL,eACF,CAAC,IACCD,MAAM,EAAEM,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC1B,IAAIC,WAA0B,GAAGP,MAAM,CAACQ,IAAI,IAAIR,MAAM,CAACS,EAAE;IACzD;IACA;IACA;IACA,IACE,CAACF,WAAW,CAACG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAEC,MAAM,GAAG,CAAC,IAC1CJ,WAAW,KAAK,sBAAsB,EACtC;MACAA,WAAW,GAAG,IAAI;IACpB;IAEA,IAAI,gBAAgB,IAAIP,MAAM,IAAIA,MAAM,CAACY,cAAc,EAAE;MACvDL,WAAW,GAAGV,IAAI,CAACgB,aAAa,CAC9B;QACEC,cAAc,EAAEhB,sBAAsB,CAAC,6BAA6B,CAAC;QACrEiB,WAAW,EAAE,sCAAsC;QACnDN,EAAE,EAAE;MACN,CAAC,EACD;QAAED,IAAI,EAAED;MAAY,CACtB,CAAC;IACH,CAAC,MAAM,IAAI,eAAe,IAAIP,MAAM,IAAIA,MAAM,CAACgB,aAAa,EAAE;MAC5DT,WAAW,GAAGV,IAAI,CAACgB,aAAa,CAC9B;QACEC,cAAc,EAAEhB,sBAAsB,CAAC,4BAA4B,CAAC;QACpEiB,WAAW,EAAE,qCAAqC;QAClDN,EAAE,EAAE;MACN,CAAC,EACD;QACEQ,OAAO,EAAEf,eAAe;QACxBM,IAAI,EAAED;MACR,CACF,CAAC;IACH,CAAC,MAAM,IAAI,mBAAmB,IAAIP,MAAM,IAAIA,MAAM,CAACkB,iBAAiB,EAAE;MACpE;MACAX,WAAW,GAAGV,IAAI,CAACgB,aAAa,CAC9B;QACEC,cAAc,EACZhB,sBAAsB,CAAC,iCAAiC,CAAC;QAC3DiB,WAAW,EAAE,2CAA2C;QACxDN,EAAE,EAAE;MACN,CAAC,EACD;QAAED,IAAI,EAAED;MAAY,CACtB,CAAC;IACH;IACA,OAAOA,WAAW;EACpB,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"util.js","names":["_coreUtils","_interopRequireDefault","require","makeDefaultGetEntityName","intl","defaultEnglishMessages","defaultGetEntityName","entity","configCompanies","_entity$networks","stationNetworks","coreUtils","itinerary","getCompaniesLabelFromNetworks","networks","stationName","name","id","match","length","isFloatingBike","formatMessage","defaultMessage","description","isFloatingCar","company","isFloatingVehicle"],"sources":["../src/util.ts"],"sourcesContent":["import { Company, Station, Stop } from \"@opentripplanner/types\";\nimport { IntlShape } from \"react-intl\";\nimport coreUtils from \"@opentripplanner/core-utils\";\n\n// eslint-disable-next-line import/prefer-default-export\nexport function makeDefaultGetEntityName(\n intl: IntlShape,\n defaultEnglishMessages: { [key: string]: string }\n) {\n return function defaultGetEntityName(\n entity: Station | Stop,\n configCompanies: Company[]\n ): string | null {\n // TODO: Stop generating this / passing it to the car string? Is it needed?\n // In English we say \"Car: \" instead\n const stationNetworks =\n \"networks\" in entity &&\n (coreUtils.itinerary.getCompaniesLabelFromNetworks(\n entity?.networks || [],\n configCompanies\n ) ||\n entity?.networks?.[0]);\n let stationName: string | null = entity.name || entity.id;\n // If the station name or id is a giant UUID (with more than 3 \"-\" characters)\n // best not to show that at all. The company name will still be shown.\n // Also ignore \"Default Vehicle Type\"\n if (\n (stationName.match(/-/g) || []).length > 3 ||\n stationName === \"Default vehicle type\"\n ) {\n stationName = null;\n }\n\n if (\"isFloatingBike\" in entity && entity.isFloatingBike) {\n stationName = intl.formatMessage(\n {\n defaultMessage: defaultEnglishMessages[\"otpUi.MapPopup.floatingBike\"],\n description: \"Popup title for a free-floating bike\",\n id: \"otpUi.MapPopup.floatingBike\"\n },\n { name: stationName }\n );\n } else if (\"isFloatingCar\" in entity && entity.isFloatingCar) {\n stationName = intl.formatMessage(\n {\n defaultMessage: defaultEnglishMessages[\"otpUi.MapPopup.floatingCar\"],\n description: \"Popup title for a free-floating car\",\n id: \"otpUi.MapPopup.floatingCar\"\n },\n {\n company: stationNetworks,\n name: stationName\n }\n );\n } else if (\"isFloatingVehicle\" in entity && entity.isFloatingVehicle) {\n // assumes that all floating vehicles are E-scooters\n stationName = intl.formatMessage(\n {\n defaultMessage:\n defaultEnglishMessages[\"otpUi.MapPopup.floatingEScooter\"],\n description: \"Popup title for a free-floating e-scooter\",\n id: \"otpUi.MapPopup.floatingEScooter\"\n },\n { name: stationName }\n );\n }\n return stationName;\n };\n}\n"],"mappings":";;;;;;;AAEA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA;AACO,SAASC,wBAAwBA,CACtCC,IAAe,EACfC,sBAAiD,EACjD;EACA,OAAO,SAASC,oBAAoBA,CAClCC,MAAsB,EACtBC,eAA0B,EACX;IAAA,IAAAC,gBAAA;IACf;IACA;IACA,MAAMC,eAAe,GACnB,UAAU,IAAIH,MAAM,KACnBI,kBAAS,CAACC,SAAS,CAACC,6BAA6B,CAChD,CAAAN,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEO,QAAQ,KAAI,EAAE,EACtBN,eACF,CAAC,KACCD,MAAM,aAANA,MAAM,gBAAAE,gBAAA,GAANF,MAAM,CAAEO,QAAQ,cAAAL,gBAAA,uBAAhBA,gBAAA,CAAmB,CAAC,CAAC,EAAC;IAC1B,IAAIM,WAA0B,GAAGR,MAAM,CAACS,IAAI,IAAIT,MAAM,CAACU,EAAE;IACzD;IACA;IACA;IACA,IACE,CAACF,WAAW,CAACG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAEC,MAAM,GAAG,CAAC,IAC1CJ,WAAW,KAAK,sBAAsB,EACtC;MACAA,WAAW,GAAG,IAAI;IACpB;IAEA,IAAI,gBAAgB,IAAIR,MAAM,IAAIA,MAAM,CAACa,cAAc,EAAE;MACvDL,WAAW,GAAGX,IAAI,CAACiB,aAAa,CAC9B;QACEC,cAAc,EAAEjB,sBAAsB,CAAC,6BAA6B,CAAC;QACrEkB,WAAW,EAAE,sCAAsC;QACnDN,EAAE,EAAE;MACN,CAAC,EACD;QAAED,IAAI,EAAED;MAAY,CACtB,CAAC;IACH,CAAC,MAAM,IAAI,eAAe,IAAIR,MAAM,IAAIA,MAAM,CAACiB,aAAa,EAAE;MAC5DT,WAAW,GAAGX,IAAI,CAACiB,aAAa,CAC9B;QACEC,cAAc,EAAEjB,sBAAsB,CAAC,4BAA4B,CAAC;QACpEkB,WAAW,EAAE,qCAAqC;QAClDN,EAAE,EAAE;MACN,CAAC,EACD;QACEQ,OAAO,EAAEf,eAAe;QACxBM,IAAI,EAAED;MACR,CACF,CAAC;IACH,CAAC,MAAM,IAAI,mBAAmB,IAAIR,MAAM,IAAIA,MAAM,CAACmB,iBAAiB,EAAE;MACpE;MACAX,WAAW,GAAGX,IAAI,CAACiB,aAAa,CAC9B;QACEC,cAAc,EACZjB,sBAAsB,CAAC,iCAAiC,CAAC;QAC3DkB,WAAW,EAAE,2CAA2C;QACxDN,EAAE,EAAE;MACN,CAAC,EACD;QAAED,IAAI,EAAED;MAAY,CACtB,CAAC;IACH;IACA,OAAOA,WAAW;EACpB,CAAC;AACH","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opentripplanner/map-popup",
3
- "version": "5.2.0-alpha.2",
3
+ "version": "5.2.0-alpha.3",
4
4
  "description": "A component for displaying map popup contents",
5
5
  "main": "lib/index.js",
6
6
  "module": "esm/index.js",
@@ -12,13 +12,13 @@
12
12
  "private": false,
13
13
  "dependencies": {
14
14
  "flat": "^5.0.2",
15
- "@opentripplanner/base-map": "5.0.0-alpha.8",
16
- "@opentripplanner/building-blocks": "2.1.1-alpha.1",
17
- "@opentripplanner/core-utils": "13.0.0-alpha.2",
18
- "@opentripplanner/from-to-location-picker": "3.0.2-alpha.1"
15
+ "@opentripplanner/base-map": "5.0.0-alpha.9",
16
+ "@opentripplanner/building-blocks": "2.1.1-alpha.2",
17
+ "@opentripplanner/core-utils": "13.0.0-alpha.3",
18
+ "@opentripplanner/from-to-location-picker": "3.0.2-alpha.2"
19
19
  },
20
20
  "devDependencies": {
21
- "@opentripplanner/types": "7.0.0-alpha.16"
21
+ "@opentripplanner/types": "7.0.0-alpha.17"
22
22
  },
23
23
  "peerDependencies": {
24
24
  "react": "^18.2.0",