digitransit-ui/app/component/itinerary/ItineraryMapAction.js
Vesa Meskanen 3f2fa2ae0b feat: move all itinerary page related components to a dedicated folder
Also:
- Move generic Toggle to componentfolder root
- Remove dead styles
- Refactor some componets
2024-04-22 08:49:15 +03:00

37 lines
1.1 KiB
JavaScript

import PropTypes from 'prop-types';
import React from 'react';
import { intlShape } from 'react-intl';
import { isKeyboardSelectionEvent } from '../../util/browser';
import Icon from '../Icon';
function ItineraryMapAction({ target, focusAction, ariaLabelId }, { intl }) {
/* eslint-disable jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */
return (
<div
className="itinerary-map-action"
onClick={focusAction}
onKeyPress={e => isKeyboardSelectionEvent(e) && focusAction(e)}
role="button"
tabIndex="0"
aria-label={intl.formatMessage({ id: ariaLabelId }, { target })}
>
<Icon img="icon-icon_show-on-map" className="itinerary-search-icon" />
</div>
);
}
ItineraryMapAction.propTypes = {
focusAction: PropTypes.func.isRequired,
target: PropTypes.string.isRequired,
ariaLabelId: PropTypes.string,
};
ItineraryMapAction.defaultProps = {
ariaLabelId: 'itinerary-summary.show-on-map',
};
ItineraryMapAction.contextTypes = {
intl: intlShape.isRequired,
};
export default ItineraryMapAction;