@mirai/core 0.3.397 → 0.3.398
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/build/Core.constants.js +6 -1
- package/build/Core.constants.js.map +1 -1
- package/build/Core.provider.js +1 -2
- package/build/Core.provider.js.map +1 -1
- package/build/components/BannerLoyalty/BannerLoyalty.skeleton.js +7 -3
- package/build/components/BannerLoyalty/BannerLoyalty.skeleton.js.map +1 -1
- package/build/components/BannerLoyalty/__tests__/__snapshots__/BannerLoyalty.skeleton.test.js.snap +290 -0
- package/build/components/BannerLoyalty/__tests__/__snapshots__/BannerLoyalty.test.js.snap +4 -4
- package/build/components/Booking/__tests__/__snapshots__/Booking.test.js.snap +5 -5
- package/build/components/Booking/components/Field/Field.js +1 -1
- package/build/components/Booking/components/Field/Field.js.map +1 -1
- package/build/components/Booking/components/Field/__tests__/__snapshots__/Field.test.js.snap +10 -10
- package/build/components/Booking/components/Hotelverse/Hotelverse.js +15 -15
- package/build/components/Booking/components/Hotelverse/Hotelverse.js.map +1 -1
- package/build/components/Booking/components/Hotelverse/__tests__/__snapshots__/Hotelverse.test.js.snap +108 -0
- package/build/components/Booking/helpers/getButtonPaymentKey.js +2 -7
- package/build/components/Booking/helpers/getButtonPaymentKey.js.map +1 -1
- package/build/components/Booking/helpers/getButtonPaymentKey.l10n.js +0 -3
- package/build/components/Booking/helpers/getButtonPaymentKey.l10n.js.map +1 -1
- package/build/components/Booking/partials/Booking.FormCancel.js +4 -3
- package/build/components/Booking/partials/Booking.FormCancel.js.map +1 -1
- package/build/components/Booking/partials/Booking.FormEdit.js +2 -2
- package/build/components/Booking/partials/Booking.FormEdit.js.map +1 -1
- package/build/components/Booking/partials/Booking.FormResend.js +4 -3
- package/build/components/Booking/partials/Booking.FormResend.js.map +1 -1
- package/build/components/Booking/partials/Booking.Information.js +5 -4
- package/build/components/Booking/partials/Booking.Information.js.map +1 -1
- package/build/components/Booking/partials/Booking.Payment.js +4 -3
- package/build/components/Booking/partials/Booking.Payment.js.map +1 -1
- package/build/components/Booking/partials/__tests__/__snapshots__/Booking.FormCancel.test.js.snap +546 -0
- package/build/components/Booking/partials/__tests__/__snapshots__/Booking.FormEdit.test.js.snap +46 -0
- package/build/components/Booking/partials/__tests__/__snapshots__/Booking.FormResend.test.js.snap +166 -0
- package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Information.test.js.snap +110 -0
- package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Menu.test.js.snap +4 -4
- package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Modal.test.js.snap +4 -4
- package/build/components/Booking/partials/__tests__/__snapshots__/Booking.ModalAgency.test.js.snap +319 -0
- package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Payment.test.js.snap +178 -0
- package/build/components/BookingQuery/BookingQuery.js +1 -0
- package/build/components/BookingQuery/BookingQuery.js.map +1 -1
- package/build/components/BookingQuery/__tests__/__snapshots__/BookingQuery.test.js.snap +10 -10
- package/build/components/ButtonFinder/__tests__/__snapshots__/ButtonFinder.test.js.snap +5 -5
- package/build/components/Chat/Chat.js +7 -4
- package/build/components/Chat/Chat.js.map +1 -1
- package/build/components/Chat/__tests__/__snapshots__/Chat.constants.test.js.snap +27 -0
- package/build/components/Chat/__tests__/__snapshots__/Chat.test.js.snap +634 -0
- package/build/components/Chat/components/Avatar/__tests__/__snapshots__/Avatar.test.jsx.snap +5 -5
- package/build/components/Chat/components/Input/__tests__/__snapshots__/Input.test.jsx.snap +4 -4
- package/build/components/Chat/components/InputRich/__tests__/__snapshots__/InputRich.test.jsx.snap +4 -4
- package/build/components/Chat/components/Message/__tests__/__snapshots__/Message.test.jsx.snap +10 -10
- package/build/components/Chat/components/Message/components/Booking.js +3 -2
- package/build/components/Chat/components/Message/components/Booking.js.map +1 -1
- package/build/components/Chat/components/Message/components/Card.js +3 -2
- package/build/components/Chat/components/Message/components/Card.js.map +1 -1
- package/build/components/Chat/components/Message/components/Environment.js +5 -4
- package/build/components/Chat/components/Message/components/Environment.js.map +1 -1
- package/build/components/Chat/components/Message/components/__tests__/__snapshots__/Booking.test.js.snap +53 -0
- package/build/components/Chat/components/Message/components/__tests__/__snapshots__/Card.test.js.snap +29 -0
- package/build/components/Chat/components/Message/components/__tests__/__snapshots__/Environment.test.js.snap +44 -0
- package/build/components/Chat/components/Offline/Offline.js +5 -4
- package/build/components/Chat/components/Offline/Offline.js.map +1 -1
- package/build/components/Chat/components/Offline/__tests__/__snapshots__/Offline.test.js.snap +162 -0
- package/build/components/Chat/helpers/__tests__/__snapshots__/getVerboseDate.test.js.snap +9 -0
- package/build/components/Checkout/__tests__/__snapshots__/Checkout.test.js.snap +8 -8
- package/build/components/Checkout/components/InputRadio/__tests__/__snapshots__/InputRadio.test.js.snap +4 -4
- package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Confirmation.test.js.snap +6 -6
- package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Form.test.js.snap +4 -4
- package/build/components/Deals/__tests__/__snapshots__/Deals.Calendar.test.js.snap +3 -3
- package/build/components/Deals/__tests__/__snapshots__/Deals.constants.js.snap +15 -0
- package/build/components/Deals/__tests__/__snapshots__/Deals.test.js.snap +4 -4
- package/build/components/Environment/Environment.State.js +7 -5
- package/build/components/Environment/Environment.State.js.map +1 -1
- package/build/components/Environment/__tests__/__snapshots__/Environment.State.test.js.snap +120 -0
- package/build/components/Environment/__tests__/__snapshots__/Environment.test.js.snap +988 -0
- package/build/components/Finder/__tests__/__snapshots__/Finder.constants.test.js.snap +39 -0
- package/build/components/Finder/__tests__/__snapshots__/Finder.test.js.snap +14 -14
- package/build/components/Finder/components/Calendar/__tests__/__snapshots__/Calendar.test.js.snap +9 -9
- package/build/components/Finder/components/Places/__tests__/__snapshots__/Places.test.js.snap +5 -5
- package/build/components/Finder/helpers/__tests__/__snapshots__/getForwarderUrl.test.js.snap +7 -0
- package/build/components/Header/__tests__/__snapshots__/Header.test.js.snap +1187 -0
- package/build/components/Profile/components/Bookings/__tests__/__snapshots__/Bookings.test.js.snap +1 -1
- package/build/components/Rates/Rates.Content.js +3 -2
- package/build/components/Rates/Rates.Content.js.map +1 -1
- package/build/components/Rates/Rates.Footer.js +5 -4
- package/build/components/Rates/Rates.Footer.js.map +1 -1
- package/build/components/Rates/Rates.RoomSelector.js +6 -4
- package/build/components/Rates/Rates.RoomSelector.js.map +1 -1
- package/build/components/Rates/Rates.constants.js +1 -0
- package/build/components/Rates/Rates.constants.js.map +1 -1
- package/build/components/Rates/Rates.js +4 -2
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/__tests__/__snapshots__/Rates.Content.test.js.snap +26 -0
- package/build/components/Rates/__tests__/__snapshots__/Rates.Footer.test.js.snap +50 -0
- package/build/components/Rates/__tests__/__snapshots__/Rates.Header.test.js.snap +10 -0
- package/build/components/Rates/__tests__/__snapshots__/Rates.RoomSelector.test.js.snap +3 -0
- package/build/components/Rates/__tests__/__snapshots__/Rates.Unavailability.test.js.snap +63 -0
- package/build/components/Rates/__tests__/__snapshots__/Rates.test.js.snap +11091 -0
- package/build/components/Rates/components/CardHotel/CardHotel.js +3 -3
- package/build/components/Rates/components/CardHotel/CardHotel.js.map +1 -1
- package/build/components/Rates/components/CardHotel/__tests__/__snapshots__/CardHotel.test.js.snap +85 -0
- package/build/components/Rates/components/ClubRate/__tests__/__snapshots__/ClubRate.test.js.snap +38 -0
- package/build/components/Rates/components/Filters/Filters.js +1 -1
- package/build/components/Rates/components/Filters/Filters.js.map +1 -1
- package/build/components/Rates/components/Filters/__tests__/__snapshots__/FIlters.Button.test.js.snap +33 -0
- package/build/components/Rates/components/Filters/__tests__/__snapshots__/Filters.Amenity.test.js.snap +21 -0
- package/build/components/Rates/components/Filters/__tests__/__snapshots__/Filters.BookingOption.test.js.snap +32 -0
- package/build/components/Rates/components/Filters/__tests__/__snapshots__/Filters.test.js.snap +168 -0
- package/build/components/Rates/components/Hotelverse/Hotelverse.js +8 -13
- package/build/components/Rates/components/Hotelverse/Hotelverse.js.map +1 -1
- package/build/components/Rates/components/Hotelverse/__tests__/__snapshots__/Hotelverse.test.js.snap +3 -0
- package/build/components/Rates/components/Item/Item.Preview.js +2 -2
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Rates.js +6 -9
- package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Summary.js +33 -8
- package/build/components/Rates/components/Item/Item.Summary.js.map +1 -1
- package/build/components/Rates/components/Item/Item.js +2 -0
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/Item.module.css +11 -0
- package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.Preview.test.js.snap +93 -0
- package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.Rates.test.js.snap +9 -0
- package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.Summary.test.js.snap +53 -0
- package/build/components/Rates/components/Item/__tests__/__snapshots__/Item.test.js.snap +151 -0
- package/build/components/Rates/components/Item/components/Amenities/__tests__/__snapshots__/Amenities.test.js.snap +3 -0
- package/build/components/Rates/components/Item/components/Features/__tests__/__snapshots__/Features.test.js.snap +40 -0
- package/build/components/Rates/components/Item/components/ModalCancellationInfo/__tests__/__snapshots__/ModalCancellationInfo.test.js.snap +35 -0
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +1 -1
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalInfo/__tests__/__snapshots__/ModalInfo.test.js.snap +72 -0
- package/build/components/Rates/components/Item/components/ModalOfferInfo/__tests__/__snapshots__/ModalOfferInfo.test.js.snap +49 -0
- package/build/components/Rates/components/Item/components/ModalUrl/__tests__/__snapshots__/ModalUrl.test.js.snap +50 -0
- package/build/components/Rates/components/Item/components/Option/__tests__/__snapshots__/Option.test.js.snap +18 -0
- package/build/components/Rates/components/Item/components/PriceDetails/__tests__/__snapshots__/PriceDetails.test.js.snap +23 -0
- package/build/components/Rates/components/Item/components/RateDetails/__tests__/__snapshots__/RateDetails.Countdown.test.js.snap +3 -0
- package/build/components/Rates/components/Item/components/RateDetails/__tests__/__snapshots__/RateDetails.test.js.snap +3 -0
- package/build/components/Rates/components/Item/components/Slider/__tests__/__snapshots__/Slider.test.js.snap +27 -0
- package/build/components/Rates/components/Item/components/TooltipDates/__tests__/__snapshots__/TooltipDates.test.js.snap +3 -0
- package/build/components/Rates/components/ModalExtras/__tests__/__snapshots__/ModalExtras.test.js.snap +68 -0
- package/build/components/Rates/components/ModalMapView/__tests__/__snapshots__/ModalMapView.test.js.snap +66 -0
- package/build/components/Rates/helpers/getCheckoutParams.js +2 -2
- package/build/components/Rates/helpers/getCheckoutParams.js.map +1 -1
- package/build/components/Session/__tests__/__snapshots__/Session.test.js.snap +7 -7
- package/build/components/Signup/__tests__/__snapshots__/Signup.test.js.snap +3 -3
- package/build/components/__shared__/BookingDates/__tests__/__snapshots__/BookingDates.test.js.snap +7 -7
- package/build/components/__shared__/BookingDetails/__tests__/__snapshots__/BookingDetails.test.js.snap +6 -6
- package/build/components/__shared__/BookingSummary/_tests__/BookingSummary.constants.test.js +25 -0
- package/build/components/__shared__/BookingSummary/_tests__/BookingSummary.constants.test.js.map +1 -0
- package/build/components/__shared__/BookingSummary/_tests__/BookingSummary.test.js +5 -5
- package/build/components/__shared__/BookingSummary/_tests__/BookingSummary.test.js.map +1 -1
- package/build/components/__shared__/BookingSummary/_tests__/__snapshots__/BookingSummary.test.js.snap +4 -4
- package/build/components/__shared__/BookingTable/__tests__/__snapshots__/BookingTable.Row.test.js.snap +10 -10
- package/build/components/__shared__/BookingTable/__tests__/__snapshots__/BookingTable.test.js.snap +6 -6
- package/build/components/__shared__/BookingTerms/__tests__/__snapshots__/BookingTerms.test.js.snap +4 -4
- package/build/components/__shared__/ButtonMore/__tests__/__snapshots__/ButtonMore.test.js.snap +3 -3
- package/build/components/__shared__/ButtonPayment/__tests__/__snapshots__/ButtonPayment.test.js.snap +4 -4
- package/build/components/__shared__/ButtonPayment/components/Form/Form.js +4 -2
- package/build/components/__shared__/ButtonPayment/components/Form/Form.js.map +1 -1
- package/build/components/__shared__/ButtonPayment/components/Form/__tests__/__snapshots__/Form.test.js.snap +65 -0
- package/build/components/__shared__/ButtonPayment/components/FormAddon/__tests__/__snapshots__/FormAddon.test.js.snap +3 -3
- package/build/components/__shared__/ButtonPayment/components/FormCheckout/__tests__/__snapshots__/FormCheckout.test.js.snap +3 -3
- package/build/components/__shared__/ButtonPayment/components/FormCheckout/helpers/__tests__/__snapshots__/getStyle.test.js.snap +23 -0
- package/build/components/__shared__/ButtonPayment/components/FormPaycomet/__tests__/__snapshots__/FormPaycomet.test.js.snap +1 -1
- package/build/components/__shared__/ButtonPayment/components/FormSipay/__tests__/__snapshots__/FormSipay.test.js.snap +3 -3
- package/build/components/__shared__/ButtonPayment/components/InputField/__tests__/__snapshots__/InputField.test.js.snap +6 -6
- package/build/components/__shared__/Card/__tests__/__snapshots__/Card.test.js.snap +34 -0
- package/build/components/__shared__/Countdown/__tests__/__snapshots__/Countdown.test.js.snap +4 -4
- package/build/components/__shared__/Field/__tests__/__snapshots__/Field.test.js.snap +17 -17
- package/build/components/__shared__/FieldOccupation/__tests__/__snapshots__/FieldOccupation.test.js.snap +8 -8
- package/build/components/__shared__/FieldPromocode/__tests__/__snapshots__/FieldPromocode.test.jsx.snap +5 -5
- package/build/components/__shared__/Footer/__tests__/__snapshots__/Footer.test.js.snap +4 -4
- package/build/components/__shared__/NotificationRequiredFields/__tests__/__snapshots__/NotificationRequiredFields.test.js.snap +118 -0
- package/build/components/__shared__/Occupation/__tests__/__snapshots__/Occupation.test.js.snap +10 -10
- package/build/components/__shared__/Payment/__tests__/__snapshots__/Payment.test.js.snap +5 -5
- package/build/components/__shared__/Payment/components/AmazonPay/__tests__/__snapshots__/AmazonPay.test.js.snap +2 -2
- package/build/components/__shared__/Payment/components/Aplazame/__tests__/__snapshots__/Aplazame.test.js.snap +1 -1
- package/build/components/__shared__/Payment/components/Card/__tests__/__snapshots__/Card.test.js.snap +6 -6
- package/build/components/__shared__/Payment/components/PCI/__tests__/__snapshots__/PCI.test.js.snap +4 -4
- package/build/components/__shared__/Payment/components/Tpv/__tests__/__snapshots__/Tpv.test.js.snap +3 -3
- package/build/components/__shared__/PriceBreakdown/PriceBreakdown.js +1 -1
- package/build/components/__shared__/PriceBreakdown/PriceBreakdown.js.map +1 -1
- package/build/components/__shared__/PriceBreakdown/__tests__/__snapshots__/PriceBreakdown.Line.test.js.snap +49 -0
- package/build/components/__shared__/PriceBreakdown/__tests__/__snapshots__/PriceBreakdown.test.js.snap +337 -0
- package/build/components/__shared__/SelectEnvironment/__tests__/__snapshots__/SelectEnvironment.test.js.snap +6 -6
- package/build/components/__shared__/Skeleton/__tests__/__snapshots__/Skeleton.test.js.snap +66 -0
- package/build/components/__shared__/TextRequiredFields/__tests__/__snapshots__/TextRequiredFields.test.js.snap +3 -3
- package/build/components/helpers/addScript.js +2 -2
- package/build/components/helpers/addScript.js.map +1 -1
- package/build/components/helpers/parseHtml.js +0 -1
- package/build/components/helpers/parseHtml.js.map +1 -1
- package/build/contexts/PerfomanceManager/providers/gtm/ratesResponse.js +0 -1
- package/build/contexts/PerfomanceManager/providers/gtm/ratesResponse.js.map +1 -1
- package/build/helpers/checkSession.js.map +1 -1
- package/build/helpers/debounce.js +2 -1
- package/build/helpers/debounce.js.map +1 -1
- package/build/helpers/fetchCookies.js +2 -2
- package/build/helpers/fetchCookies.js.map +1 -1
- package/build/helpers/loadSentry.js +1 -4
- package/build/helpers/loadSentry.js.map +1 -1
- package/build/helpers/toOccupation.js +1 -1
- package/build/helpers/toOccupation.js.map +1 -1
- package/build/index.js +1 -2
- package/build/index.js.map +1 -1
- package/package.json +1 -1
- package/build/Core.definition.js +0 -10
- package/build/Core.definition.js.map +0 -1
|
@@ -21,7 +21,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
|
|
|
21
21
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
22
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
23
|
const DEFAULT_WIDTH = 374;
|
|
24
|
-
const CardHotel =
|
|
24
|
+
const CardHotel = function () {
|
|
25
25
|
let {
|
|
26
26
|
discountPercentage = 0,
|
|
27
27
|
features: {
|
|
@@ -38,7 +38,7 @@ const CardHotel = _ref => {
|
|
|
38
38
|
stars,
|
|
39
39
|
taxes,
|
|
40
40
|
unavailability
|
|
41
|
-
} =
|
|
41
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
42
42
|
const {
|
|
43
43
|
isMobile,
|
|
44
44
|
width
|
|
@@ -95,7 +95,7 @@ const CardHotel = _ref => {
|
|
|
95
95
|
small: isMobile
|
|
96
96
|
};
|
|
97
97
|
const {
|
|
98
|
-
features
|
|
98
|
+
features = {}
|
|
99
99
|
} = hotel || {};
|
|
100
100
|
const {
|
|
101
101
|
place: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardHotel.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_CardHotel","style","_helpers","_helpers2","_shared__","_helpers3","_helpers4","_components","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","DEFAULT_WIDTH","CardHotel","_ref","discountPercentage","features","distance","location","url","hasDiscountClub","id","images","name","nights","price","stars","taxes","unavailability","isMobile","width","useDevice","locale","translate","useLocale","ref","useRef","value","currency","finder","forwarder","hotel","hotelId","tags","options","places","useStore","sliderWidth","setSliderWidth","useState","useEffect","_ref$current","current","clientWidth","handlePress","find","isHotel","ids","arguments","length","undefined","includes","toString","window","href","concat","rates","toUrlParams","fetchUrlParams","search","getFinderParams","place","idtokenprovider","caption","action","small","placeId","title","placeName","hotelName","createElement","Card","View","className","card","preview","Slider","height","slider","row","Text","bold","tag","L10N","LABEL_CLUB_MEMBERS","offset","spaceBetween","Icon","ICON","LOCATION","LABEL_DISTANCE","Intl","NumberFormat","unit","minimumFractionDigits","maximumFractionDigits","format","headline","level","Array","from","Action","getHotelUrl","target","ACTION_VIEW_HOTEL","summary","accent","LABEL_DISCOUNT","currencyFormat","tiny","LABEL_PER_NIGHT","light","getLabelTaxes","Button","onPress","ACTION_VIEW_MORE","exports","displayName","propTypes","PropTypes","number","shape","string","bool","oneOfType","arrayOf"],"sources":["../../../../../src/components/Rates/components/CardHotel/CardHotel.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './CardHotel.l10n';\nimport * as style from './CardHotel.module.css';\nimport { getHotelUrl } from './helpers';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { Card } from '../../../__shared__';\nimport { ICON, toUrlParams } from '../../../helpers';\nimport { getFinderParams, getLabelTaxes } from '../../helpers';\nimport { Slider } from '../Item/components';\n\nconst DEFAULT_WIDTH = 374;\n\nconst CardHotel = ({\n discountPercentage = 0,\n features: { distance, location, url } = {},\n hasDiscountClub = false,\n id,\n images = [],\n name,\n nights = 1,\n price,\n stars,\n taxes,\n unavailability,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const ref = useRef(null);\n const { value: { currency, finder, forwarder = {}, hotel, id: hotelId, tags: { options: places = [] } = {} } = {} } =\n useStore();\n\n const [sliderWidth, setSliderWidth] = useState(DEFAULT_WIDTH);\n\n useEffect(() => {\n if (ref.current) setSliderWidth(ref.current?.clientWidth - 1);\n }, [width]);\n\n const handlePress = () => {\n const { value } = places.find(({ isHotel, id: ids = [] } = {}) => isHotel && ids.includes(id.toString())) || {};\n\n window.location.href = `${forwarder.rates}${toUrlParams({\n ...fetchUrlParams(window.location.search),\n ...getFinderParams({ ...finder, ...{ place: { id: undefined, value } }, hotel }),\n idtokenprovider: id,\n })}`;\n };\n\n const caption = { action: !isMobile, small: isMobile };\n const { features } = hotel || {};\n const { place: { id: [placeId] = [], isHotel, title: placeName } = {} } = finder || {};\n const { name: hotelName } = (placeId ? (isHotel ? features[placeId] : { name: placeName }) : features[hotelId]) || {};\n\n return (\n <Card>\n <View ref={ref} className={style.card}>\n <View className={style.preview}>\n <Slider height={208} images={images} width={sliderWidth} className={style.slider} />\n\n <View row className={style.tags}>\n {hasDiscountClub && (\n <Text bold small className={style.tag}>\n {translate(L10N.LABEL_CLUB_MEMBERS)}\n </Text>\n )}\n </View>\n </View>\n\n {distance && (\n <View row className={[style.offset, style.spaceBetween]}>\n <View row className={style.row}>\n <Icon value={ICON.LOCATION} />\n <Text small>\n {translate(L10N.LABEL_DISTANCE, {\n distance: Intl.NumberFormat(locale, {\n style: 'unit',\n unit: 'kilometer',\n minimumFractionDigits: 1,\n maximumFractionDigits: 1,\n }).format(distance),\n name: hotelName,\n })}\n </Text>\n </View>\n </View>\n )}\n\n <View className={style.offset}>\n <Text bold headline={!isMobile} level={3}>\n {name}\n </Text>\n {stars > 0 && (\n <Text headline={!isMobile} level={3}>\n {Array.from({ length: stars }, () => '★')}\n </Text>\n )}\n\n <Text {...caption}>{location}</Text>\n\n {url && (\n <Action href={unavailability ? getHotelUrl(url) : url} small={isMobile} target=\"_blank\">\n {translate(L10N.ACTION_VIEW_HOTEL)}\n </Action>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween, style.summary]}>\n <View>\n <Text accent bold small>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n\n <Text small={!isMobile} tiny={isMobile}>\n {currencyFormat({ currency, value: price / nights })} {translate(L10N.LABEL_PER_NIGHT)}\n </Text>\n\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxes))}\n </Text>\n </View>\n\n <Button onPress={handlePress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n </View>\n </Card>\n );\n};\n\nCardHotel.displayName = 'Mirai:Core:Rates:CardHotel';\n\nCardHotel.propTypes = {\n discountPercentage: PropTypes.number,\n features: PropTypes.shape({\n distance: PropTypes.string,\n location: PropTypes.string,\n url: PropTypes.string,\n }),\n hasDiscountClub: PropTypes.bool,\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n images: PropTypes.arrayOf(PropTypes.string),\n name: PropTypes.string,\n nights: PropTypes.number,\n price: PropTypes.number,\n stars: PropTypes.number,\n taxes: PropTypes.number,\n unavailability: PropTypes.bool,\n};\n\nexport { CardHotel };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CardHotel.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_CardHotel","style","_helpers","_helpers2","_shared__","_helpers3","_helpers4","_components","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","DEFAULT_WIDTH","CardHotel","discountPercentage","features","distance","location","url","hasDiscountClub","id","images","name","nights","price","stars","taxes","unavailability","arguments","length","undefined","isMobile","width","useDevice","locale","translate","useLocale","ref","useRef","value","currency","finder","forwarder","hotel","hotelId","tags","options","places","useStore","sliderWidth","setSliderWidth","useState","useEffect","_ref$current","current","clientWidth","handlePress","find","isHotel","ids","includes","toString","window","href","concat","rates","toUrlParams","fetchUrlParams","search","getFinderParams","place","idtokenprovider","caption","action","small","placeId","title","placeName","hotelName","createElement","Card","View","className","card","preview","Slider","height","slider","row","Text","bold","tag","L10N","LABEL_CLUB_MEMBERS","offset","spaceBetween","Icon","ICON","LOCATION","LABEL_DISTANCE","Intl","NumberFormat","unit","minimumFractionDigits","maximumFractionDigits","format","headline","level","Array","from","Action","getHotelUrl","target","ACTION_VIEW_HOTEL","summary","accent","LABEL_DISCOUNT","currencyFormat","tiny","LABEL_PER_NIGHT","light","getLabelTaxes","Button","onPress","ACTION_VIEW_MORE","exports","displayName","propTypes","PropTypes","number","shape","string","bool","oneOfType","arrayOf"],"sources":["../../../../../src/components/Rates/components/CardHotel/CardHotel.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { L10N } from './CardHotel.l10n';\nimport * as style from './CardHotel.module.css';\nimport { getHotelUrl } from './helpers';\nimport { fetchUrlParams } from '../../../../helpers';\nimport { Card } from '../../../__shared__';\nimport { ICON, toUrlParams } from '../../../helpers';\nimport { getFinderParams, getLabelTaxes } from '../../helpers';\nimport { Slider } from '../Item/components';\n\nconst DEFAULT_WIDTH = 374;\n\nconst CardHotel = ({\n discountPercentage = 0,\n features: { distance, location, url } = {},\n hasDiscountClub = false,\n id,\n images = [],\n name,\n nights = 1,\n price,\n stars,\n taxes,\n unavailability,\n} = {}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const ref = useRef(null);\n const { value: { currency, finder, forwarder = {}, hotel, id: hotelId, tags: { options: places = [] } = {} } = {} } =\n useStore();\n\n const [sliderWidth, setSliderWidth] = useState(DEFAULT_WIDTH);\n\n useEffect(() => {\n if (ref.current) setSliderWidth(ref.current?.clientWidth - 1);\n }, [width]);\n\n const handlePress = () => {\n const { value } = places.find(({ isHotel, id: ids = [] } = {}) => isHotel && ids.includes(id.toString())) || {};\n\n window.location.href = `${forwarder.rates}${toUrlParams({\n ...fetchUrlParams(window.location.search),\n ...getFinderParams({ ...finder, ...{ place: { id: undefined, value } }, hotel }),\n idtokenprovider: id,\n })}`;\n };\n\n const caption = { action: !isMobile, small: isMobile };\n const { features = {} } = hotel || {};\n const { place: { id: [placeId] = [], isHotel, title: placeName } = {} } = finder || {};\n const { name: hotelName } = (placeId ? (isHotel ? features[placeId] : { name: placeName }) : features[hotelId]) || {};\n\n return (\n <Card>\n <View ref={ref} className={style.card}>\n <View className={style.preview}>\n <Slider height={208} images={images} width={sliderWidth} className={style.slider} />\n\n <View row className={style.tags}>\n {hasDiscountClub && (\n <Text bold small className={style.tag}>\n {translate(L10N.LABEL_CLUB_MEMBERS)}\n </Text>\n )}\n </View>\n </View>\n\n {distance && (\n <View row className={[style.offset, style.spaceBetween]}>\n <View row className={style.row}>\n <Icon value={ICON.LOCATION} />\n <Text small>\n {translate(L10N.LABEL_DISTANCE, {\n distance: Intl.NumberFormat(locale, {\n style: 'unit',\n unit: 'kilometer',\n minimumFractionDigits: 1,\n maximumFractionDigits: 1,\n }).format(distance),\n name: hotelName,\n })}\n </Text>\n </View>\n </View>\n )}\n\n <View className={style.offset}>\n <Text bold headline={!isMobile} level={3}>\n {name}\n </Text>\n {stars > 0 && (\n <Text headline={!isMobile} level={3}>\n {Array.from({ length: stars }, () => '★')}\n </Text>\n )}\n\n <Text {...caption}>{location}</Text>\n\n {url && (\n <Action href={unavailability ? getHotelUrl(url) : url} small={isMobile} target=\"_blank\">\n {translate(L10N.ACTION_VIEW_HOTEL)}\n </Action>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween, style.summary]}>\n <View>\n <Text accent bold small>\n {translate(L10N.LABEL_DISCOUNT, { value: `${discountPercentage}%` })}\n </Text>\n\n <Text bold headline level={isMobile || price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, value: price })}\n </Text>\n\n <Text small={!isMobile} tiny={isMobile}>\n {currencyFormat({ currency, value: price / nights })} {translate(L10N.LABEL_PER_NIGHT)}\n </Text>\n\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxes))}\n </Text>\n </View>\n\n <Button onPress={handlePress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n </View>\n </Card>\n );\n};\n\nCardHotel.displayName = 'Mirai:Core:Rates:CardHotel';\n\nCardHotel.propTypes = {\n discountPercentage: PropTypes.number,\n features: PropTypes.shape({\n distance: PropTypes.string,\n location: PropTypes.string,\n url: PropTypes.string,\n }),\n hasDiscountClub: PropTypes.bool,\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n images: PropTypes.arrayOf(PropTypes.string),\n name: PropTypes.string,\n nights: PropTypes.number,\n price: PropTypes.number,\n stars: PropTypes.number,\n taxes: PropTypes.number,\n unavailability: PropTypes.bool,\n};\n\nexport { CardHotel };\n"],"mappings":"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"}
|
package/build/components/Rates/components/CardHotel/__tests__/__snapshots__/CardHotel.test.js.snap
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`<Rates> <CardHotel> renders 1`] = `
|
|
4
|
+
<DocumentFragment>
|
|
5
|
+
<ui-view
|
|
6
|
+
class="view"
|
|
7
|
+
>
|
|
8
|
+
<ui-view
|
|
9
|
+
class="view"
|
|
10
|
+
>
|
|
11
|
+
<ui-view
|
|
12
|
+
class="view"
|
|
13
|
+
>
|
|
14
|
+
<ui-view
|
|
15
|
+
class="view"
|
|
16
|
+
style="height: 208px; max-height: 208px;"
|
|
17
|
+
>
|
|
18
|
+
<ui-slider
|
|
19
|
+
class="view slider"
|
|
20
|
+
style="height: 208px; max-height: 208px; width: -1px;"
|
|
21
|
+
>
|
|
22
|
+
<ui-scrollview
|
|
23
|
+
class="scrollview snap horizontal scrollView"
|
|
24
|
+
style="width: -1px;"
|
|
25
|
+
/>
|
|
26
|
+
<ui-progress
|
|
27
|
+
class="view progress progress"
|
|
28
|
+
>
|
|
29
|
+
<ui-progress-value
|
|
30
|
+
class="view value"
|
|
31
|
+
style="width: 0%;"
|
|
32
|
+
/>
|
|
33
|
+
</ui-progress>
|
|
34
|
+
</ui-slider>
|
|
35
|
+
</ui-view>
|
|
36
|
+
<ui-view
|
|
37
|
+
class="view row"
|
|
38
|
+
/>
|
|
39
|
+
</ui-view>
|
|
40
|
+
<ui-view
|
|
41
|
+
class="view"
|
|
42
|
+
>
|
|
43
|
+
<ui-text
|
|
44
|
+
class="text bold headline-3"
|
|
45
|
+
/>
|
|
46
|
+
<ui-text
|
|
47
|
+
class="text action"
|
|
48
|
+
/>
|
|
49
|
+
</ui-view>
|
|
50
|
+
<ui-view
|
|
51
|
+
class="view row"
|
|
52
|
+
>
|
|
53
|
+
<ui-view
|
|
54
|
+
class="view"
|
|
55
|
+
>
|
|
56
|
+
<ui-text
|
|
57
|
+
class="text bold accent small"
|
|
58
|
+
>
|
|
59
|
+
finder.label.discount
|
|
60
|
+
</ui-text>
|
|
61
|
+
<ui-text
|
|
62
|
+
class="text bold headline-2"
|
|
63
|
+
>
|
|
64
|
+
0 €
|
|
65
|
+
</ui-text>
|
|
66
|
+
<ui-text
|
|
67
|
+
class="text small"
|
|
68
|
+
>
|
|
69
|
+
NaN € finder.label.per_night
|
|
70
|
+
</ui-text>
|
|
71
|
+
<ui-text
|
|
72
|
+
class="text light small"
|
|
73
|
+
/>
|
|
74
|
+
</ui-view>
|
|
75
|
+
<ui-button
|
|
76
|
+
class="pressable button"
|
|
77
|
+
tabindex="0"
|
|
78
|
+
>
|
|
79
|
+
common.action.view_more
|
|
80
|
+
</ui-button>
|
|
81
|
+
</ui-view>
|
|
82
|
+
</ui-view>
|
|
83
|
+
</ui-view>
|
|
84
|
+
</DocumentFragment>
|
|
85
|
+
`;
|
package/build/components/Rates/components/ClubRate/__tests__/__snapshots__/ClubRate.test.js.snap
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`<Rates> <ClubRate> renders 1`] = `
|
|
4
|
+
<DocumentFragment>
|
|
5
|
+
<ui-view
|
|
6
|
+
class="view"
|
|
7
|
+
>
|
|
8
|
+
<ui-text
|
|
9
|
+
class="text bold accent paragraph"
|
|
10
|
+
>
|
|
11
|
+
user.label.unlock_exclusive_member
|
|
12
|
+
</ui-text>
|
|
13
|
+
<ui-text
|
|
14
|
+
class="text action"
|
|
15
|
+
>
|
|
16
|
+
finder.label.club_benefits
|
|
17
|
+
</ui-text>
|
|
18
|
+
<ui-button
|
|
19
|
+
class="pressable button wide"
|
|
20
|
+
tabindex="0"
|
|
21
|
+
>
|
|
22
|
+
user.action.book_and_join
|
|
23
|
+
</ui-button>
|
|
24
|
+
<ui-view
|
|
25
|
+
class="view"
|
|
26
|
+
/>
|
|
27
|
+
<ui-view
|
|
28
|
+
class="view"
|
|
29
|
+
/>
|
|
30
|
+
<ui-action
|
|
31
|
+
class="pressable action"
|
|
32
|
+
tabindex="0"
|
|
33
|
+
>
|
|
34
|
+
user.action.select_another_fare
|
|
35
|
+
</ui-action>
|
|
36
|
+
</ui-view>
|
|
37
|
+
</DocumentFragment>
|
|
38
|
+
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Filters.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Filters","_Filters2","_Filters3","_Filters4","_Filters5","style","_helpers","_helpers2","_helpers3","_components2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","memoizeForm","Filters","_ref","clubConditions","items","propItems","onSubmit","others","isMobile","useDevice","translate","useLocale","value","currency","club","finder","hotel","id","locale","occupation","maxRooms","session","urlParams","idoffers","roomTypeId","useStore","discount","promocode","allAmenities","setAllAmenities","useState","busy","setBusy","counter","setCounter","filters","setFilters","getAvailableFilters","form","setForm","DEFAULT_FORM","setItems","visible","setVisible","useEffect","nextForm","clubDiscount","undefined","offer","roomType","countFilters","priceRange","callback","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","JSON","stringify","nextFilters","handleAmenity","amenities","filter","item","handleOption","field","handleBookingOption","next","fetch","handleClearAll","handleSubmit","strictSearch","getStrictSearch","cart","params","nextItems","fetchRates","catch","freeCancellation","filteredItems","select","availability","arguments","length","boardsLength","boards","inlineBoards","MAX_BOARDS","name","roomTypeName","find","parseInt","createElement","Fragment","Button","onPress","Modal","fit","portal","title","L10N","LABEL_FILTERS","onClose","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","section","Text","bold","headline","LABEL_BOOKING_OPTIONS","BookingOption","caption","LABEL_CLUB_CONDITIONS","conditions","Action","small","href","target","textInline","ACTION_CLUB_VIEW_CONDITIONS","LABEL_CLUB_BENEFITS","checked","LABEL_CLUB_MEMBERS_EXCLUSIVE","onChange","BOOKING_OPTIONS","map","key","roomName","toUpperCase","LABEL_ACCOMMODATION_PLAN","row","styles","inline","_ref2","text","type","Option","board","concat","outlined","option","prices","InputRange","LABEL_SET_PRICE_RANGE","dataSource","resolution","LABEL_PRICE_RANGE","unit","currencySymbol","wide","LABEL_AMENITIES","highlight","_ref3","Amenity","includes","label","action","textOthers","LABEL_OTHERS","_ref4","underline","ACTION_VIEW_MORE","bedTypes","LABEL_BED_TYPE","bedType","icon","ICON","BED_SINGLE","BED_DOUBLE","LABEL_BED_TYPE_SINGLE","LABEL_BED_TYPE_DOUBLE","sizes","LABEL_ROOM_SIZE","sizeUnit","sizeRange","footer","spaceBetween","transparent","ACTION_CLEAR_ALL","disabled","LABEL_SHOW_COUNT_RESULTS","LABEL_NO_EXACT_MATCHES","count","exports","displayName","propTypes","PropTypes","bool","string","arrayOf","shape","func"],"sources":["../../../../../src/components/Rates/components/Filters/Filters.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencySymbol, useLocale } from '@mirai/locale';\nimport { Action, Button, Modal, ScrollView, styles, useDevice, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { InputRange } from './components';\nimport { Amenity } from './Filters.Amenity';\nimport { BookingOption } from './Filters.BookingOption';\nimport { Button as ButtonFilters } from './Filters.Button';\nimport { BOOKING_OPTIONS, DEFAULT_FORM, MAX_BOARDS } from './Filters.constants';\nimport { L10N } from './Filters.l10n';\nimport * as style from './Filters.module.css';\nimport { countFilters, getAvailableFilters, getStrictSearch } from './helpers';\nimport { EVENT, ICON } from '../../../helpers';\nimport { fetchRates, select } from '../../helpers';\nimport { Option } from '../Item/components';\n\nlet memoizeForm;\n\nconst Filters = ({ clubConditions, items: propItems = [], onSubmit = () => {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n currency,\n club = {},\n finder = {},\n hotel,\n id,\n locale,\n occupation: { maxRooms } = {},\n session,\n urlParams: { idoffers, roomTypeId },\n } = {},\n } = useStore();\n\n const { discount } = club;\n const { promocode } = finder;\n\n const [allAmenities, setAllAmenities] = useState(false);\n const [busy, setBusy] = useState(false);\n const [counter, setCounter] = useState(0);\n const [filters, setFilters] = useState(getAvailableFilters(propItems));\n const [form, setForm] = useState(DEFAULT_FORM);\n const [items, setItems] = useState(propItems);\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n const nextForm = memoizeForm || {\n ...DEFAULT_FORM,\n clubDiscount: !session && discount !== undefined ? !!discount : undefined,\n offer: idoffers ? !!idoffers : undefined,\n promocode: promocode ? !!promocode : undefined,\n roomType: roomTypeId ? !!roomTypeId : undefined,\n };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!form.priceRange) return;\n const nextForm = { ...form, priceRange: undefined };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency]);\n\n useEffect(() => {\n const callback = (clubDiscount) => {\n const nextForm = { ...form, clubDiscount };\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n };\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n }, [form]);\n\n useEffect(() => {\n if (JSON.stringify(propItems) !== JSON.stringify(items)) setItems(propItems);\n\n const nextFilters = getAvailableFilters(propItems);\n if (JSON.stringify(nextFilters) !== JSON.stringify(filters)) setFilters(nextFilters);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [propItems]);\n\n const handleAmenity = (id, value) =>\n setForm({ ...form, amenities: value ? [...form.amenities, id] : form.amenities.filter((item) => item !== id) });\n\n const handleOption = (field, id) => setForm({ ...form, [field]: form[field] === id ? undefined : id });\n\n const handleBookingOption = async (field, value) => {\n const next = { ...form, [field]: value };\n setForm(next);\n\n if (field !== 'freeCancellation') await fetch(next);\n };\n\n const handleClearAll = () => {\n const { clubDiscount, offer, promocode, roomType } = form || {};\n setAllAmenities(false);\n setForm(DEFAULT_FORM);\n\n (clubDiscount || offer || promocode || roomType) && fetch(DEFAULT_FORM);\n };\n\n const handleSubmit = () => {\n memoizeForm = form;\n setVisible(false);\n setCounter(countFilters(form));\n onSubmit({ ...form, strictSearch: getStrictSearch(form) });\n };\n\n const fetch = async (next) => {\n setBusy(true);\n\n const { clubDiscount } = next;\n const strictSearch = getStrictSearch(next);\n const cart = []; // ! TODO: [MF-2006] Store should get the current cart of <Rates>\n const params = { cart, club, clubDiscount, finder, hotel, id, locale, maxRooms, session, strictSearch };\n const { items: nextItems } = (await fetchRates(params).catch(() => {})) || {};\n setItems(nextItems);\n if (nextItems) setFilters(getAvailableFilters(nextItems));\n\n setBusy(false);\n };\n\n const has = {\n clubDiscount: (discount !== undefined || clubConditions !== undefined) && !session,\n freeCancellation: true || !!filters.freeCancellation, // * We'll activate freeCancellation filter always.\n offer: !!idoffers,\n promocode: !!promocode,\n roomType: !!roomTypeId,\n };\n\n const filteredItems = select(items, form).filter(({ availability = 0 } = {}) => availability > 0);\n const { length: boardsLength } = filters.boards;\n const inlineBoards = !isMobile || (isMobile && boardsLength <= MAX_BOARDS - 1);\n const { name: roomTypeName } = items.find(({ id } = {}) => id === parseInt(roomTypeId)) || {};\n\n return (\n <>\n <ButtonFilters {...{ counter }} onPress={() => setVisible(true)} />\n\n <Modal\n fit\n portal\n title={translate(L10N.LABEL_FILTERS)}\n visible={visible}\n onClose={() => setVisible(false)}\n className={[style.modal, others.className]}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View className={style.section}>\n <Text bold headline>\n {translate(L10N.LABEL_BOOKING_OPTIONS)}\n </Text>\n\n {has.clubDiscount && (\n <BookingOption\n caption={\n clubConditions\n ? translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action small href={clubConditions} target=\"_blank\" className={style.textInline}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })\n : translate(L10N.LABEL_CLUB_BENEFITS)\n }\n checked={form.clubDiscount}\n club={club.name}\n field=\"clubDiscount\"\n title={L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE}\n onChange={handleBookingOption}\n />\n )}\n\n {BOOKING_OPTIONS.filter(({ field } = {}) => has[field]).map(({ field, title } = {}) => (\n <BookingOption\n key={field}\n checked={form[field]}\n {...{ field, title, roomName: roomTypeName, promocode: promocode?.toUpperCase() }}\n onChange={handleBookingOption}\n />\n ))}\n </View>\n\n {boardsLength > 1 && (\n <View className={style.section}>\n <Text bold headline>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n\n <View row={inlineBoards} className={styles(style.boards, inlineBoards && style.inline)}>\n {filters.boards.map(({ id, text, type }) => (\n <Option\n checked={form.board === type}\n key={`board:${id}`}\n inline={inlineBoards}\n outlined\n title={text}\n onPress={() => handleOption('board', type)}\n className={style.option}\n />\n ))}\n </View>\n </View>\n )}\n\n {filters.prices.length > 1 && (\n <InputRange\n caption={translate(L10N.LABEL_SET_PRICE_RANGE)}\n dataSource={filters.prices}\n resolution={isMobile ? 12 : 24}\n title={translate(L10N.LABEL_PRICE_RANGE)}\n unit={currencySymbol(currency, { locale })}\n value={form.priceRange}\n onChange={(priceRange) => setForm({ ...form, priceRange })}\n className={style.section}\n />\n )}\n\n <View className={style.section}>\n <Text bold headline wide>\n {translate(L10N.LABEL_AMENITIES)}\n </Text>\n\n <View>\n <View row className={style.amenities}>\n {filters.amenities\n .filter((item) => item.highlight)\n .map(({ id, text }) => (\n <Amenity\n checked={form.amenities.includes(id)}\n id={id}\n key={id}\n label={text}\n onChange={handleAmenity}\n />\n ))}\n </View>\n\n {allAmenities ? (\n <>\n <Text action bold wide className={style.textOthers}>\n {translate(L10N.LABEL_OTHERS)}\n </Text>\n\n <View row className={style.amenities}>\n {filters.amenities\n .filter((item) => !item.highlight)\n .map(({ id, text }) => (\n <Amenity\n checked={form.amenities.includes(id)}\n id={id}\n key={id}\n label={text}\n onChange={handleAmenity}\n />\n ))}\n </View>\n </>\n ) : (\n <Action underline onPress={() => setAllAmenities(true)}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Action>\n )}\n </View>\n </View>\n\n {filters.bedTypes.length > 1 && (\n <View className={style.section}>\n <Text bold headline wide>\n {translate(L10N.LABEL_BED_TYPE)}\n </Text>\n\n <View row>\n {filters.bedTypes.map((bedType) => (\n <Option\n key={`bedType:${bedType}`}\n checked={form.bedType === bedType}\n icon={bedType === 1 ? ICON.BED_SINGLE : ICON.BED_DOUBLE}\n inline\n outlined\n title={translate(bedType === 1 ? L10N.LABEL_BED_TYPE_SINGLE : L10N.LABEL_BED_TYPE_DOUBLE)}\n onPress={() => handleOption('bedType', bedType)}\n className={style.option}\n />\n ))}\n </View>\n </View>\n )}\n\n {filters.sizes.length > 1 && (\n <InputRange\n dataSource={filters.sizes}\n resolution={isMobile ? 4 : 6}\n title={translate(L10N.LABEL_ROOM_SIZE)}\n unit={filters.sizeUnit}\n value={form.sizeRange}\n onChange={(sizeRange) => setForm({ ...form, sizeRange })}\n className={style.section}\n />\n )}\n </ScrollView>\n\n <View row className={[style.footer, style.spaceBetween]}>\n <Button transparent onPress={handleClearAll}>\n {translate(L10N.ACTION_CLEAR_ALL)}\n </Button>\n <Button busy={busy} disabled={!filteredItems.length} onPress={handleSubmit}>\n {translate(filteredItems.length ? L10N.LABEL_SHOW_COUNT_RESULTS : L10N.LABEL_NO_EXACT_MATCHES, {\n count: filteredItems.length,\n })}\n </Button>\n </View>\n </Modal>\n </>\n );\n};\n\nFilters.displayName = 'Mirai:Core:Rates:Filters';\n\nFilters.propTypes = {\n clubDiscount: PropTypes.bool,\n clubConditions: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n onSubmit: PropTypes.func,\n};\n\nexport { Filters };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Filters.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Filters","_Filters2","_Filters3","_Filters4","_Filters5","style","_helpers","_helpers2","_helpers3","_components2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","memoizeForm","Filters","_ref","clubConditions","items","propItems","onSubmit","others","isMobile","useDevice","translate","useLocale","value","currency","club","finder","hotel","id","locale","occupation","maxRooms","session","urlParams","idoffers","roomTypeId","useStore","discount","promocode","allAmenities","setAllAmenities","useState","busy","setBusy","counter","setCounter","filters","setFilters","getAvailableFilters","form","setForm","DEFAULT_FORM","setItems","visible","setVisible","useEffect","nextForm","clubDiscount","undefined","offer","roomType","countFilters","priceRange","callback","Event","subscribe","EVENT","RATES_FILTER_CLUB","unsubscribe","JSON","stringify","nextFilters","handleAmenity","amenities","filter","item","handleOption","field","handleBookingOption","next","fetch","handleClearAll","handleSubmit","strictSearch","getStrictSearch","cart","params","nextItems","fetchRates","catch","freeCancellation","filteredItems","select","availability","arguments","length","boardsLength","boards","inlineBoards","MAX_BOARDS","name","roomTypeName","find","parseInt","createElement","Fragment","Button","onPress","Modal","fit","portal","title","L10N","LABEL_FILTERS","onClose","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","section","Text","bold","headline","LABEL_BOOKING_OPTIONS","BookingOption","caption","LABEL_CLUB_CONDITIONS","conditions","Action","small","href","target","textInline","ACTION_CLUB_VIEW_CONDITIONS","LABEL_CLUB_BENEFITS","checked","LABEL_CLUB_MEMBERS_EXCLUSIVE","onChange","BOOKING_OPTIONS","map","key","roomName","toUpperCase","LABEL_ACCOMMODATION_PLAN","row","styles","inline","_ref2","text","type","Option","board","concat","outlined","option","prices","InputRange","LABEL_SET_PRICE_RANGE","dataSource","resolution","LABEL_PRICE_RANGE","unit","currencySymbol","wide","LABEL_AMENITIES","highlight","_ref3","Amenity","includes","label","action","textOthers","LABEL_OTHERS","_ref4","underline","ACTION_VIEW_MORE","bedTypes","LABEL_BED_TYPE","bedType","icon","ICON","BED_SINGLE","BED_DOUBLE","LABEL_BED_TYPE_SINGLE","LABEL_BED_TYPE_DOUBLE","sizes","LABEL_ROOM_SIZE","sizeUnit","sizeRange","footer","spaceBetween","transparent","ACTION_CLEAR_ALL","disabled","LABEL_SHOW_COUNT_RESULTS","LABEL_NO_EXACT_MATCHES","count","exports","displayName","propTypes","PropTypes","bool","string","arrayOf","shape","func"],"sources":["../../../../../src/components/Rates/components/Filters/Filters.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencySymbol, useLocale } from '@mirai/locale';\nimport { Action, Button, Modal, ScrollView, styles, useDevice, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { InputRange } from './components';\nimport { Amenity } from './Filters.Amenity';\nimport { BookingOption } from './Filters.BookingOption';\nimport { Button as ButtonFilters } from './Filters.Button';\nimport { BOOKING_OPTIONS, DEFAULT_FORM, MAX_BOARDS } from './Filters.constants';\nimport { L10N } from './Filters.l10n';\nimport * as style from './Filters.module.css';\nimport { countFilters, getAvailableFilters, getStrictSearch } from './helpers';\nimport { EVENT, ICON } from '../../../helpers';\nimport { fetchRates, select } from '../../helpers';\nimport { Option } from '../Item/components';\n\nlet memoizeForm;\n\nconst Filters = ({ clubConditions, items: propItems = [], onSubmit = () => {}, ...others }) => {\n const { isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n currency,\n club = {},\n finder = {},\n hotel,\n id,\n locale,\n occupation: { maxRooms } = {},\n session,\n urlParams: { idoffers, roomTypeId } = {},\n } = {},\n } = useStore();\n\n const { discount } = club;\n const { promocode } = finder;\n\n const [allAmenities, setAllAmenities] = useState(false);\n const [busy, setBusy] = useState(false);\n const [counter, setCounter] = useState(0);\n const [filters, setFilters] = useState(getAvailableFilters(propItems));\n const [form, setForm] = useState(DEFAULT_FORM);\n const [items, setItems] = useState(propItems);\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n const nextForm = memoizeForm || {\n ...DEFAULT_FORM,\n clubDiscount: !session && discount !== undefined ? !!discount : undefined,\n offer: idoffers ? !!idoffers : undefined,\n promocode: promocode ? !!promocode : undefined,\n roomType: roomTypeId ? !!roomTypeId : undefined,\n };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!form.priceRange) return;\n const nextForm = { ...form, priceRange: undefined };\n\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currency]);\n\n useEffect(() => {\n const callback = (clubDiscount) => {\n const nextForm = { ...form, clubDiscount };\n setForm(nextForm);\n setCounter(countFilters(nextForm));\n };\n\n Event.subscribe(EVENT.RATES_FILTER_CLUB, callback);\n\n return () => Event.unsubscribe(EVENT.RATES_FILTER_CLUB, callback);\n }, [form]);\n\n useEffect(() => {\n if (JSON.stringify(propItems) !== JSON.stringify(items)) setItems(propItems);\n\n const nextFilters = getAvailableFilters(propItems);\n if (JSON.stringify(nextFilters) !== JSON.stringify(filters)) setFilters(nextFilters);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [propItems]);\n\n const handleAmenity = (id, value) =>\n setForm({ ...form, amenities: value ? [...form.amenities, id] : form.amenities.filter((item) => item !== id) });\n\n const handleOption = (field, id) => setForm({ ...form, [field]: form[field] === id ? undefined : id });\n\n const handleBookingOption = async (field, value) => {\n const next = { ...form, [field]: value };\n setForm(next);\n\n if (field !== 'freeCancellation') await fetch(next);\n };\n\n const handleClearAll = () => {\n const { clubDiscount, offer, promocode, roomType } = form || {};\n setAllAmenities(false);\n setForm(DEFAULT_FORM);\n\n (clubDiscount || offer || promocode || roomType) && fetch(DEFAULT_FORM);\n };\n\n const handleSubmit = () => {\n memoizeForm = form;\n setVisible(false);\n setCounter(countFilters(form));\n onSubmit({ ...form, strictSearch: getStrictSearch(form) });\n };\n\n const fetch = async (next) => {\n setBusy(true);\n\n const { clubDiscount } = next;\n const strictSearch = getStrictSearch(next);\n const cart = []; // ! TODO: [MF-2006] Store should get the current cart of <Rates>\n const params = { cart, club, clubDiscount, finder, hotel, id, locale, maxRooms, session, strictSearch };\n const { items: nextItems } = (await fetchRates(params).catch(() => {})) || {};\n setItems(nextItems);\n if (nextItems) setFilters(getAvailableFilters(nextItems));\n\n setBusy(false);\n };\n\n const has = {\n clubDiscount: (discount !== undefined || clubConditions !== undefined) && !session,\n freeCancellation: true || !!filters.freeCancellation, // * We'll activate freeCancellation filter always.\n offer: !!idoffers,\n promocode: !!promocode,\n roomType: !!roomTypeId,\n };\n\n const filteredItems = select(items, form).filter(({ availability = 0 } = {}) => availability > 0);\n const { length: boardsLength } = filters.boards;\n const inlineBoards = !isMobile || (isMobile && boardsLength <= MAX_BOARDS - 1);\n const { name: roomTypeName } = items.find(({ id } = {}) => id === parseInt(roomTypeId)) || {};\n\n return (\n <>\n <ButtonFilters {...{ counter }} onPress={() => setVisible(true)} />\n\n <Modal\n fit\n portal\n title={translate(L10N.LABEL_FILTERS)}\n visible={visible}\n onClose={() => setVisible(false)}\n className={[style.modal, others.className]}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View className={style.section}>\n <Text bold headline>\n {translate(L10N.LABEL_BOOKING_OPTIONS)}\n </Text>\n\n {has.clubDiscount && (\n <BookingOption\n caption={\n clubConditions\n ? translate(L10N.LABEL_CLUB_CONDITIONS, {\n conditions: (\n <Action small href={clubConditions} target=\"_blank\" className={style.textInline}>\n {translate(L10N.ACTION_CLUB_VIEW_CONDITIONS)}\n </Action>\n ),\n })\n : translate(L10N.LABEL_CLUB_BENEFITS)\n }\n checked={form.clubDiscount}\n club={club.name}\n field=\"clubDiscount\"\n title={L10N.LABEL_CLUB_MEMBERS_EXCLUSIVE}\n onChange={handleBookingOption}\n />\n )}\n\n {BOOKING_OPTIONS.filter(({ field } = {}) => has[field]).map(({ field, title } = {}) => (\n <BookingOption\n key={field}\n checked={form[field]}\n {...{ field, title, roomName: roomTypeName, promocode: promocode?.toUpperCase() }}\n onChange={handleBookingOption}\n />\n ))}\n </View>\n\n {boardsLength > 1 && (\n <View className={style.section}>\n <Text bold headline>\n {translate(L10N.LABEL_ACCOMMODATION_PLAN)}\n </Text>\n\n <View row={inlineBoards} className={styles(style.boards, inlineBoards && style.inline)}>\n {filters.boards.map(({ id, text, type }) => (\n <Option\n checked={form.board === type}\n key={`board:${id}`}\n inline={inlineBoards}\n outlined\n title={text}\n onPress={() => handleOption('board', type)}\n className={style.option}\n />\n ))}\n </View>\n </View>\n )}\n\n {filters.prices.length > 1 && (\n <InputRange\n caption={translate(L10N.LABEL_SET_PRICE_RANGE)}\n dataSource={filters.prices}\n resolution={isMobile ? 12 : 24}\n title={translate(L10N.LABEL_PRICE_RANGE)}\n unit={currencySymbol(currency, { locale })}\n value={form.priceRange}\n onChange={(priceRange) => setForm({ ...form, priceRange })}\n className={style.section}\n />\n )}\n\n <View className={style.section}>\n <Text bold headline wide>\n {translate(L10N.LABEL_AMENITIES)}\n </Text>\n\n <View>\n <View row className={style.amenities}>\n {filters.amenities\n .filter((item) => item.highlight)\n .map(({ id, text }) => (\n <Amenity\n checked={form.amenities.includes(id)}\n id={id}\n key={id}\n label={text}\n onChange={handleAmenity}\n />\n ))}\n </View>\n\n {allAmenities ? (\n <>\n <Text action bold wide className={style.textOthers}>\n {translate(L10N.LABEL_OTHERS)}\n </Text>\n\n <View row className={style.amenities}>\n {filters.amenities\n .filter((item) => !item.highlight)\n .map(({ id, text }) => (\n <Amenity\n checked={form.amenities.includes(id)}\n id={id}\n key={id}\n label={text}\n onChange={handleAmenity}\n />\n ))}\n </View>\n </>\n ) : (\n <Action underline onPress={() => setAllAmenities(true)}>\n {translate(L10N.ACTION_VIEW_MORE)}\n </Action>\n )}\n </View>\n </View>\n\n {filters.bedTypes.length > 1 && (\n <View className={style.section}>\n <Text bold headline wide>\n {translate(L10N.LABEL_BED_TYPE)}\n </Text>\n\n <View row>\n {filters.bedTypes.map((bedType) => (\n <Option\n key={`bedType:${bedType}`}\n checked={form.bedType === bedType}\n icon={bedType === 1 ? ICON.BED_SINGLE : ICON.BED_DOUBLE}\n inline\n outlined\n title={translate(bedType === 1 ? L10N.LABEL_BED_TYPE_SINGLE : L10N.LABEL_BED_TYPE_DOUBLE)}\n onPress={() => handleOption('bedType', bedType)}\n className={style.option}\n />\n ))}\n </View>\n </View>\n )}\n\n {filters.sizes.length > 1 && (\n <InputRange\n dataSource={filters.sizes}\n resolution={isMobile ? 4 : 6}\n title={translate(L10N.LABEL_ROOM_SIZE)}\n unit={filters.sizeUnit}\n value={form.sizeRange}\n onChange={(sizeRange) => setForm({ ...form, sizeRange })}\n className={style.section}\n />\n )}\n </ScrollView>\n\n <View row className={[style.footer, style.spaceBetween]}>\n <Button transparent onPress={handleClearAll}>\n {translate(L10N.ACTION_CLEAR_ALL)}\n </Button>\n <Button busy={busy} disabled={!filteredItems.length} onPress={handleSubmit}>\n {translate(filteredItems.length ? L10N.LABEL_SHOW_COUNT_RESULTS : L10N.LABEL_NO_EXACT_MATCHES, {\n count: filteredItems.length,\n })}\n </Button>\n </View>\n </Modal>\n </>\n );\n};\n\nFilters.displayName = 'Mirai:Core:Rates:Filters';\n\nFilters.propTypes = {\n clubDiscount: PropTypes.bool,\n clubConditions: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n onSubmit: PropTypes.func,\n};\n\nexport { Filters };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`<Rates> <Filters.Button> renders 1`] = `
|
|
4
|
+
<DocumentFragment>
|
|
5
|
+
<ui-button
|
|
6
|
+
class="pressable button secondary"
|
|
7
|
+
tabindex="0"
|
|
8
|
+
>
|
|
9
|
+
<ui-icon
|
|
10
|
+
class="icon headline-3"
|
|
11
|
+
>
|
|
12
|
+
<svg
|
|
13
|
+
fill="currentColor"
|
|
14
|
+
height="1em"
|
|
15
|
+
stroke="currentColor"
|
|
16
|
+
stroke-width="0"
|
|
17
|
+
viewBox="0 0 24 24"
|
|
18
|
+
width="1em"
|
|
19
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
20
|
+
>
|
|
21
|
+
<path
|
|
22
|
+
d="M0 0h24v24H0V0z"
|
|
23
|
+
fill="none"
|
|
24
|
+
/>
|
|
25
|
+
<path
|
|
26
|
+
d="M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z"
|
|
27
|
+
/>
|
|
28
|
+
</svg>
|
|
29
|
+
</ui-icon>
|
|
30
|
+
common.label.filters
|
|
31
|
+
</ui-button>
|
|
32
|
+
</DocumentFragment>
|
|
33
|
+
`;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`<Rates> <Filters.Amenity> renders 1`] = `
|
|
4
|
+
<DocumentFragment>
|
|
5
|
+
<ui-input-option
|
|
6
|
+
class="pressable inputOption"
|
|
7
|
+
tabindex="0"
|
|
8
|
+
>
|
|
9
|
+
<ui-checkbox
|
|
10
|
+
class="checkbox"
|
|
11
|
+
>
|
|
12
|
+
<input
|
|
13
|
+
class="input"
|
|
14
|
+
name="amenity:undefined"
|
|
15
|
+
type="checkbox"
|
|
16
|
+
value=""
|
|
17
|
+
/>
|
|
18
|
+
</ui-checkbox>
|
|
19
|
+
</ui-input-option>
|
|
20
|
+
</DocumentFragment>
|
|
21
|
+
`;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`<Rates> <Filters.BookingOption> renders 1`] = `
|
|
4
|
+
<DocumentFragment>
|
|
5
|
+
<ui-view
|
|
6
|
+
class="view row"
|
|
7
|
+
>
|
|
8
|
+
<ui-view
|
|
9
|
+
class="view"
|
|
10
|
+
>
|
|
11
|
+
<ui-text
|
|
12
|
+
class="text action"
|
|
13
|
+
/>
|
|
14
|
+
</ui-view>
|
|
15
|
+
<ui-switch
|
|
16
|
+
class="switch"
|
|
17
|
+
>
|
|
18
|
+
<input
|
|
19
|
+
name="switch:undefined"
|
|
20
|
+
type="checkbox"
|
|
21
|
+
/>
|
|
22
|
+
<ui-primitive
|
|
23
|
+
class="area"
|
|
24
|
+
>
|
|
25
|
+
<ui-primitive
|
|
26
|
+
class="toggle"
|
|
27
|
+
/>
|
|
28
|
+
</ui-primitive>
|
|
29
|
+
</ui-switch>
|
|
30
|
+
</ui-view>
|
|
31
|
+
</DocumentFragment>
|
|
32
|
+
`;
|