@mirai/core 0.3.293 → 0.3.294

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.
@@ -69,6 +69,7 @@ const Finder = _ref => {
69
69
  const [unavailability, setUnavailability] = (0, _react.useState)();
70
70
  const [value, setValue] = (0, _react.useState)((0, _helpers.parseValue)(storeFinder));
71
71
  const [visited, setVisited] = (0, _react.useState)({});
72
+ const [warning, setWarning] = (0, _react.useState)();
72
73
  const [width, setWidth] = (0, _react.useState)();
73
74
  (0, _react.useEffect)(() => {
74
75
  if (!(storeFinder !== null && storeFinder !== void 0 && storeFinder.occupation)) set({
@@ -158,6 +159,7 @@ const Finder = _ref => {
158
159
  };
159
160
  const handlePlaceChange = async (place, event) => {
160
161
  var _fetchUrlParams;
162
+ setWarning();
161
163
  handleChange(_Finder2.VIEW.PLACE, place, event);
162
164
  if (place.isHotel && !((_fetchUrlParams = (0, _helpers2.fetchUrlParams)(window.location.search)) !== null && _fetchUrlParams !== void 0 && _fetchUrlParams.currency)) {
163
165
  // ! TODO: Same here, this should be responsibility of <Core>...
@@ -171,6 +173,7 @@ const Finder = _ref => {
171
173
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
172
174
  const [firstError] = Object.keys(error).filter(key => !!error[key]);
173
175
  if (firstError) return setFocus(firstError);
176
+ setWarning(false);
174
177
  setFocus(undefined);
175
178
  set({
176
179
  finder: nextValue
@@ -301,6 +304,7 @@ const Finder = _ref => {
301
304
  text: compacted ? text : undefined,
302
305
  value: occupation,
303
306
  visible: focus === _Finder2.VIEW.OCCUPATION,
307
+ withWarning: warning,
304
308
  onChange: (occupation, event) => handleChange(_Finder2.VIEW.OCCUPATION, occupation, event),
305
309
  onError: occupation => {
306
310
  if (!isMobile && focus !== _Finder2.VIEW.OCCUPATION) setFocus(_Finder2.VIEW.OCCUPATION);
@@ -315,6 +319,9 @@ const Finder = _ref => {
315
319
  ...error,
316
320
  occupation: undefined
317
321
  }),
322
+ onWarning: () => {
323
+ if (!isMobile && focus !== _Finder2.VIEW.OCCUPATION) setFocus(_Finder2.VIEW.OCCUPATION);
324
+ },
318
325
  testId: others.testId ? "".concat(others.testId, "-occupation") : undefined
319
326
  }, fieldProps)), inline && /*#__PURE__*/_react.default.createElement(_ui.View, {
320
327
  className: style.separator
@@ -1 +1 @@
1
- {"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_getAvailableWidth","_helpers2","_prepareRoom","_shared__","_Occupation","_helpers3","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","HOTEL","TYPE","memoizedScrollY","Finder","_ref","_dataSource$places","assisted","compacted","icon","inline","layout","text","onChange","onSubmit","others","isMobile","width","deviceWidth","useDevice","dateFormat","translate","useLocale","ref","useRef","value","currency","propCurrency","finder","storeFinder","forwarder","locale","type","store","useStore","calendarPosition","setCalendarPosition","useState","setCurrency","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","setWidth","useEffect","occupation","prepareRoom","DATASOURCE","handleClickOutside","_ref$current","undefined","current","contains","document","addEventListener","removeEventListener","getAvailableWidth","disabledDates","place","callback","calendar","handleSubmit","nextValue","skeleton","setTimeout","track","Event","subscribe","EVENT","FINDER","unsubscribe","handleScroll","scrollY","window","GAP_SCROLL","JSON","stringify","concat","handleChange","field","fieldValue","next","handlePlaceChange","event","_fetchUrlParams","VIEW","PLACE","isHotel","fetchUrlParams","location","search","fetchCurrency","id","assistant","firstError","keys","filter","forwarderUrl","getForwarderUrl","href","CALENDAR","includes","promocode","ids","dataSource","getDataSource","hotel","idHotel","is","column","fieldProps","className","centered","maxWidth","createElement","Fragment","Compact","onExpand","View","role","row","testId","styles","places","Field","FIELD","caption","getPlaceCaption","options","label","L10N","LABEL_WHERE","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","Places","autoColumn","separator","getCalendarCaption","LABEL_WHEN","onPosition","Calendar","parseCalendarProps","variants","onError","onValid","top","calendarOnTop","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","OCCUPATION","FieldPromocode","PROMOCODE","onEnter","onLeave","Button","large","wide","button","withIcon","Icon","ICON","SEARCH","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","bool","oneOf","string","func"],"sources":["../../../src/components/Finder/Finder.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Button, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar, Places } from './components';\nimport { Compact } from './Finder.compact';\nimport { FIELD, GAP_SCROLL, TYPE, VIEW } from './Finder.constants';\nimport { L10N } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport {\n getDataSource,\n getForwarderUrl,\n getHotels,\n getOccupationDataSource,\n getPlaceCaption,\n parseCalendarProps,\n parseValue,\n} from './helpers';\nimport { track } from './helpers';\nimport { getAvailableWidth } from './helpers/getAvailableWidth';\nimport { fetchCurrency, fetchUrlParams } from '../../helpers';\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { getCalendarCaption } from '../helpers';\nimport { EVENT, ICON } from '../helpers';\n\nconst { HOTEL } = TYPE;\nlet memoizedScrollY = 0;\n\nconst Finder = ({\n assisted = true,\n compacted = false,\n icon = false,\n inline = true,\n layout,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, width: deviceWidth } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: { currency: propCurrency, finder: storeFinder, forwarder, locale, type = HOTEL, ...store },\n } = useStore();\n\n const [calendarPosition, setCalendarPosition] = useState();\n const [currency, setCurrency] = useState();\n const [error, setError] = useState({});\n const [focus, setFocus] = useState();\n const [unavailability, setUnavailability] = useState();\n const [value, setValue] = useState(parseValue(storeFinder));\n const [visited, setVisited] = useState({});\n const [width, setWidth] = useState();\n\n useEffect(() => {\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n if (isMobile) return;\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n document.addEventListener('click', handleClickOutside, true);\n\n return () => document.removeEventListener('click', handleClickOutside, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (layout === 'column' && ref.current) setWidth(getAvailableWidth(ref.current));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deviceWidth]);\n\n useEffect(() => {\n setUnavailability({ disabledDates: [] });\n }, [value?.occupation, value?.place]);\n\n useEffect(() => {\n const callback = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n\n !others?.skeleton && !onSubmit && setTimeout(() => track({ isMobile, type, ...store }), 10);\n\n Event.subscribe(EVENT.FINDER, callback);\n\n return () => Event.unsubscribe(EVENT.FINDER, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // ! TODO: Why this one? Is not responsibility of <Finder> change the currency when prop changes.\n useEffect(() => setCurrency(propCurrency), [propCurrency]);\n\n useEffect(() => {\n if (!compacted) return;\n\n const handleScroll = () => {\n const { scrollY } = window;\n if (scrollY > memoizedScrollY + GAP_SCROLL || scrollY < memoizedScrollY - GAP_SCROLL) {\n memoizedScrollY = scrollY;\n setFocus(undefined);\n }\n };\n window.addEventListener('scroll', handleScroll);\n\n return () => window.removeEventListener('scroll', handleScroll);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [compacted]);\n\n useEffect(\n () => JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder)) && setValue(parseValue(storeFinder)),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n focus && setVisited({ ...visited, [`${focus}`]: true });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focus]);\n\n const handleChange = (field, fieldValue) => {\n const next = { ...value, [field]: fieldValue };\n\n setValue(next);\n onChange(next, field, fieldValue);\n };\n\n const handlePlaceChange = async (place, event) => {\n handleChange(VIEW.PLACE, place, event);\n if (place.isHotel && !fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n setCurrency(await fetchCurrency(place.id[0]));\n }\n assisted && assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\n setFocus(undefined);\n set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n if (onSubmit) onSubmit({ ...nextValue, forwarderUrl });\n else window.location.href = forwarderUrl;\n };\n\n const assistant = () => {\n if (!assisted) return setFocus(undefined);\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (!compacted || (assisted && [VIEW.CALENDAR, VIEW.PLACE].includes(focus))) setFocus(undefined);\n };\n\n const { calendar = [], occupation, place = {}, promocode } = value;\n const { id: ids = [], isHotel } = place;\n\n const dataSource = getDataSource({ type, ...store });\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n\n const is = {\n compacted: (compacted && isMobile) || (compacted && !isMobile && !focus),\n column: !isMobile && layout === 'column',\n };\n\n const fieldProps = {\n compacted: is.compacted,\n inline,\n className: style.field,\n ...(is.column ? { centered: true, style: width ? { maxWidth: width, width } : undefined } : undefined),\n };\n\n return (\n <>\n {is.compacted && <Compact {...{ value, dataSource }} onExpand={setFocus} onSubmit={handleSubmit} />}\n\n <View\n role=\"finder\"\n ref={ref}\n row={!isMobile}\n testId={others.testId}\n className={\n !is.compacted\n ? styles(style.finder, inline && style.inline, layout && style[layout], others.className)\n : undefined\n }\n >\n {dataSource.places && (\n <>\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places.options)}\n label={translate(L10N.LABEL_WHERE)}\n placeholder={dataSource.places.placeholder || translate(L10N.LABEL_WHERE_PLACEHOLDER)}\n visible={focus === VIEW.PLACE}\n onPress={() => setFocus(focus !== VIEW.PLACE ? VIEW.PLACE : undefined)}\n {...fieldProps}\n >\n <Places\n autoColumn={focus === VIEW.PLACE}\n dataSource={dataSource.places.options}\n text={compacted ? text : undefined}\n value={place.value}\n onChange={handlePlaceChange}\n onSubmit={isMobile ? (compacted ? handleSubmit : assisted ? assistant : undefined) : undefined}\n testId={others.testId ? `${others.testId}-places` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n </>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\n onPosition={setCalendarPosition}\n onPress={() => setFocus(focus !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n {...fieldProps}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency}\n locale={locale}\n text={compacted ? text : undefined}\n unavailability={unavailability}\n value={calendar}\n onChange={(calendar, event) => {\n handleChange(VIEW.CALENDAR, calendar, event);\n if (calendar.length === 2 && assisted) assistant();\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onValid={() => setError({ ...error, calendar: undefined })}\n onSubmit={isMobile ? (compacted ? handleSubmit : assisted ? assistant : undefined) : undefined}\n className={styles(calendarPosition?.top && style.calendarOnTop)}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n\n <FieldOccupation\n dataSource={getOccupationDataSource({\n ...dataSource,\n places: dataSource.places?.options,\n place: place?.value,\n })}\n hotels={getHotels(dataSource.placesSource, place.value)}\n maxRooms={dataSource.maxRooms}\n text={compacted ? text : undefined}\n value={occupation}\n visible={focus === VIEW.OCCUPATION}\n onChange={(occupation, event) => handleChange(VIEW.OCCUPATION, occupation, event)}\n onError={(occupation) => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setFocus(focus !== VIEW.OCCUPATION ? VIEW.OCCUPATION : undefined)}\n onSubmit={isMobile ? (compacted ? handleSubmit : assisted ? assistant : undefined) : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n testId={others.testId ? `${others.testId}-occupation` : undefined}\n {...fieldProps}\n />\n\n {inline && <View className={style.separator} />}\n\n <FieldPromocode\n value={promocode}\n visible={focus === VIEW.PROMOCODE}\n onChange={(promocode, event) => handleChange(VIEW.PROMOCODE, promocode, event)}\n onEnter={!compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && compacted ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted && (\n <Button\n large\n wide={isMobile || is.column}\n onPress={handleSubmit}\n className={styles(style.button, icon && !is.column && style.withIcon)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {icon && !is.column ? <Icon value={ICON.SEARCH} /> : text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n assisted: PropTypes.bool,\n compacted: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\n icon: PropTypes.bool,\n inline: PropTypes.bool,\n text: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AACA,IAAAW,KAAA,GAAAL,uBAAA,CAAAN,OAAA;AACA,IAAAY,QAAA,GAAAZ,OAAA;AAUA,IAAAa,kBAAA,GAAAb,OAAA;AACA,IAAAc,SAAA,GAAAd,OAAA;AACA,IAAAe,YAAA,GAAAf,OAAA;AACA,IAAAgB,SAAA,GAAAhB,OAAA;AACA,IAAAiB,WAAA,GAAAjB,OAAA;AACA,IAAAkB,SAAA,GAAAlB,OAAA;AAAgD,SAAAmB,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAd,wBAAAc,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAxB,uBAAAoC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAGhD,MAAM;EAAEK;AAAM,CAAC,GAAGC,aAAI;AACtB,IAAIC,eAAe,GAAG,CAAC;AAEvB,MAAMC,MAAM,GAAGC,IAAA,IAUT;EAAA,IAAAC,kBAAA;EAAA,IAVU;IACdC,QAAQ,GAAG,IAAI;IACfC,SAAS,GAAG,KAAK;IACjBC,IAAI,GAAG,KAAK;IACZC,MAAM,GAAG,IAAI;IACbC,MAAM;IACNC,IAAI;IACJC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IACnBC,QAAQ;IACR,GAAGC;EACL,CAAC,GAAAV,IAAA;EACC,MAAM;IAAEW,QAAQ;IAAEC,KAAK,EAAEC;EAAY,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EACpD,MAAM;IAAEC,UAAU;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAC7C,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EACxB,MAAM;IACJlC,GAAG;IACHmC,KAAK,EAAE;MAAEC,QAAQ,EAAEC,YAAY;MAAEC,MAAM,EAAEC,WAAW;MAAEC,SAAS;MAAEC,MAAM;MAAEC,IAAI,GAAG/B,KAAK;MAAE,GAAGgC;IAAM;EAClG,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAC1D,MAAM,CAACX,QAAQ,EAAEY,WAAW,CAAC,GAAG,IAAAD,eAAQ,EAAC,CAAC;EAC1C,MAAM,CAACE,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAH,eAAQ,EAAC,CAAC,CAAC,CAAC;EACtC,MAAM,CAACI,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAL,eAAQ,EAAC,CAAC;EACpC,MAAM,CAACM,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAP,eAAQ,EAAC,CAAC;EACtD,MAAM,CAACZ,KAAK,EAAEoB,QAAQ,CAAC,GAAG,IAAAR,eAAQ,EAAC,IAAAS,mBAAU,EAACjB,WAAW,CAAC,CAAC;EAC3D,MAAM,CAACkB,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAX,eAAQ,EAAC,CAAC,CAAC,CAAC;EAC1C,MAAM,CAACpB,KAAK,EAAEgC,QAAQ,CAAC,GAAG,IAAAZ,eAAQ,EAAC,CAAC;EAEpC,IAAAa,gBAAS,EAAC,MAAM;IACd,IAAI,EAACrB,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEsB,UAAU,GAAE7D,GAAG,CAAC;MAAEsC,MAAM,EAAE;QAAE,GAAGC,WAAW;QAAEsB,UAAU,EAAE,CAAC,IAAAC,wBAAW,EAACC,sBAAU,CAAC;MAAE;IAAE,CAAC,CAAC;IACxG,IAAIrC,QAAQ,EAAE;IAEd,MAAMsC,kBAAkB,GAAG,SAAAA,CAAA;MAAA,IAAAC,YAAA;MAAA,IAAC;QAAE5D;MAAO,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA4D,SAAA,GAAA5D,SAAA,MAAG,CAAC,CAAC;MAAA,OAAK,GAAA2D,YAAA,GAAChC,GAAG,CAACkC,OAAO,cAAAF,YAAA,eAAXA,YAAA,CAAaG,QAAQ,CAAC/D,MAAM,CAAC,KAAI+C,QAAQ,CAACc,SAAS,CAAC;IAAA;IACrGG,QAAQ,CAACC,gBAAgB,CAAC,OAAO,EAAEN,kBAAkB,EAAE,IAAI,CAAC;IAE5D,OAAO,MAAMK,QAAQ,CAACE,mBAAmB,CAAC,OAAO,EAAEP,kBAAkB,EAAE,IAAI,CAAC;IAC5E;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAJ,gBAAS,EAAC,MAAM;IACd,IAAIvC,MAAM,KAAK,QAAQ,IAAIY,GAAG,CAACkC,OAAO,EAAER,QAAQ,CAAC,IAAAa,oCAAiB,EAACvC,GAAG,CAACkC,OAAO,CAAC,CAAC;IAChF;EACF,CAAC,EAAE,CAACvC,WAAW,CAAC,CAAC;EAEjB,IAAAgC,gBAAS,EAAC,MAAM;IACdN,iBAAiB,CAAC;MAAEmB,aAAa,EAAE;IAAG,CAAC,CAAC;EAC1C,CAAC,EAAE,CAACtC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE0B,UAAU,EAAE1B,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEuC,KAAK,CAAC,CAAC;EAErC,IAAAd,gBAAS,EAAC,MAAM;IACd,MAAMe,QAAQ,GAAG,SAAAA,CAAA,EAAsC;MAAA,IAArC;QAAEC,QAAQ;QAAEtC,MAAM;QAAEa;MAAM,CAAC,GAAA7C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA4D,SAAA,GAAA5D,SAAA,MAAG,CAAC,CAAC;MAChD,IAAIgC,MAAM,EAAE,OAAOuC,YAAY,CAAC;QAAEC,SAAS,EAAExC;MAAO,CAAC,CAAC;MAEtDgB,iBAAiB,CAACsB,QAAQ,CAAC;MAC3B,IAAIzB,KAAK,EAAEC,QAAQ,CAACD,KAAK,CAAC;IAC5B,CAAC;IAED,EAAC1B,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEsD,QAAQ,KAAI,CAACvD,QAAQ,IAAIwD,UAAU,CAAC,MAAM,IAAAC,cAAK,EAAC;MAAEvD,QAAQ;MAAEgB,IAAI;MAAE,GAAGC;IAAM,CAAC,CAAC,EAAE,EAAE,CAAC;IAE3FuC,kBAAK,CAACC,SAAS,CAACC,eAAK,CAACC,MAAM,EAAEV,QAAQ,CAAC;IAEvC,OAAO,MAAMO,kBAAK,CAACI,WAAW,CAACF,eAAK,CAACC,MAAM,EAAEV,QAAQ,CAAC;IACtD;EACF,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,IAAAf,gBAAS,EAAC,MAAMZ,WAAW,CAACX,YAAY,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAE1D,IAAAuB,gBAAS,EAAC,MAAM;IACd,IAAI,CAAC1C,SAAS,EAAE;IAEhB,MAAMqE,YAAY,GAAGA,CAAA,KAAM;MACzB,MAAM;QAAEC;MAAQ,CAAC,GAAGC,MAAM;MAC1B,IAAID,OAAO,GAAG3E,eAAe,GAAG6E,mBAAU,IAAIF,OAAO,GAAG3E,eAAe,GAAG6E,mBAAU,EAAE;QACpF7E,eAAe,GAAG2E,OAAO;QACzBpC,QAAQ,CAACc,SAAS,CAAC;MACrB;IACF,CAAC;IACDuB,MAAM,CAACnB,gBAAgB,CAAC,QAAQ,EAAEiB,YAAY,CAAC;IAE/C,OAAO,MAAME,MAAM,CAAClB,mBAAmB,CAAC,QAAQ,EAAEgB,YAAY,CAAC;IAC/D;EACF,CAAC,EAAE,CAACrE,SAAS,CAAC,CAAC;EAEf,IAAA0C,gBAAS,EACP,MAAM+B,IAAI,CAACC,SAAS,CAACzD,KAAK,CAAC,KAAKwD,IAAI,CAACC,SAAS,CAAC,IAAApC,mBAAU,EAACjB,WAAW,CAAC,CAAC,IAAIgB,QAAQ,CAAC,IAAAC,mBAAU,EAACjB,WAAW,CAAC,CAAC;EAC5G;EACA,CAACA,WAAW,CACd,CAAC;EAED,IAAAqB,gBAAS,EAAC,MAAM;IACdT,KAAK,IAAIO,UAAU,CAAC;MAAE,GAAGD,OAAO;MAAE,IAAAoC,MAAA,CAAI1C,KAAK,IAAK;IAAK,CAAC,CAAC;IACvD;EACF,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,MAAM2C,YAAY,GAAGA,CAACC,KAAK,EAAEC,UAAU,KAAK;IAC1C,MAAMC,IAAI,GAAG;MAAE,GAAG9D,KAAK;MAAE,CAAC4D,KAAK,GAAGC;IAAW,CAAC;IAE9CzC,QAAQ,CAAC0C,IAAI,CAAC;IACd1E,QAAQ,CAAC0E,IAAI,EAAEF,KAAK,EAAEC,UAAU,CAAC;EACnC,CAAC;EAED,MAAME,iBAAiB,GAAG,MAAAA,CAAOxB,KAAK,EAAEyB,KAAK,KAAK;IAAA,IAAAC,eAAA;IAChDN,YAAY,CAACO,aAAI,CAACC,KAAK,EAAE5B,KAAK,EAAEyB,KAAK,CAAC;IACtC,IAAIzB,KAAK,CAAC6B,OAAO,IAAI,GAAAH,eAAA,GAAC,IAAAI,wBAAc,EAACf,MAAM,CAACgB,QAAQ,CAACC,MAAM,CAAC,cAAAN,eAAA,eAAtCA,eAAA,CAAwChE,QAAQ,GAAE;MACtE;MACAY,WAAW,CAAC,MAAM,IAAA2D,uBAAa,EAACjC,KAAK,CAACkC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C;IACA3F,QAAQ,IAAI4F,SAAS,CAAC,CAAC;EACzB,CAAC;EAED,MAAMhC,YAAY,GAAG,SAAAA,CAAA,EAAgC;IAAA,IAA/B;MAAEC,SAAS,GAAG3C;IAAM,CAAC,GAAA7B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA4D,SAAA,GAAA5D,SAAA,MAAG,CAAC,CAAC;IAC9C,MAAM,CAACwG,UAAU,CAAC,GAAGtH,MAAM,CAACuH,IAAI,CAAC9D,KAAK,CAAC,CAAC+D,MAAM,CAAEvG,GAAG,IAAK,CAAC,CAACwC,KAAK,CAACxC,GAAG,CAAC,CAAC;IACrE,IAAIqG,UAAU,EAAE,OAAO1D,QAAQ,CAAC0D,UAAU,CAAC;IAE3C1D,QAAQ,CAACc,SAAS,CAAC;IACnBlE,GAAG,CAAC;MAAEsC,MAAM,EAAEwC;IAAU,CAAC,CAAC;IAC1B,MAAMmC,YAAY,GAAG,IAAAC,wBAAe,EAAC;MAAE,GAAGpC,SAAS;MAAE1C,QAAQ;MAAEI,SAAS;MAAEC,MAAM;MAAEE,KAAK;MAAED;IAAK,CAAC,CAAC;IAEhG,IAAIlB,QAAQ,EAAEA,QAAQ,CAAC;MAAE,GAAGsD,SAAS;MAAEmC;IAAa,CAAC,CAAC,CAAC,KAClDxB,MAAM,CAACgB,QAAQ,CAACU,IAAI,GAAGF,YAAY;EAC1C,CAAC;EAED,MAAMJ,SAAS,GAAGA,CAAA,KAAM;IACtB,IAAI,CAAC5F,QAAQ,EAAE,OAAOmC,QAAQ,CAACc,SAAS,CAAC;IACzC,MAAM;MAAEU,QAAQ,GAAG;IAAG,CAAC,GAAGzC,KAAK;IAC/B,IAAIgB,KAAK,KAAKkD,aAAI,CAACC,KAAK,IAAI,CAAC7C,OAAO,CAACmB,QAAQ,IAAIA,QAAQ,CAACrE,MAAM,KAAK,CAAC,EAAE6C,QAAQ,CAACiD,aAAI,CAACe,QAAQ,CAAC,CAAC,KAC3F,IAAI,CAAClG,SAAS,IAAKD,QAAQ,IAAI,CAACoF,aAAI,CAACe,QAAQ,EAAEf,aAAI,CAACC,KAAK,CAAC,CAACe,QAAQ,CAAClE,KAAK,CAAE,EAAEC,QAAQ,CAACc,SAAS,CAAC;EACvG,CAAC;EAED,MAAM;IAAEU,QAAQ,GAAG,EAAE;IAAEf,UAAU;IAAEa,KAAK,GAAG,CAAC,CAAC;IAAE4C;EAAU,CAAC,GAAGnF,KAAK;EAClE,MAAM;IAAEyE,EAAE,EAAEW,GAAG,GAAG,EAAE;IAAEhB;EAAQ,CAAC,GAAG7B,KAAK;EAEvC,MAAM8C,UAAU,GAAG,IAAAC,sBAAa,EAAC;IAAE/E,IAAI;IAAE,GAAGC;EAAM,CAAC,CAAC;EACpD,MAAM;IAAE+E,KAAK,EAAE;MAAEd,EAAE,EAAEe;IAAQ,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGhF,KAAK;EAC7C,MAAMiE,EAAE,GAAGlE,IAAI,KAAK/B,KAAK,GAAI4F,OAAO,IAAIgB,GAAG,CAAChH,MAAM,KAAK,CAAC,GAAGgH,GAAG,CAAC,CAAC,CAAC,GAAGrD,SAAS,GAAIyD,OAAO;EAExF,MAAMC,EAAE,GAAG;IACT1G,SAAS,EAAGA,SAAS,IAAIQ,QAAQ,IAAMR,SAAS,IAAI,CAACQ,QAAQ,IAAI,CAACyB,KAAM;IACxE0E,MAAM,EAAE,CAACnG,QAAQ,IAAIL,MAAM,KAAK;EAClC,CAAC;EAED,MAAMyG,UAAU,GAAG;IACjB5G,SAAS,EAAE0G,EAAE,CAAC1G,SAAS;IACvBE,MAAM;IACN2G,SAAS,EAAE3J,KAAK,CAAC2H,KAAK;IACtB,IAAI6B,EAAE,CAACC,MAAM,GAAG;MAAEG,QAAQ,EAAE,IAAI;MAAE5J,KAAK,EAAEuD,KAAK,GAAG;QAAEsG,QAAQ,EAAEtG,KAAK;QAAEA;MAAM,CAAC,GAAGuC;IAAU,CAAC,GAAGA,SAAS;EACvG,CAAC;EAED,oBACEpG,MAAA,CAAAoB,OAAA,CAAAgJ,aAAA,CAAApK,MAAA,CAAAoB,OAAA,CAAAiJ,QAAA,QACGP,EAAE,CAAC1G,SAAS,iBAAIpD,MAAA,CAAAoB,OAAA,CAAAgJ,aAAA,CAACjK,OAAA,CAAAmK,OAAO;IAAOjG,KAAK;IAAEqF,UAAU;IAAIa,QAAQ,EAAEjF,QAAS;IAAC5B,QAAQ,EAAEqD;EAAa,CAAE,CAAC,eAEnG/G,MAAA,CAAAoB,OAAA,CAAAgJ,aAAA,CAACvK,GAAA,CAAA2K,IAAI;IACHC,IAAI,EAAC,QAAQ;IACbtG,GAAG,EAAEA,GAAI;IACTuG,GAAG,EAAE,CAAC9G,QAAS;IACf+G,MAAM,EAAEhH,MAAM,CAACgH,MAAO;IACtBV,SAAS,EACP,CAACH,EAAE,CAAC1G,SAAS,GACT,IAAAwH,UAAM,EAACtK,KAAK,CAACkE,MAAM,EAAElB,MAAM,IAAIhD,KAAK,CAACgD,MAAM,EAAEC,MAAM,IAAIjD,KAAK,CAACiD,MAAM,CAAC,EAAEI,MAAM,CAACsG,SAAS,CAAC,GACvF7D;EACL,GAEAsD,UAAU,CAACmB,MAAM,iBAChB7K,MAAA,CAAAoB,OAAA,CAAAgJ,aAAA,CAAApK,MAAA,CAAAoB,OAAA,CAAAiJ,QAAA,qBACErK,MAAA,CAAAoB,OAAA,CAAAgJ,aAAA,CAACzJ,SAAA,CAAAmK,KAAK,EAAA1I,QAAA,KACA2I,cAAK,CAACvC,KAAK;IACfwC,OAAO,EAAE,IAAAC,wBAAe,EAACrE,KAAK,CAACvC,KAAK,EAAEqF,UAAU,CAACmB,MAAM,CAACK,OAAO,CAAE;IACjEC,KAAK,EAAElH,SAAS,CAACmH,aAAI,CAACC,WAAW,CAAE;IACnCC,WAAW,EAAE5B,UAAU,CAACmB,MAAM,CAACS,WAAW,IAAIrH,SAAS,CAACmH,aAAI,CAACG,uBAAuB,CAAE;IACtFC,OAAO,EAAEnG,KAAK,KAAKkD,aAAI,CAACC,KAAM;IAC9BiD,OAAO,EAAEA,CAAA,KAAMnG,QAAQ,CAACD,KAAK,KAAKkD,aAAI,CAACC,KAAK,GAAGD,aAAI,CAACC,KAAK,GAAGpC,SAAS;EAAE,GACnE4D,UAAU,gBAEdhK,MAAA,CAAAoB,OAAA,CAAAgJ,aAAA,CAAClK,WAAA,CAAAwL,MAAM;IACLC,UAAU,EAAEtG,KAAK,KAAKkD,aAAI,CAACC,KAAM;IACjCkB,UAAU,EAAEA,UAAU,CAACmB,MAAM,CAACK,OAAQ;IACtC1H,IAAI,EAAEJ,SAAS,GAAGI,IAAI,GAAG4C,SAAU;IACnC/B,KAAK,EAAEuC,KAAK,CAACvC,KAAM;IACnBZ,QAAQ,EAAE2E,iBAAkB;IAC5B1E,QAAQ,EAAEE,QAAQ,GAAIR,SAAS,GAAG2D,YAAY,GAAG5D,QAAQ,GAAG4F,SAAS,GAAG3C,SAAS,GAAIA,SAAU;IAC/FuE,MAAM,EAAEhH,MAAM,CAACgH,MAAM,MAAA5C,MAAA,CAAMpE,MAAM,CAACgH,MAAM,eAAYvE;EAAU,CAC/D,CACI,CAAC,EAEP9C,MAAM,iBAAItD,MAAA,CAAAoB,OAAA,CAAAgJ,aAAA,CAACvK,GAAA,CAAA2K,IAAI;IAACP,SAAS,EAAE3J,KAAK,CAACsL;EAAU,CAAE,CAC9C,CACH,eAED5L,MAAA,CAAAoB,OAAA,CAAAgJ,aAAA,CAACzJ,SAAA,CAAAmK,KAAK,EAAA1I,QAAA,KACA2I,cAAK,CAACzB,QAAQ;IAClB0B,OAAO,EAAElE,QAAQ,CAACrE,MAAM,GAAG,IAAAoJ,4BAAkB,EAAC/E,QAAQ,EAAE7C,SAAS,EAAED,UAAU,CAAC,GAAGoC,SAAU;IAC3F8D,QAAQ,EAAEtF,IAAI,KAAK/B,KAAM;IACzBsI,KAAK,EAAElH,SAAS,CAACmH,aAAI,CAACU,UAAU,CAAE;IAClCR,WAAW,EAAE,IAAAO,4BAAkB,EAACzF,SAAS,EAAEnC,SAAS,EAAED,UAAU,CAAE;IAClEwH,OAAO,EAAEnG,KAAK,KAAKkD,aAAI,CAACe,QAAS;IACjCyC,UAAU,EAAE/G,mBAAoB;IAChCyG,OAAO,EAAEA,CAAA,KAAMnG,QAAQ,CAACD,KAAK,KAAKkD,aAAI,CAACe,QAAQ,GAAGf,aAAI,CAACe,QAAQ,GAAGlD,SAAS;EAAE,GACzE4D,UAAU,gBAEdhK,MAAA,CAAAoB,OAAA,CAAAgJ,aAAA,CAAClK,WAAA,CAAA8L,QAAQ,EAAA5J,QAAA,KACH,IAAA6J,2BAAkB,EAACvC,UAAU,CAAC5C,QAAQ,EAAEgC,EAAE,EAAE/C,UAAU,EAAEnB,IAAI,EAAEW,cAAc,EAAEmE,UAAU,CAACwC,QAAQ,CAAC;IACtGpD,EAAE,EAAEA,EAAG;IACPxE,QAAQ,EAAEA,QAAS;IACnBK,MAAM,EAAEA,MAAO;IACfnB,IAAI,EAAEJ,SAAS,GAAGI,IAAI,GAAG4C,SAAU;IACnCb,cAAc,EAAEA,cAAe;IAC/BlB,KAAK,EAAEyC,QAAS;IAChBrD,QAAQ,EAAEA,CAACqD,QAAQ,EAAEuB,KAAK,KAAK;MAC7BL,YAAY,CAACO,aAAI,CAACe,QAAQ,EAAExC,QAAQ,EAAEuB,KAAK,CAAC;MAC5C,IAAIvB,QAAQ,CAACrE,MAAM,KAAK,CAAC,IAAIU,QAAQ,EAAE4F,SAAS,CAAC,CAAC;IACpD,CAAE;IACFoD,OAAO,EAAGrF,QAAQ,IAAK1B,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAE2B;IAAS,CAAC,CAAE;IACxDsF,OAAO,EAAEA,CAAA,KAAMhH,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAE2B,QAAQ,EAAEV;IAAU,CAAC,CAAE;IAC3D1C,QAAQ,EAAEE,QAAQ,GAAIR,SAAS,GAAG2D,YAAY,GAAG5D,QAAQ,GAAG4F,SAAS,GAAG3C,SAAS,GAAIA,SAAU;IAC/F6D,SAAS,EAAE,IAAAW,UAAM,EAAC,CAAA7F,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEsH,GAAG,KAAI/L,KAAK,CAACgM,aAAa,CAAE;IAChE3B,MAAM,EAAEhH,MAAM,CAACgH,MAAM,MAAA5C,MAAA,CAAMpE,MAAM,CAACgH,MAAM,iBAAcvE;EAAU,EACjE,CACI,CAAC,EAEP9C,MAAM,iBAAItD,MAAA,CAAAoB,OAAA,CAAAgJ,aAAA,CAACvK,GAAA,CAAA2K,IAAI;IAACP,SAAS,EAAE3J,KAAK,CAACsL;EAAU,CAAE,CAAC,eAE/C5L,MAAA,CAAAoB,OAAA,CAAAgJ,aAAA,CAACzJ,SAAA,CAAA4L,eAAe,EAAAnK,QAAA;IACdsH,UAAU,EAAE,IAAA8C,gCAAuB,EAAC;MAClC,GAAG9C,UAAU;MACbmB,MAAM,GAAA3H,kBAAA,GAAEwG,UAAU,CAACmB,MAAM,cAAA3H,kBAAA,uBAAjBA,kBAAA,CAAmBgI,OAAO;MAClCtE,KAAK,EAAEA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEvC;IAChB,CAAC,CAAE;IACHoI,MAAM,EAAE,IAAAC,kBAAS,EAAChD,UAAU,CAACiD,YAAY,EAAE/F,KAAK,CAACvC,KAAK,CAAE;IACxDuI,QAAQ,EAAElD,UAAU,CAACkD,QAAS;IAC9BpJ,IAAI,EAAEJ,SAAS,GAAGI,IAAI,GAAG4C,SAAU;IACnC/B,KAAK,EAAE0B,UAAW;IAClByF,OAAO,EAAEnG,KAAK,KAAKkD,aAAI,CAACsE,UAAW;IACnCpJ,QAAQ,EAAEA,CAACsC,UAAU,EAAEsC,KAAK,KAAKL,YAAY,CAACO,aAAI,CAACsE,UAAU,EAAE9G,UAAU,EAAEsC,KAAK,CAAE;IAClF8D,OAAO,EAAGpG,UAAU,IAAK;MACvB,IAAI,CAACnC,QAAQ,IAAIyB,KAAK,KAAKkD,aAAI,CAACsE,UAAU,EAAEvH,QAAQ,CAACiD,aAAI,CAACsE,UAAU,CAAC;MACrEzH,QAAQ,CAAC;QAAE,GAAGD,KAAK;QAAEY;MAAW,CAAC,CAAC;IACpC,CAAE;IACF0F,OAAO,EAAEA,CAAA,KAAMnG,QAAQ,CAACD,KAAK,KAAKkD,aAAI,CAACsE,UAAU,GAAGtE,aAAI,CAACsE,UAAU,GAAGzG,SAAS,CAAE;IACjF1C,QAAQ,EAAEE,QAAQ,GAAIR,SAAS,GAAG2D,YAAY,GAAG5D,QAAQ,GAAG4F,SAAS,GAAG3C,SAAS,GAAIA,SAAU;IAC/FgG,OAAO,EAAEA,CAAA,KAAMhH,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAEY,UAAU,EAAEK;IAAU,CAAC,CAAE;IAC7DuE,MAAM,EAAEhH,MAAM,CAACgH,MAAM,MAAA5C,MAAA,CAAMpE,MAAM,CAACgH,MAAM,mBAAgBvE;EAAU,GAC9D4D,UAAU,CACf,CAAC,EAED1G,MAAM,iBAAItD,MAAA,CAAAoB,OAAA,CAAAgJ,aAAA,CAACvK,GAAA,CAAA2K,IAAI;IAACP,SAAS,EAAE3J,KAAK,CAACsL;EAAU,CAAE,CAAC,eAE/C5L,MAAA,CAAAoB,OAAA,CAAAgJ,aAAA,CAACzJ,SAAA,CAAAmM,cAAc,EAAA1K,QAAA;IACbiC,KAAK,EAAEmF,SAAU;IACjBgC,OAAO,EAAEnG,KAAK,KAAKkD,aAAI,CAACwE,SAAU;IAClCtJ,QAAQ,EAAEA,CAAC+F,SAAS,EAAEnB,KAAK,KAAKL,YAAY,CAACO,aAAI,CAACwE,SAAS,EAAEvD,SAAS,EAAEnB,KAAK,CAAE;IAC/E2E,OAAO,EAAE,CAAC5J,SAAS,GAAG,MAAMkC,QAAQ,CAACiD,aAAI,CAACwE,SAAS,CAAC,GAAG3G,SAAU;IACjE6G,OAAO,EAAE,CAAC7J,SAAS,GAAG,MAAMkC,QAAQ,CAACc,SAAS,CAAC,GAAGA,SAAU;IAC5DqF,OAAO,EACL7H,QAAQ,IAAIR,SAAS,GAAG,MAAMkC,QAAQ,CAACD,KAAK,KAAKkD,aAAI,CAACwE,SAAS,GAAGxE,aAAI,CAACwE,SAAS,GAAG3G,SAAS,CAAC,GAAGA,SACjG;IACD1C,QAAQ,EAAEE,QAAQ,IAAIR,SAAS,GAAG2D,YAAY,GAAGX,SAAU;IAC3DuE,MAAM,EAAEhH,MAAM,CAACgH,MAAM,MAAA5C,MAAA,CAAMpE,MAAM,CAACgH,MAAM,kBAAevE;EAAU,GAC7D4D,UAAU,CACf,CAAC,EAED,CAACF,EAAE,CAAC1G,SAAS,iBACZpD,MAAA,CAAAoB,OAAA,CAAAgJ,aAAA,CAACvK,GAAA,CAAAqN,MAAM;IACLC,KAAK;IACLC,IAAI,EAAExJ,QAAQ,IAAIkG,EAAE,CAACC,MAAO;IAC5B0B,OAAO,EAAE1E,YAAa;IACtBkD,SAAS,EAAE,IAAAW,UAAM,EAACtK,KAAK,CAAC+M,MAAM,EAAEhK,IAAI,IAAI,CAACyG,EAAE,CAACC,MAAM,IAAIzJ,KAAK,CAACgN,QAAQ,CAAE;IACtE3C,MAAM,EAAEhH,MAAM,CAACgH,MAAM,MAAA5C,MAAA,CAAMpE,MAAM,CAACgH,MAAM,eAAYvE;EAAU,GAE7D/C,IAAI,IAAI,CAACyG,EAAE,CAACC,MAAM,gBAAG/J,MAAA,CAAAoB,OAAA,CAAAgJ,aAAA,CAACvK,GAAA,CAAA0N,IAAI;IAAClJ,KAAK,EAAEmJ,cAAI,CAACC;EAAO,CAAE,CAAC,GAAGjK,IAAI,IAAIS,SAAS,CAACmH,aAAI,CAACsC,aAAa,CACnF,CAEN,CACN,CAAC;AAEP,CAAC;AAACC,OAAA,CAAA3K,MAAA,GAAAA,MAAA;AAEFA,MAAM,CAAC4K,WAAW,GAAG,mBAAmB;AAExC5K,MAAM,CAAC6K,SAAS,GAAG;EACjB1K,QAAQ,EAAE2K,kBAAS,CAACC,IAAI;EACxB3K,SAAS,EAAE0K,kBAAS,CAACC,IAAI;EACzBxK,MAAM,EAAEuK,kBAAS,CAACE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;EACnC3K,IAAI,EAAEyK,kBAAS,CAACC,IAAI;EACpBzK,MAAM,EAAEwK,kBAAS,CAACC,IAAI;EACtBvK,IAAI,EAAEsK,kBAAS,CAACG,MAAM;EACtBxK,QAAQ,EAAEqK,kBAAS,CAACI,IAAI;EACxBxK,QAAQ,EAAEoK,kBAAS,CAACI;AACtB,CAAC"}
1
+ {"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_getAvailableWidth","_helpers2","_prepareRoom","_shared__","_Occupation","_helpers3","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","HOTEL","TYPE","memoizedScrollY","Finder","_ref","_dataSource$places","assisted","compacted","icon","inline","layout","text","onChange","onSubmit","others","isMobile","width","deviceWidth","useDevice","dateFormat","translate","useLocale","ref","useRef","value","currency","propCurrency","finder","storeFinder","forwarder","locale","type","store","useStore","calendarPosition","setCalendarPosition","useState","setCurrency","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","warning","setWarning","setWidth","useEffect","occupation","prepareRoom","DATASOURCE","handleClickOutside","_ref$current","undefined","current","contains","document","addEventListener","removeEventListener","getAvailableWidth","disabledDates","place","callback","calendar","handleSubmit","nextValue","skeleton","setTimeout","track","Event","subscribe","EVENT","FINDER","unsubscribe","handleScroll","scrollY","window","GAP_SCROLL","JSON","stringify","concat","handleChange","field","fieldValue","next","handlePlaceChange","event","_fetchUrlParams","VIEW","PLACE","isHotel","fetchUrlParams","location","search","fetchCurrency","id","assistant","firstError","keys","filter","forwarderUrl","getForwarderUrl","href","CALENDAR","includes","promocode","ids","dataSource","getDataSource","hotel","idHotel","is","column","fieldProps","className","centered","maxWidth","createElement","Fragment","Compact","onExpand","View","role","row","testId","styles","places","Field","FIELD","caption","getPlaceCaption","options","label","L10N","LABEL_WHERE","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","Places","autoColumn","separator","getCalendarCaption","LABEL_WHEN","onPosition","Calendar","parseCalendarProps","variants","onError","onValid","top","calendarOnTop","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","OCCUPATION","withWarning","onWarning","FieldPromocode","PROMOCODE","onEnter","onLeave","Button","large","wide","button","withIcon","Icon","ICON","SEARCH","ACTION_SEARCH","exports","displayName","propTypes","PropTypes","bool","oneOf","string","func"],"sources":["../../../src/components/Finder/Finder.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Button, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar, Places } from './components';\nimport { Compact } from './Finder.compact';\nimport { FIELD, GAP_SCROLL, TYPE, VIEW } from './Finder.constants';\nimport { L10N } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport {\n getDataSource,\n getForwarderUrl,\n getHotels,\n getOccupationDataSource,\n getPlaceCaption,\n parseCalendarProps,\n parseValue,\n} from './helpers';\nimport { track } from './helpers';\nimport { getAvailableWidth } from './helpers/getAvailableWidth';\nimport { fetchCurrency, fetchUrlParams } from '../../helpers';\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { getCalendarCaption } from '../helpers';\nimport { EVENT, ICON } from '../helpers';\n\nconst { HOTEL } = TYPE;\nlet memoizedScrollY = 0;\n\nconst Finder = ({\n assisted = true,\n compacted = false,\n icon = false,\n inline = true,\n layout,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, width: deviceWidth } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: { currency: propCurrency, finder: storeFinder, forwarder, locale, type = HOTEL, ...store },\n } = useStore();\n\n const [calendarPosition, setCalendarPosition] = useState();\n const [currency, setCurrency] = useState();\n const [error, setError] = useState({});\n const [focus, setFocus] = useState();\n const [unavailability, setUnavailability] = useState();\n const [value, setValue] = useState(parseValue(storeFinder));\n const [visited, setVisited] = useState({});\n const [warning, setWarning] = useState();\n const [width, setWidth] = useState();\n\n useEffect(() => {\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n if (isMobile) return;\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n document.addEventListener('click', handleClickOutside, true);\n\n return () => document.removeEventListener('click', handleClickOutside, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (layout === 'column' && ref.current) setWidth(getAvailableWidth(ref.current));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deviceWidth]);\n\n useEffect(() => {\n setUnavailability({ disabledDates: [] });\n }, [value?.occupation, value?.place]);\n\n useEffect(() => {\n const callback = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n\n !others?.skeleton && !onSubmit && setTimeout(() => track({ isMobile, type, ...store }), 10);\n\n Event.subscribe(EVENT.FINDER, callback);\n\n return () => Event.unsubscribe(EVENT.FINDER, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // ! TODO: Why this one? Is not responsibility of <Finder> change the currency when prop changes.\n useEffect(() => setCurrency(propCurrency), [propCurrency]);\n\n useEffect(() => {\n if (!compacted) return;\n\n const handleScroll = () => {\n const { scrollY } = window;\n if (scrollY > memoizedScrollY + GAP_SCROLL || scrollY < memoizedScrollY - GAP_SCROLL) {\n memoizedScrollY = scrollY;\n setFocus(undefined);\n }\n };\n window.addEventListener('scroll', handleScroll);\n\n return () => window.removeEventListener('scroll', handleScroll);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [compacted]);\n\n useEffect(\n () => JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder)) && setValue(parseValue(storeFinder)),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n focus && setVisited({ ...visited, [`${focus}`]: true });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focus]);\n\n const handleChange = (field, fieldValue) => {\n const next = { ...value, [field]: fieldValue };\n\n setValue(next);\n onChange(next, field, fieldValue);\n };\n\n const handlePlaceChange = async (place, event) => {\n setWarning();\n handleChange(VIEW.PLACE, place, event);\n if (place.isHotel && !fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n setCurrency(await fetchCurrency(place.id[0]));\n }\n assisted && assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\n setWarning(false);\n setFocus(undefined);\n set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n if (onSubmit) onSubmit({ ...nextValue, forwarderUrl });\n else window.location.href = forwarderUrl;\n };\n\n const assistant = () => {\n if (!assisted) return setFocus(undefined);\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (!compacted || (assisted && [VIEW.CALENDAR, VIEW.PLACE].includes(focus))) setFocus(undefined);\n };\n\n const { calendar = [], occupation, place = {}, promocode } = value;\n const { id: ids = [], isHotel } = place;\n\n const dataSource = getDataSource({ type, ...store });\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n\n const is = {\n compacted: (compacted && isMobile) || (compacted && !isMobile && !focus),\n column: !isMobile && layout === 'column',\n };\n\n const fieldProps = {\n compacted: is.compacted,\n inline,\n className: style.field,\n ...(is.column ? { centered: true, style: width ? { maxWidth: width, width } : undefined } : undefined),\n };\n\n return (\n <>\n {is.compacted && <Compact {...{ value, dataSource }} onExpand={setFocus} onSubmit={handleSubmit} />}\n\n <View\n role=\"finder\"\n ref={ref}\n row={!isMobile}\n testId={others.testId}\n className={\n !is.compacted\n ? styles(style.finder, inline && style.inline, layout && style[layout], others.className)\n : undefined\n }\n >\n {dataSource.places && (\n <>\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places.options)}\n label={translate(L10N.LABEL_WHERE)}\n placeholder={dataSource.places.placeholder || translate(L10N.LABEL_WHERE_PLACEHOLDER)}\n visible={focus === VIEW.PLACE}\n onPress={() => setFocus(focus !== VIEW.PLACE ? VIEW.PLACE : undefined)}\n {...fieldProps}\n >\n <Places\n autoColumn={focus === VIEW.PLACE}\n dataSource={dataSource.places.options}\n text={compacted ? text : undefined}\n value={place.value}\n onChange={handlePlaceChange}\n onSubmit={isMobile ? (compacted ? handleSubmit : assisted ? assistant : undefined) : undefined}\n testId={others.testId ? `${others.testId}-places` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n </>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\n onPosition={setCalendarPosition}\n onPress={() => setFocus(focus !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n {...fieldProps}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency}\n locale={locale}\n text={compacted ? text : undefined}\n unavailability={unavailability}\n value={calendar}\n onChange={(calendar, event) => {\n handleChange(VIEW.CALENDAR, calendar, event);\n if (calendar.length === 2 && assisted) assistant();\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onValid={() => setError({ ...error, calendar: undefined })}\n onSubmit={isMobile ? (compacted ? handleSubmit : assisted ? assistant : undefined) : undefined}\n className={styles(calendarPosition?.top && style.calendarOnTop)}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n {inline && <View className={style.separator} />}\n\n <FieldOccupation\n dataSource={getOccupationDataSource({\n ...dataSource,\n places: dataSource.places?.options,\n place: place?.value,\n })}\n hotels={getHotels(dataSource.placesSource, place.value)}\n maxRooms={dataSource.maxRooms}\n text={compacted ? text : undefined}\n value={occupation}\n visible={focus === VIEW.OCCUPATION}\n withWarning={warning}\n onChange={(occupation, event) => handleChange(VIEW.OCCUPATION, occupation, event)}\n onError={(occupation) => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setFocus(focus !== VIEW.OCCUPATION ? VIEW.OCCUPATION : undefined)}\n onSubmit={isMobile ? (compacted ? handleSubmit : assisted ? assistant : undefined) : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n onWarning={() => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n }}\n testId={others.testId ? `${others.testId}-occupation` : undefined}\n {...fieldProps}\n />\n\n {inline && <View className={style.separator} />}\n\n <FieldPromocode\n value={promocode}\n visible={focus === VIEW.PROMOCODE}\n onChange={(promocode, event) => handleChange(VIEW.PROMOCODE, promocode, event)}\n onEnter={!compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && compacted ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted && (\n <Button\n large\n wide={isMobile || is.column}\n onPress={handleSubmit}\n className={styles(style.button, icon && !is.column && style.withIcon)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {icon && !is.column ? <Icon value={ICON.SEARCH} /> : text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n assisted: PropTypes.bool,\n compacted: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\n icon: PropTypes.bool,\n inline: PropTypes.bool,\n text: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _BookingTerms = require("./BookingTerms.jsx");
6
+ var _BookingTerms = require("./BookingTerms");
7
7
  Object.keys(_BookingTerms).forEach(function (key) {
8
8
  if (key === "default" || key === "__esModule") return;
9
9
  if (key in exports && exports[key] === _BookingTerms[key]) return;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_BookingTerms","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/components/__shared__/BookingTerms/index.js"],"sourcesContent":["export * from './BookingTerms.jsx';\n"],"mappings":";;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,aAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,aAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,aAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_BookingTerms","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/components/__shared__/BookingTerms/index.js"],"sourcesContent":["export * from './BookingTerms';\n"],"mappings":";;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,aAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,aAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,aAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
@@ -28,6 +28,7 @@ const FieldOccupation = exports.FieldOccupation = /*#__PURE__*/_react.default.fo
28
28
  value,
29
29
  visible,
30
30
  warning,
31
+ withWarning,
31
32
  onPress,
32
33
  onSubmit,
33
34
  ...others
@@ -70,6 +71,7 @@ const FieldOccupation = exports.FieldOccupation = /*#__PURE__*/_react.default.fo
70
71
  ref: ref,
71
72
  type: type,
72
73
  value: value,
74
+ warning: withWarning,
73
75
  onSubmit: onSubmit,
74
76
  className: undefined,
75
77
  style: undefined
@@ -84,6 +86,7 @@ FieldOccupation.propTypes = {
84
86
  value: _propTypes.default.arrayOf(_propTypes.default.arrayOf(_Occupation2.SHAPE.VALUE)),
85
87
  visible: _propTypes.default.bool,
86
88
  warning: _propTypes.default.bool,
89
+ withWarning: _propTypes.default.bool,
87
90
  onPress: _propTypes.default.func,
88
91
  onSubmit: _propTypes.default.func
89
92
  };
@@ -1 +1 @@
1
- {"version":3,"file":"FieldOccupation.js","names":["_dataSources","require","_locale","_propTypes","_interopRequireDefault","_react","_FieldOccupation","style","_interopRequireWildcard","_prepareRoom","_helpers","_Field","_Occupation","_Occupation2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","FieldOccupation","exports","React","forwardRef","_ref","ref","compacted","error","hotels","inline","value","visible","warning","onPress","onSubmit","others","translate","useLocale","config","dataSource","lodgingDenomination","individual","useStore","minRooms","testId","type","getAccommodationType","caption","getOccupationSummary","Array","map","prepareRoom","createElement","Field","icon","ICON","PEOPLE","label","L10N","LABEL_WHO","className","occupation","concat","undefined","Occupation","displayName","propTypes","PropTypes","bool","array","arrayOf","SHAPE","VALUE","func"],"sources":["../../../../src/components/__shared__/FieldOccupation/FieldOccupation.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { L10N } from './FieldOccupation.l10n';\nimport * as style from './FieldOccupation.module.css';\nimport { prepareRoom } from '../../../helpers/prepareRoom';\nimport { getAccommodationType, getOccupationSummary, ICON } from '../../helpers';\nimport { Field } from '../Field';\nimport { Occupation as OccupationBase } from '../Occupation';\nimport { SHAPE } from '../Occupation/Occupation.constants';\n\nconst FieldOccupation = React.forwardRef(\n ({ compacted, error, hotels = [], inline, value, visible, warning, onPress, onSubmit, ...others }, ref) => {\n const { translate } = useLocale();\n const {\n value: { config: { hotels: dataSource, lodgingDenomination: individual } = {} },\n } = useStore();\n\n const { minRooms = 1, testId } = others;\n const type = getAccommodationType({ dataSource, hotels, individual });\n const caption = getOccupationSummary(\n value || [...Array(minRooms)].map(() => prepareRoom(others.dataSource)),\n translate,\n type,\n );\n\n return (\n <Field\n caption={caption}\n compacted={compacted}\n error={error}\n icon={ICON.PEOPLE}\n inline={inline}\n label={translate(L10N.LABEL_WHO)}\n visible={visible}\n warning={warning}\n onPress={onPress}\n className={[style.occupation, others.className]}\n testId={testId ? `${testId}-field` : undefined}\n style={others.style}\n >\n <OccupationBase\n {...others}\n ref={ref}\n type={type}\n value={value}\n onSubmit={onSubmit}\n className={undefined}\n style={undefined}\n />\n </Field>\n );\n },\n);\n\nFieldOccupation.displayName = 'Mirai:Core:FieldOccupation';\n\nFieldOccupation.propTypes = {\n compacted: PropTypes.bool,\n error: PropTypes.bool,\n hotels: PropTypes.array,\n inline: PropTypes.bool,\n value: PropTypes.arrayOf(PropTypes.arrayOf(SHAPE.VALUE)),\n visible: PropTypes.bool,\n warning: PropTypes.bool,\n onPress: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { FieldOccupation };\n"],"mappings":"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"}
1
+ {"version":3,"file":"FieldOccupation.js","names":["_dataSources","require","_locale","_propTypes","_interopRequireDefault","_react","_FieldOccupation","style","_interopRequireWildcard","_prepareRoom","_helpers","_Field","_Occupation","_Occupation2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","FieldOccupation","exports","React","forwardRef","_ref","ref","compacted","error","hotels","inline","value","visible","warning","withWarning","onPress","onSubmit","others","translate","useLocale","config","dataSource","lodgingDenomination","individual","useStore","minRooms","testId","type","getAccommodationType","caption","getOccupationSummary","Array","map","prepareRoom","createElement","Field","icon","ICON","PEOPLE","label","L10N","LABEL_WHO","className","occupation","concat","undefined","Occupation","displayName","propTypes","PropTypes","bool","array","arrayOf","SHAPE","VALUE","func"],"sources":["../../../../src/components/__shared__/FieldOccupation/FieldOccupation.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { L10N } from './FieldOccupation.l10n';\nimport * as style from './FieldOccupation.module.css';\nimport { prepareRoom } from '../../../helpers/prepareRoom';\nimport { getAccommodationType, getOccupationSummary, ICON } from '../../helpers';\nimport { Field } from '../Field';\nimport { Occupation as OccupationBase } from '../Occupation';\nimport { SHAPE } from '../Occupation/Occupation.constants';\n\nconst FieldOccupation = React.forwardRef(\n (\n { compacted, error, hotels = [], inline, value, visible, warning, withWarning, onPress, onSubmit, ...others },\n ref,\n ) => {\n const { translate } = useLocale();\n const {\n value: { config: { hotels: dataSource, lodgingDenomination: individual } = {} },\n } = useStore();\n\n const { minRooms = 1, testId } = others;\n const type = getAccommodationType({ dataSource, hotels, individual });\n const caption = getOccupationSummary(\n value || [...Array(minRooms)].map(() => prepareRoom(others.dataSource)),\n translate,\n type,\n );\n\n return (\n <Field\n caption={caption}\n compacted={compacted}\n error={error}\n icon={ICON.PEOPLE}\n inline={inline}\n label={translate(L10N.LABEL_WHO)}\n visible={visible}\n warning={warning}\n onPress={onPress}\n className={[style.occupation, others.className]}\n testId={testId ? `${testId}-field` : undefined}\n style={others.style}\n >\n <OccupationBase\n {...others}\n ref={ref}\n type={type}\n value={value}\n warning={withWarning}\n onSubmit={onSubmit}\n className={undefined}\n style={undefined}\n />\n </Field>\n );\n },\n);\n\nFieldOccupation.displayName = 'Mirai:Core:FieldOccupation';\n\nFieldOccupation.propTypes = {\n compacted: PropTypes.bool,\n error: PropTypes.bool,\n hotels: PropTypes.array,\n inline: PropTypes.bool,\n value: PropTypes.arrayOf(PropTypes.arrayOf(SHAPE.VALUE)),\n visible: PropTypes.bool,\n warning: PropTypes.bool,\n withWarning: PropTypes.bool,\n onPress: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { FieldOccupation };\n"],"mappings":"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"}
@@ -16,11 +16,6 @@ const {
16
16
  } = _constants.ACCOMMODATION_TYPE;
17
17
  const DEFAULT_AMOUNT = exports.DEFAULT_AMOUNT = 2;
18
18
  const ERROR = exports.ERROR = {
19
- NO_ROOM: {
20
- code: 1,
21
- type: 'error',
22
- message: 'There is no room for all individuals'
23
- },
24
19
  NOT_FILLED: {
25
20
  code: 2,
26
21
  type: 'warn',
@@ -1 +1 @@
1
- {"version":3,"file":"Occupation.constants.js","names":["_propTypes","_interopRequireDefault","require","_constants","obj","__esModule","default","APARTMENT","ACCOMMODATION","PITCH","ROOM","VILLA","ACCOMMODATION_TYPE","DEFAULT_AMOUNT","exports","ERROR","NO_ROOM","code","type","message","NOT_FILLED","PLACE","SHAPE","DATASOURCE","PropTypes","shape","number","age","arrayOf","max","min","fulfill","bool","VALUE","ages","amount","TYPE","GUEST","ADULT","CHILD"],"sources":["../../../../src/components/__shared__/Occupation/Occupation.constants.js"],"sourcesContent":["import PropTypes from 'prop-types';\n\nimport { ACCOMMODATION_TYPE } from '../../helpers/constants';\n\nconst { APARTMENT, ACCOMMODATION, PITCH, ROOM, VILLA } = ACCOMMODATION_TYPE;\n\nconst DEFAULT_AMOUNT = 2;\n\nconst ERROR = {\n NO_ROOM: { code: 1, type: 'error', message: 'There is no room for all individuals' },\n NOT_FILLED: { code: 2, type: 'warn', message: 'Not all fields have been filled out' },\n};\n\nconst PLACE = {\n [ACCOMMODATION]: 'accommodation',\n [APARTMENT]: 'apartment',\n [PITCH]: 'pitch',\n [ROOM]: 'room',\n [VILLA]: 'villa',\n};\n\nconst SHAPE = {\n DATASOURCE: PropTypes.shape({\n type: PropTypes.number,\n age: PropTypes.arrayOf(PropTypes.number),\n max: PropTypes.number,\n min: PropTypes.number,\n fulfill: PropTypes.bool,\n }),\n\n VALUE: PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n};\n\nconst TYPE = {\n GUEST: 1,\n ADULT: 2,\n CHILD: 3,\n};\n\nconst DATASOURCE = [\n { type: TYPE.ADULT, min: 1, age: [18] },\n { type: TYPE.CHILD, age: [0, 17], fulfill: true },\n];\n\nexport { DATASOURCE, DEFAULT_AMOUNT, ERROR, PLACE, SHAPE, TYPE };\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAA6D,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE7D,MAAM;EAAEG,SAAS;EAAEC,aAAa;EAAEC,KAAK;EAAEC,IAAI;EAAEC;AAAM,CAAC,GAAGC,6BAAkB;AAE3E,MAAMC,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,CAAC;AAExB,MAAME,KAAK,GAAAD,OAAA,CAAAC,KAAA,GAAG;EACZC,OAAO,EAAE;IAAEC,IAAI,EAAE,CAAC;IAAEC,IAAI,EAAE,OAAO;IAAEC,OAAO,EAAE;EAAuC,CAAC;EACpFC,UAAU,EAAE;IAAEH,IAAI,EAAE,CAAC;IAAEC,IAAI,EAAE,MAAM;IAAEC,OAAO,EAAE;EAAsC;AACtF,CAAC;AAED,MAAME,KAAK,GAAAP,OAAA,CAAAO,KAAA,GAAG;EACZ,CAACb,aAAa,GAAG,eAAe;EAChC,CAACD,SAAS,GAAG,WAAW;EACxB,CAACE,KAAK,GAAG,OAAO;EAChB,CAACC,IAAI,GAAG,MAAM;EACd,CAACC,KAAK,GAAG;AACX,CAAC;AAED,MAAMW,KAAK,GAAAR,OAAA,CAAAQ,KAAA,GAAG;EACZC,UAAU,EAAEC,kBAAS,CAACC,KAAK,CAAC;IAC1BP,IAAI,EAAEM,kBAAS,CAACE,MAAM;IACtBC,GAAG,EAAEH,kBAAS,CAACI,OAAO,CAACJ,kBAAS,CAACE,MAAM,CAAC;IACxCG,GAAG,EAAEL,kBAAS,CAACE,MAAM;IACrBI,GAAG,EAAEN,kBAAS,CAACE,MAAM;IACrBK,OAAO,EAAEP,kBAAS,CAACQ;EACrB,CAAC,CAAC;EAEFC,KAAK,EAAET,kBAAS,CAACC,KAAK,CAAC;IACrBS,IAAI,EAAEV,kBAAS,CAACI,OAAO,CAACJ,kBAAS,CAACE,MAAM,CAAC;IACzCS,MAAM,EAAEX,kBAAS,CAACE,MAAM;IACxBR,IAAI,EAAEM,kBAAS,CAACE;EAClB,CAAC;AACH,CAAC;AAED,MAAMU,IAAI,GAAAtB,OAAA,CAAAsB,IAAA,GAAG;EACXC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE;AACT,CAAC;AAED,MAAMhB,UAAU,GAAAT,OAAA,CAAAS,UAAA,GAAG,CACjB;EAAEL,IAAI,EAAEkB,IAAI,CAACE,KAAK;EAAER,GAAG,EAAE,CAAC;EAAEH,GAAG,EAAE,CAAC,EAAE;AAAE,CAAC,EACvC;EAAET,IAAI,EAAEkB,IAAI,CAACG,KAAK;EAAEZ,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;EAAEI,OAAO,EAAE;AAAK,CAAC,CAClD"}
1
+ {"version":3,"file":"Occupation.constants.js","names":["_propTypes","_interopRequireDefault","require","_constants","obj","__esModule","default","APARTMENT","ACCOMMODATION","PITCH","ROOM","VILLA","ACCOMMODATION_TYPE","DEFAULT_AMOUNT","exports","ERROR","NOT_FILLED","code","type","message","PLACE","SHAPE","DATASOURCE","PropTypes","shape","number","age","arrayOf","max","min","fulfill","bool","VALUE","ages","amount","TYPE","GUEST","ADULT","CHILD"],"sources":["../../../../src/components/__shared__/Occupation/Occupation.constants.js"],"sourcesContent":["import PropTypes from 'prop-types';\n\nimport { ACCOMMODATION_TYPE } from '../../helpers/constants';\n\nconst { APARTMENT, ACCOMMODATION, PITCH, ROOM, VILLA } = ACCOMMODATION_TYPE;\n\nconst DEFAULT_AMOUNT = 2;\n\nconst ERROR = {\n NOT_FILLED: { code: 2, type: 'warn', message: 'Not all fields have been filled out' },\n};\n\nconst PLACE = {\n [ACCOMMODATION]: 'accommodation',\n [APARTMENT]: 'apartment',\n [PITCH]: 'pitch',\n [ROOM]: 'room',\n [VILLA]: 'villa',\n};\n\nconst SHAPE = {\n DATASOURCE: PropTypes.shape({\n type: PropTypes.number,\n age: PropTypes.arrayOf(PropTypes.number),\n max: PropTypes.number,\n min: PropTypes.number,\n fulfill: PropTypes.bool,\n }),\n\n VALUE: PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n};\n\nconst TYPE = {\n GUEST: 1,\n ADULT: 2,\n CHILD: 3,\n};\n\nconst DATASOURCE = [\n { type: TYPE.ADULT, min: 1, age: [18] },\n { type: TYPE.CHILD, age: [0, 17], fulfill: true },\n];\n\nexport { DATASOURCE, DEFAULT_AMOUNT, ERROR, PLACE, SHAPE, TYPE };\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAA6D,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE7D,MAAM;EAAEG,SAAS;EAAEC,aAAa;EAAEC,KAAK;EAAEC,IAAI;EAAEC;AAAM,CAAC,GAAGC,6BAAkB;AAE3E,MAAMC,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,CAAC;AAExB,MAAME,KAAK,GAAAD,OAAA,CAAAC,KAAA,GAAG;EACZC,UAAU,EAAE;IAAEC,IAAI,EAAE,CAAC;IAAEC,IAAI,EAAE,MAAM;IAAEC,OAAO,EAAE;EAAsC;AACtF,CAAC;AAED,MAAMC,KAAK,GAAAN,OAAA,CAAAM,KAAA,GAAG;EACZ,CAACZ,aAAa,GAAG,eAAe;EAChC,CAACD,SAAS,GAAG,WAAW;EACxB,CAACE,KAAK,GAAG,OAAO;EAChB,CAACC,IAAI,GAAG,MAAM;EACd,CAACC,KAAK,GAAG;AACX,CAAC;AAED,MAAMU,KAAK,GAAAP,OAAA,CAAAO,KAAA,GAAG;EACZC,UAAU,EAAEC,kBAAS,CAACC,KAAK,CAAC;IAC1BN,IAAI,EAAEK,kBAAS,CAACE,MAAM;IACtBC,GAAG,EAAEH,kBAAS,CAACI,OAAO,CAACJ,kBAAS,CAACE,MAAM,CAAC;IACxCG,GAAG,EAAEL,kBAAS,CAACE,MAAM;IACrBI,GAAG,EAAEN,kBAAS,CAACE,MAAM;IACrBK,OAAO,EAAEP,kBAAS,CAACQ;EACrB,CAAC,CAAC;EAEFC,KAAK,EAAET,kBAAS,CAACC,KAAK,CAAC;IACrBS,IAAI,EAAEV,kBAAS,CAACI,OAAO,CAACJ,kBAAS,CAACE,MAAM,CAAC;IACzCS,MAAM,EAAEX,kBAAS,CAACE,MAAM;IACxBP,IAAI,EAAEK,kBAAS,CAACE;EAClB,CAAC;AACH,CAAC;AAED,MAAMU,IAAI,GAAArB,OAAA,CAAAqB,IAAA,GAAG;EACXC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE;AACT,CAAC;AAED,MAAMhB,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CACjB;EAAEJ,IAAI,EAAEiB,IAAI,CAACE,KAAK;EAAER,GAAG,EAAE,CAAC;EAAEH,GAAG,EAAE,CAAC,EAAE;AAAE,CAAC,EACvC;EAAER,IAAI,EAAEiB,IAAI,CAACG,KAAK;EAAEZ,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;EAAEI,OAAO,EAAE;AAAK,CAAC,CAClD"}
@@ -28,10 +28,12 @@ const Occupation = exports.Occupation = /*#__PURE__*/_react.default.forwardRef((
28
28
  text,
29
29
  type = _helpers2.ACCOMMODATION_TYPE.ROOM,
30
30
  value = dataSource ? [...Array(minRooms)].map(() => (0, _prepareRoom.prepareRoom)(dataSource || _Occupation.DATASOURCE)) : [],
31
+ warning,
31
32
  onChange = () => {},
32
33
  onError = () => {},
33
34
  onSubmit,
34
35
  onValid = () => {},
36
+ onWarning = () => {},
35
37
  ...others
36
38
  } = _ref;
37
39
  const {
@@ -50,7 +52,7 @@ const Occupation = exports.Occupation = /*#__PURE__*/_react.default.forwardRef((
50
52
  let nextValue = (0, _helpers.consolidateValue)(value, dataSource, currentDataSource);
51
53
  if (!nextValue) {
52
54
  setWithWarning(true);
53
- onError(_Occupation.ERROR.NO_ROOM);
55
+ onWarning();
54
56
  nextValue = [(0, _prepareRoom.prepareRoom)(dataSource)];
55
57
  } else if (error && (0, _helpers.checkRoom)(nextValue, dataSource)) {
56
58
  handleValid();
@@ -80,6 +82,10 @@ const Occupation = exports.Occupation = /*#__PURE__*/_react.default.forwardRef((
80
82
  if (scrollHeight >= 0) setScrollEnd(scrollEnd !== scrollHeight ? scrollHeight : scrollEnd + 0.1);
81
83
  // eslint-disable-next-line react-hooks/exhaustive-deps
82
84
  }, [error]);
85
+ (0, _react.useEffect)(() => {
86
+ if (warning === undefined) return;
87
+ setWithWarning(warning);
88
+ }, [warning]);
83
89
  const handleAddRoom = () => {
84
90
  var _itemsRef$current2;
85
91
  const {
@@ -202,9 +208,11 @@ Occupation.propTypes = {
202
208
  text: _propTypes.default.string,
203
209
  type: _propTypes.default.oneOf(Object.values(_helpers2.ACCOMMODATION_TYPE)),
204
210
  value: _propTypes.default.arrayOf(_propTypes.default.arrayOf(_Occupation.SHAPE.VALUE)),
211
+ warning: _propTypes.default.bool,
205
212
  onChange: _propTypes.default.func,
206
213
  onError: _propTypes.default.func,
207
214
  onSubmit: _propTypes.default.func,
208
- onValid: _propTypes.default.func
215
+ onValid: _propTypes.default.func,
216
+ onWarning: _propTypes.default.func
209
217
  };
210
218
  //# sourceMappingURL=Occupation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Occupation.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Occupation","_Occupation2","_Occupation3","style","_prepareRoom","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Occupation","exports","React","forwardRef","_ref","ref","dataSource","DATASOURCE","error","maxRooms","minRooms","text","type","ACCOMMODATION_TYPE","ROOM","value","Array","map","prepareRoom","onChange","onError","onSubmit","onValid","others","translate","useLocale","itemsRef","useRef","scrollEnd","setScrollEnd","useState","withError","setWithError","withWarning","setWithWarning","currentDataSource","setCurrentDataSource","useEffect","JSON","stringify","nextValue","consolidateValue","ERROR","NO_ROOM","checkRoom","handleValid","handleChange","_itemsRef$current","roomIndex","findIndex","room","some","ages","undefined","TYPE","CHILD","age","scrollHeight","getScrollHeight","hasAges","rooms","current","el","handleAddRoom","_itemsRef$current2","parentNode","handleRemoveRoom","event","groupValue","stopPropagation","scroll","filter","_","index","handleIndividual","groupIndex","fulfill","amount","NOT_FILLED","handleSubmit","_groupValue$ages","_itemsRef$current3","testId","isValid","createElement","View","role","className","styles","container","Notification","small","warning","notification","L10N","NOTIFICATION_ERROR_UNFILLED_FIELDS","NOTIFICATION_WARNING_OCCUPATION","ScrollView","scrollTo","snap","scrollview","concat","wide","row","header","offset","Text","action","id","LABEL_PLACE_TYPE_COUNT","PLACE","Action","inline","preventDefault","onPress","ACTION_REMOVE","group","OccupationGroup","buttons","Button","disabled","secondary","buttonAdd","ACTION_ADD_PLACE_TYPE","buttonSubmit","ACTION_NEXT","displayName","propTypes","PropTypes","arrayOf","SHAPE","bool","number","string","oneOf","values","VALUE","func"],"sources":["../../../../src/components/__shared__/Occupation/Occupation.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Action, Button, Notification, ScrollView, Text, View, styles } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { checkRoom, consolidateValue, getScrollHeight } from './helpers';\nimport { TYPE } from './Occupation.constants';\nimport { DATASOURCE, ERROR, PLACE, SHAPE } from './Occupation.constants';\nimport { OccupationGroup } from './Occupation.Group';\nimport { L10N } from './Occupation.l10n';\nimport * as style from './Occupation.module.css';\nimport { prepareRoom } from '../../../helpers/prepareRoom';\nimport { ACCOMMODATION_TYPE } from '../../helpers';\n\nconst Occupation = React.forwardRef(\n (\n {\n dataSource = DATASOURCE,\n error,\n maxRooms,\n minRooms = 1,\n text,\n type = ACCOMMODATION_TYPE.ROOM,\n value = dataSource ? [...Array(minRooms)].map(() => prepareRoom(dataSource || DATASOURCE)) : [],\n onChange = () => {},\n onError = () => {},\n onSubmit,\n onValid = () => {},\n ...others\n },\n ref,\n ) => {\n const { translate } = useLocale();\n const itemsRef = useRef([]);\n\n const [scrollEnd, setScrollEnd] = useState();\n const [withError, setWithError] = useState(error);\n const [withWarning, setWithWarning] = useState(false);\n const [currentDataSource, setCurrentDataSource] = useState([]);\n\n useEffect(() => {\n if (JSON.stringify(dataSource) !== JSON.stringify(currentDataSource)) setWithWarning(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentDataSource, dataSource]);\n\n useEffect(() => {\n let nextValue = consolidateValue(value, dataSource, currentDataSource);\n if (!nextValue) {\n setWithWarning(true);\n onError(ERROR.NO_ROOM);\n nextValue = [prepareRoom(dataSource)];\n } else if (error && checkRoom(nextValue, dataSource)) {\n handleValid();\n }\n if (JSON.stringify(dataSource) !== JSON.stringify(currentDataSource)) setCurrentDataSource(dataSource);\n // ! TODO: Check why doesnt work witn non-hotels\n if (JSON.stringify(nextValue) !== JSON.stringify(value)) handleChange(nextValue);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, value]);\n\n useEffect(() => {\n setWithError(error);\n const roomIndex = value.findIndex((room) =>\n room.some(({ ages = [], type } = {}) => type === TYPE.CHILD && ages.some((age) => age === undefined)),\n );\n if (roomIndex < 0) return;\n\n const scrollHeight = getScrollHeight({\n hasAges: true,\n roomIndex,\n rooms: itemsRef.current?.map((el) => el?.scrollHeight),\n });\n if (scrollHeight >= 0) setScrollEnd(scrollEnd !== scrollHeight ? scrollHeight : scrollEnd + 0.1);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [error]);\n\n const handleAddRoom = () => {\n const { parentNode: { scrollHeight } = {} } = (itemsRef.current?.length > 0 && itemsRef.current[0]) || {};\n if (scrollHeight) setScrollEnd(scrollHeight);\n\n handleChange([...value, prepareRoom(dataSource)]);\n setWithWarning(false);\n };\n\n const handleRemoveRoom = (event, roomIndex, groupValue) => {\n event.stopPropagation();\n scroll(roomIndex, groupValue);\n\n handleChange(value.filter((_, index) => roomIndex !== index));\n itemsRef.current = [];\n setWithWarning(false);\n };\n\n const handleIndividual = (roomIndex, groupIndex, groupValue) => {\n dataSource[groupIndex].fulfill && scroll(roomIndex, groupValue);\n\n const nextValue = [...value];\n nextValue[roomIndex] = [...nextValue[roomIndex]] || [];\n nextValue[roomIndex][groupIndex] = groupValue.amount === 0 ? undefined : groupValue;\n\n handleChange(nextValue);\n setWithWarning(false);\n };\n\n const handleChange = (nextValue) => {\n onChange(nextValue);\n checkRoom(nextValue, dataSource) ? handleValid() : onError(ERROR.NOT_FILLED);\n };\n\n const handleSubmit = () => {\n setWithWarning(false);\n onSubmit(value);\n };\n\n const handleValid = () => {\n setWithError(false);\n onValid();\n };\n\n const scroll = (roomIndex, groupValue) => {\n const scrollHeight = getScrollHeight({\n hasAges: groupValue?.ages?.length > 0,\n roomIndex,\n rooms: itemsRef.current?.map((el) => el?.scrollHeight),\n });\n if (scrollHeight >= 0) setScrollEnd(scrollEnd !== scrollHeight ? scrollHeight : scrollEnd + 0.1);\n };\n\n const { testId } = others;\n const isValid = checkRoom(value, dataSource);\n\n return (\n <View {...others} role=\"occupation\" ref={ref} className={styles(style.container, others.className)}>\n {(withError || withWarning) && (\n <Notification error={withError} small warning={withWarning} className={style.notification}>\n {translate(withError ? L10N.NOTIFICATION_ERROR_UNFILLED_FIELDS : L10N.NOTIFICATION_WARNING_OCCUPATION)}\n </Notification>\n )}\n <ScrollView scrollTo={scrollEnd} snap={false} className={style.scrollview}>\n {value.map((room = [], roomIndex) => (\n <View key={`room:${roomIndex}`} ref={(el) => (itemsRef.current[roomIndex] = el)} wide>\n <View key={`room:header:${roomIndex}`} row className={styles(style.header, style.offset)}>\n <Text action>\n {translate({ id: `${L10N.LABEL_PLACE_TYPE_COUNT.id}.${PLACE[type]}` }, { roomIndex: roomIndex + 1 })}\n </Text>\n {value.length > minRooms && (\n <Action\n inline\n preventDefault\n small\n onPress={(event) => handleRemoveRoom(event, roomIndex, room[roomIndex])}\n testId={testId ? `${testId}-remove-room-${roomIndex}` : undefined}\n >\n {translate(L10N.ACTION_REMOVE)}\n </Action>\n )}\n </View>\n {dataSource.map((group, groupIndex) => (\n <OccupationGroup\n {...group}\n error={error}\n key={`room:${roomIndex}:${groupIndex}`}\n value={room[groupIndex]}\n onChange={(value) => handleIndividual(roomIndex, groupIndex, value)}\n />\n ))}\n </View>\n ))}\n </ScrollView>\n\n <View row className={styles(style.buttons, style.offset)}>\n <Button\n disabled={maxRooms && value.length >= maxRooms}\n preventDefault\n secondary\n className={style.buttonAdd}\n onPress={handleAddRoom}\n testId={testId ? `${testId}-add-room` : undefined}\n >\n {translate({ id: `${L10N.ACTION_ADD_PLACE_TYPE.id}.${PLACE[type]}` })}\n </Button>\n {onSubmit && (\n <Button\n disabled={!isValid}\n className={style.buttonSubmit}\n preventDefault\n onPress={handleSubmit}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {text || translate(L10N.ACTION_NEXT)}\n </Button>\n )}\n </View>\n </View>\n );\n },\n);\n\nOccupation.displayName = 'Mirai:Core:Occupation';\n\nOccupation.propTypes = {\n dataSource: PropTypes.arrayOf(SHAPE.DATASOURCE),\n error: PropTypes.bool,\n maxRooms: PropTypes.number,\n minRooms: PropTypes.number,\n text: PropTypes.string,\n type: PropTypes.oneOf(Object.values(ACCOMMODATION_TYPE)),\n value: PropTypes.arrayOf(PropTypes.arrayOf(SHAPE.VALUE)),\n onChange: PropTypes.func,\n onError: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Occupation };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Occupation.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Occupation","_Occupation2","_Occupation3","style","_prepareRoom","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Occupation","exports","React","forwardRef","_ref","ref","dataSource","DATASOURCE","error","maxRooms","minRooms","text","type","ACCOMMODATION_TYPE","ROOM","value","Array","map","prepareRoom","warning","onChange","onError","onSubmit","onValid","onWarning","others","translate","useLocale","itemsRef","useRef","scrollEnd","setScrollEnd","useState","withError","setWithError","withWarning","setWithWarning","currentDataSource","setCurrentDataSource","useEffect","JSON","stringify","nextValue","consolidateValue","checkRoom","handleValid","handleChange","_itemsRef$current","roomIndex","findIndex","room","some","ages","undefined","TYPE","CHILD","age","scrollHeight","getScrollHeight","hasAges","rooms","current","el","handleAddRoom","_itemsRef$current2","parentNode","handleRemoveRoom","event","groupValue","stopPropagation","scroll","filter","_","index","handleIndividual","groupIndex","fulfill","amount","ERROR","NOT_FILLED","handleSubmit","_groupValue$ages","_itemsRef$current3","testId","isValid","createElement","View","role","className","styles","container","Notification","small","notification","L10N","NOTIFICATION_ERROR_UNFILLED_FIELDS","NOTIFICATION_WARNING_OCCUPATION","ScrollView","scrollTo","snap","scrollview","concat","wide","row","header","offset","Text","action","id","LABEL_PLACE_TYPE_COUNT","PLACE","Action","inline","preventDefault","onPress","ACTION_REMOVE","group","OccupationGroup","buttons","Button","disabled","secondary","buttonAdd","ACTION_ADD_PLACE_TYPE","buttonSubmit","ACTION_NEXT","displayName","propTypes","PropTypes","arrayOf","SHAPE","bool","number","string","oneOf","values","VALUE","func"],"sources":["../../../../src/components/__shared__/Occupation/Occupation.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Action, Button, Notification, ScrollView, Text, View, styles } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { checkRoom, consolidateValue, getScrollHeight } from './helpers';\nimport { TYPE } from './Occupation.constants';\nimport { DATASOURCE, ERROR, PLACE, SHAPE } from './Occupation.constants';\nimport { OccupationGroup } from './Occupation.Group';\nimport { L10N } from './Occupation.l10n';\nimport * as style from './Occupation.module.css';\nimport { prepareRoom } from '../../../helpers/prepareRoom';\nimport { ACCOMMODATION_TYPE } from '../../helpers';\n\nconst Occupation = React.forwardRef(\n (\n {\n dataSource = DATASOURCE,\n error,\n maxRooms,\n minRooms = 1,\n text,\n type = ACCOMMODATION_TYPE.ROOM,\n value = dataSource ? [...Array(minRooms)].map(() => prepareRoom(dataSource || DATASOURCE)) : [],\n warning,\n onChange = () => {},\n onError = () => {},\n onSubmit,\n onValid = () => {},\n onWarning = () => {},\n ...others\n },\n ref,\n ) => {\n const { translate } = useLocale();\n const itemsRef = useRef([]);\n\n const [scrollEnd, setScrollEnd] = useState();\n const [withError, setWithError] = useState(error);\n const [withWarning, setWithWarning] = useState(false);\n const [currentDataSource, setCurrentDataSource] = useState([]);\n\n useEffect(() => {\n if (JSON.stringify(dataSource) !== JSON.stringify(currentDataSource)) setWithWarning(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentDataSource, dataSource]);\n\n useEffect(() => {\n let nextValue = consolidateValue(value, dataSource, currentDataSource);\n if (!nextValue) {\n setWithWarning(true);\n onWarning();\n nextValue = [prepareRoom(dataSource)];\n } else if (error && checkRoom(nextValue, dataSource)) {\n handleValid();\n }\n if (JSON.stringify(dataSource) !== JSON.stringify(currentDataSource)) setCurrentDataSource(dataSource);\n // ! TODO: Check why doesnt work witn non-hotels\n if (JSON.stringify(nextValue) !== JSON.stringify(value)) handleChange(nextValue);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, value]);\n\n useEffect(() => {\n setWithError(error);\n const roomIndex = value.findIndex((room) =>\n room.some(({ ages = [], type } = {}) => type === TYPE.CHILD && ages.some((age) => age === undefined)),\n );\n if (roomIndex < 0) return;\n\n const scrollHeight = getScrollHeight({\n hasAges: true,\n roomIndex,\n rooms: itemsRef.current?.map((el) => el?.scrollHeight),\n });\n if (scrollHeight >= 0) setScrollEnd(scrollEnd !== scrollHeight ? scrollHeight : scrollEnd + 0.1);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [error]);\n\n useEffect(() => {\n if (warning === undefined) return;\n\n setWithWarning(warning);\n }, [warning]);\n\n const handleAddRoom = () => {\n const { parentNode: { scrollHeight } = {} } = (itemsRef.current?.length > 0 && itemsRef.current[0]) || {};\n if (scrollHeight) setScrollEnd(scrollHeight);\n\n handleChange([...value, prepareRoom(dataSource)]);\n setWithWarning(false);\n };\n\n const handleRemoveRoom = (event, roomIndex, groupValue) => {\n event.stopPropagation();\n scroll(roomIndex, groupValue);\n\n handleChange(value.filter((_, index) => roomIndex !== index));\n itemsRef.current = [];\n setWithWarning(false);\n };\n\n const handleIndividual = (roomIndex, groupIndex, groupValue) => {\n dataSource[groupIndex].fulfill && scroll(roomIndex, groupValue);\n\n const nextValue = [...value];\n nextValue[roomIndex] = [...nextValue[roomIndex]] || [];\n nextValue[roomIndex][groupIndex] = groupValue.amount === 0 ? undefined : groupValue;\n\n handleChange(nextValue);\n setWithWarning(false);\n };\n\n const handleChange = (nextValue) => {\n onChange(nextValue);\n checkRoom(nextValue, dataSource) ? handleValid() : onError(ERROR.NOT_FILLED);\n };\n\n const handleSubmit = () => {\n setWithWarning(false);\n onSubmit(value);\n };\n\n const handleValid = () => {\n setWithError(false);\n onValid();\n };\n\n const scroll = (roomIndex, groupValue) => {\n const scrollHeight = getScrollHeight({\n hasAges: groupValue?.ages?.length > 0,\n roomIndex,\n rooms: itemsRef.current?.map((el) => el?.scrollHeight),\n });\n if (scrollHeight >= 0) setScrollEnd(scrollEnd !== scrollHeight ? scrollHeight : scrollEnd + 0.1);\n };\n\n const { testId } = others;\n const isValid = checkRoom(value, dataSource);\n\n return (\n <View {...others} role=\"occupation\" ref={ref} className={styles(style.container, others.className)}>\n {(withError || withWarning) && (\n <Notification error={withError} small warning={withWarning} className={style.notification}>\n {translate(withError ? L10N.NOTIFICATION_ERROR_UNFILLED_FIELDS : L10N.NOTIFICATION_WARNING_OCCUPATION)}\n </Notification>\n )}\n <ScrollView scrollTo={scrollEnd} snap={false} className={style.scrollview}>\n {value.map((room = [], roomIndex) => (\n <View key={`room:${roomIndex}`} ref={(el) => (itemsRef.current[roomIndex] = el)} wide>\n <View key={`room:header:${roomIndex}`} row className={styles(style.header, style.offset)}>\n <Text action>\n {translate({ id: `${L10N.LABEL_PLACE_TYPE_COUNT.id}.${PLACE[type]}` }, { roomIndex: roomIndex + 1 })}\n </Text>\n {value.length > minRooms && (\n <Action\n inline\n preventDefault\n small\n onPress={(event) => handleRemoveRoom(event, roomIndex, room[roomIndex])}\n testId={testId ? `${testId}-remove-room-${roomIndex}` : undefined}\n >\n {translate(L10N.ACTION_REMOVE)}\n </Action>\n )}\n </View>\n {dataSource.map((group, groupIndex) => (\n <OccupationGroup\n {...group}\n error={error}\n key={`room:${roomIndex}:${groupIndex}`}\n value={room[groupIndex]}\n onChange={(value) => handleIndividual(roomIndex, groupIndex, value)}\n />\n ))}\n </View>\n ))}\n </ScrollView>\n\n <View row className={styles(style.buttons, style.offset)}>\n <Button\n disabled={maxRooms && value.length >= maxRooms}\n preventDefault\n secondary\n className={style.buttonAdd}\n onPress={handleAddRoom}\n testId={testId ? `${testId}-add-room` : undefined}\n >\n {translate({ id: `${L10N.ACTION_ADD_PLACE_TYPE.id}.${PLACE[type]}` })}\n </Button>\n {onSubmit && (\n <Button\n disabled={!isValid}\n className={style.buttonSubmit}\n preventDefault\n onPress={handleSubmit}\n testId={testId ? `${testId}-submit` : undefined}\n >\n {text || translate(L10N.ACTION_NEXT)}\n </Button>\n )}\n </View>\n </View>\n );\n },\n);\n\nOccupation.displayName = 'Mirai:Core:Occupation';\n\nOccupation.propTypes = {\n dataSource: PropTypes.arrayOf(SHAPE.DATASOURCE),\n error: PropTypes.bool,\n maxRooms: PropTypes.number,\n minRooms: PropTypes.number,\n text: PropTypes.string,\n type: PropTypes.oneOf(Object.values(ACCOMMODATION_TYPE)),\n value: PropTypes.arrayOf(PropTypes.arrayOf(SHAPE.VALUE)),\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n onWarning: PropTypes.func,\n};\n\nexport { Occupation };\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/core",
3
- "version": "0.3.293",
3
+ "version": "0.3.294",
4
4
  "source": "src/index.js",
5
5
  "repository": "https://gitlab.com/miraicorp/dev/frontend/core",
6
6
  "author": "JΛVI <hello@soyjavi.com>",