UNPKG

@kiwicom/smart-faq

Version:
120 lines (98 loc) 3.8 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.RawBookingCardsList = void 0; var _style = _interopRequireDefault(require("styled-jsx/style")); var _idx = _interopRequireDefault(require("idx")); var React = _interopRequireWildcard(require("react")); var _reactRelay = require("react-relay"); var _Heading = _interopRequireDefault(require("@kiwicom/orbit-components/lib/Heading")); var _OneWayBooking = _interopRequireDefault(require("./BookingTypes/OneWayBooking")); var _ReturnBooking = _interopRequireDefault(require("./BookingTypes/ReturnBooking")); var _MulticityBooking = _interopRequireDefault(require("./BookingTypes/MulticityBooking")); var _SelectedBooking = require("../context/SelectedBooking"); // @flow var BookingCardsList = function BookingCardsList(props /*: Props*/ ) { var booking = props.booking, title = props.title; var edges = (0, _idx.default)(booking, function (_) { return _.edges; }) || []; var bookings = edges.map(function (edge) { return (0, _idx.default)(edge, function (_) { return _.node; }); }); return React.createElement(React.Fragment, null, bookings.length > 0 && React.createElement("div", { className: "jsx-1893935473" + " " + "subtitle" }, React.createElement(_Heading.default, { type: "title3" }, title)), bookings.map(function (booking) { var id = (0, _idx.default)(booking, function (_) { return _.databaseId; }); var type = (0, _idx.default)(booking, function (_) { return _.__typename; }); var variants /*: BookingVariants*/ = { BookingOneWay: React.createElement(_OneWayBooking.default, { booking: booking }), BookingReturn: React.createElement(_ReturnBooking.default, { booking: booking }), BookingMulticity: React.createElement(_MulticityBooking.default, { booking: booking }) }; var bookingComponent = null; if (type && variants[type]) { bookingComponent = variants[type]; } if (bookingComponent) { if (!id) { return bookingComponent; } return React.createElement(_SelectedBooking.SelectedBooking.Consumer, { key: id }, function (_ref) { var onSelectBooking = _ref.onSelectBooking; return React.createElement("div", { onClick: function onClick() { return onSelectBooking(id); }, "data-cy": "booking-card", role: "button", onKeyUp: function onKeyUp() { return onSelectBooking(id); }, tabIndex: 0, className: "jsx-1893935473" + " " + "bookingCard" }, bookingComponent); }); } return null; }), React.createElement(_style.default, { styleId: "1893935473", css: ".bookingCard.jsx-1893935473{cursor:pointer;outline:none;}div.subtitle.jsx-1893935473{margin-top:14px;margin-bottom:12px;}" })); }; var RawBookingCardsList = BookingCardsList; exports.RawBookingCardsList = RawBookingCardsList; var _default = (0, _reactRelay.createFragmentContainer)(BookingCardsList, { booking: function booking() { var node = require("./__generated__/BookingCardsList_booking.graphql"); if (node.hash && node.hash !== "b636998daf943de33470952bf207b83d") { console.error("The definition of 'BookingCardsList_booking' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data."); } return require("./__generated__/BookingCardsList_booking.graphql"); } }); exports.default = _default;