{"version":3,"mappings":"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","names":["JsonLd","structuredData","jsx","veciBreadCrumbsStyles","css","FontMixin","theme","Icon","BreadCrumbsThemes","createThemes","ThemeId","BreadcrumbsBox","styled","BreadcrumbsList","Margin","BreadcrumbsListNav","Padding","BreadCrumbs","BreadcrumbsItem","FlexMixin","AttentionMixin","$isDesktop","BreadcrumbItem","item","index","isDesktop","useIsDesktop","jsxs","nullsToUndefined","Fragment","BreadcrumbsBoxDesktop","BreadcrumbsListDesktop","BreadcrumbsListNavDesktop","BreadcrumbsItemDesktop","BreadcrumbsDesktop","props","items","actives","ldjson","BreadcrumbsBoxMobile","BreadcrumbsListMobile","BreadcrumbsMobile","config","isHome","newItems","Breadcrumbs","generateViewsComponent","FaqsItem","BorderRadius","BoxShadow","$category","Border","rgba","FaqsItemContainer","FaqsSectionTitle","Title","FaqsItemTitle","FaqsQuestionLinkContainer","FaqsQuestionLink","FaqsContainer","Section","FaqsSectionContainer","FaqsItemLinkContainer","FaqsItemLink","$isTagLink","FaqsOtherContainer","FaqOtherCategory","FaqOtherCategoryImage","FaqOtherTagImage","FaqsOtherCategoriesListContainer","FaqsOtherCategoriesTitle","FaqsOtherTagsTitle","FaqsOtherTagsListContainer","FaqOtherTag","FaqsLvlContainer","SectionContainer","FaqsLvlLeftSectionContainer","FaqsLvlRightSectionContainer","FaqsLvlMainContainer","FaqsLvlSectionMainTitle","FaqsLvlSectionOtherTitle","FaqsLvlItemLinksContainer","FaqsLvlContent","InnerMarkdownHTML","FaqsLvlItemLinkContainer","FaqsLvlOtherLinksContainer","FaqsLvlOtherLinkItemContainer","FaqsLvlOtherLinkContainer","FaqsLvlTagsContainer","FaqsLvlTagsMainTitle","FaqsLvlTagsItemsContainer","FaqsLvlTagsItemContainer","RenderFaqsOthersCategories","otherCategories","otherTitle","S.FaqsOtherContainer","S.FaqsOtherCategoriesTitle","S.FaqsOtherCategoriesListContainer","category","S.FaqOtherCategory","S.FaqOtherCategoryImage","_a","_b","_c","genKey","RenderFaqsOthersTags","S.FaqsOtherTagsTitle","S.FaqsOtherTagsListContainer","S.FaqOtherTagImage","S.FaqOtherTag","href","title","content","target","isTagLink","S.FaqsItemLink","FaqsQuestionLinks","S.FaqsQuestionLink","RenderFaqItem","question","isCategoryType","S.FaqsItem","S.FaqsItemTitle","S.FaqsQuestionLinkContainer","link","createElement","S.FaqsItemLinkContainer","RenderFaqs","questions","other","S.FaqsSectionContainer","S.FaqsSectionTitle","S.FaqsItemContainer","RenderFaqsLvl","links","tags","literals","level","titleLabel","otherTitleLabel","tagsTitleLabel","contentRendered","paragraph","S.FaqsLvlContent","S.FaqsLvlContainer","S.FaqsLvlLeftSectionContainer","S.FaqsLvlMainContainer","S.FaqsLvlSectionMainTitle","S.FaqsLvlItemLinksContainer","S.FaqsLvlItemLinkContainer","S.FaqsLvlTagsContainer","S.FaqsLvlTagsMainTitle","S.FaqsLvlTagsItemsContainer","tag","S.FaqsLvlTagsItemContainer","S.FaqsLvlRightSectionContainer","S.FaqsLvlSectionOtherTitle","otherTag","S.FaqsLvlOtherLinkContainer","S.FaqsLvlOtherLinksContainer","S.FaqsLvlOtherLinkItemContainer","FaqsDesktop","S.FaqsContainer","FaqsLvl3BottomContainer","FaqsItemListContainer","FaqsOthersCategoriesContainer","$largerFontSize","FaqsMoreViewLabel","FaqsQuestionLinkTitle","FaqsQuestionLinkArrowIcon","$level","$extraXPadding","$extraYPadding","MobileFaqsOtherContainer","MobileFaqsOtherCategoriesTitle","$level1","MobileFaqsOtherCategoriesListContainer","MobileFaqOtherCategory","MobileFaqOtherCategoryImage","MobileCarouselCategories","Slider","CarouselTags","FaqsLvl3MainTitle","FaqsLvl3ContentContainer","FaqsLvl3Content","FaqsLvl3Container","FaqsLvl3TopContainer","FaqsLvl3TagsContainer","FaqsLvl3TagsMainTitle","FaqsLvl3TagsItemsContainer","FaqsLvl3TagsItemContainer","categoryAmount","sliderProps","S.MobileFaqsOtherContainer","S.MobileFaqsOtherCategoriesTitle","S.MobileFaqsOtherCategoriesListContainer","S.MobileCarouselCategories","S.MobileFaqOtherCategory","S.MobileFaqOtherCategoryImage","S.CarouselTags","MIN_SHOW_QUESTIONS","hideLastSeparator","S.FaqsQuestionLinkTitle","S.FaqsQuestionLinkArrowIcon","RenderQuestionBylvl","moreFaqsLabel","viewAllQuestions","setViewAllQuestions","useState","S.FaqsMoreViewLabel","S.FaqsItemListContainer","RenderFaqsLvl2","acc","cur","otherLinks","S.FaqsOthersCategoriesContainer","RenderFaqsLvl3","S.FaqsLvl3Content","S.FaqsLvl3Container","S.FaqsLvl3TopContainer","S.FaqsLvl3MainTitle","S.FaqsLvl3ContentContainer","S.FaqsLvl3TagsContainer","S.FaqsLvl3TagsMainTitle","S.FaqsLvl3TagsItemsContainer","S.FaqsLvl3TagsItemContainer","S.FaqsLvl3BottomContainer","FaqsMobile","Faqs","FaqsOtherHelpDesktopContainer","FaqsOtherHelpDesktopContainerContent","FaqsOtherHelpDesktopTitle","FaqsOtherHelpDesktopContent","FaqsOtherHelpDesktopContentItemContainer","FaqsOtherHelpDesktopContentItemLogoContainer","FaqsOtherHelpDesktopContentItemLogo","FaqsOtherHelpDesktopContentItemDescriptionContainer","FaqsOtherHelpDesktopContentItemTitle","FaqsOtherHelpDesktopContentItemDescription","FaqsOtherHelpDesktop","S.FaqsOtherHelpDesktopContainer","S.FaqsOtherHelpDesktopContainerContent","S.FaqsOtherHelpDesktopTitle","S.FaqsOtherHelpDesktopContent","S.FaqsOtherHelpDesktopContentItemContainer","S.FaqsOtherHelpDesktopContentItemLogoContainer","S.FaqsOtherHelpDesktopContentItemLogo","S.FaqsOtherHelpDesktopContentItemDescriptionContainer","_d","S.FaqsOtherHelpDesktopContentItemTitle","S.FaqsOtherHelpDesktopContentItemDescription","FaqsOtherHelpMobileContainer","FaqsOtherHelpMobileContainerContent","FaqsOtherHelpMobileTitle","FaqsOtherHelpMobileContent","FaqsOtherHelpMobileContentItemContainer","FaqsOtherHelpMobileContentItemLogoContainer","FaqsOtherHelpMobileContentItemLogo","FaqsOtherHelpMobileContentItemDescriptionContainer","FaqsOtherHelpMobileContentItemTitle","FaqsOtherHelpMobileContentItemDescription","FaqsOtherHelpMobile","S.FaqsOtherHelpMobileContainer","S.FaqsOtherHelpMobileContainerContent","S.FaqsOtherHelpMobileTitle","S.FaqsOtherHelpMobileContent","S.FaqsOtherHelpMobileContentItemContainer","S.FaqsOtherHelpMobileContentItemLogoContainer","S.FaqsOtherHelpMobileContentItemLogo","S.FaqsOtherHelpMobileContentItemDescriptionContainer","S.FaqsOtherHelpMobileContentItemTitle","S.FaqsOtherHelpMobileContentItemDescription","FaqsOtherHelp","isCheckBoxInput","element","isDateObject","value","isNullOrUndefined","isObjectType","isObject","getEventValue","event","getNodeParentName","name","isNameInFieldArray","names","isPlainObject","tempObject","prototypeCopy","isWeb","cloneObject","data","copy","isArray","key","compact","isUndefined","val","get","object","path","defaultValue","result","isBoolean","EVENTS","VALIDATION_MODE","INPUT_VALIDATION_RULES","HookFormContext","React","useFormContext","FormProvider","children","getProxyFormState","formState","control","localProxyFormState","isRoot","_key","isEmptyObject","shouldRenderFormState","formStateData","_proxyFormState","updateFormState","convertToArrayPayload","shouldSubscribeByName","signalName","exact","currentName","useSubscribe","_props","subscription","useFormState","methods","disabled","_mounted","_localProxyFormState","_name","isString","generateWatchOutput","_names","formValues","isGlobal","fieldName","useWatch","updateValue","isKey","stringToPath","input","set","tempPath","length","lastIndex","newValue","objValue","useController","shouldUnregister","isArrayField","_registerProps","_shouldUnregisterField","updateMounted","field","elm","message","appendErrors","validateAllFieldCriteria","errors","type","getValidationModes","mode","isWatched","isBlurEvent","watchName","iterateFieldsByAction","fields","action","fieldsNames","abortEarly","_f","currentField","updateFieldArrayRootError","error","fieldArrayErrors","isFileInput","isFunction","isHTMLElement","owner","isMessage","isRadioInput","isRegex","defaultResult","validResult","getCheckboxValue","options","values","option","defaultReturn","getRadioValue","previous","getValidateError","ref","getValueAndMessage","validationData","validateField","shouldUseNativeValidation","isFieldArray","refs","required","maxLength","minLength","min","max","pattern","validate","valueAsNumber","mount","inputValue","inputRef","setCustomValidity","isRadio","isCheckBox","isRadioOrCheckbox","isEmpty","appendErrorsCurry","getMinMaxMessage","exceedMax","maxLengthMessage","minLengthMessage","maxType","minType","exceedMin","maxOutput","minOutput","valueNumber","valueDate","convertTimeToDate","time","isTime","isWeek","maxLengthOutput","minLengthOutput","patternValue","validateError","validationResult","baseGet","updatePath","isEmptyArray","obj","unset","paths","childObject","createSubject","_observers","observer","isPrimitive","deepEqual","object1","object2","keys1","keys2","val1","val2","isMultipleSelect","live","objectHasFunction","markFieldsDirty","isParentNodeArray","getDirtyFieldsFromDefaultValues","dirtyFieldsFromValues","getDirtyFields","defaultValues","getFieldValueAs","valueAsDate","setValueAs","getFieldValue","getResolverOptions","_fields","criteriaMode","getRuleValue","rule","hasValidation","schemaErrorLookup","foundError","skipValidation","isTouched","isSubmitted","reValidateMode","unsetEmptyArray","defaultOptions","createFormControl","_options","_formState","_defaultValues","_formValues","_state","delayErrorCallback","timer","_subjects","validationModeBeforeSubmit","validationModeAfterSubmit","shouldDisplayAllAssociatedErrors","debounce","callback","wait","_updateValid","shouldUpdateValid","isValid","_executeSchema","executeBuiltInValidation","_updateIsValidating","isValidating","_updateFieldArray","method","args","shouldSetValues","shouldUpdateFieldsAndState","fieldValues","touchedFields","_getDirty","updateErrors","_setErrors","updateValidAndValue","shouldSkipSetValueAs","setFieldValue","updateTouchAndDirty","fieldValue","shouldDirty","shouldRender","shouldUpdateField","isPreviousDirty","output","disabledField","isCurrentFieldPristine","isPreviousFieldTouched","shouldRenderByError","fieldState","previousFieldError","updatedFormState","executeSchemaAndUpdateState","shouldOnlyCheckValid","context","isFieldArrayRoot","fieldError","_removeUnmounted","unregister","getValues","_getWatch","_getFieldArray","fieldReference","optionRef","checkboxRef","radioRef","trigger","setValues","fieldKey","setValue","cloneValue","onChange","isFieldValueUpdated","getCurrentFieldValue","_updateIsFieldValueUpdated","shouldSkipValidation","watched","previousErrorLookupResult","errorLookupResult","_focusInput","fieldNames","getFieldState","clearErrors","inputName","setError","watch","payload","_updateDisabledField","register","disabledIsDefined","fieldRef","radioOrCheckbox","_focusError","_disableForm","requiredDisabledState","handleSubmit","onValid","onInvalid","e","onValidError","resetField","_reset","keepStateOptions","updatedValues","cloneUpdatedValues","isEmptyResetValues","form","reset","useForm","_formControl","_values","isDirty","state","Form","onSubmit","onError","formTag","shouldFocusError","rest","formMethods","Form$1","checkPetValue","toDate","argument","argStr","constructFrom","date","millisecondsInWeek","millisecondsInDay","getDefaultOptions","startOfWeek","weekStartsOn","_date","day","diff","startOfISOWeek","getISOWeekYear","year","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","startOfDay","getTimezoneOffsetInMilliseconds","utcDate","differenceInCalendarDays","dateLeft","dateRight","startOfDayLeft","startOfDayRight","timestampLeft","timestampRight","startOfISOWeekYear","fourthOfJanuary","isDate","startOfYear","cleanDate","formatDistanceLocale","formatDistance","token","count","tokenValue","buildFormatLongFn","width","dateFormats","timeFormats","dateTimeFormats","formatLong","formatRelativeLocale","formatRelative","_baseDate","buildLocalizeFn","valuesArray","defaultWidth","eraValues","quarterValues","monthValues","dayValues","dayPeriodValues","formattingDayPeriodValues","ordinalNumber","dirtyNumber","number","rem100","localize","quarter","buildMatchFn","string","matchPattern","matchResult","matchedString","parsePatterns","findIndex","findKey","predicate","array","buildMatchPatternFn","parseResult","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","match","enUS","getDayOfYear","getISOWeek","getWeekYear","firstWeekContainsDate","firstWeekOfNextYear","firstWeekOfThisYear","startOfWeekYear","firstWeek","getWeek","addLeadingZeros","targetLength","sign","lightFormatters","signedYear","month","dayPeriodEnumValue","numberOfDigits","milliseconds","fractionalSeconds","dayPeriodEnum","formatters","era","signedWeekYear","weekYear","twoDigitYear","isoWeekYear","week","isoWeek","dayOfYear","dayOfWeek","localDayOfWeek","isoDayOfWeek","hours","_localize","timezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","formatTimezoneShort","timestamp","offset","delimiter","absOffset","minutes","dateLongFormatter","timeLongFormatter","dateTimeLongFormatter","datePattern","timePattern","dateTimeFormat","longFormatters","dayOfYearTokenRE","weekYearTokenRE","throwTokens","isProtectedDayOfYearToken","isProtectedWeekYearToken","warnOrThrowProtectedError","format","_message","subject","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","formatStr","locale","defaultLocale","originalDate","parts","substring","firstCharacter","longFormatter","cleanEscapedString","formatterOptions","part","formatter","matched","MapCache","require$$0","FUNC_ERROR_TEXT","memoize","func","resolver","memoized","cache","memoize_1","EMAIL_REGEX","isValidationErrorMessageWithArgs","fn","lodashMemoize","combine2Validators","validator1","validator2","result1","resolvedResult1","composeValidators","validators","nullFunction","regex","list","totalPeople","room","adults","notEqualTo","fastDeepEqual","equalTo","value1","value2","minDate","useResizeImage","src","resize","useContext","contextBabylon","mscdn","hasDomain","QUERY_PARAMS_OPTIONS","getLenguage","params","language","param","EndpointHandler","url","redirectToFaqHandler","ScrollIntoView","scrollToView","block","behavior","useRef","ErrorTooltip","Tooltip","$width","TooltipContent","TooltipArrow","ErrorTooltipView","referenceElement","size","useResizeObserver","useEffect","ErrorTooltip$1","isVisible","checkIsRequired","it","getValidate","sanitizedValidate","getControllerProps","rules","defaultFormat","getCustomField","parse","onBlur","eventOrValue","getLabel","label","isRequired","isHiddenRequired","getCommonInputProps","invalid","hasError","finalLabel","useInput","isRequiredOption","propsValue","propsLabel","propsOnBlur","propsOnChange","disableErrors","finalValidate","useMemo","controllerProps","finalField","logitravelInputStyles","liverpoolInputStyles","universalMusicInputStyles","veciInputStyles","inputThemes","variantStylesLabel","variant","$focused","variantStylesInput","InputWrapper","InputLabel","$variant","$disabled","InputIcon","InputComponentWrapper","InputIconWrapper","InputComponent","ErrorText","Input","forwardRef","id","icon","onFocus","onClick","isFocused","placeholder","disableInternalFocus","className","wrapperRef","errorVariant","uniqueId","useId","useImperativeHandle","inputWrapperRef","internalFocused","setInternalFocused","finalFocused","internalOnBlur","useCallback","internalOnFocus","inputId","classNames","parseFilters","filters","BORG_ENDPOINT","MIN_ITEMS_TO_SHOW","DEBOUNCE_DELAY","HEADER_ICON","autocompleteLiterals","questionsFAQsConverter","getSuggestions","queryParams","BaseUrl","endpoint","query","geolocation","n","o","p","origin","destination","finalUrl","response","StoreTypes","StoreActions","INITIAL_STATE","reducer","useStore","init","initFc","dispatch","useReducer","closeSuggestions","openSuggestions","setQuery","setPreviousValue","setSuggestions","suggestions","selectSuggestion","suggestion","selectingSuggestion","confirmSuggestion","cancelSuggestion","getDecode","__vitePreload","res","decode","groupBy","map","collection","groupByType","collectionByGroup","grouped","boldText","text","patron","str","useKeydown","store","arrowUpDownHandler","eventKey","x","nextElement","KEY_CODE","pressHandler","useAutocomplete","refSuggestions","forceGetDataOnRender","usestore","useOnClickOutside","refInput","onBlurHandler","forcedGetDataOnRender","debouncedQuery","useDebounceValue","setPreviousValueHandler","getData","suggestionByType","err","searchSuggestion","isNewSuggestion","autocompleteResult","useFormAutocomplete","_isHiddenRequired","liverPoolAutocompleteStyles","veciAutocompleteStyles","$highlight","autocompleteThemes","TooltipDesktop","AutocompleteBlock","HeaderSuggestionDesktop","IconWrapperDesktop","LabelSuggestionDesktop","AutocompleteDesktop","Language","hideHeaderSuggestion","onSuggestionClick","handleOnBlur","Children","isSelectSuggestion","FormAutocompleteDesktop","finalProps","TooltipMobile","TooltipBox","HeaderSuggestionMobile","IconWrapperMobile","LabelSuggestionMobile","AutocompleteInputModal","AutocompleteMobile","refInputMobile","persistentMenu","refSuggestionMobile","autocomplete","handleOnFocus","FormAutocompleteMobile","FormAutocomplete","FaqsDesktopSearcherWrapper","FaqsDesktopSearcher","FaqsDesktopSearcherTitle","FaqsDesktopSearcherFormContainer","FaqsDesktopSearcherInput","FaqsDesktopSearcherImageWrapper","FaqsDesktopSearcherImage","Image","FaqsSearcherDesktop","backgroundImage","image","endpoints","placeholderLabel","getQuery","_params","backgroundUri","S.FaqsDesktopSearcher","S.FaqsDesktopSearcherWrapper","S.FaqsDesktopSearcherTitle","S.FaqsDesktopSearcherFormContainer","S.FaqsDesktopSearcherInput","S.FaqsDesktopSearcherImageWrapper","S.FaqsDesktopSearcherImage","FaqsMobileSearcherWrapper","FaqsMobileSearcher","FaqsMobileSearcherTitle","FaqsMobileSearcherFormContainer","FaqsButtonToggleModal","FaqsButtonTogleModalContent","FaqsButtonSearcher","Modal","ModalHeader","ModalHeaderText","ModalCloseButton","FaqsMobileSearcherInput","FaqsMobileSearcherForm","FaqsSearcherMobile","toggleVisibility","useBoolean","S.FaqsMobileSearcher","S.FaqsMobileSearcherWrapper","S.FaqsMobileSearcherTitle","S.FaqsMobileSearcherForm","S.FaqsMobileSearcherFormContainer","S.FaqsButtonToggleModal","S.FaqsButtonTogleModalContent","S.FaqsButtonSearcher","S.FaqsMobileSearcherInput","FaqsSearcher","MainContainer","BreadcrumbsHydration","withHydrationOnDemand","FaqsSearcherHydration","FaqsHydration","FaqsOtherHelpHydration","faqs","faqsOtherHelp","faqsSearcher","breadcrumbs","parseRootProps","faqsSearcherByLvl","S.MainContainer","S.FaqsSearcher","_e","S.Breadcrumbs","S.FaqsOtherHelp","ScrollToTop","MFaqsSearcher","MBreadCrumbs","MFaqsContainer","MFaqsOtherHelps","mfaqs","mfaqsSearcher","mfaqsOtherHelp","mBreadcrumbs","mfaqsSearcherByLvl","S.MFaqsSearcher","S.MBreadCrumbs","S.MFaqsContainer","S.MFaqsOtherHelps","MainFaqs","transformProps","root","DEVICES","typedRoot","header","footer","App","templateProps","FaqsProps","BaseTemplateLogitravel","renderPages"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99],"sources":["../../../../../../../node_modules/@babylon/ui-kit-base/esm/components/others/json-ld/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-common/esm/components/others/breadcrumbs/views/themes/styles/veci.mjs","../../../../../../../node_modules/@babylon/ui-kit-common/esm/components/others/breadcrumbs/views/themes/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-common/esm/components/others/breadcrumbs/styled.mjs","../../../../../../../node_modules/@babylon/ui-kit-common/esm/components/others/breadcrumbs/components/breadcrumbItem/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-common/esm/components/others/breadcrumbs/views/desktop/styled.mjs","../../../../../../../node_modules/@babylon/ui-kit-common/esm/components/others/breadcrumbs/views/desktop/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-common/esm/components/others/breadcrumbs/views/mobile/styled.mjs","../../../../../../../node_modules/@babylon/ui-kit-common/esm/components/others/breadcrumbs/views/mobile/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-common/esm/components/others/breadcrumbs/index.mjs","../../../../../../../src/components/faqs/views/desktop/styled.ts","../../../../../../../src/components/faqs/views/desktop/render-faq-other-categories/index.tsx","../../../../../../../src/components/faqs/views/desktop/render-faq-other-tags/index.tsx","../../../../../../../src/components/faqs/views/desktop/render-faqs/index.tsx","../../../../../../../src/components/faqs/views/desktop/index.tsx","../../../../../../../src/components/faqs/views/mobile/styled.ts","../../../../../../../src/components/faqs/views/mobile/render-faq-other-categories/index.tsx","../../../../../../../src/components/faqs/views/mobile/render-faq-other-tags/index.tsx","../../../../../../../src/components/faqs/views/mobile/render-faqs/index.tsx","../../../../../../../src/components/faqs/views/mobile/index.tsx","../../../../../../../src/components/faqs/index.tsx","../../../../../../../src/components/faqs-other-help/views/desktop/styled.ts","../../../../../../../src/components/faqs-other-help/views/desktop/index.tsx","../../../../../../../src/components/faqs-other-help/views/mobile/styled.ts","../../../../../../../src/components/faqs-other-help/views/mobile/index.tsx","../../../../../../../src/components/faqs-other-help/index.tsx","../../../../../../../node_modules/react-hook-form/dist/index.esm.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/others/form/styled.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/others/form/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/panel-vehicle/utils/utils.mjs","../../../../../../../node_modules/date-fns/toDate.mjs","../../../../../../../node_modules/date-fns/constructFrom.mjs","../../../../../../../node_modules/date-fns/constants.mjs","../../../../../../../node_modules/date-fns/_lib/defaultOptions.mjs","../../../../../../../node_modules/date-fns/startOfWeek.mjs","../../../../../../../node_modules/date-fns/startOfISOWeek.mjs","../../../../../../../node_modules/date-fns/getISOWeekYear.mjs","../../../../../../../node_modules/date-fns/startOfDay.mjs","../../../../../../../node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.mjs","../../../../../../../node_modules/date-fns/differenceInCalendarDays.mjs","../../../../../../../node_modules/date-fns/startOfISOWeekYear.mjs","../../../../../../../node_modules/date-fns/isDate.mjs","../../../../../../../node_modules/date-fns/isValid.mjs","../../../../../../../node_modules/date-fns/startOfYear.mjs","../../../../../../../node_modules/date-fns/locale/en-US/_lib/formatDistance.mjs","../../../../../../../node_modules/date-fns/locale/_lib/buildFormatLongFn.mjs","../../../../../../../node_modules/date-fns/locale/en-US/_lib/formatLong.mjs","../../../../../../../node_modules/date-fns/locale/en-US/_lib/formatRelative.mjs","../../../../../../../node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs","../../../../../../../node_modules/date-fns/locale/en-US/_lib/localize.mjs","../../../../../../../node_modules/date-fns/locale/_lib/buildMatchFn.mjs","../../../../../../../node_modules/date-fns/locale/_lib/buildMatchPatternFn.mjs","../../../../../../../node_modules/date-fns/locale/en-US/_lib/match.mjs","../../../../../../../node_modules/date-fns/locale/en-US.mjs","../../../../../../../node_modules/date-fns/getDayOfYear.mjs","../../../../../../../node_modules/date-fns/getISOWeek.mjs","../../../../../../../node_modules/date-fns/getWeekYear.mjs","../../../../../../../node_modules/date-fns/startOfWeekYear.mjs","../../../../../../../node_modules/date-fns/getWeek.mjs","../../../../../../../node_modules/date-fns/_lib/addLeadingZeros.mjs","../../../../../../../node_modules/date-fns/_lib/format/lightFormatters.mjs","../../../../../../../node_modules/date-fns/_lib/format/formatters.mjs","../../../../../../../node_modules/date-fns/_lib/format/longFormatters.mjs","../../../../../../../node_modules/date-fns/_lib/protectedTokens.mjs","../../../../../../../node_modules/date-fns/format.mjs","../../../../../../../node_modules/lodash/memoize.js","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/helpers/validate.mjs","../../../../../../../src/hooks/useResizeImage.ts","../../../../../../../src/components/faqs-searcher/utils/constants.ts","../../../../../../../src/components/faqs-searcher/utils/index.ts","../../../../../../../node_modules/@babylon/ui-kit-structures/esm/components/others/scroll-into-view/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/others/error-tooltip/styled.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/others/error-tooltip/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/hooks/useInput/utils.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/hooks/useInput/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/input/themes/styles/logitravel.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/input/themes/styles/partnershipsLiverpool.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/input/themes/styles/partnershipsUniversalMusic.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/input/themes/styles/veci.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/input/themes/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/input/styled.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/input/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-helpers/esm/url.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete/utils/autocomplete.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete/services/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete/store/types.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete/store/reducer.mjs","../../../../../../../node_modules/@babylon/ui-kit-helpers/esm/decode.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete/utils/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete/hooks/useKeydown.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete/hooks/useAutocomplete.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete/hooks/useFormAutocomplete.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete/views/desktop/themes/styles/liverpool.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete/views/desktop/themes/styles/veci.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete/views/desktop/themes/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete/views/desktop/styled.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete/views/desktop/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete/views/mobile/styled.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete/views/mobile/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete/index.mjs","../../../../../../../src/components/faqs-searcher/views/desktop/styled.ts","../../../../../../../src/components/faqs-searcher/views/desktop/index.tsx","../../../../../../../src/components/faqs-searcher/views/mobile/styled.ts","../../../../../../../src/components/faqs-searcher/views/mobile/index.tsx","../../../../../../../src/components/faqs-searcher/index.tsx","../../../../../../../src/pages/faqs/views/desktop/styled.ts","../../../../../../../src/pages/faqs/views/desktop/index.tsx","../../../../../../../src/pages/faqs/views/mobile/styled.ts","../../../../../../../src/pages/faqs/views/mobile/index.tsx","../../../../../../../src/pages/faqs/index.tsx","../../../../../../../src/sites/logitravel-contact/bundles/faqs/utils.ts","../../../../../../../src/sites/logitravel-contact/bundles/faqs/index.tsx"],"sourcesContent":["import { jsx } from 'react/jsx-runtime';\n\nconst JsonLd = ({ structuredData })=>{\n if (!structuredData) return null;\n return /*#__PURE__*/ jsx(\"script\", {\n \"data-testid\": \"JsonLd\",\n type: \"application/ld+json\",\n dangerouslySetInnerHTML: {\n __html: JSON.stringify(structuredData)\n }\n });\n};\n\nexport { JsonLd as default };\n//# sourceMappingURL=index.mjs.map\n","import Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport { FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { css } from 'styled-components';\n\nconst veciBreadCrumbsStyles = {\n BreadcrumbsItem: ()=>/*#__PURE__*/ css([\n ``,\n ` text-transform:uppercase;&:last-child{`,\n `}a,li,span{color:`,\n `;}&:first-child{span,a{color:`,\n `;}}`,\n `{`,\n ` color:`,\n `;}`\n ], FontMixin({\n size: 'smaller',\n height: 'smaller',\n weight: 'regular'\n }), FontMixin({\n size: 'smaller',\n height: 'smaller',\n weight: 'regular'\n }), ({ theme })=>theme.colors.grays.darker, ({ theme })=>theme.colors.primary.base, Icon, FontMixin({\n size: 'smaller'\n }), ({ theme })=>theme.colors.grays.lighter)\n};\n\nexport { veciBreadCrumbsStyles as default };\n//# sourceMappingURL=veci.mjs.map\n","import { createThemes } from '@babylon/ui-kit-styles/common/themes';\nimport { ThemeId } from '@babylon/ui-kit-styles/types/theme';\nimport veciBreadCrumbsStyles from './styles/veci.mjs';\n\nconst BreadCrumbsThemes = createThemes({\n [ThemeId.veci]: veciBreadCrumbsStyles\n});\n\nexport { BreadCrumbsThemes as default };\n//# sourceMappingURL=index.mjs.map\n","import Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport { FlexMixin, AttentionMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { Margin, Padding } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport styled, { css } from 'styled-components';\nimport BreadCrumbsThemes from './views/themes/index.mjs';\n\nconst BreadcrumbsBox = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"BreadcrumbsBox\"\n})([\n `border-bottom:1px solid `,\n `;max-height:45px;`\n], ({ theme })=>theme.border.color.base);\nconst BreadcrumbsList = /*#__PURE__*/ styled.ol.withConfig({\n displayName: \"BreadcrumbsList\"\n})([\n `overflow-x:auto;white-space:nowrap;li{`,\n `}`\n], Margin({\n all: '0'\n}));\nconst BreadcrumbsListNav = /*#__PURE__*/ styled.ol.withConfig({\n displayName: \"BreadcrumbsListNav\"\n})([\n `overflow-x:auto;white-space:nowrap;`,\n ` &::after{content:'';position:absolute;`,\n ` min-height:13px;width:1px;background-color:`,\n `;}`\n], Padding({\n y: '12px'\n}), Margin({\n y: '0',\n x: '14px'\n}), ({ theme })=>theme.colors.grays.base);\nconst BreadCrumbs = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"BreadCrumbs\"\n})([\n `display:flex;flex-shrink:0;border-bottom:0;max-height:45px;`,\n ``\n], Padding({\n y: '12px'\n}));\nconst BreadcrumbsItem = /*#__PURE__*/ styled.li.withConfig({\n displayName: \"BreadcrumbsItem\"\n})([\n ``,\n ` span{color:`,\n `;`,\n `}a{color:`,\n `;`,\n `}`,\n `{`,\n ` `,\n `}`,\n ` `,\n ``\n], FlexMixin({\n align: 'center'\n}), ({ theme })=>theme.colors.text.dark, FlexMixin({\n align: 'center'\n}), ({ theme })=>theme.colors.text.light, AttentionMixin(/*#__PURE__*/ css([\n `color:`,\n `;`\n], ({ theme })=>theme.colors.text.dark)), Icon, Margin({\n y: '0',\n x: '6px'\n}), FontMixin({\n size: 'small'\n}), ({ $isDesktop })=>$isDesktop ? /*#__PURE__*/ css([\n ``,\n ` height:100%;`,\n ` &:last-child{padding-right:0;`,\n `}`\n ], Margin({\n all: '0',\n left: '29px'\n }), FontMixin({\n size: 'medium',\n height: 'medium',\n weight: 'light'\n }), FontMixin({\n size: 'medium',\n height: 'medium',\n weight: 'medium'\n })) : /*#__PURE__*/ css([\n ``,\n ` &:last-child{span{`,\n `}}`\n ], FontMixin({\n size: 'small',\n height: 'medium',\n weight: 'light'\n }), FontMixin({\n size: 'small',\n height: 'medium',\n weight: 'medium'\n })), BreadCrumbsThemes('BreadcrumbsItem'));\n\nexport { BreadCrumbs, BreadcrumbsBox, BreadcrumbsItem, BreadcrumbsList, BreadcrumbsListNav };\n//# sourceMappingURL=styled.mjs.map\n","import { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport { nullsToUndefined } from '@babylon/ui-kit-helpers/null';\nimport useIsDesktop from '@babylon/ui-kit-hooks/device/useIsDesktop';\nimport { BreadcrumbsItem } from '../../styled.mjs';\n\nconst BreadcrumbItem = ({ item, index = 0 })=>{\n const isDesktop = useIsDesktop();\n return /*#__PURE__*/ jsx(BreadcrumbsItem, {\n $isDesktop: isDesktop,\n \"data-testid\": \"BreadcrumbsItemFirst\",\n children: /*#__PURE__*/ jsxs(\"span\", {\n children: [\n index >= 1 && /*#__PURE__*/ jsx(Icon, {\n className: \"nico-angle-right\",\n \"data-testid\": \"BreadcrumbsItemIcon\"\n }),\n item.link ? /*#__PURE__*/ jsx(\"a\", {\n ...nullsToUndefined(item.link),\n \"data-testid\": \"BreadcrumbsItemLink\",\n children: item.content\n }) : /*#__PURE__*/ jsx(Fragment, {\n children: item.content\n })\n ]\n })\n }, item.content);\n};\n\nexport { BreadcrumbItem as default };\n//# sourceMappingURL=index.mjs.map\n","import { FlexMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport styled from 'styled-components';\nimport { BreadcrumbsBox, BreadcrumbsList, BreadcrumbsListNav, BreadcrumbsItem } from '../../styled.mjs';\n\nconst BreadcrumbsBoxDesktop = /*#__PURE__*/ styled(BreadcrumbsBox).withConfig({\n displayName: \"BreadcrumbsBoxDesktop\"\n})([\n ``,\n ``\n], FlexMixin({}));\nconst BreadcrumbsListDesktop = /*#__PURE__*/ styled(BreadcrumbsList).withConfig({\n displayName: \"BreadcrumbsListDesktop\"\n})([\n ``,\n ``\n], FlexMixin({\n align: 'center',\n wrap: true\n}));\nconst BreadcrumbsListNavDesktop = /*#__PURE__*/ styled(BreadcrumbsListNav).withConfig({\n displayName: \"BreadcrumbsListNavDesktop\"\n})([\n ``,\n ` overflow:hidden;max-height:45px;row-gap:12px;`\n], FlexMixin({\n align: 'center',\n wrap: true\n}));\nconst BreadcrumbsItemDesktop = /*#__PURE__*/ styled(BreadcrumbsItem).withConfig({\n displayName: \"BreadcrumbsItemDesktop\"\n})([\n `margin:0 0 0 29px;height:100%;&:last-child{padding-right:0;}span{`,\n `}a{`,\n `}`\n], FontMixin({\n size: 'medium',\n height: 'medium',\n weight: 'medium'\n}), FontMixin({\n size: 'medium',\n height: 'medium',\n weight: 'light'\n}));\n\nexport { BreadcrumbsBoxDesktop, BreadcrumbsItemDesktop, BreadcrumbsListDesktop, BreadcrumbsListNavDesktop };\n//# sourceMappingURL=styled.mjs.map\n","import { jsxs, jsx } from 'react/jsx-runtime';\nimport JsonLd from '@babylon/ui-kit-base/components/others/json-ld';\nimport { nullsToUndefined } from '@babylon/ui-kit-helpers/null';\nimport BreadcrumbItem from '../../components/breadcrumbItem/index.mjs';\nimport { BreadCrumbs } from '../../styled.mjs';\nimport { BreadcrumbsBoxDesktop, BreadcrumbsListDesktop, BreadcrumbsListNavDesktop, BreadcrumbsItemDesktop } from './styled.mjs';\n\nconst BreadcrumbsDesktop = ({ props })=>{\n const { items = [], actives, ldjson } = props ?? {};\n return /*#__PURE__*/ jsxs(BreadcrumbsBoxDesktop, {\n \"data-testid\": \"Breadcrumbs\",\n children: [\n /*#__PURE__*/ jsx(BreadCrumbs, {\n children: /*#__PURE__*/ jsx(BreadcrumbsListDesktop, {\n \"data-testid\": \"BreadcrumbsList\",\n children: items.map((item, index)=>/*#__PURE__*/ jsx(BreadcrumbItem, {\n item: item,\n index: index,\n actives: actives && actives.length > 0\n }, `item_${item.content}`))\n })\n }),\n actives && /*#__PURE__*/ jsx(BreadcrumbsListNavDesktop, {\n \"data-testid\": \"BreadcrumbsList\",\n children: actives.map((item)=>/*#__PURE__*/ jsx(BreadcrumbsItemDesktop, {\n \"data-testid\": \"BreadcrumbsItem\",\n children: /*#__PURE__*/ jsx(\"a\", {\n ...nullsToUndefined(item.link),\n \"data-testid\": \"BreadcrumbsItemLink\",\n children: item.content\n })\n }, item.content))\n }),\n ldjson && /*#__PURE__*/ jsx(JsonLd, {\n structuredData: ldjson\n })\n ]\n });\n};\n\nexport { BreadcrumbsDesktop as default };\n//# sourceMappingURL=index.mjs.map\n","import { FlexMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport styled from 'styled-components';\nimport { BreadcrumbsList, BreadcrumbsBox } from '../../styled.mjs';\n\nconst BreadcrumbsBoxMobile = /*#__PURE__*/ styled(BreadcrumbsBox).withConfig({\n displayName: \"BreadcrumbsBoxMobile\"\n})([\n `padding:0px 16px;`\n]);\nconst BreadcrumbsListMobile = /*#__PURE__*/ styled(BreadcrumbsList).withConfig({\n displayName: \"BreadcrumbsListMobile\"\n})([\n ``,\n ` padding:8px 0;`\n], FlexMixin({\n align: 'center'\n}));\n\nexport { BreadcrumbsBoxMobile, BreadcrumbsListMobile };\n//# sourceMappingURL=styled.mjs.map\n","import { jsxs, jsx } from 'react/jsx-runtime';\nimport JsonLd from '@babylon/ui-kit-base/components/others/json-ld';\nimport BreadcrumbItem from '../../components/breadcrumbItem/index.mjs';\nimport { BreadcrumbsBoxMobile, BreadcrumbsListMobile } from './styled.mjs';\n\nconst BreadcrumbsMobile = ({ props })=>{\n const { config, items = [], ldjson } = props ?? {};\n const { isHome = true } = config ?? {};\n const newItems = isHome ? [\n {\n content: 'Home',\n link: {\n href: '/',\n title: 'Home'\n }\n },\n ...items\n ] : items;\n return /*#__PURE__*/ jsxs(BreadcrumbsBoxMobile, {\n \"data-testid\": \"Breadcrumbs\",\n children: [\n /*#__PURE__*/ jsx(BreadcrumbsListMobile, {\n \"data-testid\": \"BreadcrumbsList\",\n children: newItems.map((item, index)=>/*#__PURE__*/ jsx(BreadcrumbItem, {\n item: item,\n index: index\n }, `item_${item.content}`))\n }),\n ldjson && /*#__PURE__*/ jsx(JsonLd, {\n structuredData: ldjson\n })\n ]\n });\n};\n\nexport { BreadcrumbsMobile as default };\n//# sourceMappingURL=index.mjs.map\n","import { generateViewsComponent } from '@babylon/ui-kit-helpers/views';\nimport BreadcrumbsDesktop from './views/desktop/index.mjs';\nimport BreadcrumbsMobile from './views/mobile/index.mjs';\n\nconst Breadcrumbs = generateViewsComponent(BreadcrumbsDesktop, BreadcrumbsMobile);\n\nexport { Breadcrumbs as default };\n//# sourceMappingURL=index.mjs.map\n","import Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport InnerMarkdownHTML from '@babylon/ui-kit-base/components/text/inner-markdown-HTML';\nimport Title from '@babylon/ui-kit-base/components/text/title';\nimport Section from '@babylon/ui-kit-structures/components/others/section';\nimport { BoxShadow } from '@babylon/ui-kit-styles/common/mixins/box-shadow.styled';\nimport { AttentionMixin, FlexMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { Border, BorderRadius, Margin, Padding } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport { SectionContainer } from '@babylon/ui-kit-styles/common/mixins/section.styled';\nimport { rgba } from 'polished';\nimport styled, { css } from 'styled-components';\n\nexport const FaqsItem = styled.div<{ $category: boolean }>`\n\t${Padding({ x: '24px' })}\n\t${FlexMixin({ type: 'flex', direction: 'column' })};\n\t${Margin({ x: '20px', y: '14px' })};\n\t${BorderRadius({ all: '4px' })}\n\t${BoxShadow}\n\n\t&:not(:last-child) {\n\t\t${({ $category, theme }) => !$category && Border({ right: `2px solid ${theme.colors.grays.light}` })}\n\t\t${({ $category }) => !$category && BorderRadius({ all: `0px` })}\n\t}\n\n\tbackground-color: ${({ $category, theme }) => ($category ? theme.colors.white.base : theme.colors.grays.lighter)};\n\tmax-width: 460px;\n\tposition: relative;\n\twidth: calc(33.3% - 40px);\n\tbox-shadow: ${({ $category, theme }) => ($category ? rgba(theme.colors.black.base, 0.08) : 'unset')};\n\n\t${({ theme }) => theme.media.down('lg')} {\n\t\twidth: calc(50% - 40px);\n\t}\n\n\t${({ theme }) => theme.media.between('xs', 'md')} {\n\t\twidth: calc(100% - 40px);\n\t}\n`;\n\nexport const FaqsItemSeparator = styled.div`\n\t${Margin({ y: '20px', x: '0' })};\n\topacity: 0.4;\n\t&:not(:nth-child(3n + 1)) {\n\t\tbox-shadow: 0 0 0 1px ${({ theme }) => theme.colors.grays.base};\n\t}\n`;\n\nexport const FaqsItemContainer = styled.div`\n\t${FlexMixin({ type: 'flex', wrap: true, align: 'stretch' })};\n\t${Margin({ x: 'auto', y: '0' })}\n\tmax-width: 1500px;\n`;\n\nexport const FaqsSectionTitle = styled(Title)<{ $category: boolean }>`\n\t${Margin({ bottom: '6px' })}\n\th2 {\n\t\t${FlexMixin({ align: 'center', justify: 'center' })};\n\t\t${FontMixin({ size: 'largest', weight: 'medium' })};\n\t\t${Margin({ all: '0' })}\n\t\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t\t${({ $category }) => Padding({ x: '24px', top: `${$category ? '0px' : '44px'}` })}\n\t}\n`;\n\nexport const FaqsItemTitle = styled(Title)<{ $category: boolean }>`\n\t${Margin({ bottom: '0' })}\n\ttext-transform: capitalize;\n\th2 {\n\t\t${({ $category }) =>\n\t\t\tPadding({ x: '0px', top: `${$category ? '20px' : '0px'}`, bottom: `${$category ? '0px' : '12px'}` })}\n\t\t${FlexMixin({ align: 'start', justify: 'start' })};\n\t\t${FontMixin({ size: 'larger', weight: 'medium', height: 'larger' })};\n\t\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t\twidth: 100%;\n\t}\n`;\n\nexport const FaqsQuestionLinkContainer = styled.div``;\n\nexport const FaqsQuestionLink = styled.a`\n\t${Padding({ top: '10px' })}\n\t${FontMixin({ size: 'medium', weight: 'light', height: 'base' })};\n\tfont-family: ${({ theme }) => theme.font.family.primary};\n\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\tdisplay: block;\n\t${AttentionMixin(css`\n\t\tcursor: pointer;\n\t\ttext-decoration: underline;\n\t`)}\n`;\n\nexport const FaqsContainer = styled(Section)`\n\t${Margin({ all: 'auto' })};\n\tbackground-color: ${({ theme }) => theme.bodyBgColor};\n`;\n\nexport const FaqsSectionContainer = styled.div<{ $category: boolean }>`\n\t&:nth-child(1) {\n\t\t${Padding({ bottom: '56px' })};\n\t}\n\tbackground-color: ${({ $category, theme }) => ($category ? theme.bodyBgColor : theme.colors.grays.lighter)};\n`;\n\nexport const FaqsItemLinkContainer = styled.div`\n\t${Padding({ top: '12px', bottom: '24px' })};\n\t${Margin({ top: 'auto' })}\n\twidth: 100%;\n\tbottom: 0;\n\t& > a {\n\t\t${FontMixin({ height: 'base' })}\n\t}\n`;\n\nexport const FaqsItemLink = styled.a<{ $isTagLink: boolean }>`\n\t${FontMixin({ size: 'medium', weight: 'regular' })};\n\tcolor: ${({ theme, $isTagLink }) => ($isTagLink ? theme.colors.grays.darker : theme.colors.primary.light)};\n\tfont-family: ${({ theme }) => theme.font.family.primary};\n\t${AttentionMixin(css`\n\t\tcursor: pointer;\n\t\ttext-decoration: underline;\n\t`)}\n`;\n\nexport const FaqsOtherContainer = styled.div`\n\t${Margin({ all: 'auto' })}\n\tmax-width: 1500px;\n`;\n\nexport const FaqOtherCategory = styled.div`\n\t${Margin({ x: '6px', bottom: '12px' })}\n\t${BorderRadius({ all: '4px' })}\n\t${BoxShadow}\n\twidth: 184px;\n\theight: 105px;\n\tbackground-color: ${({ theme }) => theme.colors.white.base};\n\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t${AttentionMixin(css`\n\t\tcursor: pointer;\n\t`)}\n`;\n\nexport const FaqOtherCategoryImage = styled.a`\n\t${FlexMixin({ align: 'center', justify: 'center', wrap: true, direction: 'column' })};\n\t${Margin({ top: '20px' })}\n\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\n\t& > ${Icon} {\n\t\t${FontMixin({ size: 'xl' })};\n\t}\n\n\t& > span {\n\t\t${FlexMixin({ align: 'center', justify: 'center', wrap: true })};\n\t\t${FontMixin({ size: 'base', weight: 'medium', height: 'medium' })};\n\t\t${Margin({ top: '10px' })}\n\t}\n`;\n\nexport const FaqOtherTagImage = styled.a`\n\t${FlexMixin({ align: 'center', justify: 'center', wrap: true, direction: 'column' })};\n\t${Margin({ top: '16px' })}\n\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\n\t& > ${Icon} {\n\t\t${FontMixin({ size: 'xl' })};\n\t}\n\n\t& > span {\n\t\t${FlexMixin({ align: 'center', justify: 'center', wrap: true })};\n\t\t${FontMixin({ size: 'base', weight: 'medium' })};\n\t\t${Margin({ top: '10px' })}\n\t}\n`;\n\nexport const FaqsOtherCategoriesListContainer = styled.div`\n\t${FlexMixin({ align: 'center', justify: 'center', wrap: true })};\n`;\n\nexport const FaqsOtherCategoriesTitle = styled(Title)`\n\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t${Padding({ all: '0px' })}\n\t${Margin({ all: '0px' })}\n\th2 {\n\t\twidth: 100%;\n\t\t${FlexMixin({ align: 'center', justify: 'center' })};\n\t\t${Padding({ all: '16px' })}\n\t\t${FontMixin({ size: 'large', weight: 'medium', height: 'larger' })};\n\t\tfont-family: ${({ theme }) => theme.font.family.primary};\n\t}\n`;\n\nexport const FaqsOtherTagsTitle = styled(Title)`\n\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\twidth: 100%;\n\n\t${Padding({ all: '0px' })}\n\t${Margin({ all: '0px' })}\n\th2 {\n\t\t${FlexMixin({ align: 'center', justify: 'center' })};\n\t\t${FontMixin({ size: 'large', weight: 'medium' })};\n\t\tfont-family: ${({ theme }) => theme.font.family.primary};\n\t}\n`;\n\nexport const FaqsOtherTagsListContainer = styled.div`\n\t${FlexMixin({ align: 'center', justify: 'center', wrap: true })};\n\t${Padding({ bottom: '48px' })}\n`;\n\nexport const FaqOtherTag = styled.div`\n\ttext-align: center;\n\t${Padding({ y: '12px', left: '17px', right: '15px' })}\n\t${BorderRadius({ all: '4px' })};\n\t${Margin({ x: '6px', bottom: '12px' })};\n\t${FontMixin({ size: 'medium', weight: 'regular' })};\n\t${FlexMixin({ align: 'center', justify: 'center' })};\n\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\tbox-shadow: 0px 0px 2px ${({ theme }) => rgba(theme.colors.black.base, 0.08)};\n\tbackground-color: ${({ theme }) => theme.colors.grays.light};\n\t${AttentionMixin(css`\n\t\tcursor: pointer;\n\t\ttext-decoration: underline;\n\t`)}\n\theight: 43px;\n\tspan::first-letter {\n\t\ttext-transform: uppercase;\n\t}\n`;\n\nexport const FaqsLvlContainer = styled(SectionContainer)`\n\t${FlexMixin({ direction: 'row', align: 'stretch', justify: 'space-between', wrap: false })};\n`;\n\nexport const FaqsLvlLeftSectionContainer = styled.div`\n\t${FlexMixin({ align: 'flex-start', justify: 'space-between', direction: 'column' })};\n\t${Padding({ right: 'min(80px, 6%)' })}\n\twidth: 100%;\n`;\n\nexport const FaqsLvlRightSectionContainer = styled.div`\n\t${FlexMixin({ align: 'stretch', justify: 'flex-start', direction: 'column', wrap: false })};\n\t${Padding({ left: '40px' })}\n\tbox-shadow: -1px 0px 0px ${({ theme }) => theme.colors.grays.light};\n\twidth: 380px;\n`;\n\nexport const FaqsLvlMainContainer = styled.div`\n\t${Margin({ right: '20px', bottom: '40px' })}\n`;\n\nexport const FaqsLvlOtherContainer = styled.div``;\n\nexport const FaqsLvlSectionMainTitle = styled(Title)`\n\t${Margin({ bottom: '0' })}\n\th2 {\n\t\t${Padding({ all: '0' })}\n\t\ttext-align: left;\n\t\t${FlexMixin({ align: 'start', justify: 'start' })};\n\t\t${FontMixin({ size: 'largest', weight: 'medium', height: 'largest' })};\n\t\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t\twidth: 100%;\n\t\tfont-family: ${({ theme }) => theme.font.family.secondary};\n\t}\n`;\n\nexport const FaqsLvlSectionOtherTitle = styled(Title)`\n\t${Margin({ bottom: '17px' })}\n\th2 {\n\t\t${Padding({ all: '0' })}\n\t\t${FlexMixin({ align: 'start', justify: 'start' })};\n\t\t${FontMixin({ size: 'larger', weight: 'medium', height: 'largest' })};\n\t\tfont-family: ${({ theme }) => theme.font.family.secondary};\n\t\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t\twidth: 100%;\n\t\ttext-align: left;\n\t}\n`;\n\nexport const FaqsLvlItemLinksContainer = styled.div`\n\t${Margin({ top: '20px' })}\n\t${FontMixin({ size: 'medium', weight: 'light', height: 'base' })};\n`;\n\nexport const FaqsLvlContent = styled(InnerMarkdownHTML)`\n\t${Padding({ top: '12px', bottom: '0px' })}\n\t${FontMixin({ size: 'medium', height: 'base' })};\n\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\tdisplay: block;\n\tletter-spacing: 0;\n\ttext-align: left;\n\t&:first-of-type {\n\t\t${Padding({ y: '0px' })}\n\t}\n`;\n\nexport const FaqsLvlItemLinkContainer = styled.div`\n\ta {\n\t\t${Margin({ bottom: '12px' })}\n\t\t${FontMixin({ size: 'medium', weight: 'light', height: 'base' })};\n\t\tfont-family: ${({ theme }) => theme.font.family.primary};\n\t\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t\tdisplay: block;\n\t\t${AttentionMixin(css`\n\t\t\tcursor: pointer;\n\t\t\ttext-decoration: underline;\n\t\t`)}\n\t}\n`;\n\nexport const FaqsLvlOtherLinksContainer = styled.div``;\n\nexport const FaqsLvlOtherLinkItemContainer = styled.div`\n\t${FlexMixin({ align: 'center', justify: 'start' })}\n\tmin-height: 48px;\n\tbox-shadow: 0px -1px 0px ${({ theme }) => theme.colors.grays.light};\n\ta {\n\t\t${AttentionMixin(css`\n\t\t\tcursor: pointer;\n\t\t\ttext-decoration: underline;\n\t\t`)}\n\t}\n`;\n\nexport const FaqsLvlOtherLinkContainer = styled.div`\n\t${FlexMixin({ align: 'center', justify: 'start' })}\n\tmin-height: 48px;\n\tbox-shadow: 0px -1px 0px ${({ theme }) => theme.colors.grays.light};\n\ta {\n\t\t${FontMixin({ size: 'medium', weight: 'light', height: 'base' })};\n\t\t${Padding({ y: '12px', x: '0px' })};\n\t\tfont-family: ${({ theme }) => theme.font.family.primary};\n\t\tcolor: ${({ theme }) => theme.colors.grays.dark};\n\t\tdisplay: block;\n\t\t${AttentionMixin(css`\n\t\t\tcursor: pointer;\n\t\t\ttext-decoration: underline;\n\t\t`)}\n\t}\n\ta::first-letter {\n\t\ttext-transform: uppercase;\n\t}\n`;\n\nexport const FaqsLvlTagsContainer = styled.div`\n\t${({ theme }) => Border({ top: `1px solid ${theme.colors.grays.light}` })}\n\t${FlexMixin({ align: 'center', justify: 'start' })}\n\twidth: 100%;\n`;\n\nexport const FaqsLvlTagsMainTitle = styled.h3`\n\t${FontMixin({ size: 'base', weight: 'semiBold', height: 'base' })};\n\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t${Margin({ right: '10px', top: '21px' })};\n`;\n\nexport const FaqsLvlTagsItemsContainer = styled.div`\n\t${FlexMixin({ align: 'center', justify: 'start', wrap: true })}\n`;\n\nexport const FaqsLvlTagsItemContainer = styled.div`\n\t${Padding({ all: '10px' })};\n\t${Margin({ x: '6px', top: '21px' })};\n\t${({ theme }) => Border({ all: `1px solid ${theme.colors.grays.light}` })}\n\t${BorderRadius({ all: '4px' })}\n\tbackground: ${({ theme }) => theme.colors.grays.lighter};\n\theight: 36px;\n`;\n\nexport const RenderFaqItemLink = styled.div``;\n","import Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport InnerMarkdownHTML from '@babylon/ui-kit-base/components/text/inner-markdown-HTML';\nimport { genKey } from '@babylon/ui-kit-helpers/keys';\nimport type { FC } from 'react';\n\nimport type { IFaqsOtherProps } from '../../../types';\nimport * as S from '../styled';\n\nconst RenderFaqsOthersCategories: FC<{ otherCategories: IFaqsOtherProps[]; otherTitle: string }> = ({\n\totherCategories,\n\totherTitle,\n}) => (\n\t\n\t\t\n\t\t\n\t\t\t{otherCategories?.map(category => (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{!!category?.title && }\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t))}\n\t\t\n\t\n);\nexport default RenderFaqsOthersCategories;\n","import InnerMarkdownHTML from '@babylon/ui-kit-base/components/text/inner-markdown-HTML';\nimport { genKey } from '@babylon/ui-kit-helpers/keys';\nimport type { FC } from 'react';\n\nimport type { IFaqsOtherProps } from '../../../types';\nimport * as S from '../styled';\n\nconst RenderFaqsOthersTags: FC<{ otherCategories: IFaqsOtherProps[]; otherTitle: string }> = ({\n\totherCategories,\n\totherTitle,\n}) => (\n\t\n\t\t\n\t\t\n\t\t\t{otherCategories?.map(category => (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{!!category?.title && }\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t))}\n\t\t\n\t\n);\nexport default RenderFaqsOthersTags;\n","import { genKey } from '@babylon/ui-kit-helpers/keys';\nimport type { FC } from 'react';\n\nimport type { IFaqsItemsProps, IFaqsProps, IFaqsQuestionsLinksProps, IFaqsQuestionsProps } from '../../../types';\nimport RenderFaqsOthersCategories from '../render-faq-other-categories';\nimport RenderFaqsOthersTags from '../render-faq-other-tags';\nimport * as S from '../styled';\n\nconst FaqsItemLink: FC = ({\n\thref = '',\n\ttitle = '',\n\tcontent = '',\n\ttarget = '',\n\tisTagLink = false,\n}) => (\n\t\n\t\t{content ?? title ?? ''}\n\t\n);\n\nconst FaqsQuestionLinks: FC = ({ href = '', target = '', title = '' }) => (\n\t\n\t\t{title}\n\t\n);\n\nconst RenderFaqItem: FC<{ question: IFaqsQuestionsProps; isCategoryType: boolean }> = ({\n\tquestion,\n\tisCategoryType,\n}) => (\n\t<>\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{question?.links?.map(({ link }) => link && )}\n\t\t\t\n\t\t\t{question?.link && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t\n);\n\nexport const RenderFaqs: FC = ({\n\tisCategoryType = false,\n\ttitle = '',\n\tquestions = [],\n\tother = [],\n\totherTitle = '',\n}) => (\n\t\n\t\t\n\t\t\n\t\t\t{questions?.map(question => (\n\t\t\t\t\n\t\t\t))}\n\t\t\n\t\t{isCategoryType ? (\n\t\t\t\n\t\t) : (\n\t\t\t\n\t\t)}\n\t\n);\n\nexport const RenderFaqsLvl: FC = ({ config = {}, other = [], links = [], content = '', tags = [] }) => {\n\tconst { literals = {}, level } = config;\n\tconst { titleLabel = '', otherTitleLabel = '', tagsTitleLabel = '' } = literals;\n\n\tconst contentRendered = () => {\n\t\tif (content?.length > 0) {\n\t\t\tif (Array.isArray(content)) {\n\t\t\t\treturn content?.map(paragraph => );\n\t\t\t}\n\n\t\t\treturn ;\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{links?.map(link => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t{!!content?.length && contentRendered()}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{level === 3 && (\n\t\t\t\t\t\n\t\t\t\t\t\t{tagsTitleLabel}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{tags?.map(tag => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t{level === 2 &&\n\t\t\t\t\t(other as IFaqsQuestionsLinksProps[])?.map(otherTag => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t{level === 3 && (\n\t\t\t\t\t\n\t\t\t\t\t\t{(other as IFaqsQuestionsProps)?.links?.map(({ link = {} }) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default RenderFaqs;\n","import { genKey } from '@babylon/ui-kit-helpers/keys';\nimport type { FC } from 'react';\n\nimport type { IFaqsPropsComponent } from '../../types';\nimport RenderFaqs, { RenderFaqsLvl } from './render-faqs';\nimport * as S from './styled';\n\nexport const FaqsDesktop: FC = ({ props = {} }) => {\n\tconst { items = [], config = {} } = props;\n\tconst { level } = config;\n\n\tswitch (level) {\n\t\tcase 1:\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t{items?.map((item, index) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t);\n\t\tcase 2:\n\t\tcase 3:\n\t\t\treturn ;\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n\nexport default FaqsDesktop;\n","import Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport InnerMarkdownHTML from '@babylon/ui-kit-base/components/text/inner-markdown-HTML';\nimport Title from '@babylon/ui-kit-base/components/text/title';\nimport Slider from '@babylon/ui-kit-structures/components/others/slider';\nimport { AttentionMixin, FlexMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { Border, BorderRadius, Margin, Padding } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport { rgba } from 'polished';\nimport styled, { css } from 'styled-components';\n\nexport const FaqsContainer = styled.div``;\n\nexport const FaqsSectionContainer = styled.div<{ $category: boolean }>`\n\t${({ $category }) => Padding({ x: $category ? '0px' : '16px' })};\n\tbackground-color: ${({ $category, theme }) => ($category ? theme.bodyBgColor : theme.colors.grays.lighter)};\n`;\n\nexport const FaqsSectionTitle = styled(Title)<{ $category: boolean }>`\n\t${Margin({ all: '0px' })}\n\tbackground-color: ${({ $category, theme }) => ($category ? theme.bodyBgColor : theme.colors.grays.lighter)};\n\tbox-shadow: ${({ $category, theme }) =>\n\t\t!$category ? '0px 2px 0px ' + rgba(theme.colors.black.base, 0.08) : 'none'};\n\th2 {\n\t\tfont-family: ${({ theme }) => theme.font.family.secondary};\n\t\t${FlexMixin({ align: 'center', justify: 'center' })};\n\t\t${FontMixin({ size: 'larger', weight: 'medium', height: 'larger' })};\n\t\t${Padding({ x: '16px', bottom: '16px', top: '24px' })}\n\t\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t}\n`;\n\nexport const FaqsLvl3BottomContainer = styled.div``;\nexport const FaqsItemListContainer = styled.div``;\n\nexport const FaqsItemContainer = styled.div``;\n\nexport const FaqsOthersCategoriesContainer = styled.div`\n\t${Padding({ bottom: '16px' })}\n\tbackground-color: ${({ theme }) => theme.colors.grays.lighter};\n`;\n\nexport const FaqsItemSeparator = styled.div<{ $category: boolean }>`\n\theight: ${({ $category }) => ($category ? '20px' : '0px')};\n\tbackground-color: ${({ theme }) => theme.bodyBgColor};\n`;\n\nexport const FaqsItemTitle = styled(Title)<{ $largerFontSize?: boolean }>`\n\t${FlexMixin({ align: 'center', justify: 'left' })};\n\t${Margin({ bottom: '0px' })};\n\t${Padding({ top: '20px', bottom: '12px' })};\n\ttext-align: left;\n\n\th2 {\n\t\t${Padding({ all: '0px' })}\n\t\t${Margin({ bottom: '0px' })};\n\t\t${FontMixin({ size: 'large', weight: 'medium', height: 'larger' })};\n\t\tfont-family: ${({ theme }) => theme.font.family.secondary};\n\t\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t\tline-height: 26px;\n\n\t\t${({ $largerFontSize }) =>\n\t\t\tFontMixin({\n\t\t\t\tsize: $largerFontSize ? 'larger' : 'large',\n\t\t\t\theight: 'larger',\n\t\t\t\tweight: 'medium',\n\t\t\t})};\n\n\t\t&::first-letter {\n\t\t\ttext-transform: uppercase;\n\t\t}\n\t}\n`;\n\nexport const FaqsQuestionLinkContainer = styled.div``;\n\nexport const FaqsQuestionLink = styled.a<{ $hideLastSeparator: boolean }>`\n\tfont-family: ${({ theme }) => theme.font.family.primary};\n\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t${FontMixin({ weight: 'light', height: 'base' })};\n\tfont-size: 15px;\n\t${Padding({ y: '11px' })}\n\tdisplay: block;\n\t${({ theme }) => Border({ top: `1px solid ${theme.colors.grays.light}` })}\n\t&:last-child {\n\t\t${({ theme }) => Border({ bottom: `1px solid ${theme.colors.grays.light}` })}\n\t}\n\n\t${FlexMixin({ align: 'center', justify: 'space-between' })};\n`;\n\nexport const FaqsMoreViewLabel = styled.span`\n\t${FontMixin({ weight: 'bold', height: 'base', size: 'medium' })};\n\t${Padding({ top: '11px' })}\n\t${FlexMixin({ align: 'center', justify: 'space-between' })};\n\tdisplay: block;\n\tfont-size: 15px;\n\tfont-family: ${({ theme }) => theme.font.family.primary};\n\tcolor: ${({ theme }) => theme.colors.primary.light};\n`;\n\nexport const FaqsQuestionLinkTitle = styled.p``;\n\nexport const FaqsQuestionLinkArrowIcon = styled.div`\n\tcolor: ${({ theme }) => theme.colors.grays.base};\n\t${FlexMixin({ align: 'center', justify: 'center' })};\n`;\n\nexport const FaqsItemLinkContainer = styled.div<{ $category?: boolean; $level?: number }>`\n\t${Padding({ top: '13px', bottom: '24px' })}\n\tborder-bottom: ${({ $category, $level, theme }) =>\n\t\t!$category && $level !== 3 ? `2px solid ${theme.colors.grays.light}` : 'none'};\n`;\n\nexport const FaqsItemLink = styled.a<{ $isTagLink?: boolean }>`\n\t${FontMixin({ weight: 'medium', height: 'base' })};\n\t${Padding({ bottom: '24px' })}\n\n\tfont-size: 15px;\n\tfont-family: ${({ theme }) => theme.font.family.primary};\n\tcolor: ${({ theme }) => theme.colors.primary.light};\n\t${AttentionMixin(css`\n\t\tcursor: pointer;\n\t\ttext-decoration: underline;\n\t`)}\n`;\n\nexport const FaqsItem = styled.div<{\n\t$category?: boolean;\n\t$extraXPadding?: boolean;\n\t$extraYPadding?: boolean;\n\t$level?: number;\n}>`\n\t${({ $category }) => ($category ? Margin({ bottom: '24px' }) : Margin({ bottom: '0px' }))};\n\t${({ $extraXPadding, $extraYPadding }) =>\n\t\tPadding({ x: $extraXPadding ? '16px' : '0', y: $extraYPadding ? '16px' : '0' })};\n\tbackground-color: ${({ $category, $level, theme }) =>\n\t\t$category ? theme.colors.white.base : $level === 3 ? theme.bodyBgColor : theme.colors.grays.lighter};\n\n\t${({ $category, theme }) =>\n\t\t$category &&\n\t\tBorder({ bottom: `2px solid ${theme.colors.grays.light}`, top: `2px solid ${theme.colors.grays.light}` })};\n`;\n\nexport const MobileFaqsOtherContainer = styled.div``;\n\nexport const MobileFaqsOtherCategoriesTitle = styled(Title)<{ $level1?: boolean }>`\n\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\twidth: 100%;\n\t${Padding({ all: '0' })}\n\t${Margin({ all: '0' })}\n\t${({ $level1 }) => Padding({ all: '0', top: $level1 ? '0' : '20px' })};\n\th2 {\n\t\t${FlexMixin({ align: 'center', justify: 'start' })};\n\t\t${Padding({ x: '16px' })}\n\t\t${({ $level1 }) => FontMixin({ size: $level1 ? 'base' : 'larger', weight: 'medium' })};\n\t\tline-height: ${({ $level1 }) => ($level1 ? '23px' : '30px')};\n\t}\n`;\n\nexport const MobileFaqsOtherCategoriesListContainer = styled.div<{ $level1?: boolean }>`\n\t${({ $level1 }) => Padding({ x: '16px', bottom: $level1 ? '16px' : '0' })};\n\twidth: 100%;\n`;\n\nexport const MobileFaqOtherCategory = styled.div``;\n\nexport const MobileFaqOtherCategoryImage = styled.a`\n\t${FlexMixin({ align: 'center', justify: 'center', wrap: true, direction: 'column' })};\n\t${Margin({ all: '0' })}\n\t${({ theme }) => Border({ all: `1px solid ${theme.colors.grays.light}` })};\n\t${BorderRadius({ all: '2px' })}\n\theight: 111px;\n\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\tbackground-color: ${({ theme }) => theme.colors.white.base};\n\n\t& > ${Icon} {\n\t\t${FontMixin({ size: 'xl' })};\n\t}\n\n\t& > span {\n\t\ttext-transform: capitalize;\n\t\ttext-align: center;\n\t\t${FlexMixin({ align: 'center', justify: 'center', wrap: true })};\n\t\t${FontMixin({ size: 'base', weight: 'regular' })};\n\t\t${Margin({ top: '10px' })}\n\t}\n`;\n\nexport const MobileCarouselCategories = styled(Slider)`\n\t${Padding({ y: '12px', x: '0' })}\n\twidth: 100%;\n\t.splide__slide {\n\t\twidth: 132px !important;\n\t}\n`;\n\nexport const CarouselTags = styled(Slider)`\n\t${Padding({ all: '0' })}\n\t.splide__slide {\n\t\twidth: auto !important;\n\t}\n\t.splide__slide > a > ::first-letter {\n\t\ttext-transform: uppercase;\n\t}\n`;\n\nexport const FaqsOtherTagsTitle = styled(Title)`\n\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\twidth: 100%;\n\th2 {\n\t\t${FlexMixin({ align: 'center', justify: 'start' })};\n\t\t${Padding({ top: '16px', x: '0' })}\n\t\t${FontMixin({ weight: 'medium' })};\n\t\tfont-size: 17px;\n\t}\n`;\n\nexport const FaqsOtherTagsListContainer = styled.div`\n\t${FlexMixin({ align: 'center', justify: 'center', wrap: true })};\n\t${Padding({ bottom: '40px' })}\n`;\n\nexport const FaqOtherTag = styled.div``;\n\nexport const FaqOtherTagImage = styled.a`\n\t${FontMixin({ size: 'medium' })};\n\t${FlexMixin({ align: 'center', justify: 'center' })};\n\t${BorderRadius({ all: '4px' })}\n\t${Margin({ all: '0' })}\n\t${Padding({ all: '12px' })}\n\ttext-align: center;\n\theight: 44px;\n\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\tbox-shadow: 0px 0px 2px ${({ theme }) => rgba(theme.colors.black.base, 0.08)};\n\tbackground-color: ${({ theme }) => theme.colors.grays.light};\n\n\t& > ${Icon} {\n\t\t${FontMixin({ size: 'xl' })};\n\t}\n\n\t& > span {\n\t\t${FlexMixin({ align: 'center', justify: 'center', wrap: true })};\n\t\t${FontMixin({ size: 'base', weight: 'bold' })};\n\t\t${Margin({ all: '0' })}\n\t}\n`;\n\nexport const FaqsLvl2SectionContainer = styled.div`\n\t${FlexMixin({ align: 'flex-start', justify: 'space-between' })};\n\twidth: 100%;\n`;\n\nexport const FaqsLvl2Container = styled.div`\n\t${Margin({ top: '40px', x: 'auto', bottom: '60px' })}\n\tmax-width: 1460px;\n`;\n\nexport const FaqsLvl2MainContainer = styled.div``;\n\nexport const FaqsLvl2OtherContainer = styled.div`\n\t${Padding({ left: '40px' })}\n\twidth: 380px;\n\tbox-shadow: -1px 0px 0px ${({ theme }) => theme.colors.grays.light};\n`;\n\nexport const FaqsLvl2SectionMainTitle = styled(Title)`\n\t${Margin({ bottom: '0' })}\n\th2 {\n\t\t${Padding({ all: '0' })}\n\t\t${FlexMixin({ align: 'start', justify: 'start' })};\n\t\t${FontMixin({ size: 'largest', weight: 'bold', height: 'large' })};\n\t\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t\twidth: 100%;\n\t\ttext-align: left;\n\t}\n`;\n\nexport const FaqsLvl2SectionOtherTitle = styled(Title)`\n\t${Margin({ bottom: '14px' })}\n\th2 {\n\t\t${Padding({ all: '0' })}\n\t\t${FlexMixin({ align: 'start', justify: 'start' })};\n\t\t${FontMixin({ size: 'larger', weight: 'bold', height: 'large' })};\n\t\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t\twidth: 100%;\n\t}\n`;\n\nexport const FaqsLvl2ItemLinksContainer = styled.div`\n\t${Margin({ top: '20px' })}\n`;\n\nexport const FaqsLvl2ItemLinkContainer = styled.div`\n\ta {\n\t\t${Margin({ bottom: '10px' })}\n\t\t${FontMixin({ size: 'small', weight: 'light', height: 'base' })};\n\t\tfont-family: ${({ theme }) => theme.font.family.primary};\n\t\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t\tdisplay: block;\n\t\t${AttentionMixin(css`\n\t\t\tcursor: pointer;\n\t\t\ttext-decoration: underline;\n\t\t`)}\n\t}\n`;\n\nexport const FaqsLvl2OtherLinkContainer = styled.div`\n\t${FlexMixin({ align: 'center', justify: 'start' })}\n\theight: 48px;\n\tbox-shadow: 0px -1px 0px ${({ theme }) => theme.colors.grays.light};\n\ta {\n\t\t${FontMixin({ size: 'small', weight: 'light', height: 'base' })};\n\t\tfont-family: ${({ theme }) => theme.font.family.primary};\n\t\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t\tdisplay: block;\n\t\t${AttentionMixin(css`\n\t\t\tcursor: pointer;\n\t\t\ttext-decoration: underline;\n\t\t`)}\n\t}\n`;\n\nexport const FaqsLvl3MainTitle = styled(Title)`\n\t${Margin({ y: '0px' })}\n\th2 {\n\t\t${Padding({ all: '0px' })}\n\t\t${FontMixin({ size: 'larger', weight: 'medium' })}\n\t\ttext-align: left;\n\t\tfont-family: ${({ theme }) => theme.font.family.secondary};\n\t\tline-height: 30px;\n\t}\n`;\n\nexport const FaqsLvl3ContentContainer = styled.div`\n\t${Padding({ bottom: '24px ' })}\n`;\n\nexport const FaqsLvl3Content = styled(InnerMarkdownHTML)`\n\t${Margin({ all: '0px' })}\n\t${Padding({ top: '12px', bottom: '0px', x: '0px' })}\n\t${FontMixin({ height: 'base' })};\n\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\tdisplay: block;\n\tletter-spacing: 0;\n\ttext-align: left;\n\tfont-size: 15px;\n`;\n\nexport const FaqsLvl3Container = styled.div<{ $category?: boolean }>`\n\tbackground-color: ${({ theme }) => theme.colors.white.base};\n`;\n\nexport const FaqsLvl3TopContainer = styled.div`\n\t${Padding({ x: '12px', top: '24px', bottom: '28px' })};\n`;\n\nexport const FaqsLvl3TagsContainer = styled.div`\n\t${({ theme }) => Border({ top: `1px solid ${theme.colors.grays.light}` })}\n\twidth: 100%;\n\t${Margin({ bottom: '8px' })};\n`;\n\nexport const FaqsLvl3TagsMainTitle = styled.h3`\n\t${FontMixin({ size: 'base', weight: 'semiBold', height: 'base' })};\n\t${Margin({ top: '25px' })};\n\tdisplay: block;\n\tcolor: ${({ theme }) => theme.colors.grays.darker};\n`;\n\nexport const FaqsLvl3TagsItemsContainer = styled.div`\n\t${FlexMixin({ align: 'center', justify: 'start', wrap: true })};\n\t${Margin({ top: '4px' })};\n`;\n\nexport const FaqsLvl3TagsItemContainer = styled.div`\n\t${Padding({ x: '12px', y: '7px' })};\n\t${Margin({ right: '8px', top: '8px' })};\n\t${BorderRadius({ all: '4px' })}\n\ta {\n\t\t${FontMixin({ size: 'medium', weight: 'regular', height: 'base' })};\n\t}\n\tbackground: ${({ theme }) => theme.colors.primary.lightest};\n\tcolor: ${({ theme }) => theme.colors.primary.light};\n`;\n\nexport const RenderFaqItemLink = styled.div``;\n","import Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport InnerMarkdownHTML from '@babylon/ui-kit-base/components/text/inner-markdown-HTML';\nimport { genKey } from '@babylon/ui-kit-helpers/keys';\nimport type { SliderProps } from '@babylon/ui-kit-structures/components/others/slider/types';\nimport type { FC } from 'react';\n\nimport type { IFaqsOtherProps } from '../../../types';\nimport * as S from '../styled';\n\nconst RenderFaqsOthersCategories: FC<{\n\totherCategories: IFaqsOtherProps[];\n\totherTitle: string;\n\tlevel?: number;\n}> = ({ otherCategories, otherTitle, level = 1 }) => {\n\tconst categoryAmount = otherCategories?.length ?? 0;\n\n\tconst sliderProps: SliderProps = {\n\t\tperPage: categoryAmount >= 3 ? 3 : categoryAmount,\n\t\tarrows: false,\n\t\tpagination: false,\n\t\tgap: 8,\n\t\tcentered: false,\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{otherCategories?.map(category => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{!!category?.title && }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default RenderFaqsOthersCategories;\n","import InnerMarkdownHTML from '@babylon/ui-kit-base/components/text/inner-markdown-HTML';\nimport { genKey } from '@babylon/ui-kit-helpers/keys';\nimport type { SliderProps } from '@babylon/ui-kit-structures/components/others/slider/types';\nimport type { FC } from 'react';\n\nimport type { IFaqsOtherProps } from '../../../types';\nimport * as S from '../styled';\n\nconst RenderFaqsOthersTags: FC<{ otherCategories: IFaqsOtherProps[]; otherTitle: string }> = ({\n\totherCategories,\n\totherTitle,\n}) => {\n\tconst categoryAmount = otherCategories?.length ?? 0;\n\n\tconst sliderProps: SliderProps = {\n\t\tperPage: categoryAmount >= 3 ? 3 : categoryAmount,\n\t\tarrows: false,\n\t\tpagination: false,\n\t\tgap: 8,\n\t\tcentered: true,\n\t};\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{otherCategories?.map(category => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{!!category?.title && }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default RenderFaqsOthersTags;\n","import Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport { genKey } from '@babylon/ui-kit-helpers/keys';\nimport { type FC, useState } from 'react';\n\nimport type {\n\tIFaqsConfigProps,\n\tIFaqsItemLinkProps,\n\tIFaqsItemsProps,\n\tIFaqsProps,\n\tIFaqsQuestionsLinksProps,\n\tIFaqsQuestionsProps,\n} from '../../../types';\nimport RenderFaqsOthersCategories from '../render-faq-other-categories';\nimport RenderFaqsOthersTags from '../render-faq-other-tags';\nimport * as S from '../styled';\n\nconst MIN_SHOW_QUESTIONS = 15;\n\nconst FaqsItemLink: FC = ({\n\thref = '',\n\ttitle = '',\n\tcontent = '',\n\ttarget = '',\n\tisTagLink = false,\n}) => (\n\t\n\t\t{title ?? content ?? ''}\n\t\n);\n\nconst FaqsQuestionLinks: FC = ({\n\thref = '',\n\ttarget = '',\n\ttitle = '',\n\thideLastSeparator = false,\n}) => (\n\t\n\t\t{title}\n\t\t\n\t\t\t\n\t\t\n\t\n);\n\nexport const RenderQuestionBylvl: FC<{\n\tquestion: IFaqsQuestionsProps;\n\tlevel?: number;\n\tmoreFaqsLabel?: string;\n}> = ({ question, level = 1, moreFaqsLabel = '' }) => {\n\tconst [viewAllQuestions, setViewAllQuestions] = useState(false);\n\tif (level === 2) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{question?.links!.length > MIN_SHOW_QUESTIONS && !viewAllQuestions ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{question?.links\n\t\t\t\t\t\t\t?.slice(0, MIN_SHOW_QUESTIONS)\n\t\t\t\t\t\t\t.map(({ link }) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t setViewAllQuestions(true)}>\n\t\t\t\t\t\t\t{moreFaqsLabel}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\tquestion?.links?.map(({ link }) => (\n\t\t\t\t\t\t\n\t\t\t\t\t))\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t}\n\n\treturn question?.links?.map(\n\t\t({ link }) => link && \n\t);\n};\n\nexport const RenderFaqItem: FC<{\n\tquestion: IFaqsQuestionsProps;\n\tisCategoryType?: boolean;\n\tlevel?: number;\n\tmoreFaqsLabel?: string;\n}> = ({ question, isCategoryType = true, level = 1, moreFaqsLabel = '' }) => (\n\t\n\t\t 1}\n\t\t\t$category={isCategoryType}\n\t\t\t$level={level}\n\t\t>\n\t\t\t 1}\n\t\t\t\ttitle={(question.label ? question.label : question.title) ?? ''}\n\t\t\t\tkey={genKey(question)}\n\t\t\t/>\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{question?.link && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t\n);\n\nconst RenderFaqs: FC = ({ isCategoryType = false, title, questions = [], other, otherTitle = '' }) => (\n\t\n\t\t{title && }\n\t\t\n\t\t\t{questions?.map(question => (\n\t\t\t\t\n\t\t\t))}\n\t\t\n\t\t{isCategoryType ? (\n\t\t\t\n\t\t) : (\n\t\t\t\n\t\t)}\n\t\n);\n\nexport const RenderFaqsLvl2: FC = ({\n\tquestions = [],\n\tother = [],\n\ttitle = '',\n\totherTitle = '',\n\tmoreFaqsLabel = '',\n}) => {\n\tconst links = questions?.reduce((acc, cur) => ({ ...acc, links: [...(acc?.links ?? []), { link: cur ?? {} }] }), {\n\t\tlabel: title ?? '',\n\t\tlinks: [],\n\t});\n\tconst otherLinks = other?.reduce(\n\t\t(acc: IFaqsItemLinkProps[], cur) => [...acc, { link: cur, title: cur?.title, icon: cur?.icon }],\n\t\t[]\n\t);\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport const RenderFaqsLvl3: FC = ({\n\tother = [],\n\tcontent = [],\n\ttags = [],\n\ttitleLabel = '',\n\totherTitleLabel = '',\n\ttagsTitleLabel = '',\n\tconfig = {},\n}) => {\n\tconst contentRendered = () => {\n\t\tif (content?.length > 0) {\n\t\t\tif (Array.isArray(content)) {\n\t\t\t\treturn content?.map(paragraph => );\n\t\t\t}\n\n\t\t\treturn ;\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{!!content?.length && contentRendered()}\n\t\t\t\t\t\n\t\t\t\t\t\t{tagsTitleLabel}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{tags?.map(tag => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{(other as IFaqsQuestionsProps)?.links?.map(({ link = {} }) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default RenderFaqs;\n","import { genKey } from '@babylon/ui-kit-helpers/keys';\nimport type { FC } from 'react';\n\nimport type { IFaqsOtherProps, IFaqsPropsComponent } from '../../types';\nimport RenderFaqs, { RenderFaqsLvl2, RenderFaqsLvl3 } from './render-faqs';\nimport * as S from './styled';\n\nexport const FaqsMobile: FC = ({ props = {} }) => {\n\tconst { items = [], links = [], other = [], tags = [], config = {}, content = [] } = props;\n\tconst { level = 1, literals = {} } = config;\n\tconst { titleLabel = '', otherTitleLabel = '', tagsTitleLabel = '', moreFaqsLabel = '' } = literals;\n\n\tswitch (level) {\n\t\tcase 1:\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{items?.map((item, index) => (\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t\n\t\t\t);\n\t\tcase 2:\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\tcase 3:\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n\nexport default FaqsMobile;\n","import { generateViewsComponent } from '@babylon/ui-kit-helpers/views';\n\nimport FaqsDesktop from './views/desktop';\nimport FaqsMobile from './views/mobile';\n\nexport const Faqs = generateViewsComponent(FaqsDesktop, FaqsMobile);\n\nexport default Faqs;\n","import Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport InnerMarkdownHTML from '@babylon/ui-kit-base/components/text/inner-markdown-HTML';\nimport Title from '@babylon/ui-kit-base/components/text/title';\nimport { FlexMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { Margin, Padding } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport styled from 'styled-components';\n\nexport const FaqsOtherHelpDesktopContainer = styled.section`\n\t${Padding({ all: '0' })}\n\t${Margin({ all: '0' })}\n\t${FlexMixin({ align: 'flex-start', direction: 'column', wrap: false })}\n\tbox-shadow: inset 0px 1px 0px ${({ theme }) => theme.colors.grays.light};\n\tbackground-color: ${({ theme }) => theme.colors.white.base};\n\tmin-height: 234px;\n`;\n\nexport const FaqsOtherHelpDesktopContainerContent = styled.div`\n\t${Padding({ all: '0' })}\n\t${Margin({ x: 'auto', y: '0' })}\n\tmax-width: 1500px;\n`;\n\nexport const FaqsOtherHelpDesktopTitle = styled(Title)`\n\t${Margin({ bottom: '18px' })}\n\t${Padding({ top: '44px' })}\n\t${FlexMixin({ align: 'flex-end', justify: 'center', direction: 'row', wrap: false })}\n\tposition: relative;\n\th2 {\n\t\t${FontMixin({ weight: 'medium', height: 'largest' })}\n\t\tfont-family: ${({ theme }) => theme.font.family.secondary};\n\t\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t}\n`;\n\nexport const FaqsOtherHelpDesktopContent = styled.div`\n\t${FlexMixin({ align: 'self-start', justify: 'center', direction: 'row' })}\n\t${Margin({ bottom: '24px' })}\n\tgap: 40px;\n\twidth: 100%;\n`;\n\nexport const FaqsOtherHelpDesktopContentItemContainer = styled.div`\n\t${FlexMixin({ align: 'self-start', direction: 'row' })}\n\twidth: 50%;\n`;\n\nexport const FaqsOtherHelpDesktopContentItemLogoContainer = styled.div``;\n\nexport const FaqsOtherHelpDesktopContentItemLogo = styled.a`\n\t${FlexMixin({ align: 'center', justify: 'flex-start', wrap: true, direction: 'column' })};\n\t${Margin({ top: '0', x: '16px' })}\n\t${Padding({ all: '0' })}\n\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\n\t& > ${Icon} {\n\t\t${FontMixin({ size: 'largest' })};\n\t\tcolor: ${({ theme }) => theme.colors.primary.light};\n\t}\n\t& > span {\n\t\t${FlexMixin({ align: 'center', justify: 'center', wrap: true })};\n\t\t${FontMixin({ size: 'base', weight: 'medium' })};\n\t\t${Margin({ top: '10px' })}\n\t}\n`;\n\nexport const FaqsOtherHelpDesktopContentItemDescriptionContainer = styled.a``;\n\nexport const FaqsOtherHelpDesktopContentItemTitle = styled(Title)`\n\t${FlexMixin({ align: 'self-start', justify: 'flex-start', direction: 'row' })}\n\t${Margin({ bottom: '7px' })}\n\th2 {\n\t\t${Padding({ all: '0' })}\n\t\t${FontMixin({ size: 'larger', height: 'base', weight: 'medium' })}\n\t\tfont-family: ${({ theme }) => theme.font.family.primary};\n\t\tcolor: ${({ theme }) => theme.colors.primary.light};\n\t}\n`;\n\nexport const FaqsOtherHelpDesktopContentItemDescription = styled(InnerMarkdownHTML)`\n\t${FontMixin({ size: 'medium', height: 'base', weight: 'light' })}\n\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\tfont-family: ${({ theme }) => theme.font.family.primary};\n`;\n","import Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport { genKey } from '@babylon/ui-kit-helpers/keys';\nimport type { FC } from 'react';\n\nimport type { IFaqsOtherHelpProps } from '../../types';\nimport * as S from './styled';\n\nexport const FaqsOtherHelpDesktop: FC = ({ props = {} }) => {\n\tconst { items = [], config = {} } = props;\n\tconst { literals = {} } = config;\n\tconst { titleLabel = '' } = literals;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{items?.map(item => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default FaqsOtherHelpDesktop;\n","import Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport InnerMarkdownHTML from '@babylon/ui-kit-base/components/text/inner-markdown-HTML';\nimport Title from '@babylon/ui-kit-base/components/text/title';\nimport { FlexMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { Margin, Padding } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport styled from 'styled-components';\n\nexport const FaqsOtherHelpMobileContainer = styled.section`\n\t${Padding({ all: '0' })}\n\t${Margin({ all: '0' })}\n\t${FlexMixin({ align: 'flex-start', direction: 'column', wrap: false })}\n\tmin-height: 234px;\n`;\n\nexport const FaqsOtherHelpMobileContainerContent = styled.div`\n\t${Padding({ all: '0' })}\n\t${Margin({ x: 'auto', y: '0' })}\n`;\n\nexport const FaqsOtherHelpMobileTitle = styled(Title)`\n\t${Margin({ top: '32px', bottom: '0px' })}\n\t${FlexMixin({ align: 'flex-end', direction: 'row', wrap: false })}\n\tposition: relative;\n\th2 {\n\t\t${FontMixin({ weight: 'medium', height: 'larger' })}\n\t\tfont-family: ${({ theme }) => theme.font.family.secondary};\n\t\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t\ttext-align: left;\n\t}\n`;\n\nexport const FaqsOtherHelpMobileContent = styled.div`\n\t${FlexMixin({ align: 'self-start', justify: 'center', direction: 'column' })}\n\t${Margin({ bottom: '24px' })}\n\twidth: 100%;\n\theight: calc(100% - 89px);\n`;\n\nexport const FaqsOtherHelpMobileContentItemContainer = styled.div`\n\t${FlexMixin({ align: 'self-start', direction: 'row' })}\n\t${Margin({ all: '16px' })}\n`;\n\nexport const FaqsOtherHelpMobileContentItemLogoContainer = styled.div``;\n\nexport const FaqsOtherHelpMobileContentItemLogo = styled.a`\n\t${FlexMixin({ align: 'center', justify: 'flex-start', wrap: true, direction: 'column' })};\n\t${Margin({ top: '0', right: '16px', left: '0' })}\n\t${Padding({ all: '0' })}\n\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\n\t& > ${Icon} {\n\t\t${FontMixin({ size: 'largest' })};\n\t\tcolor: ${({ theme }) => theme.colors.primary.light};\n\t}\n\t& > span {\n\t\t${FlexMixin({ align: 'center', justify: 'center', wrap: true })};\n\t\t${FontMixin({ size: 'base', weight: 'medium' })};\n\t\t${Margin({ top: '10px' })}\n\t}\n`;\n\nexport const FaqsOtherHelpMobileContentItemDescriptionContainer = styled.a``;\n\nexport const FaqsOtherHelpMobileContentItemTitle = styled(Title)`\n\t${FlexMixin({ align: 'self-start', justify: 'flex-start', direction: 'row' })}\n\t${Margin({ bottom: '7px' })}\n\th2 {\n\t\t${Padding({ all: '0' })}\n\t\t${FontMixin({ size: 'large', height: 'base', weight: 'medium' })}\n\t\tfont-family: ${({ theme }) => theme.font.family.primary};\n\t\tcolor: ${({ theme }) => theme.colors.primary.light};\n\t}\n`;\n\nexport const FaqsOtherHelpMobileContentItemDescription = styled(InnerMarkdownHTML)`\n\t${FontMixin({ size: 'medium', height: 'base', weight: 'light' })}\n\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\tfont-family: ${({ theme }) => theme.font.family.primary};\n`;\n","import Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport { genKey } from '@babylon/ui-kit-helpers/keys';\nimport type { FC } from 'react';\n\nimport type { IFaqsOtherHelpProps } from '../../types';\nimport * as S from './styled';\n\nexport const FaqsOtherHelpMobile: FC = ({ props = {} }) => {\n\tconst { items = [], config = {} } = props;\n\tconst { literals = {} } = config;\n\tconst { titleLabel = '' } = literals;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{items?.map(item => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default FaqsOtherHelpMobile;\n","import { generateViewsComponent } from '@babylon/ui-kit-helpers/views';\n\nimport FaqsOtherHelpDesktop from './views/desktop';\nimport FaqsOtherHelpMobile from './views/mobile';\n\nexport const FaqsOtherHelp = generateViewsComponent(FaqsOtherHelpDesktop, FaqsOtherHelpMobile);\n\nexport default FaqsOtherHelp;\n","import React from 'react';\n\nvar isCheckBoxInput = (element) => element.type === 'checkbox';\n\nvar isDateObject = (value) => value instanceof Date;\n\nvar isNullOrUndefined = (value) => value == null;\n\nconst isObjectType = (value) => typeof value === 'object';\nvar isObject = (value) => !isNullOrUndefined(value) &&\n !Array.isArray(value) &&\n isObjectType(value) &&\n !isDateObject(value);\n\nvar getEventValue = (event) => isObject(event) && event.target\n ? isCheckBoxInput(event.target)\n ? event.target.checked\n : event.target.value\n : event;\n\nvar getNodeParentName = (name) => name.substring(0, name.search(/\\.\\d+(\\.|$)/)) || name;\n\nvar isNameInFieldArray = (names, name) => names.has(getNodeParentName(name));\n\nvar isPlainObject = (tempObject) => {\n const prototypeCopy = tempObject.constructor && tempObject.constructor.prototype;\n return (isObject(prototypeCopy) && prototypeCopy.hasOwnProperty('isPrototypeOf'));\n};\n\nvar isWeb = typeof window !== 'undefined' &&\n typeof window.HTMLElement !== 'undefined' &&\n typeof document !== 'undefined';\n\nfunction cloneObject(data) {\n let copy;\n const isArray = Array.isArray(data);\n if (data instanceof Date) {\n copy = new Date(data);\n }\n else if (data instanceof Set) {\n copy = new Set(data);\n }\n else if (!(isWeb && (data instanceof Blob || data instanceof FileList)) &&\n (isArray || isObject(data))) {\n copy = isArray ? [] : {};\n if (!isArray && !isPlainObject(data)) {\n copy = data;\n }\n else {\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n copy[key] = cloneObject(data[key]);\n }\n }\n }\n }\n else {\n return data;\n }\n return copy;\n}\n\nvar compact = (value) => Array.isArray(value) ? value.filter(Boolean) : [];\n\nvar isUndefined = (val) => val === undefined;\n\nvar get = (object, path, defaultValue) => {\n if (!path || !isObject(object)) {\n return defaultValue;\n }\n const result = compact(path.split(/[,[\\].]+?/)).reduce((result, key) => isNullOrUndefined(result) ? result : result[key], object);\n return isUndefined(result) || result === object\n ? isUndefined(object[path])\n ? defaultValue\n : object[path]\n : result;\n};\n\nvar isBoolean = (value) => typeof value === 'boolean';\n\nconst EVENTS = {\n BLUR: 'blur',\n FOCUS_OUT: 'focusout',\n CHANGE: 'change',\n};\nconst VALIDATION_MODE = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all',\n};\nconst INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate',\n};\n\nconst HookFormContext = React.createContext(null);\n/**\n * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @returns return all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * \n *
\n * \n * \n * \n *
\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return ;\n * }\n * ```\n */\nconst useFormContext = () => React.useContext(HookFormContext);\n/**\n * A provider component that propagates the `useForm` methods to all children components via [React Context](https://reactjs.org/docs/context.html) API. To be used with {@link useFormContext}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @param props - all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * \n *
\n * \n * \n * \n *
\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return ;\n * }\n * ```\n */\nconst FormProvider = (props) => {\n const { children, ...data } = props;\n return (React.createElement(HookFormContext.Provider, { value: data }, children));\n};\n\nvar getProxyFormState = (formState, control, localProxyFormState, isRoot = true) => {\n const result = {\n defaultValues: control._defaultValues,\n };\n for (const key in formState) {\n Object.defineProperty(result, key, {\n get: () => {\n const _key = key;\n if (control._proxyFormState[_key] !== VALIDATION_MODE.all) {\n control._proxyFormState[_key] = !isRoot || VALIDATION_MODE.all;\n }\n localProxyFormState && (localProxyFormState[_key] = true);\n return formState[_key];\n },\n });\n }\n return result;\n};\n\nvar isEmptyObject = (value) => isObject(value) && !Object.keys(value).length;\n\nvar shouldRenderFormState = (formStateData, _proxyFormState, updateFormState, isRoot) => {\n updateFormState(formStateData);\n const { name, ...formState } = formStateData;\n return (isEmptyObject(formState) ||\n Object.keys(formState).length >= Object.keys(_proxyFormState).length ||\n Object.keys(formState).find((key) => _proxyFormState[key] ===\n (!isRoot || VALIDATION_MODE.all)));\n};\n\nvar convertToArrayPayload = (value) => (Array.isArray(value) ? value : [value]);\n\nvar shouldSubscribeByName = (name, signalName, exact) => !name ||\n !signalName ||\n name === signalName ||\n convertToArrayPayload(name).some((currentName) => currentName &&\n (exact\n ? currentName === signalName\n : currentName.startsWith(signalName) ||\n signalName.startsWith(currentName)));\n\nfunction useSubscribe(props) {\n const _props = React.useRef(props);\n _props.current = props;\n React.useEffect(() => {\n const subscription = !props.disabled &&\n _props.current.subject &&\n _props.current.subject.subscribe({\n next: _props.current.next,\n });\n return () => {\n subscription && subscription.unsubscribe();\n };\n }, [props.disabled]);\n}\n\n/**\n * This custom hook allows you to subscribe to each form state, and isolate the re-render at the custom hook level. It has its scope in terms of form state subscription, so it would not affect other useFormState and useForm. Using this hook can reduce the re-render impact on large and complex form application.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformstate) • [Demo](https://codesandbox.io/s/useformstate-75xly)\n *\n * @param props - include options on specify fields to subscribe. {@link UseFormStateReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, control } = useForm({\n * defaultValues: {\n * firstName: \"firstName\"\n * }});\n * const { dirtyFields } = useFormState({\n * control\n * });\n * const onSubmit = (data) => console.log(data);\n *\n * return (\n *
\n * \n * {dirtyFields.firstName &&

Field is dirty.

}\n * \n *
\n * );\n * }\n * ```\n */\nfunction useFormState(props) {\n const methods = useFormContext();\n const { control = methods.control, disabled, name, exact } = props || {};\n const [formState, updateFormState] = React.useState(control._formState);\n const _mounted = React.useRef(true);\n const _localProxyFormState = React.useRef({\n isDirty: false,\n isLoading: false,\n dirtyFields: false,\n touchedFields: false,\n validatingFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n });\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n next: (value) => _mounted.current &&\n shouldSubscribeByName(_name.current, value.name, exact) &&\n shouldRenderFormState(value, _localProxyFormState.current, control._updateFormState) &&\n updateFormState({\n ...control._formState,\n ...value,\n }),\n subject: control._subjects.state,\n });\n React.useEffect(() => {\n _mounted.current = true;\n _localProxyFormState.current.isValid && control._updateValid(true);\n return () => {\n _mounted.current = false;\n };\n }, [control]);\n return getProxyFormState(formState, control, _localProxyFormState.current, false);\n}\n\nvar isString = (value) => typeof value === 'string';\n\nvar generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) => {\n if (isString(names)) {\n isGlobal && _names.watch.add(names);\n return get(formValues, names, defaultValue);\n }\n if (Array.isArray(names)) {\n return names.map((fieldName) => (isGlobal && _names.watch.add(fieldName), get(formValues, fieldName)));\n }\n isGlobal && (_names.watchAll = true);\n return formValues;\n};\n\n/**\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @example\n * ```tsx\n * const { control } = useForm();\n * const values = useWatch({\n * name: \"fieldName\"\n * control,\n * })\n * ```\n */\nfunction useWatch(props) {\n const methods = useFormContext();\n const { control = methods.control, name, defaultValue, disabled, exact, } = props || {};\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n subject: control._subjects.values,\n next: (formState) => {\n if (shouldSubscribeByName(_name.current, formState.name, exact)) {\n updateValue(cloneObject(generateWatchOutput(_name.current, control._names, formState.values || control._formValues, false, defaultValue)));\n }\n },\n });\n const [value, updateValue] = React.useState(control._getWatch(name, defaultValue));\n React.useEffect(() => control._removeUnmounted());\n return value;\n}\n\nvar isKey = (value) => /^\\w*$/.test(value);\n\nvar stringToPath = (input) => compact(input.replace(/[\"|']|\\]/g, '').split(/\\.|\\[/));\n\nvar set = (object, path, value) => {\n let index = -1;\n const tempPath = isKey(path) ? [path] : stringToPath(path);\n const length = tempPath.length;\n const lastIndex = length - 1;\n while (++index < length) {\n const key = tempPath[index];\n let newValue = value;\n if (index !== lastIndex) {\n const objValue = object[key];\n newValue =\n isObject(objValue) || Array.isArray(objValue)\n ? objValue\n : !isNaN(+tempPath[index + 1])\n ? []\n : {};\n }\n object[key] = newValue;\n object = object[key];\n }\n return object;\n};\n\n/**\n * Custom hook to work with controlled component, this function provide you with both form and field level state. Re-render is isolated at the hook level.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller) • [Demo](https://codesandbox.io/s/usecontroller-0o8px)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns field properties, field and form state. {@link UseControllerReturn}\n *\n * @example\n * ```tsx\n * function Input(props) {\n * const { field, fieldState, formState } = useController(props);\n * return (\n *
\n * \n *

{fieldState.isTouched && \"Touched\"}

\n *

{formState.isSubmitted ? \"submitted\" : \"\"}

\n *
\n * );\n * }\n * ```\n */\nfunction useController(props) {\n const methods = useFormContext();\n const { name, disabled, control = methods.control, shouldUnregister } = props;\n const isArrayField = isNameInFieldArray(control._names.array, name);\n const value = useWatch({\n control,\n name,\n defaultValue: get(control._formValues, name, get(control._defaultValues, name, props.defaultValue)),\n exact: true,\n });\n const formState = useFormState({\n control,\n name,\n });\n const _registerProps = React.useRef(control.register(name, {\n ...props.rules,\n value,\n ...(isBoolean(props.disabled) ? { disabled: props.disabled } : {}),\n }));\n React.useEffect(() => {\n const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;\n const updateMounted = (name, value) => {\n const field = get(control._fields, name);\n if (field) {\n field._f.mount = value;\n }\n };\n updateMounted(name, true);\n if (_shouldUnregisterField) {\n const value = cloneObject(get(control._options.defaultValues, name));\n set(control._defaultValues, name, value);\n if (isUndefined(get(control._formValues, name))) {\n set(control._formValues, name, value);\n }\n }\n return () => {\n (isArrayField\n ? _shouldUnregisterField && !control._state.action\n : _shouldUnregisterField)\n ? control.unregister(name)\n : updateMounted(name, false);\n };\n }, [name, control, isArrayField, shouldUnregister]);\n React.useEffect(() => {\n if (get(control._fields, name)) {\n control._updateDisabledField({\n disabled,\n fields: control._fields,\n name,\n value: get(control._fields, name)._f.value,\n });\n }\n }, [disabled, name, control]);\n return {\n field: {\n name,\n value,\n ...(isBoolean(disabled) || formState.disabled\n ? { disabled: formState.disabled || disabled }\n : {}),\n onChange: React.useCallback((event) => _registerProps.current.onChange({\n target: {\n value: getEventValue(event),\n name: name,\n },\n type: EVENTS.CHANGE,\n }), [name]),\n onBlur: React.useCallback(() => _registerProps.current.onBlur({\n target: {\n value: get(control._formValues, name),\n name: name,\n },\n type: EVENTS.BLUR,\n }), [name, control]),\n ref: (elm) => {\n const field = get(control._fields, name);\n if (field && elm) {\n field._f.ref = {\n focus: () => elm.focus(),\n select: () => elm.select(),\n setCustomValidity: (message) => elm.setCustomValidity(message),\n reportValidity: () => elm.reportValidity(),\n };\n }\n },\n },\n formState,\n fieldState: Object.defineProperties({}, {\n invalid: {\n enumerable: true,\n get: () => !!get(formState.errors, name),\n },\n isDirty: {\n enumerable: true,\n get: () => !!get(formState.dirtyFields, name),\n },\n isTouched: {\n enumerable: true,\n get: () => !!get(formState.touchedFields, name),\n },\n isValidating: {\n enumerable: true,\n get: () => !!get(formState.validatingFields, name),\n },\n error: {\n enumerable: true,\n get: () => get(formState.errors, name),\n },\n }),\n };\n}\n\n/**\n * Component based on `useController` hook to work with controlled component.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller/controller) • [Demo](https://codesandbox.io/s/react-hook-form-v6-controller-ts-jwyzw) • [Video](https://www.youtube.com/watch?v=N2UNk_UCVyA)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns provide field handler functions, field and form state.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control } = useForm({\n * defaultValues: {\n * test: \"\"\n * }\n * });\n *\n * return (\n *
\n * (\n * <>\n * \n *

{formState.isSubmitted ? \"submitted\" : \"\"}

\n *

{fieldState.isTouched ? \"touched\" : \"\"}

\n * \n * )}\n * />\n * \n * );\n * }\n * ```\n */\nconst Controller = (props) => props.render(useController(props));\n\nconst POST_REQUEST = 'post';\n/**\n * Form component to manage submission.\n *\n * @param props - to setup submission detail. {@link FormProps}\n *\n * @returns form component or headless render prop.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control, formState: { errors } } = useForm();\n *\n * return (\n *
\n * \n *

{errors?.root?.server && 'Server error'}

\n * \n *
\n * );\n * }\n * ```\n */\nfunction Form(props) {\n const methods = useFormContext();\n const [mounted, setMounted] = React.useState(false);\n const { control = methods.control, onSubmit, children, action, method = POST_REQUEST, headers, encType, onError, render, onSuccess, validateStatus, ...rest } = props;\n const submit = async (event) => {\n let hasError = false;\n let type = '';\n await control.handleSubmit(async (data) => {\n const formData = new FormData();\n let formDataJson = '';\n try {\n formDataJson = JSON.stringify(data);\n }\n catch (_a) { }\n for (const name of control._names.mount) {\n formData.append(name, get(data, name));\n }\n if (onSubmit) {\n await onSubmit({\n data,\n event,\n method,\n formData,\n formDataJson,\n });\n }\n if (action) {\n try {\n const shouldStringifySubmissionData = [\n headers && headers['Content-Type'],\n encType,\n ].some((value) => value && value.includes('json'));\n const response = await fetch(action, {\n method,\n headers: {\n ...headers,\n ...(encType ? { 'Content-Type': encType } : {}),\n },\n body: shouldStringifySubmissionData ? formDataJson : formData,\n });\n if (response &&\n (validateStatus\n ? !validateStatus(response.status)\n : response.status < 200 || response.status >= 300)) {\n hasError = true;\n onError && onError({ response });\n type = String(response.status);\n }\n else {\n onSuccess && onSuccess({ response });\n }\n }\n catch (error) {\n hasError = true;\n onError && onError({ error });\n }\n }\n })(event);\n if (hasError && props.control) {\n props.control._subjects.state.next({\n isSubmitSuccessful: false,\n });\n props.control.setError('root.server', {\n type,\n });\n }\n };\n React.useEffect(() => {\n setMounted(true);\n }, []);\n return render ? (React.createElement(React.Fragment, null, render({\n submit,\n }))) : (React.createElement(\"form\", { noValidate: mounted, action: action, method: method, encType: encType, onSubmit: submit, ...rest }, children));\n}\n\nvar appendErrors = (name, validateAllFieldCriteria, errors, type, message) => validateAllFieldCriteria\n ? {\n ...errors[name],\n types: {\n ...(errors[name] && errors[name].types ? errors[name].types : {}),\n [type]: message || true,\n },\n }\n : {};\n\nvar generateId = () => {\n const d = typeof performance === 'undefined' ? Date.now() : performance.now() * 1000;\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16 + d) % 16 | 0;\n return (c == 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n\nvar getFocusFieldName = (name, index, options = {}) => options.shouldFocus || isUndefined(options.shouldFocus)\n ? options.focusName ||\n `${name}.${isUndefined(options.focusIndex) ? index : options.focusIndex}.`\n : '';\n\nvar getValidationModes = (mode) => ({\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched,\n});\n\nvar isWatched = (name, _names, isBlurEvent) => !isBlurEvent &&\n (_names.watchAll ||\n _names.watch.has(name) ||\n [..._names.watch].some((watchName) => name.startsWith(watchName) &&\n /^\\.\\w+/.test(name.slice(watchName.length))));\n\nconst iterateFieldsByAction = (fields, action, fieldsNames, abortEarly) => {\n for (const key of fieldsNames || Object.keys(fields)) {\n const field = get(fields, key);\n if (field) {\n const { _f, ...currentField } = field;\n if (_f) {\n if (_f.refs && _f.refs[0] && action(_f.refs[0], key) && !abortEarly) {\n break;\n }\n else if (_f.ref && action(_f.ref, _f.name) && !abortEarly) {\n break;\n }\n else {\n iterateFieldsByAction(currentField, action);\n }\n }\n else if (isObject(currentField)) {\n iterateFieldsByAction(currentField, action);\n }\n }\n }\n};\n\nvar updateFieldArrayRootError = (errors, error, name) => {\n const fieldArrayErrors = compact(get(errors, name));\n set(fieldArrayErrors, 'root', error[name]);\n set(errors, name, fieldArrayErrors);\n return errors;\n};\n\nvar isFileInput = (element) => element.type === 'file';\n\nvar isFunction = (value) => typeof value === 'function';\n\nvar isHTMLElement = (value) => {\n if (!isWeb) {\n return false;\n }\n const owner = value ? value.ownerDocument : 0;\n return (value instanceof\n (owner && owner.defaultView ? owner.defaultView.HTMLElement : HTMLElement));\n};\n\nvar isMessage = (value) => isString(value);\n\nvar isRadioInput = (element) => element.type === 'radio';\n\nvar isRegex = (value) => value instanceof RegExp;\n\nconst defaultResult = {\n value: false,\n isValid: false,\n};\nconst validResult = { value: true, isValid: true };\nvar getCheckboxValue = (options) => {\n if (Array.isArray(options)) {\n if (options.length > 1) {\n const values = options\n .filter((option) => option && option.checked && !option.disabled)\n .map((option) => option.value);\n return { value: values, isValid: !!values.length };\n }\n return options[0].checked && !options[0].disabled\n ? // @ts-expect-error expected to work in the browser\n options[0].attributes && !isUndefined(options[0].attributes.value)\n ? isUndefined(options[0].value) || options[0].value === ''\n ? validResult\n : { value: options[0].value, isValid: true }\n : validResult\n : defaultResult;\n }\n return defaultResult;\n};\n\nconst defaultReturn = {\n isValid: false,\n value: null,\n};\nvar getRadioValue = (options) => Array.isArray(options)\n ? options.reduce((previous, option) => option && option.checked && !option.disabled\n ? {\n isValid: true,\n value: option.value,\n }\n : previous, defaultReturn)\n : defaultReturn;\n\nfunction getValidateError(result, ref, type = 'validate') {\n if (isMessage(result) ||\n (Array.isArray(result) && result.every(isMessage)) ||\n (isBoolean(result) && !result)) {\n return {\n type,\n message: isMessage(result) ? result : '',\n ref,\n };\n }\n}\n\nvar getValueAndMessage = (validationData) => isObject(validationData) && !isRegex(validationData)\n ? validationData\n : {\n value: validationData,\n message: '',\n };\n\nvar validateField = async (field, formValues, validateAllFieldCriteria, shouldUseNativeValidation, isFieldArray) => {\n const { ref, refs, required, maxLength, minLength, min, max, pattern, validate, name, valueAsNumber, mount, disabled, } = field._f;\n const inputValue = get(formValues, name);\n if (!mount || disabled) {\n return {};\n }\n const inputRef = refs ? refs[0] : ref;\n const setCustomValidity = (message) => {\n if (shouldUseNativeValidation && inputRef.reportValidity) {\n inputRef.setCustomValidity(isBoolean(message) ? '' : message || '');\n inputRef.reportValidity();\n }\n };\n const error = {};\n const isRadio = isRadioInput(ref);\n const isCheckBox = isCheckBoxInput(ref);\n const isRadioOrCheckbox = isRadio || isCheckBox;\n const isEmpty = ((valueAsNumber || isFileInput(ref)) &&\n isUndefined(ref.value) &&\n isUndefined(inputValue)) ||\n (isHTMLElement(ref) && ref.value === '') ||\n inputValue === '' ||\n (Array.isArray(inputValue) && !inputValue.length);\n const appendErrorsCurry = appendErrors.bind(null, name, validateAllFieldCriteria, error);\n const getMinMaxMessage = (exceedMax, maxLengthMessage, minLengthMessage, maxType = INPUT_VALIDATION_RULES.maxLength, minType = INPUT_VALIDATION_RULES.minLength) => {\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = {\n type: exceedMax ? maxType : minType,\n message,\n ref,\n ...appendErrorsCurry(exceedMax ? maxType : minType, message),\n };\n };\n if (isFieldArray\n ? !Array.isArray(inputValue) || !inputValue.length\n : required &&\n ((!isRadioOrCheckbox && (isEmpty || isNullOrUndefined(inputValue))) ||\n (isBoolean(inputValue) && !inputValue) ||\n (isCheckBox && !getCheckboxValue(refs).isValid) ||\n (isRadio && !getRadioValue(refs).isValid))) {\n const { value, message } = isMessage(required)\n ? { value: !!required, message: required }\n : getValueAndMessage(required);\n if (value) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.required,\n message,\n ref: inputRef,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (!isEmpty && (!isNullOrUndefined(min) || !isNullOrUndefined(max))) {\n let exceedMax;\n let exceedMin;\n const maxOutput = getValueAndMessage(max);\n const minOutput = getValueAndMessage(min);\n if (!isNullOrUndefined(inputValue) && !isNaN(inputValue)) {\n const valueNumber = ref.valueAsNumber ||\n (inputValue ? +inputValue : inputValue);\n if (!isNullOrUndefined(maxOutput.value)) {\n exceedMax = valueNumber > maxOutput.value;\n }\n if (!isNullOrUndefined(minOutput.value)) {\n exceedMin = valueNumber < minOutput.value;\n }\n }\n else {\n const valueDate = ref.valueAsDate || new Date(inputValue);\n const convertTimeToDate = (time) => new Date(new Date().toDateString() + ' ' + time);\n const isTime = ref.type == 'time';\n const isWeek = ref.type == 'week';\n if (isString(maxOutput.value) && inputValue) {\n exceedMax = isTime\n ? convertTimeToDate(inputValue) > convertTimeToDate(maxOutput.value)\n : isWeek\n ? inputValue > maxOutput.value\n : valueDate > new Date(maxOutput.value);\n }\n if (isString(minOutput.value) && inputValue) {\n exceedMin = isTime\n ? convertTimeToDate(inputValue) < convertTimeToDate(minOutput.value)\n : isWeek\n ? inputValue < minOutput.value\n : valueDate < new Date(minOutput.value);\n }\n }\n if (exceedMax || exceedMin) {\n getMinMaxMessage(!!exceedMax, maxOutput.message, minOutput.message, INPUT_VALIDATION_RULES.max, INPUT_VALIDATION_RULES.min);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if ((maxLength || minLength) &&\n !isEmpty &&\n (isString(inputValue) || (isFieldArray && Array.isArray(inputValue)))) {\n const maxLengthOutput = getValueAndMessage(maxLength);\n const minLengthOutput = getValueAndMessage(minLength);\n const exceedMax = !isNullOrUndefined(maxLengthOutput.value) &&\n inputValue.length > +maxLengthOutput.value;\n const exceedMin = !isNullOrUndefined(minLengthOutput.value) &&\n inputValue.length < +minLengthOutput.value;\n if (exceedMax || exceedMin) {\n getMinMaxMessage(exceedMax, maxLengthOutput.message, minLengthOutput.message);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if (pattern && !isEmpty && isString(inputValue)) {\n const { value: patternValue, message } = getValueAndMessage(pattern);\n if (isRegex(patternValue) && !inputValue.match(patternValue)) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.pattern,\n message,\n ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (validate) {\n if (isFunction(validate)) {\n const result = await validate(inputValue, formValues);\n const validateError = getValidateError(result, inputRef);\n if (validateError) {\n error[name] = {\n ...validateError,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.validate, validateError.message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(validateError.message);\n return error;\n }\n }\n }\n else if (isObject(validate)) {\n let validationResult = {};\n for (const key in validate) {\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\n break;\n }\n const validateError = getValidateError(await validate[key](inputValue, formValues), inputRef, key);\n if (validateError) {\n validationResult = {\n ...validateError,\n ...appendErrorsCurry(key, validateError.message),\n };\n setCustomValidity(validateError.message);\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n }\n if (!isEmptyObject(validationResult)) {\n error[name] = {\n ref: inputRef,\n ...validationResult,\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n }\n setCustomValidity(true);\n return error;\n};\n\nvar appendAt = (data, value) => [\n ...data,\n ...convertToArrayPayload(value),\n];\n\nvar fillEmptyArray = (value) => Array.isArray(value) ? value.map(() => undefined) : undefined;\n\nfunction insert(data, index, value) {\n return [\n ...data.slice(0, index),\n ...convertToArrayPayload(value),\n ...data.slice(index),\n ];\n}\n\nvar moveArrayAt = (data, from, to) => {\n if (!Array.isArray(data)) {\n return [];\n }\n if (isUndefined(data[to])) {\n data[to] = undefined;\n }\n data.splice(to, 0, data.splice(from, 1)[0]);\n return data;\n};\n\nvar prependAt = (data, value) => [\n ...convertToArrayPayload(value),\n ...convertToArrayPayload(data),\n];\n\nfunction removeAtIndexes(data, indexes) {\n let i = 0;\n const temp = [...data];\n for (const index of indexes) {\n temp.splice(index - i, 1);\n i++;\n }\n return compact(temp).length ? temp : [];\n}\nvar removeArrayAt = (data, index) => isUndefined(index)\n ? []\n : removeAtIndexes(data, convertToArrayPayload(index).sort((a, b) => a - b));\n\nvar swapArrayAt = (data, indexA, indexB) => {\n [data[indexA], data[indexB]] = [data[indexB], data[indexA]];\n};\n\nfunction baseGet(object, updatePath) {\n const length = updatePath.slice(0, -1).length;\n let index = 0;\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n return object;\n}\nfunction isEmptyArray(obj) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && !isUndefined(obj[key])) {\n return false;\n }\n }\n return true;\n}\nfunction unset(object, path) {\n const paths = Array.isArray(path)\n ? path\n : isKey(path)\n ? [path]\n : stringToPath(path);\n const childObject = paths.length === 1 ? object : baseGet(object, paths);\n const index = paths.length - 1;\n const key = paths[index];\n if (childObject) {\n delete childObject[key];\n }\n if (index !== 0 &&\n ((isObject(childObject) && isEmptyObject(childObject)) ||\n (Array.isArray(childObject) && isEmptyArray(childObject)))) {\n unset(object, paths.slice(0, -1));\n }\n return object;\n}\n\nvar updateAt = (fieldValues, index, value) => {\n fieldValues[index] = value;\n return fieldValues;\n};\n\n/**\n * A custom hook that exposes convenient methods to perform operations with a list of dynamic inputs that need to be appended, updated, removed etc. • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn) • [Video](https://youtu.be/4MrbfGSFY2A)\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usefieldarray) • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn)\n *\n * @param props - useFieldArray props\n *\n * @returns methods - functions to manipulate with the Field Arrays (dynamic inputs) {@link UseFieldArrayReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, control, handleSubmit, reset, trigger, setError } = useForm({\n * defaultValues: {\n * test: []\n * }\n * });\n * const { fields, append } = useFieldArray({\n * control,\n * name: \"test\"\n * });\n *\n * return (\n *
console.log(data))}>\n * {fields.map((item, index) => (\n * \n * ))}\n * \n * \n *
\n * );\n * }\n * ```\n */\nfunction useFieldArray(props) {\n const methods = useFormContext();\n const { control = methods.control, name, keyName = 'id', shouldUnregister, } = props;\n const [fields, setFields] = React.useState(control._getFieldArray(name));\n const ids = React.useRef(control._getFieldArray(name).map(generateId));\n const _fieldIds = React.useRef(fields);\n const _name = React.useRef(name);\n const _actioned = React.useRef(false);\n _name.current = name;\n _fieldIds.current = fields;\n control._names.array.add(name);\n props.rules &&\n control.register(name, props.rules);\n useSubscribe({\n next: ({ values, name: fieldArrayName, }) => {\n if (fieldArrayName === _name.current || !fieldArrayName) {\n const fieldValues = get(values, _name.current);\n if (Array.isArray(fieldValues)) {\n setFields(fieldValues);\n ids.current = fieldValues.map(generateId);\n }\n }\n },\n subject: control._subjects.array,\n });\n const updateValues = React.useCallback((updatedFieldArrayValues) => {\n _actioned.current = true;\n control._updateFieldArray(name, updatedFieldArrayValues);\n }, [control, name]);\n const append = (value, options) => {\n const appendValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = appendAt(control._getFieldArray(name), appendValue);\n control._names.focus = getFocusFieldName(name, updatedFieldArrayValues.length - 1, options);\n ids.current = appendAt(ids.current, appendValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, appendAt, {\n argA: fillEmptyArray(value),\n });\n };\n const prepend = (value, options) => {\n const prependValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = prependAt(control._getFieldArray(name), prependValue);\n control._names.focus = getFocusFieldName(name, 0, options);\n ids.current = prependAt(ids.current, prependValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, prependAt, {\n argA: fillEmptyArray(value),\n });\n };\n const remove = (index) => {\n const updatedFieldArrayValues = removeArrayAt(control._getFieldArray(name), index);\n ids.current = removeArrayAt(ids.current, index);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, removeArrayAt, {\n argA: index,\n });\n };\n const insert$1 = (index, value, options) => {\n const insertValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = insert(control._getFieldArray(name), index, insertValue);\n control._names.focus = getFocusFieldName(name, index, options);\n ids.current = insert(ids.current, index, insertValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, insert, {\n argA: index,\n argB: fillEmptyArray(value),\n });\n };\n const swap = (indexA, indexB) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n swapArrayAt(updatedFieldArrayValues, indexA, indexB);\n swapArrayAt(ids.current, indexA, indexB);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, swapArrayAt, {\n argA: indexA,\n argB: indexB,\n }, false);\n };\n const move = (from, to) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n moveArrayAt(updatedFieldArrayValues, from, to);\n moveArrayAt(ids.current, from, to);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, moveArrayAt, {\n argA: from,\n argB: to,\n }, false);\n };\n const update = (index, value) => {\n const updateValue = cloneObject(value);\n const updatedFieldArrayValues = updateAt(control._getFieldArray(name), index, updateValue);\n ids.current = [...updatedFieldArrayValues].map((item, i) => !item || i === index ? generateId() : ids.current[i]);\n updateValues(updatedFieldArrayValues);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, updatedFieldArrayValues, updateAt, {\n argA: index,\n argB: updateValue,\n }, true, false);\n };\n const replace = (value) => {\n const updatedFieldArrayValues = convertToArrayPayload(cloneObject(value));\n ids.current = updatedFieldArrayValues.map(generateId);\n updateValues([...updatedFieldArrayValues]);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, [...updatedFieldArrayValues], (data) => data, {}, true, false);\n };\n React.useEffect(() => {\n control._state.action = false;\n isWatched(name, control._names) &&\n control._subjects.state.next({\n ...control._formState,\n });\n if (_actioned.current &&\n (!getValidationModes(control._options.mode).isOnSubmit ||\n control._formState.isSubmitted)) {\n if (control._options.resolver) {\n control._executeSchema([name]).then((result) => {\n const error = get(result.errors, name);\n const existingError = get(control._formState.errors, name);\n if (existingError\n ? (!error && existingError.type) ||\n (error &&\n (existingError.type !== error.type ||\n existingError.message !== error.message))\n : error && error.type) {\n error\n ? set(control._formState.errors, name, error)\n : unset(control._formState.errors, name);\n control._subjects.state.next({\n errors: control._formState.errors,\n });\n }\n });\n }\n else {\n const field = get(control._fields, name);\n if (field &&\n field._f &&\n !(getValidationModes(control._options.reValidateMode).isOnSubmit &&\n getValidationModes(control._options.mode).isOnSubmit)) {\n validateField(field, control._formValues, control._options.criteriaMode === VALIDATION_MODE.all, control._options.shouldUseNativeValidation, true).then((error) => !isEmptyObject(error) &&\n control._subjects.state.next({\n errors: updateFieldArrayRootError(control._formState.errors, error, name),\n }));\n }\n }\n }\n control._subjects.values.next({\n name,\n values: { ...control._formValues },\n });\n control._names.focus &&\n iterateFieldsByAction(control._fields, (ref, key) => {\n if (control._names.focus &&\n key.startsWith(control._names.focus) &&\n ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n });\n control._names.focus = '';\n control._updateValid();\n _actioned.current = false;\n }, [fields, name, control]);\n React.useEffect(() => {\n !get(control._formValues, name) && control._updateFieldArray(name);\n return () => {\n (control._options.shouldUnregister || shouldUnregister) &&\n control.unregister(name);\n };\n }, [name, control, keyName, shouldUnregister]);\n return {\n swap: React.useCallback(swap, [updateValues, name, control]),\n move: React.useCallback(move, [updateValues, name, control]),\n prepend: React.useCallback(prepend, [updateValues, name, control]),\n append: React.useCallback(append, [updateValues, name, control]),\n remove: React.useCallback(remove, [updateValues, name, control]),\n insert: React.useCallback(insert$1, [updateValues, name, control]),\n update: React.useCallback(update, [updateValues, name, control]),\n replace: React.useCallback(replace, [updateValues, name, control]),\n fields: React.useMemo(() => fields.map((field, index) => ({\n ...field,\n [keyName]: ids.current[index] || generateId(),\n })), [fields, keyName]),\n };\n}\n\nvar createSubject = () => {\n let _observers = [];\n const next = (value) => {\n for (const observer of _observers) {\n observer.next && observer.next(value);\n }\n };\n const subscribe = (observer) => {\n _observers.push(observer);\n return {\n unsubscribe: () => {\n _observers = _observers.filter((o) => o !== observer);\n },\n };\n };\n const unsubscribe = () => {\n _observers = [];\n };\n return {\n get observers() {\n return _observers;\n },\n next,\n subscribe,\n unsubscribe,\n };\n};\n\nvar isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);\n\nfunction deepEqual(object1, object2) {\n if (isPrimitive(object1) || isPrimitive(object2)) {\n return object1 === object2;\n }\n if (isDateObject(object1) && isDateObject(object2)) {\n return object1.getTime() === object2.getTime();\n }\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (const key of keys1) {\n const val1 = object1[key];\n if (!keys2.includes(key)) {\n return false;\n }\n if (key !== 'ref') {\n const val2 = object2[key];\n if ((isDateObject(val1) && isDateObject(val2)) ||\n (isObject(val1) && isObject(val2)) ||\n (Array.isArray(val1) && Array.isArray(val2))\n ? !deepEqual(val1, val2)\n : val1 !== val2) {\n return false;\n }\n }\n }\n return true;\n}\n\nvar isMultipleSelect = (element) => element.type === `select-multiple`;\n\nvar isRadioOrCheckbox = (ref) => isRadioInput(ref) || isCheckBoxInput(ref);\n\nvar live = (ref) => isHTMLElement(ref) && ref.isConnected;\n\nvar objectHasFunction = (data) => {\n for (const key in data) {\n if (isFunction(data[key])) {\n return true;\n }\n }\n return false;\n};\n\nfunction markFieldsDirty(data, fields = {}) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n fields[key] = Array.isArray(data[key]) ? [] : {};\n markFieldsDirty(data[key], fields[key]);\n }\n else if (!isNullOrUndefined(data[key])) {\n fields[key] = true;\n }\n }\n }\n return fields;\n}\nfunction getDirtyFieldsFromDefaultValues(data, formValues, dirtyFieldsFromValues) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n if (isUndefined(formValues) ||\n isPrimitive(dirtyFieldsFromValues[key])) {\n dirtyFieldsFromValues[key] = Array.isArray(data[key])\n ? markFieldsDirty(data[key], [])\n : { ...markFieldsDirty(data[key]) };\n }\n else {\n getDirtyFieldsFromDefaultValues(data[key], isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);\n }\n }\n else {\n dirtyFieldsFromValues[key] = !deepEqual(data[key], formValues[key]);\n }\n }\n }\n return dirtyFieldsFromValues;\n}\nvar getDirtyFields = (defaultValues, formValues) => getDirtyFieldsFromDefaultValues(defaultValues, formValues, markFieldsDirty(formValues));\n\nvar getFieldValueAs = (value, { valueAsNumber, valueAsDate, setValueAs }) => isUndefined(value)\n ? value\n : valueAsNumber\n ? value === ''\n ? NaN\n : value\n ? +value\n : value\n : valueAsDate && isString(value)\n ? new Date(value)\n : setValueAs\n ? setValueAs(value)\n : value;\n\nfunction getFieldValue(_f) {\n const ref = _f.ref;\n if (_f.refs ? _f.refs.every((ref) => ref.disabled) : ref.disabled) {\n return;\n }\n if (isFileInput(ref)) {\n return ref.files;\n }\n if (isRadioInput(ref)) {\n return getRadioValue(_f.refs).value;\n }\n if (isMultipleSelect(ref)) {\n return [...ref.selectedOptions].map(({ value }) => value);\n }\n if (isCheckBoxInput(ref)) {\n return getCheckboxValue(_f.refs).value;\n }\n return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);\n}\n\nvar getResolverOptions = (fieldsNames, _fields, criteriaMode, shouldUseNativeValidation) => {\n const fields = {};\n for (const name of fieldsNames) {\n const field = get(_fields, name);\n field && set(fields, name, field._f);\n }\n return {\n criteriaMode,\n names: [...fieldsNames],\n fields,\n shouldUseNativeValidation,\n };\n};\n\nvar getRuleValue = (rule) => isUndefined(rule)\n ? rule\n : isRegex(rule)\n ? rule.source\n : isObject(rule)\n ? isRegex(rule.value)\n ? rule.value.source\n : rule.value\n : rule;\n\nvar hasValidation = (options) => options.mount &&\n (options.required ||\n options.min ||\n options.max ||\n options.maxLength ||\n options.minLength ||\n options.pattern ||\n options.validate);\n\nfunction schemaErrorLookup(errors, _fields, name) {\n const error = get(errors, name);\n if (error || isKey(name)) {\n return {\n error,\n name,\n };\n }\n const names = name.split('.');\n while (names.length) {\n const fieldName = names.join('.');\n const field = get(_fields, fieldName);\n const foundError = get(errors, fieldName);\n if (field && !Array.isArray(field) && name !== fieldName) {\n return { name };\n }\n if (foundError && foundError.type) {\n return {\n name: fieldName,\n error: foundError,\n };\n }\n names.pop();\n }\n return {\n name,\n };\n}\n\nvar skipValidation = (isBlurEvent, isTouched, isSubmitted, reValidateMode, mode) => {\n if (mode.isOnAll) {\n return false;\n }\n else if (!isSubmitted && mode.isOnTouch) {\n return !(isTouched || isBlurEvent);\n }\n else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {\n return !isBlurEvent;\n }\n else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {\n return isBlurEvent;\n }\n return true;\n};\n\nvar unsetEmptyArray = (ref, name) => !compact(get(ref, name)).length && unset(ref, name);\n\nconst defaultOptions = {\n mode: VALIDATION_MODE.onSubmit,\n reValidateMode: VALIDATION_MODE.onChange,\n shouldFocusError: true,\n};\nfunction createFormControl(props = {}) {\n let _options = {\n ...defaultOptions,\n ...props,\n };\n let _formState = {\n submitCount: 0,\n isDirty: false,\n isLoading: isFunction(_options.defaultValues),\n isValidating: false,\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n touchedFields: {},\n dirtyFields: {},\n validatingFields: {},\n errors: _options.errors || {},\n disabled: _options.disabled || false,\n };\n let _fields = {};\n let _defaultValues = isObject(_options.defaultValues) || isObject(_options.values)\n ? cloneObject(_options.defaultValues || _options.values) || {}\n : {};\n let _formValues = _options.shouldUnregister\n ? {}\n : cloneObject(_defaultValues);\n let _state = {\n action: false,\n mount: false,\n watch: false,\n };\n let _names = {\n mount: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n };\n let delayErrorCallback;\n let timer = 0;\n const _proxyFormState = {\n isDirty: false,\n dirtyFields: false,\n validatingFields: false,\n touchedFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n };\n const _subjects = {\n values: createSubject(),\n array: createSubject(),\n state: createSubject(),\n };\n const validationModeBeforeSubmit = getValidationModes(_options.mode);\n const validationModeAfterSubmit = getValidationModes(_options.reValidateMode);\n const shouldDisplayAllAssociatedErrors = _options.criteriaMode === VALIDATION_MODE.all;\n const debounce = (callback) => (wait) => {\n clearTimeout(timer);\n timer = setTimeout(callback, wait);\n };\n const _updateValid = async (shouldUpdateValid) => {\n if (_proxyFormState.isValid || shouldUpdateValid) {\n const isValid = _options.resolver\n ? isEmptyObject((await _executeSchema()).errors)\n : await executeBuiltInValidation(_fields, true);\n if (isValid !== _formState.isValid) {\n _subjects.state.next({\n isValid,\n });\n }\n }\n };\n const _updateIsValidating = (names, isValidating) => {\n if (_proxyFormState.isValidating || _proxyFormState.validatingFields) {\n (names || Array.from(_names.mount)).forEach((name) => {\n if (name) {\n isValidating\n ? set(_formState.validatingFields, name, isValidating)\n : unset(_formState.validatingFields, name);\n }\n });\n _subjects.state.next({\n validatingFields: _formState.validatingFields,\n isValidating: !isEmptyObject(_formState.validatingFields),\n });\n }\n };\n const _updateFieldArray = (name, values = [], method, args, shouldSetValues = true, shouldUpdateFieldsAndState = true) => {\n if (args && method) {\n _state.action = true;\n if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {\n const fieldValues = method(get(_fields, name), args.argA, args.argB);\n shouldSetValues && set(_fields, name, fieldValues);\n }\n if (shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.errors, name))) {\n const errors = method(get(_formState.errors, name), args.argA, args.argB);\n shouldSetValues && set(_formState.errors, name, errors);\n unsetEmptyArray(_formState.errors, name);\n }\n if (_proxyFormState.touchedFields &&\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.touchedFields, name))) {\n const touchedFields = method(get(_formState.touchedFields, name), args.argA, args.argB);\n shouldSetValues && set(_formState.touchedFields, name, touchedFields);\n }\n if (_proxyFormState.dirtyFields) {\n _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);\n }\n _subjects.state.next({\n name,\n isDirty: _getDirty(name, values),\n dirtyFields: _formState.dirtyFields,\n errors: _formState.errors,\n isValid: _formState.isValid,\n });\n }\n else {\n set(_formValues, name, values);\n }\n };\n const updateErrors = (name, error) => {\n set(_formState.errors, name, error);\n _subjects.state.next({\n errors: _formState.errors,\n });\n };\n const _setErrors = (errors) => {\n _formState.errors = errors;\n _subjects.state.next({\n errors: _formState.errors,\n isValid: false,\n });\n };\n const updateValidAndValue = (name, shouldSkipSetValueAs, value, ref) => {\n const field = get(_fields, name);\n if (field) {\n const defaultValue = get(_formValues, name, isUndefined(value) ? get(_defaultValues, name) : value);\n isUndefined(defaultValue) ||\n (ref && ref.defaultChecked) ||\n shouldSkipSetValueAs\n ? set(_formValues, name, shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f))\n : setFieldValue(name, defaultValue);\n _state.mount && _updateValid();\n }\n };\n const updateTouchAndDirty = (name, fieldValue, isBlurEvent, shouldDirty, shouldRender) => {\n let shouldUpdateField = false;\n let isPreviousDirty = false;\n const output = {\n name,\n };\n const disabledField = !!(get(_fields, name) && get(_fields, name)._f.disabled);\n if (!isBlurEvent || shouldDirty) {\n if (_proxyFormState.isDirty) {\n isPreviousDirty = _formState.isDirty;\n _formState.isDirty = output.isDirty = _getDirty();\n shouldUpdateField = isPreviousDirty !== output.isDirty;\n }\n const isCurrentFieldPristine = disabledField || deepEqual(get(_defaultValues, name), fieldValue);\n isPreviousDirty = !!(!disabledField && get(_formState.dirtyFields, name));\n isCurrentFieldPristine || disabledField\n ? unset(_formState.dirtyFields, name)\n : set(_formState.dirtyFields, name, true);\n output.dirtyFields = _formState.dirtyFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.dirtyFields &&\n isPreviousDirty !== !isCurrentFieldPristine);\n }\n if (isBlurEvent) {\n const isPreviousFieldTouched = get(_formState.touchedFields, name);\n if (!isPreviousFieldTouched) {\n set(_formState.touchedFields, name, isBlurEvent);\n output.touchedFields = _formState.touchedFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.touchedFields &&\n isPreviousFieldTouched !== isBlurEvent);\n }\n }\n shouldUpdateField && shouldRender && _subjects.state.next(output);\n return shouldUpdateField ? output : {};\n };\n const shouldRenderByError = (name, isValid, error, fieldState) => {\n const previousFieldError = get(_formState.errors, name);\n const shouldUpdateValid = _proxyFormState.isValid &&\n isBoolean(isValid) &&\n _formState.isValid !== isValid;\n if (props.delayError && error) {\n delayErrorCallback = debounce(() => updateErrors(name, error));\n delayErrorCallback(props.delayError);\n }\n else {\n clearTimeout(timer);\n delayErrorCallback = null;\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n if ((error ? !deepEqual(previousFieldError, error) : previousFieldError) ||\n !isEmptyObject(fieldState) ||\n shouldUpdateValid) {\n const updatedFormState = {\n ...fieldState,\n ...(shouldUpdateValid && isBoolean(isValid) ? { isValid } : {}),\n errors: _formState.errors,\n name,\n };\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n _subjects.state.next(updatedFormState);\n }\n };\n const _executeSchema = async (name) => {\n _updateIsValidating(name, true);\n const result = await _options.resolver(_formValues, _options.context, getResolverOptions(name || _names.mount, _fields, _options.criteriaMode, _options.shouldUseNativeValidation));\n _updateIsValidating(name);\n return result;\n };\n const executeSchemaAndUpdateState = async (names) => {\n const { errors } = await _executeSchema(names);\n if (names) {\n for (const name of names) {\n const error = get(errors, name);\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n }\n else {\n _formState.errors = errors;\n }\n return errors;\n };\n const executeBuiltInValidation = async (fields, shouldOnlyCheckValid, context = {\n valid: true,\n }) => {\n for (const name in fields) {\n const field = fields[name];\n if (field) {\n const { _f, ...fieldValue } = field;\n if (_f) {\n const isFieldArrayRoot = _names.array.has(_f.name);\n _updateIsValidating([name], true);\n const fieldError = await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation && !shouldOnlyCheckValid, isFieldArrayRoot);\n _updateIsValidating([name]);\n if (fieldError[_f.name]) {\n context.valid = false;\n if (shouldOnlyCheckValid) {\n break;\n }\n }\n !shouldOnlyCheckValid &&\n (get(fieldError, _f.name)\n ? isFieldArrayRoot\n ? updateFieldArrayRootError(_formState.errors, fieldError, _f.name)\n : set(_formState.errors, _f.name, fieldError[_f.name])\n : unset(_formState.errors, _f.name));\n }\n fieldValue &&\n (await executeBuiltInValidation(fieldValue, shouldOnlyCheckValid, context));\n }\n }\n return context.valid;\n };\n const _removeUnmounted = () => {\n for (const name of _names.unMount) {\n const field = get(_fields, name);\n field &&\n (field._f.refs\n ? field._f.refs.every((ref) => !live(ref))\n : !live(field._f.ref)) &&\n unregister(name);\n }\n _names.unMount = new Set();\n };\n const _getDirty = (name, data) => (name && data && set(_formValues, name, data),\n !deepEqual(getValues(), _defaultValues));\n const _getWatch = (names, defaultValue, isGlobal) => generateWatchOutput(names, _names, {\n ...(_state.mount\n ? _formValues\n : isUndefined(defaultValue)\n ? _defaultValues\n : isString(names)\n ? { [names]: defaultValue }\n : defaultValue),\n }, isGlobal, defaultValue);\n const _getFieldArray = (name) => compact(get(_state.mount ? _formValues : _defaultValues, name, props.shouldUnregister ? get(_defaultValues, name, []) : []));\n const setFieldValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n let fieldValue = value;\n if (field) {\n const fieldReference = field._f;\n if (fieldReference) {\n !fieldReference.disabled &&\n set(_formValues, name, getFieldValueAs(value, fieldReference));\n fieldValue =\n isHTMLElement(fieldReference.ref) && isNullOrUndefined(value)\n ? ''\n : value;\n if (isMultipleSelect(fieldReference.ref)) {\n [...fieldReference.ref.options].forEach((optionRef) => (optionRef.selected = fieldValue.includes(optionRef.value)));\n }\n else if (fieldReference.refs) {\n if (isCheckBoxInput(fieldReference.ref)) {\n fieldReference.refs.length > 1\n ? fieldReference.refs.forEach((checkboxRef) => (!checkboxRef.defaultChecked || !checkboxRef.disabled) &&\n (checkboxRef.checked = Array.isArray(fieldValue)\n ? !!fieldValue.find((data) => data === checkboxRef.value)\n : fieldValue === checkboxRef.value))\n : fieldReference.refs[0] &&\n (fieldReference.refs[0].checked = !!fieldValue);\n }\n else {\n fieldReference.refs.forEach((radioRef) => (radioRef.checked = radioRef.value === fieldValue));\n }\n }\n else if (isFileInput(fieldReference.ref)) {\n fieldReference.ref.value = '';\n }\n else {\n fieldReference.ref.value = fieldValue;\n if (!fieldReference.ref.type) {\n _subjects.values.next({\n name,\n values: { ..._formValues },\n });\n }\n }\n }\n }\n (options.shouldDirty || options.shouldTouch) &&\n updateTouchAndDirty(name, fieldValue, options.shouldTouch, options.shouldDirty, true);\n options.shouldValidate && trigger(name);\n };\n const setValues = (name, value, options) => {\n for (const fieldKey in value) {\n const fieldValue = value[fieldKey];\n const fieldName = `${name}.${fieldKey}`;\n const field = get(_fields, fieldName);\n (_names.array.has(name) ||\n !isPrimitive(fieldValue) ||\n (field && !field._f)) &&\n !isDateObject(fieldValue)\n ? setValues(fieldName, fieldValue, options)\n : setFieldValue(fieldName, fieldValue, options);\n }\n };\n const setValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n const isFieldArray = _names.array.has(name);\n const cloneValue = cloneObject(value);\n set(_formValues, name, cloneValue);\n if (isFieldArray) {\n _subjects.array.next({\n name,\n values: { ..._formValues },\n });\n if ((_proxyFormState.isDirty || _proxyFormState.dirtyFields) &&\n options.shouldDirty) {\n _subjects.state.next({\n name,\n dirtyFields: getDirtyFields(_defaultValues, _formValues),\n isDirty: _getDirty(name, cloneValue),\n });\n }\n }\n else {\n field && !field._f && !isNullOrUndefined(cloneValue)\n ? setValues(name, cloneValue, options)\n : setFieldValue(name, cloneValue, options);\n }\n isWatched(name, _names) && _subjects.state.next({ ..._formState });\n _subjects.values.next({\n name: _state.mount ? name : undefined,\n values: { ..._formValues },\n });\n };\n const onChange = async (event) => {\n _state.mount = true;\n const target = event.target;\n let name = target.name;\n let isFieldValueUpdated = true;\n const field = get(_fields, name);\n const getCurrentFieldValue = () => target.type ? getFieldValue(field._f) : getEventValue(event);\n const _updateIsFieldValueUpdated = (fieldValue) => {\n isFieldValueUpdated =\n Number.isNaN(fieldValue) ||\n fieldValue === get(_formValues, name, fieldValue);\n };\n if (field) {\n let error;\n let isValid;\n const fieldValue = getCurrentFieldValue();\n const isBlurEvent = event.type === EVENTS.BLUR || event.type === EVENTS.FOCUS_OUT;\n const shouldSkipValidation = (!hasValidation(field._f) &&\n !_options.resolver &&\n !get(_formState.errors, name) &&\n !field._f.deps) ||\n skipValidation(isBlurEvent, get(_formState.touchedFields, name), _formState.isSubmitted, validationModeAfterSubmit, validationModeBeforeSubmit);\n const watched = isWatched(name, _names, isBlurEvent);\n set(_formValues, name, fieldValue);\n if (isBlurEvent) {\n field._f.onBlur && field._f.onBlur(event);\n delayErrorCallback && delayErrorCallback(0);\n }\n else if (field._f.onChange) {\n field._f.onChange(event);\n }\n const fieldState = updateTouchAndDirty(name, fieldValue, isBlurEvent, false);\n const shouldRender = !isEmptyObject(fieldState) || watched;\n !isBlurEvent &&\n _subjects.values.next({\n name,\n type: event.type,\n values: { ..._formValues },\n });\n if (shouldSkipValidation) {\n _proxyFormState.isValid && _updateValid();\n return (shouldRender &&\n _subjects.state.next({ name, ...(watched ? {} : fieldState) }));\n }\n !isBlurEvent && watched && _subjects.state.next({ ..._formState });\n if (_options.resolver) {\n const { errors } = await _executeSchema([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n const previousErrorLookupResult = schemaErrorLookup(_formState.errors, _fields, name);\n const errorLookupResult = schemaErrorLookup(errors, _fields, previousErrorLookupResult.name || name);\n error = errorLookupResult.error;\n name = errorLookupResult.name;\n isValid = isEmptyObject(errors);\n }\n }\n else {\n _updateIsValidating([name], true);\n error = (await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation))[name];\n _updateIsValidating([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n if (error) {\n isValid = false;\n }\n else if (_proxyFormState.isValid) {\n isValid = await executeBuiltInValidation(_fields, true);\n }\n }\n }\n if (isFieldValueUpdated) {\n field._f.deps &&\n trigger(field._f.deps);\n shouldRenderByError(name, isValid, error, fieldState);\n }\n }\n };\n const _focusInput = (ref, key) => {\n if (get(_formState.errors, key) && ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n };\n const trigger = async (name, options = {}) => {\n let isValid;\n let validationResult;\n const fieldNames = convertToArrayPayload(name);\n if (_options.resolver) {\n const errors = await executeSchemaAndUpdateState(isUndefined(name) ? name : fieldNames);\n isValid = isEmptyObject(errors);\n validationResult = name\n ? !fieldNames.some((name) => get(errors, name))\n : isValid;\n }\n else if (name) {\n validationResult = (await Promise.all(fieldNames.map(async (fieldName) => {\n const field = get(_fields, fieldName);\n return await executeBuiltInValidation(field && field._f ? { [fieldName]: field } : field);\n }))).every(Boolean);\n !(!validationResult && !_formState.isValid) && _updateValid();\n }\n else {\n validationResult = isValid = await executeBuiltInValidation(_fields);\n }\n _subjects.state.next({\n ...(!isString(name) ||\n (_proxyFormState.isValid && isValid !== _formState.isValid)\n ? {}\n : { name }),\n ...(_options.resolver || !name ? { isValid } : {}),\n errors: _formState.errors,\n });\n options.shouldFocus &&\n !validationResult &&\n iterateFieldsByAction(_fields, _focusInput, name ? fieldNames : _names.mount);\n return validationResult;\n };\n const getValues = (fieldNames) => {\n const values = {\n ..._defaultValues,\n ...(_state.mount ? _formValues : {}),\n };\n return isUndefined(fieldNames)\n ? values\n : isString(fieldNames)\n ? get(values, fieldNames)\n : fieldNames.map((name) => get(values, name));\n };\n const getFieldState = (name, formState) => ({\n invalid: !!get((formState || _formState).errors, name),\n isDirty: !!get((formState || _formState).dirtyFields, name),\n isTouched: !!get((formState || _formState).touchedFields, name),\n isValidating: !!get((formState || _formState).validatingFields, name),\n error: get((formState || _formState).errors, name),\n });\n const clearErrors = (name) => {\n name &&\n convertToArrayPayload(name).forEach((inputName) => unset(_formState.errors, inputName));\n _subjects.state.next({\n errors: name ? _formState.errors : {},\n });\n };\n const setError = (name, error, options) => {\n const ref = (get(_fields, name, { _f: {} })._f || {}).ref;\n set(_formState.errors, name, {\n ...error,\n ref,\n });\n _subjects.state.next({\n name,\n errors: _formState.errors,\n isValid: false,\n });\n options && options.shouldFocus && ref && ref.focus && ref.focus();\n };\n const watch = (name, defaultValue) => isFunction(name)\n ? _subjects.values.subscribe({\n next: (payload) => name(_getWatch(undefined, defaultValue), payload),\n })\n : _getWatch(name, defaultValue, true);\n const unregister = (name, options = {}) => {\n for (const fieldName of name ? convertToArrayPayload(name) : _names.mount) {\n _names.mount.delete(fieldName);\n _names.array.delete(fieldName);\n if (!options.keepValue) {\n unset(_fields, fieldName);\n unset(_formValues, fieldName);\n }\n !options.keepError && unset(_formState.errors, fieldName);\n !options.keepDirty && unset(_formState.dirtyFields, fieldName);\n !options.keepTouched && unset(_formState.touchedFields, fieldName);\n !options.keepIsValidating &&\n unset(_formState.validatingFields, fieldName);\n !_options.shouldUnregister &&\n !options.keepDefaultValue &&\n unset(_defaultValues, fieldName);\n }\n _subjects.values.next({\n values: { ..._formValues },\n });\n _subjects.state.next({\n ..._formState,\n ...(!options.keepDirty ? {} : { isDirty: _getDirty() }),\n });\n !options.keepIsValid && _updateValid();\n };\n const _updateDisabledField = ({ disabled, name, field, fields, value, }) => {\n if (isBoolean(disabled)) {\n const inputValue = disabled\n ? undefined\n : isUndefined(value)\n ? getFieldValue(field ? field._f : get(fields, name)._f)\n : value;\n set(_formValues, name, inputValue);\n updateTouchAndDirty(name, inputValue, false, false, true);\n }\n };\n const register = (name, options = {}) => {\n let field = get(_fields, name);\n const disabledIsDefined = isBoolean(options.disabled);\n set(_fields, name, {\n ...(field || {}),\n _f: {\n ...(field && field._f ? field._f : { ref: { name } }),\n name,\n mount: true,\n ...options,\n },\n });\n _names.mount.add(name);\n if (field) {\n _updateDisabledField({\n field,\n disabled: options.disabled,\n name,\n value: options.value,\n });\n }\n else {\n updateValidAndValue(name, true, options.value);\n }\n return {\n ...(disabledIsDefined ? { disabled: options.disabled } : {}),\n ...(_options.progressive\n ? {\n required: !!options.required,\n min: getRuleValue(options.min),\n max: getRuleValue(options.max),\n minLength: getRuleValue(options.minLength),\n maxLength: getRuleValue(options.maxLength),\n pattern: getRuleValue(options.pattern),\n }\n : {}),\n name,\n onChange,\n onBlur: onChange,\n ref: (ref) => {\n if (ref) {\n register(name, options);\n field = get(_fields, name);\n const fieldRef = isUndefined(ref.value)\n ? ref.querySelectorAll\n ? ref.querySelectorAll('input,select,textarea')[0] || ref\n : ref\n : ref;\n const radioOrCheckbox = isRadioOrCheckbox(fieldRef);\n const refs = field._f.refs || [];\n if (radioOrCheckbox\n ? refs.find((option) => option === fieldRef)\n : fieldRef === field._f.ref) {\n return;\n }\n set(_fields, name, {\n _f: {\n ...field._f,\n ...(radioOrCheckbox\n ? {\n refs: [\n ...refs.filter(live),\n fieldRef,\n ...(Array.isArray(get(_defaultValues, name)) ? [{}] : []),\n ],\n ref: { type: fieldRef.type, name },\n }\n : { ref: fieldRef }),\n },\n });\n updateValidAndValue(name, false, undefined, fieldRef);\n }\n else {\n field = get(_fields, name, {});\n if (field._f) {\n field._f.mount = false;\n }\n (_options.shouldUnregister || options.shouldUnregister) &&\n !(isNameInFieldArray(_names.array, name) && _state.action) &&\n _names.unMount.add(name);\n }\n },\n };\n };\n const _focusError = () => _options.shouldFocusError &&\n iterateFieldsByAction(_fields, _focusInput, _names.mount);\n const _disableForm = (disabled) => {\n if (isBoolean(disabled)) {\n _subjects.state.next({ disabled });\n iterateFieldsByAction(_fields, (ref, name) => {\n let requiredDisabledState = disabled;\n const currentField = get(_fields, name);\n if (currentField && isBoolean(currentField._f.disabled)) {\n requiredDisabledState || (requiredDisabledState = currentField._f.disabled);\n }\n ref.disabled = requiredDisabledState;\n }, 0, false);\n }\n };\n const handleSubmit = (onValid, onInvalid) => async (e) => {\n let onValidError = undefined;\n if (e) {\n e.preventDefault && e.preventDefault();\n e.persist && e.persist();\n }\n let fieldValues = cloneObject(_formValues);\n _subjects.state.next({\n isSubmitting: true,\n });\n if (_options.resolver) {\n const { errors, values } = await _executeSchema();\n _formState.errors = errors;\n fieldValues = values;\n }\n else {\n await executeBuiltInValidation(_fields);\n }\n unset(_formState.errors, 'root');\n if (isEmptyObject(_formState.errors)) {\n _subjects.state.next({\n errors: {},\n });\n try {\n await onValid(fieldValues, e);\n }\n catch (error) {\n onValidError = error;\n }\n }\n else {\n if (onInvalid) {\n await onInvalid({ ..._formState.errors }, e);\n }\n _focusError();\n setTimeout(_focusError);\n }\n _subjects.state.next({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful: isEmptyObject(_formState.errors) && !onValidError,\n submitCount: _formState.submitCount + 1,\n errors: _formState.errors,\n });\n if (onValidError) {\n throw onValidError;\n }\n };\n const resetField = (name, options = {}) => {\n if (get(_fields, name)) {\n if (isUndefined(options.defaultValue)) {\n setValue(name, cloneObject(get(_defaultValues, name)));\n }\n else {\n setValue(name, options.defaultValue);\n set(_defaultValues, name, cloneObject(options.defaultValue));\n }\n if (!options.keepTouched) {\n unset(_formState.touchedFields, name);\n }\n if (!options.keepDirty) {\n unset(_formState.dirtyFields, name);\n _formState.isDirty = options.defaultValue\n ? _getDirty(name, cloneObject(get(_defaultValues, name)))\n : _getDirty();\n }\n if (!options.keepError) {\n unset(_formState.errors, name);\n _proxyFormState.isValid && _updateValid();\n }\n _subjects.state.next({ ..._formState });\n }\n };\n const _reset = (formValues, keepStateOptions = {}) => {\n const updatedValues = formValues ? cloneObject(formValues) : _defaultValues;\n const cloneUpdatedValues = cloneObject(updatedValues);\n const isEmptyResetValues = isEmptyObject(formValues);\n const values = isEmptyResetValues ? _defaultValues : cloneUpdatedValues;\n if (!keepStateOptions.keepDefaultValues) {\n _defaultValues = updatedValues;\n }\n if (!keepStateOptions.keepValues) {\n if (keepStateOptions.keepDirtyValues) {\n for (const fieldName of _names.mount) {\n get(_formState.dirtyFields, fieldName)\n ? set(values, fieldName, get(_formValues, fieldName))\n : setValue(fieldName, get(values, fieldName));\n }\n }\n else {\n if (isWeb && isUndefined(formValues)) {\n for (const name of _names.mount) {\n const field = get(_fields, name);\n if (field && field._f) {\n const fieldReference = Array.isArray(field._f.refs)\n ? field._f.refs[0]\n : field._f.ref;\n if (isHTMLElement(fieldReference)) {\n const form = fieldReference.closest('form');\n if (form) {\n form.reset();\n break;\n }\n }\n }\n }\n }\n _fields = {};\n }\n _formValues = props.shouldUnregister\n ? keepStateOptions.keepDefaultValues\n ? cloneObject(_defaultValues)\n : {}\n : cloneObject(values);\n _subjects.array.next({\n values: { ...values },\n });\n _subjects.values.next({\n values: { ...values },\n });\n }\n _names = {\n mount: keepStateOptions.keepDirtyValues ? _names.mount : new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n watchAll: false,\n focus: '',\n };\n _state.mount =\n !_proxyFormState.isValid ||\n !!keepStateOptions.keepIsValid ||\n !!keepStateOptions.keepDirtyValues;\n _state.watch = !!props.shouldUnregister;\n _subjects.state.next({\n submitCount: keepStateOptions.keepSubmitCount\n ? _formState.submitCount\n : 0,\n isDirty: isEmptyResetValues\n ? false\n : keepStateOptions.keepDirty\n ? _formState.isDirty\n : !!(keepStateOptions.keepDefaultValues &&\n !deepEqual(formValues, _defaultValues)),\n isSubmitted: keepStateOptions.keepIsSubmitted\n ? _formState.isSubmitted\n : false,\n dirtyFields: isEmptyResetValues\n ? []\n : keepStateOptions.keepDirtyValues\n ? keepStateOptions.keepDefaultValues && _formValues\n ? getDirtyFields(_defaultValues, _formValues)\n : _formState.dirtyFields\n : keepStateOptions.keepDefaultValues && formValues\n ? getDirtyFields(_defaultValues, formValues)\n : {},\n touchedFields: keepStateOptions.keepTouched\n ? _formState.touchedFields\n : {},\n errors: keepStateOptions.keepErrors ? _formState.errors : {},\n isSubmitSuccessful: keepStateOptions.keepIsSubmitSuccessful\n ? _formState.isSubmitSuccessful\n : false,\n isSubmitting: false,\n });\n };\n const reset = (formValues, keepStateOptions) => _reset(isFunction(formValues)\n ? formValues(_formValues)\n : formValues, keepStateOptions);\n const setFocus = (name, options = {}) => {\n const field = get(_fields, name);\n const fieldReference = field && field._f;\n if (fieldReference) {\n const fieldRef = fieldReference.refs\n ? fieldReference.refs[0]\n : fieldReference.ref;\n if (fieldRef.focus) {\n fieldRef.focus();\n options.shouldSelect && fieldRef.select();\n }\n }\n };\n const _updateFormState = (updatedFormState) => {\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n };\n const _resetDefaultValues = () => isFunction(_options.defaultValues) &&\n _options.defaultValues().then((values) => {\n reset(values, _options.resetOptions);\n _subjects.state.next({\n isLoading: false,\n });\n });\n return {\n control: {\n register,\n unregister,\n getFieldState,\n handleSubmit,\n setError,\n _executeSchema,\n _getWatch,\n _getDirty,\n _updateValid,\n _removeUnmounted,\n _updateFieldArray,\n _updateDisabledField,\n _getFieldArray,\n _reset,\n _resetDefaultValues,\n _updateFormState,\n _disableForm,\n _subjects,\n _proxyFormState,\n _setErrors,\n get _fields() {\n return _fields;\n },\n get _formValues() {\n return _formValues;\n },\n get _state() {\n return _state;\n },\n set _state(value) {\n _state = value;\n },\n get _defaultValues() {\n return _defaultValues;\n },\n get _names() {\n return _names;\n },\n set _names(value) {\n _names = value;\n },\n get _formState() {\n return _formState;\n },\n set _formState(value) {\n _formState = value;\n },\n get _options() {\n return _options;\n },\n set _options(value) {\n _options = {\n ..._options,\n ...value,\n };\n },\n },\n trigger,\n register,\n handleSubmit,\n watch,\n setValue,\n getValues,\n reset,\n resetField,\n clearErrors,\n unregister,\n setError,\n setFocus,\n getFieldState,\n };\n}\n\n/**\n * Custom hook to manage the entire form.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)\n *\n * @param props - form configuration and validation parameters.\n *\n * @returns methods - individual functions to manage the form state. {@link UseFormReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, watch, formState: { errors } } = useForm();\n * const onSubmit = data => console.log(data);\n *\n * console.log(watch(\"example\"));\n *\n * return (\n *
\n * \n * \n * {errors.exampleRequired && This field is required}\n * \n *
\n * );\n * }\n * ```\n */\nfunction useForm(props = {}) {\n const _formControl = React.useRef();\n const _values = React.useRef();\n const [formState, updateFormState] = React.useState({\n isDirty: false,\n isValidating: false,\n isLoading: isFunction(props.defaultValues),\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n submitCount: 0,\n dirtyFields: {},\n touchedFields: {},\n validatingFields: {},\n errors: props.errors || {},\n disabled: props.disabled || false,\n defaultValues: isFunction(props.defaultValues)\n ? undefined\n : props.defaultValues,\n });\n if (!_formControl.current) {\n _formControl.current = {\n ...createFormControl(props),\n formState,\n };\n }\n const control = _formControl.current.control;\n control._options = props;\n useSubscribe({\n subject: control._subjects.state,\n next: (value) => {\n if (shouldRenderFormState(value, control._proxyFormState, control._updateFormState, true)) {\n updateFormState({ ...control._formState });\n }\n },\n });\n React.useEffect(() => control._disableForm(props.disabled), [control, props.disabled]);\n React.useEffect(() => {\n if (control._proxyFormState.isDirty) {\n const isDirty = control._getDirty();\n if (isDirty !== formState.isDirty) {\n control._subjects.state.next({\n isDirty,\n });\n }\n }\n }, [control, formState.isDirty]);\n React.useEffect(() => {\n if (props.values && !deepEqual(props.values, _values.current)) {\n control._reset(props.values, control._options.resetOptions);\n _values.current = props.values;\n updateFormState((state) => ({ ...state }));\n }\n else {\n control._resetDefaultValues();\n }\n }, [props.values, control]);\n React.useEffect(() => {\n if (props.errors) {\n control._setErrors(props.errors);\n }\n }, [props.errors, control]);\n React.useEffect(() => {\n if (!control._state.mount) {\n control._updateValid();\n control._state.mount = true;\n }\n if (control._state.watch) {\n control._state.watch = false;\n control._subjects.state.next({ ...control._formState });\n }\n control._removeUnmounted();\n });\n React.useEffect(() => {\n props.shouldUnregister &&\n control._subjects.values.next({\n values: control._getWatch(),\n });\n }, [props.shouldUnregister, control]);\n _formControl.current.formState = getProxyFormState(formState, control);\n return _formControl.current;\n}\n\nexport { Controller, Form, FormProvider, appendErrors, get, set, useController, useFieldArray, useForm, useFormContext, useFormState, useWatch };\n//# sourceMappingURL=index.esm.mjs.map\n","import styled from 'styled-components';\n\nconst Form = /*#__PURE__*/ styled.form.withConfig({\n displayName: \"Form\"\n})([\n ``\n]);\n\nexport { Form };\n//# sourceMappingURL=styled.mjs.map\n","import { jsxs, jsx } from 'react/jsx-runtime';\nimport FormDevTools from '../form-dev-tools/index.mjs';\nimport { forwardRef } from 'react';\nimport { useForm, FormProvider } from 'react-hook-form';\nimport { Form as Form$1 } from './styled.mjs';\n\nconst Form = /*#__PURE__*/ forwardRef(({ onSubmit, onError, formTag = 'form', children, criteriaMode = 'firstError', reValidateMode = 'onChange', shouldFocusError = true, mode = 'all', ...rest }, ref)=>{\n const formMethods = useForm({\n criteriaMode,\n reValidateMode,\n shouldFocusError,\n mode,\n ...rest\n });\n return /*#__PURE__*/ jsxs(FormProvider, {\n ...formMethods,\n children: [\n /*#__PURE__*/ jsx(Form$1, {\n \"data-testid\": \"Form\",\n ref: ref,\n as: formTag,\n onSubmit: formMethods.handleSubmit(onSubmit, onError),\n children: children\n }),\n process.env.NODE_ENV === 'development' && /*#__PURE__*/ jsx(FormDevTools, {})\n ]\n });\n});\nForm.displayName = 'Form';\n\nexport { Form as default };\n//# sourceMappingURL=index.mjs.map\n","import { defaultValuesVehicle } from './constants.mjs';\n\nconst getValueInputWithPet = (vehicle, pets, literals)=>{\n const { nothing = '', withPet = '' } = literals ?? {};\n let inputValue = '';\n if (vehicle?.value) {\n inputValue = vehicle?.label;\n if (pets?.value) {\n inputValue += ' ';\n }\n } else {\n if (!pets?.value) {\n inputValue = nothing;\n }\n }\n if (pets?.value) {\n inputValue += withPet;\n }\n return inputValue;\n};\nconst getValueInputWithoutPet = (vehicle, literals)=>{\n const { units = '', trailerInfo = '' } = literals ?? {};\n let title = '';\n if (vehicle) {\n title += vehicle.label;\n if (vehicle.trailer) {\n title += ', ' + (vehicle.length ?? defaultValuesVehicle.length) + units + ' x ' + (vehicle.height ?? defaultValuesVehicle.height) + units;\n if (vehicle.caravan && trailerInfo) title += ' + ' + trailerInfo;\n }\n }\n return title;\n};\nconst getValueInput = (vehicle, pets, literals, hasPets = false)=>hasPets ? getValueInputWithPet(vehicle, pets, literals) : getValueInputWithoutPet(vehicle, literals);\nconst getStringWithUnits = (str, unit)=>{\n if (str.indexOf(`(${unit})`) > -1 || !unit) return str;\n return `${str} (${unit})`;\n};\nconst transformItemToSelectOption = (item)=>({\n label: item.label,\n value: item.value,\n selected: item.selected\n });\nconst transformItemsToSelectOptions = (items)=>items.map(transformItemToSelectOption);\nconst checkPetValue = (value)=>value != undefined && (parseInt(value.toString()) < 1 || !value);\nconst setDefaultPetValue = (value, defaultValue)=>value === undefined ? defaultValue : value;\nconst getInputValue = (value, defaultValue)=>value !== undefined ? value.toString() : defaultValue?.toString();\nconst getHasError = (value)=>!!(value != undefined && (parseInt(value.toString()) < 1 || !value));\n\nexport { checkPetValue, getHasError, getInputValue, getStringWithUnits, getValueInput, getValueInputWithPet, getValueInputWithoutPet, setDefaultPetValue, transformItemToSelectOption, transformItemsToSelectOptions };\n//# sourceMappingURL=utils.mjs.map\n","/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument) {\n const argStr = Object.prototype.toString.call(argument);\n\n // Clone the date\n if (\n argument instanceof Date ||\n (typeof argument === \"object\" && argStr === \"[object Date]\")\n ) {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new argument.constructor(+argument);\n } else if (\n typeof argument === \"number\" ||\n argStr === \"[object Number]\" ||\n typeof argument === \"string\" ||\n argStr === \"[object String]\"\n ) {\n // TODO: Can we get rid of as?\n return new Date(argument);\n } else {\n // TODO: Can we get rid of as?\n return new Date(NaN);\n }\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from 'date-fns'\n *\n * // A function that clones a date preserving the original type\n * function cloneDate= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n","import { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link startOfWeek} function options.\n */\n\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfWeek(date, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date);\n const day = _date.getDay();\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n _date.setDate(_date.getDate() - diff);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeek;\n","import { startOfWeek } from \"./startOfWeek.mjs\";\n\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of an ISO week\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfISOWeek(date) {\n return startOfWeek(date, { weekStartsOn: 1 });\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeek;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The ISO week-numbering year\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport function getISOWeekYear(date) {\n const _date = toDate(date);\n const year = _date.getFullYear();\n\n const fourthOfJanuaryOfNextYear = constructFrom(date, 0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n\n const fourthOfJanuaryOfThisYear = constructFrom(date, 0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n\n if (_date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (_date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getISOWeekYear;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of a day\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport function startOfDay(date) {\n const _date = toDate(date);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfDay;\n","import { toDate } from \"../toDate.mjs\";\n\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport function getTimezoneOffsetInMilliseconds(date) {\n const _date = toDate(date);\n const utcDate = new Date(\n Date.UTC(\n _date.getFullYear(),\n _date.getMonth(),\n _date.getDate(),\n _date.getHours(),\n _date.getMinutes(),\n _date.getSeconds(),\n _date.getMilliseconds(),\n ),\n );\n utcDate.setUTCFullYear(_date.getFullYear());\n return +date - +utcDate;\n}\n","import { millisecondsInDay } from \"./constants.mjs\";\nimport { startOfDay } from \"./startOfDay.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.mjs\";\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of calendar days\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport function differenceInCalendarDays(dateLeft, dateRight) {\n const startOfDayLeft = startOfDay(dateLeft);\n const startOfDayRight = startOfDay(dateRight);\n\n const timestampLeft =\n +startOfDayLeft - getTimezoneOffsetInMilliseconds(startOfDayLeft);\n const timestampRight =\n +startOfDayRight - getTimezoneOffsetInMilliseconds(startOfDayRight);\n\n // Round the number of days to the nearest integer because the number of\n // milliseconds in a day is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round((timestampLeft - timestampRight) / millisecondsInDay);\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarDays;\n","import { getISOWeekYear } from \"./getISOWeekYear.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of an ISO week-numbering year\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfISOWeekYear(date) {\n const year = getISOWeekYear(date);\n const fourthOfJanuary = constructFrom(date, 0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n return startOfISOWeek(fourthOfJanuary);\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeekYear;\n","/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param value - The value to check\n *\n * @returns True if the given value is a date\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport function isDate(value) {\n return (\n value instanceof Date ||\n (typeof value === \"object\" &&\n Object.prototype.toString.call(value) === \"[object Date]\")\n );\n}\n\n// Fallback for modularized imports:\nexport default isDate;\n","import { isDate } from \"./isDate.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n *\n * @returns The date is valid\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport function isValid(date) {\n if (!isDate(date) && typeof date !== \"number\") {\n return false;\n }\n const _date = toDate(date);\n return !isNaN(Number(_date));\n}\n\n// Fallback for modularized imports:\nexport default isValid;\n","import { toDate } from \"./toDate.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of a year\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\nexport function startOfYear(date) {\n const cleanDate = toDate(date);\n const _date = constructFrom(date, 0);\n _date.setFullYear(cleanDate.getFullYear(), 0, 1);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfYear;\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\",\n },\n\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\",\n },\n\n halfAMinute: \"half a minute\",\n\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\",\n },\n\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\",\n },\n\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\",\n },\n\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\",\n },\n\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\",\n },\n\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\",\n },\n\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\",\n },\n\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\",\n },\n\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\",\n },\n\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\",\n },\n\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n\n return result;\n};\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\",\n};\n\nconst timeFormats = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","/* eslint-disable no-unused-vars */\n\n/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./en-US/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./en-US/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.mjs\";\nimport { localize } from \"./en-US/_lib/localize.mjs\";\nimport { match } from \"./en-US/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const enUS = {\n code: \"en-US\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default enUS;\n","import { differenceInCalendarDays } from \"./differenceInCalendarDays.mjs\";\nimport { startOfYear } from \"./startOfYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getDayOfYear\n * @category Day Helpers\n * @summary Get the day of the year of the given date.\n *\n * @description\n * Get the day of the year of the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The day of year\n *\n * @example\n * // Which day of the year is 2 July 2014?\n * const result = getDayOfYear(new Date(2014, 6, 2))\n * //=> 183\n */\nexport function getDayOfYear(date) {\n const _date = toDate(date);\n const diff = differenceInCalendarDays(_date, startOfYear(_date));\n const dayOfYear = diff + 1;\n return dayOfYear;\n}\n\n// Fallback for modularized imports:\nexport default getDayOfYear;\n","import { millisecondsInWeek } from \"./constants.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { startOfISOWeekYear } from \"./startOfISOWeekYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The ISO week\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport function getISOWeek(date) {\n const _date = toDate(date);\n const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getISOWeek;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link getWeekYear} function options.\n */\n\n/**\n * @name getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - An object with options.\n *\n * @returns The local week-numbering year\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * const result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\nexport function getWeekYear(date, options) {\n const _date = toDate(date);\n const year = _date.getFullYear();\n\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const firstWeekOfNextYear = constructFrom(date, 0);\n firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n\n const firstWeekOfThisYear = constructFrom(date, 0);\n firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n\n if (_date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (_date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getWeekYear;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { getWeekYear } from \"./getWeekYear.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link startOfWeekYear} function options.\n */\n\n/**\n * @name startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week-numbering year\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * const result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = startOfWeekYear(new Date(2005, 6, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfWeekYear(date, options) {\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const year = getWeekYear(date, options);\n const firstWeek = constructFrom(date, 0);\n firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setHours(0, 0, 0, 0);\n const _date = startOfWeek(firstWeek, options);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeekYear;\n","import { millisecondsInWeek } from \"./constants.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { startOfWeekYear } from \"./startOfWeekYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * The {@link getWeek} function options.\n */\n\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The week\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> 53\n */\n\nexport function getWeek(date, options) {\n const _date = toDate(date);\n const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getWeek;\n","export function addLeadingZeros(number, targetLength) {\n const sign = number < 0 ? \"-\" : \"\";\n const output = Math.abs(number).toString().padStart(targetLength, \"0\");\n return sign + output;\n}\n","import { addLeadingZeros } from \"../addLeadingZeros.mjs\";\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nexport const lightFormatters = {\n // Year\n y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === \"yy\" ? year % 100 : year, token.length);\n },\n\n // Month\n M(date, token) {\n const month = date.getMonth();\n return token === \"M\" ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n\n // Day of the month\n d(date, token) {\n return addLeadingZeros(date.getDate(), token.length);\n },\n\n // AM or PM\n a(date, token) {\n const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return dayPeriodEnumValue.toUpperCase();\n case \"aaa\":\n return dayPeriodEnumValue;\n case \"aaaaa\":\n return dayPeriodEnumValue[0];\n case \"aaaa\":\n default:\n return dayPeriodEnumValue === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n\n // Hour [1-12]\n h(date, token) {\n return addLeadingZeros(date.getHours() % 12 || 12, token.length);\n },\n\n // Hour [0-23]\n H(date, token) {\n return addLeadingZeros(date.getHours(), token.length);\n },\n\n // Minute\n m(date, token) {\n return addLeadingZeros(date.getMinutes(), token.length);\n },\n\n // Second\n s(date, token) {\n return addLeadingZeros(date.getSeconds(), token.length);\n },\n\n // Fraction of second\n S(date, token) {\n const numberOfDigits = token.length;\n const milliseconds = date.getMilliseconds();\n const fractionalSeconds = Math.trunc(\n milliseconds * Math.pow(10, numberOfDigits - 3),\n );\n return addLeadingZeros(fractionalSeconds, token.length);\n },\n};\n","import { getDayOfYear } from \"../../getDayOfYear.mjs\";\nimport { getISOWeek } from \"../../getISOWeek.mjs\";\nimport { getISOWeekYear } from \"../../getISOWeekYear.mjs\";\nimport { getWeek } from \"../../getWeek.mjs\";\nimport { getWeekYear } from \"../../getWeekYear.mjs\";\nimport { addLeadingZeros } from \"../addLeadingZeros.mjs\";\nimport { lightFormatters } from \"./lightFormatters.mjs\";\n\nconst dayPeriodEnum = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n};\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nexport const formatters = {\n // Era\n G: function (date, token, localize) {\n const era = date.getFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return localize.era(era, { width: \"abbreviated\" });\n // A, B\n case \"GGGGG\":\n return localize.era(era, { width: \"narrow\" });\n // Anno Domini, Before Christ\n case \"GGGG\":\n default:\n return localize.era(era, { width: \"wide\" });\n }\n },\n\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === \"yo\") {\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, { unit: \"year\" });\n }\n\n return lightFormatters.y(date, token);\n },\n\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n const signedWeekYear = getWeekYear(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === \"YY\") {\n const twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === \"Yo\") {\n return localize.ordinalNumber(weekYear, { unit: \"year\" });\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length);\n },\n\n // ISO week-numbering year\n R: function (date, token) {\n const isoWeekYear = getISOWeekYear(date);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length);\n },\n\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n const year = date.getFullYear();\n return addLeadingZeros(year, token.length);\n },\n\n // Quarter\n Q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"Q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"QQ\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"Qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"QQQ\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"QQQQQ\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"QQQQ\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone quarter\n q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"qq\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"qqq\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"qqqqq\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"qqqq\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // Month\n M: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n case \"M\":\n case \"MM\":\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n case \"Mo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"MMM\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // J, F, ..., D\n case \"MMMMM\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // January, February, ..., December\n case \"MMMM\":\n default:\n return localize.month(month, { width: \"wide\", context: \"formatting\" });\n }\n },\n\n // Stand-alone month\n L: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n // 1, 2, ..., 12\n case \"L\":\n return String(month + 1);\n // 01, 02, ..., 12\n case \"LL\":\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case \"Lo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"LLL\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // J, F, ..., D\n case \"LLLLL\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // January, February, ..., December\n case \"LLLL\":\n default:\n return localize.month(month, { width: \"wide\", context: \"standalone\" });\n }\n },\n\n // Local week of year\n w: function (date, token, localize, options) {\n const week = getWeek(date, options);\n\n if (token === \"wo\") {\n return localize.ordinalNumber(week, { unit: \"week\" });\n }\n\n return addLeadingZeros(week, token.length);\n },\n\n // ISO week of year\n I: function (date, token, localize) {\n const isoWeek = getISOWeek(date);\n\n if (token === \"Io\") {\n return localize.ordinalNumber(isoWeek, { unit: \"week\" });\n }\n\n return addLeadingZeros(isoWeek, token.length);\n },\n\n // Day of the month\n d: function (date, token, localize) {\n if (token === \"do\") {\n return localize.ordinalNumber(date.getDate(), { unit: \"date\" });\n }\n\n return lightFormatters.d(date, token);\n },\n\n // Day of year\n D: function (date, token, localize) {\n const dayOfYear = getDayOfYear(date);\n\n if (token === \"Do\") {\n return localize.ordinalNumber(dayOfYear, { unit: \"dayOfYear\" });\n }\n\n return addLeadingZeros(dayOfYear, token.length);\n },\n\n // Day of week\n E: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n switch (token) {\n // Tue\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"EEEEE\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"EEEEEE\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"EEEE\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Local day of week\n e: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case \"e\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"ee\":\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case \"eo\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"eee\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"eeeee\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"eeeeee\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"eeee\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case \"c\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"cc\":\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case \"co\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"ccc\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // T\n case \"ccccc\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // Tu\n case \"cccccc\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"standalone\",\n });\n // Tuesday\n case \"cccc\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // ISO day of week\n i: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case \"i\":\n return String(isoDayOfWeek);\n // 02\n case \"ii\":\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n case \"io\":\n return localize.ordinalNumber(isoDayOfWeek, { unit: \"day\" });\n // Tue\n case \"iii\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"iiiii\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"iiiiii\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"iiii\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM or PM\n a: function (date, token, localize) {\n const hours = date.getHours();\n const dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"aaa\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"aaaaa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"aaaa\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n }\n\n switch (token) {\n case \"b\":\n case \"bb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"bbb\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"bbbbb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"bbbb\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"BBBBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"BBBB\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === \"ho\") {\n let hours = date.getHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return lightFormatters.h(date, token);\n },\n\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === \"Ho\") {\n return localize.ordinalNumber(date.getHours(), { unit: \"hour\" });\n }\n\n return lightFormatters.H(date, token);\n },\n\n // Hour [0-11]\n K: function (date, token, localize) {\n const hours = date.getHours() % 12;\n\n if (token === \"Ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Hour [1-24]\n k: function (date, token, localize) {\n let hours = date.getHours();\n if (hours === 0) hours = 24;\n\n if (token === \"ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Minute\n m: function (date, token, localize) {\n if (token === \"mo\") {\n return localize.ordinalNumber(date.getMinutes(), { unit: \"minute\" });\n }\n\n return lightFormatters.m(date, token);\n },\n\n // Second\n s: function (date, token, localize) {\n if (token === \"so\") {\n return localize.ordinalNumber(date.getSeconds(), { unit: \"second\" });\n }\n\n return lightFormatters.s(date, token);\n },\n\n // Fraction of second\n S: function (date, token) {\n return lightFormatters.S(date, token);\n },\n\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return \"Z\";\n }\n\n switch (token) {\n // Hours and optional minutes\n case \"X\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case \"XXXX\":\n case \"XX\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case \"XXXXX\":\n case \"XXX\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case \"x\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case \"xxxx\":\n case \"xx\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case \"xxxxx\":\n case \"xxx\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (GMT)\n O: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"OOOO\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (specific non-location)\n z: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"zzzz\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Seconds timestamp\n t: function (date, token, _localize) {\n const timestamp = Math.trunc(date.getTime() / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n\n // Milliseconds timestamp\n T: function (date, token, _localize) {\n const timestamp = date.getTime();\n return addLeadingZeros(timestamp, token.length);\n },\n};\n\nfunction formatTimezoneShort(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = Math.trunc(absOffset / 60);\n const minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, delimiter) {\n if (offset % 60 === 0) {\n const sign = offset > 0 ? \"-\" : \"+\";\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, delimiter);\n}\n\nfunction formatTimezone(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);\n const minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n","const dateLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"P\":\n return formatLong.date({ width: \"short\" });\n case \"PP\":\n return formatLong.date({ width: \"medium\" });\n case \"PPP\":\n return formatLong.date({ width: \"long\" });\n case \"PPPP\":\n default:\n return formatLong.date({ width: \"full\" });\n }\n};\n\nconst timeLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"p\":\n return formatLong.time({ width: \"short\" });\n case \"pp\":\n return formatLong.time({ width: \"medium\" });\n case \"ppp\":\n return formatLong.time({ width: \"long\" });\n case \"pppp\":\n default:\n return formatLong.time({ width: \"full\" });\n }\n};\n\nconst dateTimeLongFormatter = (pattern, formatLong) => {\n const matchResult = pattern.match(/(P+)(p+)?/) || [];\n const datePattern = matchResult[1];\n const timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n let dateTimeFormat;\n\n switch (datePattern) {\n case \"P\":\n dateTimeFormat = formatLong.dateTime({ width: \"short\" });\n break;\n case \"PP\":\n dateTimeFormat = formatLong.dateTime({ width: \"medium\" });\n break;\n case \"PPP\":\n dateTimeFormat = formatLong.dateTime({ width: \"long\" });\n break;\n case \"PPPP\":\n default:\n dateTimeFormat = formatLong.dateTime({ width: \"full\" });\n break;\n }\n\n return dateTimeFormat\n .replace(\"{{date}}\", dateLongFormatter(datePattern, formatLong))\n .replace(\"{{time}}\", timeLongFormatter(timePattern, formatLong));\n};\n\nexport const longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter,\n};\n","const dayOfYearTokenRE = /^D+$/;\nconst weekYearTokenRE = /^Y+$/;\n\nconst throwTokens = [\"D\", \"DD\", \"YY\", \"YYYY\"];\n\nexport function isProtectedDayOfYearToken(token) {\n return dayOfYearTokenRE.test(token);\n}\n\nexport function isProtectedWeekYearToken(token) {\n return weekYearTokenRE.test(token);\n}\n\nexport function warnOrThrowProtectedError(token, format, input) {\n const _message = message(token, format, input);\n console.warn(_message);\n if (throwTokens.includes(token)) throw new RangeError(_message);\n}\n\nfunction message(token, format, input) {\n const subject = token[0] === \"Y\" ? \"years\" : \"days of the month\";\n return `Use \\`${token.toLowerCase()}\\` instead of \\`${token}\\` (in \\`${format}\\`) for formatting ${subject} to the input \\`${input}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;\n}\n","import { defaultLocale } from \"./_lib/defaultLocale.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\nimport { formatters } from \"./_lib/format/formatters.mjs\";\nimport { longFormatters } from \"./_lib/format/longFormatters.mjs\";\nimport {\n isProtectedDayOfYearToken,\n isProtectedWeekYearToken,\n warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.mjs\";\nimport { isValid } from \"./isValid.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { formatters, longFormatters };\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\nexport { format as formatDate };\n\n/**\n * The {@link format} function options.\n */\n\n/**\n * @name format\n * @alias formatDate\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear)\n * and [getWeekYear](https://date-fns.org/docs/getWeekYear)).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param format - The string of tokens\n * @param options - An object with options\n *\n * @returns The formatted date string\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `localize` property\n * @throws `options.locale` must contain `formatLong` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\nexport function format(date, formatStr, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const originalDate = toDate(date);\n\n if (!isValid(originalDate)) {\n throw new RangeError(\"Invalid time value\");\n }\n\n let parts = formatStr\n .match(longFormattingTokensRegExp)\n .map((substring) => {\n const firstCharacter = substring[0];\n if (firstCharacter === \"p\" || firstCharacter === \"P\") {\n const longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n })\n .join(\"\")\n .match(formattingTokensRegExp)\n .map((substring) => {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return { isToken: false, value: \"'\" };\n }\n\n const firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return { isToken: false, value: cleanEscapedString(substring) };\n }\n\n if (formatters[firstCharacter]) {\n return { isToken: true, value: substring };\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" +\n firstCharacter +\n \"`\",\n );\n }\n\n return { isToken: false, value: substring };\n });\n\n // invoke localize preprocessor (only for french locales at the moment)\n if (locale.localize.preprocessor) {\n parts = locale.localize.preprocessor(originalDate, parts);\n }\n\n const formatterOptions = {\n firstWeekContainsDate,\n weekStartsOn,\n locale,\n };\n\n return parts\n .map((part) => {\n if (!part.isToken) return part.value;\n\n const token = part.value;\n\n if (\n (!options?.useAdditionalWeekYearTokens &&\n isProtectedWeekYearToken(token)) ||\n (!options?.useAdditionalDayOfYearTokens &&\n isProtectedDayOfYearToken(token))\n ) {\n warnOrThrowProtectedError(token, formatStr, String(date));\n }\n\n const formatter = formatters[token[0]];\n return formatter(originalDate, token, locale.localize, formatterOptions);\n })\n .join(\"\");\n}\n\nfunction cleanEscapedString(input) {\n const matched = input.match(escapedStringRegExp);\n\n if (!matched) {\n return input;\n }\n\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default format;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","import { checkPetValue } from '../components/inputs/panel-vehicle/utils/utils.mjs';\nimport { nullFunction } from '@babylon/ui-kit-helpers/null';\nimport { format } from 'date-fns';\nimport fastDeepEqual from 'fast-deep-equal/react.js';\nimport lodashMemoize from 'lodash/memoize.js';\n\n/* @link http://stackoverflow.com/questions/46155/validate-email-address-in-javascript */ const EMAIL_REGEX = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/; // eslint-disable-line no-useless-escape\nconst isEmpty = (value)=>typeof value === 'undefined' || value === null || value === '' || typeof value === 'number' && value < 0 || Array.isArray(value) && value.length === 0 || !Array.isArray(value) && typeof value === 'object' && isEmpty(value.value || value.rooms || value.code) && !(value instanceof Date);\n// type predicate, see https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates\nfunction isValidationErrorMessageWithArgs(error) {\n // eslint-disable-next-line no-prototype-builtins\n return error ? error.hasOwnProperty('message') : false;\n}\n// If we define validation functions directly in JSX, it will\n// result in a new function at every render, and then trigger infinite re-render.\n// Hence, we memoize every built-in validator to prevent a \"Maximum call stack\" error.\nconst memoize = (fn)=>lodashMemoize(fn, (...args)=>JSON.stringify(args));\nconst isFunction = (value)=>typeof value === 'function';\nconst combine2Validators = (validator1, validator2)=>(value, values)=>{\n const result1 = validator1(value, values);\n if (!result1) {\n return validator2(value, values);\n }\n if (typeof result1 === 'string' || isValidationErrorMessageWithArgs(result1)) {\n return result1;\n }\n return result1.then((resolvedResult1)=>{\n if (!resolvedResult1) {\n return validator2(value, values);\n }\n return resolvedResult1;\n });\n };\n// Compose multiple validators into a single one for use with react-hook-form\nconst composeValidators = (...validators)=>{\n const allValidators = (Array.isArray(validators[0]) ? validators[0] : validators).filter(isFunction);\n return allValidators.reduce(combine2Validators, nullFunction);\n};\n// Compose multiple validators into a single one for use with react-hook-form\nconst composeSyncValidators = (...validators)=>(value, values)=>{\n const allValidators = (Array.isArray(validators[0]) ? validators[0] : validators).filter(isFunction);\n for (const validator of allValidators){\n const error = validator(value, values);\n if (error) {\n return error;\n }\n }\n };\n/**\n * Required validator\n *\n * Returns an error if the value is null, undefined, or empty\n *\n * @param {string|Function} message\n *\n * @example\n *\n * const titleValidators = [required('The title is required')];\n * \n */ const required = memoize((message = ' ')=>Object.assign((value)=>isEmpty(value) || !value ? message : undefined, {\n isRequired: true\n }));\n/**\n * Minimum length validator\n *\n * Returns an error if the value has a length less than the parameter\n *\n * @param {integer} min\n * @param {string|Function} message\n *\n * @example\n *\n * const passwordValidators = [minLength(10, 'Should be at least 10 characters')];\n * \n */ const minLength = memoize((min, message = ' ')=>(value)=>!isEmpty(value) && value.length < min ? message : undefined);\n/**\n * Maximum length validator\n *\n * Returns an error if the value has a length higher than the parameter\n *\n * @param {integer} max\n * @param {string|Function} message\n *\n * @example\n *\n * const nameValidators = [maxLength(10, 'Should be at most 10 characters')];\n * \n */ const maxLength = memoize((max, message = ' ')=>(value)=>!isEmpty(value) && value.length > max ? message : undefined);\n/**\n * Minimum validator\n *\n * Returns an error if the value is less than the parameter\n *\n * @param {integer} min\n * @param {string|Function} message\n *\n * @example\n *\n * const fooValidators = [minValue(5, 'Should be more than 5')];\n * \n */ const minValue = memoize((min, message = ' ')=>(value)=>!isEmpty(value) && value < min ? message : undefined);\n/**\n * Maximum validator\n *\n * Returns an error if the value is higher than the parameter\n *\n * @param {integer} max\n * @param {string|Function} message\n *\n * @example\n *\n * const fooValidators = [maxValue(10, 'Should be less than 10')];\n * \n */ const maxValue = memoize((max, message = ' ')=>(value)=>!isEmpty(value) && value > max ? message : undefined);\n/**\n * Number validator\n *\n * Returns an error if the value is not a number\n *\n * @param {string|Function} message\n *\n * @example\n *\n * const ageValidators = [number('Must be a number')];\n * \n */ const number = memoize((message = ' ')=>(value)=>!isEmpty(value) && isNaN(Number(value)) ? message : undefined);\n/**\n * Regular expression validator\n *\n * Returns an error if the value does not match the pattern given as parameter\n *\n * @param {RegExp} pattern\n * @param {string|Function} message\n *\n * @example\n *\n * const zipValidators = [regex(/^\\d{5}(?:[-\\s]\\d{4})?$/, 'Must be a zip code')];\n * \n */ const regex = lodashMemoize((pattern, message = ' ')=>(value)=>!isEmpty(value) && typeof value === 'string' && !pattern.test(value) ? message : undefined, (pattern, message)=>pattern.toString() + message);\n/**\n * Email validator\n *\n * Returns an error if the value is not a valid email\n *\n * @param {string|Function} message\n *\n * @example\n *\n * const emailValidators = [email('Must be an email')];\n * \n */ const email = memoize((message = ' ')=>regex(EMAIL_REGEX, message));\n/**\n * Choices validator\n *\n * Returns an error if the value is not among the list passed as parameter\n *\n * @param {array} list\n * @param {string|Function} message\n *\n * @example\n *\n * const genderValidators = [choices(['male', 'female'], 'Must be either Male or Female')];\n * \n */ const choices = memoize((list, message = ' ')=>(value)=>!isEmpty(value) && list.indexOf(value) === -1 ? message : undefined);\n/**\n * Accommodation maxPeople validator\n *\n * Returns an error if the value is higher than the maxPeople of the accommodation\n *\n * @param {string|Function} message\n *\n * @example\n *\n * const maxPeopleValidators = [maxPeople('Must be less than the maxPeople of the accommodation')];\n * \n */ const maxPeople = memoize((message = ' ')=>(value)=>{\n if (!value.maxPeople) return;\n const totalPeople = value.rooms.reduce((acc, room)=>{\n const adults = room.adults;\n const children = room.children;\n return acc + adults + children;\n }, 0);\n return !isEmpty(value) && value && totalPeople >= value.maxPeople ? message : undefined;\n });\n/**\n * Accommodation maxRooms validator\n *\n * Returns an error if the value is higher than the maxRooms of the accommodation\n *\n * @param {string|Function} message\n *\n * @example\n *\n * const maxRoomsValidators = [maxRooms('Must be less than the maxRooms of the accommodation')];\n * \n */ const maxRooms = memoize((message = ' ')=>(value)=>{\n if (!value.maxRooms) return;\n return !isEmpty(value) && value && !!value.rooms.length && value.rooms.length >= value.maxRooms ? message : undefined;\n });\nconst notEqual = memoize((notEqualTo, message = ' ')=>(value, values)=>!isEmpty(value) && !isEmpty(values[notEqualTo]) && fastDeepEqual(value, values[notEqualTo]) ? message : undefined);\nconst equal = memoize((equalTo, message = ' ')=>(value, values)=>!isEmpty(value) && !isEmpty(values[equalTo]) && !fastDeepEqual(value, values[equalTo]) ? message : undefined);\nconst notEqualValues = memoize((value1, value2, message = ' ')=>()=>!isEmpty(value1) && !isEmpty(value2) && fastDeepEqual(value1, value2) ? message : undefined);\n/**\n * Input vehicle validators\n *\n * Returns an error if the length or height is empty or negative\n *\n * @param {string|Function} message\n *\n */ const vehicleValidate = memoize((message = ' ')=>(value)=>{\n if (!value || value.value === '0') return;\n if (value.length != undefined && (parseInt(value.length.toString()) < 1 || !value.length)) {\n return message;\n }\n if (value.height != undefined && (parseInt(value.height.toString()) < 1 || !value.height)) {\n return message;\n }\n });\n/**\n * Input vehicle validators\n *\n * Returns an error if the trailer of a vehicle length or height is empty or negative\n *\n * @param {string|Function} message\n *\n */ const trailerValidate = memoize((message = ' ')=>(value)=>{\n if (!value) return;\n if (value.caravan && (!value.caravanLength || parseInt(value.caravanLength.toString()) < 1)) {\n return message;\n }\n if (value.caravan && (!value.caravanHeight || parseInt(value.caravanHeight.toString()) < 1)) {\n return message;\n }\n });\nconst petValidate = memoize((message = ' ')=>(value)=>{\n if (!value) return;\n if (checkPetValue(value.weight)) {\n return message;\n }\n if (value.carrier) {\n if (checkPetValue(value.height)) {\n return message;\n }\n if (checkPetValue(value.length)) {\n return message;\n }\n if (checkPetValue(value.width)) {\n return message;\n }\n }\n });\nconst requiredDate = memoize((message = ' ')=>(value)=>{\n if (!value || !Array.isArray(value) || value.length !== 1 || isEmpty(value[0])) return message;\n });\nconst requiredDates = memoize((message = ' ')=>(value)=>{\n if (!value || !Array.isArray(value) || value.length !== 2 || isEmpty(value[0]) || isEmpty(value[1])) return message;\n });\nconst minDate = memoize((minDate, message = ' ')=>(value)=>{\n if (isEmpty(value) || !Array.isArray(value) || value.length === 0 || value.length >= 1 && isEmpty(value[0]) || value.length === 2 && isEmpty(value[1]) || value.length >= 1 && format(value[0], 'yyyy-MM-dd') < (minDate === 'today' ? format(new Date(), 'yyyy-MM-dd') : minDate) || value.length === 2 && format(value[1], 'yyyy-MM-dd') < (minDate === 'today' ? format(new Date(), 'yyyy-MM-dd') : minDate)) return message;\n });\n\nexport { choices, combine2Validators, composeSyncValidators, composeValidators, email, equal, maxLength, maxPeople, maxRooms, maxValue, memoize, minDate, minLength, minValue, notEqual, notEqualValues, number, petValidate, regex, required, requiredDate, requiredDates, trailerValidate, vehicleValidate };\n//# sourceMappingURL=validate.mjs.map\n","import type { ResizeProps } from '@babylon/ui-kit-base/components/multimedia/image/types';\nimport { getResizeUrl, hasDomain } from '@babylon/ui-kit-base/components/multimedia/image/utils';\nimport contextBabylon from '@babylon/ui-kit-context';\nimport { useContext } from 'react';\n\ntype ResizeImage = (src?: string, resize?: ResizeProps) => string;\n\nconst useResizeImage: ResizeImage = (src, resize) => {\n\tconst context = useContext(contextBabylon);\n\tconst mscdn = context.Cdn.startsWith('http') ? context.Cdn.substring(6) : context.Cdn;\n\n\tif (!src) return '';\n\tif (resize) return getResizeUrl(resize, mscdn, src);\n\treturn hasDomain(src, mscdn);\n};\n\nexport default useResizeImage;\n","export const QUERY_PARAMS_OPTIONS = {\n\tLANGUAGE: {\n\t\tES: 'es',\n\t},\n\tFORMAT_JSON: 'json',\n\tFAQ_TYPE: 'FAQ',\n};\n\nexport const FAQS_BASE_PATH = 'https://www.logitravel.com/contents/DetailQuestions';\n\nexport const FAQS_LOB_QUERY_PARAM = 'lob';\nexport const FAQS_ID_QUERY_PARAM = 'id';\n","import type { IFaqsSearcherEndpointQueryParam } from '../types';\nimport { QUERY_PARAMS_OPTIONS } from './constants';\n\nconst getLenguage = (params: IFaqsSearcherEndpointQueryParam[]) => {\n\tconst language = params.find(param => param.name === 'language');\n\treturn language ? language.value : QUERY_PARAMS_OPTIONS.LANGUAGE.ES;\n};\n\nexport const EndpointHandler = (url?: string | null, params: IFaqsSearcherEndpointQueryParam[] = []) => ({\n\turl: url ?? '',\n\tqueryParams: {\n\t\tlanguage: getLenguage(params),\n\t\tformat: QUERY_PARAMS_OPTIONS.FORMAT_JSON,\n\t\ttype: [QUERY_PARAMS_OPTIONS.FAQ_TYPE],\n\t},\n});\n\nexport const redirectToFaqHandler = (value: string) => {\n\tif (!value || value === '') return;\n\twindow.open(value, '_self');\n};\n","import { jsx } from 'react/jsx-runtime';\nimport { useRef } from 'react';\n\nconst ScrollIntoView = ({ scrollToView, block = 'nearest', behavior = 'auto', children })=>{\n const ref = useRef(null);\n if (scrollToView) ref.current?.scrollIntoView({\n block,\n behavior\n });\n return /*#__PURE__*/ jsx(\"div\", {\n \"data-testid\": \"ScrollIntoView\",\n id: \"scrollIntoView\",\n ref: ref,\n children: children\n });\n};\n\nexport { ScrollIntoView as default };\n//# sourceMappingURL=index.mjs.map\n","import Tooltip from '@babylon/ui-kit-base/components/others/tooltip';\nimport { TooltipContent, TooltipArrow } from '@babylon/ui-kit-base/components/others/tooltip/components/view/styled';\nimport { FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { Padding } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport styled from 'styled-components';\n\nconst ErrorTooltip = /*#__PURE__*/ styled(Tooltip).withConfig({\n displayName: \"ErrorTooltip\"\n})([\n `--tooltip-background:`,\n `;--tooltip-color:`,\n `;--tooltip-popper-bottom-padding:8px;--tooltip-filter:0;`,\n ` --tooltip-max-width:100%;`,\n `{`,\n ` text-align:left;}`,\n `{transform:none !important;left:0;`,\n `}`\n], ({ theme })=>theme.colors.status.error, ({ theme })=>theme.colors.white.base, ({ $width })=>$width && `--tooltip-min-width: ${$width}px;`, TooltipContent, FontMixin({\n size: 'small',\n height: 'base',\n weight: 'regular'\n}), TooltipArrow, Padding({\n left: '18px'\n}));\n\nexport { ErrorTooltip };\n//# sourceMappingURL=styled.mjs.map\n","import { jsx } from 'react/jsx-runtime';\nimport { useRef, useEffect } from 'react';\nimport { useResizeObserver } from 'usehooks-ts';\nimport { ErrorTooltip as ErrorTooltip$1 } from './styled.mjs';\n\nconst ErrorTooltipView = (props)=>{\n const { referenceElement, error } = props;\n const ref = useRef(referenceElement);\n const size = useResizeObserver({\n ref,\n box: 'border-box'\n });\n useEffect(()=>{\n ref.current = referenceElement;\n }, [\n referenceElement\n ]);\n if (!size.width) return null;\n return /*#__PURE__*/ jsx(ErrorTooltip$1, {\n referenceElement: referenceElement,\n placement: \"bottom\",\n $width: size.width,\n children: error\n });\n};\nconst ErrorTooltip = (props)=>{\n const { error, isVisible = false } = props;\n if (!isVisible || !error) return null;\n return /*#__PURE__*/ jsx(ErrorTooltipView, {\n ...props\n });\n};\n\nexport { ErrorTooltip as default };\n//# sourceMappingURL=index.mjs.map\n","import { jsxs, Fragment } from 'react/jsx-runtime';\nimport { composeValidators } from '../../helpers/validate.mjs';\n\nconst checkIsRequired = (validate)=>{\n if (!validate) return false;\n if ('isRequired' in validate) {\n return true;\n }\n if (Array.isArray(validate)) {\n return validate.some((it)=>'isRequired' in it);\n }\n return false;\n};\nconst getValidate = (validate, getValues)=>{\n const sanitizedValidate = Array.isArray(validate) ? composeValidators(validate) : validate;\n const rules = {\n validate: async (value)=>{\n if (!sanitizedValidate) return true;\n const error = await sanitizedValidate(value, getValues?.());\n if (!error) return true;\n return error;\n }\n };\n // @ts-ignore\n return rules;\n};\nconst getControllerProps = (props, control, rules)=>{\n const { name, shouldUnregister, value, defaultValue } = props;\n return {\n name,\n shouldUnregister,\n defaultValue: value || defaultValue,\n control,\n rules\n };\n};\n// replace null or undefined values by empty string to avoid controlled/uncontrolled input warning\nconst defaultFormat = (value)=>{\n if (value == null) return '';\n return value;\n};\nconst getCustomField = (props, field)=>{\n const { parse, format = defaultFormat } = props;\n const onBlur = (...event)=>{\n if (props.onBlur) {\n props.onBlur(...event);\n }\n field.onBlur();\n };\n const onChange = (...event)=>{\n const eventOrValue = props.type === 'checkbox' && event[0]?.target?.value === 'on' ? event[0].target.checked : event[0]?.target?.value || event[0];\n const newValue = parse ? parse(eventOrValue) : eventOrValue;\n field.onChange(newValue);\n if (props.onChange) {\n props.onChange(newValue);\n }\n };\n const value = format ? format(field.value) : field.value;\n return {\n value,\n onBlur,\n onChange\n };\n};\nconst getLabel = (props)=>{\n const { label, isRequired, isHiddenRequired = false } = props;\n if (!label) return;\n if (typeof label === 'string') return isRequired && !isHiddenRequired ? `${label} *` : label;\n return /*#__PURE__*/ jsxs(Fragment, {\n children: [\n label,\n \" *\"\n ]\n });\n};\nconst getCommonInputProps = (props, fieldState, formState)=>{\n const { type, label, isRequired, isHiddenRequired } = props;\n const { isTouched, invalid, isDirty, error } = fieldState;\n const { isSubmitted } = formState;\n const hasError = type === 'checkbox' ? (isTouched || isDirty || isSubmitted) && invalid : (isTouched || isSubmitted) && invalid;\n const finalLabel = getLabel({\n label,\n isRequired,\n isHiddenRequired\n });\n return {\n error: error?.message?.trim(),\n hasError,\n label: finalLabel\n };\n};\n\nexport { checkIsRequired, defaultFormat, getCommonInputProps, getControllerProps, getCustomField, getValidate };\n//# sourceMappingURL=utils.mjs.map\n","import { useMemo } from 'react';\nimport { useFormContext, useController } from 'react-hook-form';\nimport { getValidate, getControllerProps, getCustomField, checkIsRequired, getCommonInputProps } from './utils.mjs';\n\nconst useInput = (props)=>{\n const { isRequired: isRequiredOption, validate, name, shouldUnregister, defaultValue, value: propsValue, type, label: propsLabel, isHiddenRequired, onBlur: propsOnBlur, onChange: propsOnChange, format, parse, disableErrors = false } = props;\n const { control, getValues } = useFormContext();\n const finalValidate = useMemo(()=>getValidate(validate, getValues), [\n getValues,\n validate\n ]);\n const controllerProps = useMemo(()=>getControllerProps({\n name,\n shouldUnregister,\n value: propsValue,\n defaultValue\n }, control, finalValidate), [\n control,\n defaultValue,\n finalValidate,\n name,\n shouldUnregister,\n propsValue\n ]);\n const { field: { ref, value, onBlur, onChange }, fieldState: { invalid, isDirty, isTouched, error: fieldError }, formState: { isSubmitted } } = useController(controllerProps);\n const finalField = useMemo(()=>getCustomField({\n format,\n parse,\n onBlur: propsOnBlur,\n onChange: propsOnChange\n }, {\n value,\n onBlur,\n onChange\n }), [\n format,\n onBlur,\n onChange,\n parse,\n propsOnBlur,\n propsOnChange,\n value\n ]);\n const isRequired = useMemo(()=>isRequiredOption ?? checkIsRequired(validate), [\n isRequiredOption,\n validate\n ]);\n const { error, hasError, label } = useMemo(()=>getCommonInputProps({\n type,\n label: propsLabel,\n isRequired,\n isHiddenRequired\n }, {\n invalid,\n isDirty,\n isTouched,\n error: fieldError\n }, {\n isSubmitted\n }), [\n fieldError,\n invalid,\n isDirty,\n isHiddenRequired,\n isRequired,\n isSubmitted,\n isTouched,\n propsLabel,\n type\n ]);\n return useMemo(()=>({\n field: {\n ref,\n ...finalField\n },\n fieldState: {\n invalid,\n isDirty,\n isTouched,\n error\n },\n formState: {\n isSubmitted\n },\n isRequired,\n error: !disableErrors ? error : undefined,\n hasError: !disableErrors && hasError,\n label\n }), [\n disableErrors,\n error,\n finalField,\n hasError,\n invalid,\n isDirty,\n isRequired,\n isSubmitted,\n isTouched,\n label,\n ref\n ]);\n};\n\nexport { useInput as default, useInput };\n//# sourceMappingURL=index.mjs.map\n","import { css } from 'styled-components';\n\nconst logitravelInputStyles = {\n InputLabel: ()=>/*#__PURE__*/ css([\n ``\n ])\n};\n\nexport { logitravelInputStyles as default };\n//# sourceMappingURL=logitravel.mjs.map\n","import { FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { BorderRadius, Padding } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport { css } from 'styled-components';\n\nconst liverpoolInputStyles = {\n InputIcon: ()=>/*#__PURE__*/ css([\n `width:fit-content;top:calc(50% - 10px);right:0px;left:12px;`,\n ` color:`,\n `;& i.nico-marker{`,\n ` color:`,\n `;}`,\n `{left:auto;right:14px;}`\n ], FontMixin({\n size: 'larger',\n height: 'base',\n weight: 'light'\n }), ({ theme })=>theme.colors.primary.lighter, FontMixin({\n size: 'larger',\n height: 'base',\n weight: 'light'\n }), ({ theme })=>theme.colors.primary.lighter, ({ theme })=>theme.media.phone.only),\n InputComponent: ()=>/*#__PURE__*/ css([\n ``,\n ` `,\n ` `,\n `{`,\n ` `,\n `}color:`,\n `;`\n ], BorderRadius({\n all: '8px'\n }), Padding({\n top: '36px',\n right: '42px',\n left: '48px',\n bottom: '12px'\n }), ({ theme })=>theme.media.phone.only, FontMixin({\n size: 'medium'\n }), Padding({\n left: '14px'\n }), ({ theme })=>theme.colors.grays.darker),\n InputIconWrapper: ()=>/*#__PURE__*/ css([\n ``\n ]),\n InputLabel: ()=>/*#__PURE__*/ css([\n `top:12px;`,\n ` `,\n `{`,\n ` `,\n `}`,\n ` color:`,\n `;`\n ], Padding({\n left: '48px'\n }), ({ theme })=>theme.media.phone.only, FontMixin({\n size: 'small'\n }), Padding({\n left: '14px'\n }), FontMixin({\n size: 'medium',\n height: 'base',\n weight: 'light'\n }), ({ theme })=>theme.colors.grays.base),\n InputWrapper: ()=>/*#__PURE__*/ css([\n ``\n ])\n};\n\nexport { liverpoolInputStyles as default };\n//# sourceMappingURL=partnershipsLiverpool.mjs.map\n","import { FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { css } from 'styled-components';\n\nconst universalMusicInputStyles = {\n InputLabel: ()=>/*#__PURE__*/ css([\n ``,\n ``\n ], FontMixin({\n size: 'medium',\n height: 'small',\n weight: 'regular'\n })),\n InputComponent: ()=>/*#__PURE__*/ css([\n ``,\n ` `,\n `{border:1px solid `,\n `;`,\n `}`\n ], FontMixin({\n size: 'medium',\n height: 'base',\n weight: 'regular'\n }), ({ theme })=>theme.media.phone.only, ({ theme })=>theme.colors.grays.light, FontMixin({\n size: 'base'\n })),\n InputIcon: ()=>/*#__PURE__*/ css([\n ``,\n ` color:`,\n `;`\n ], FontMixin({\n size: 'small'\n }), ({ theme })=>theme.colors.grays.darker)\n};\n\nexport { universalMusicInputStyles as default };\n//# sourceMappingURL=partnershipsUniversalMusic.mjs.map\n","import { FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { BorderRadius, Padding, Border } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport { css } from 'styled-components';\n\nconst veciInputStyles = {\n InputIcon: ()=>/*#__PURE__*/ css([\n `top:calc(50% - 6px);`,\n ` font-size:18px;color:`,\n `;& i.nico-marker{`,\n ` font-size:18px;color:`,\n `;}`\n ], FontMixin({\n height: 'base',\n weight: 'light'\n }), ({ theme })=>theme.colors.primary.base, FontMixin({\n height: 'base',\n weight: 'light'\n }), ({ theme })=>theme.colors.primary.base),\n InputComponent: ()=>/*#__PURE__*/ css([\n ``,\n ` `,\n ` `,\n ` color:`,\n `;font-family:`,\n `;`\n ], FontMixin({\n weight: 'regular',\n height: 'base'\n }), BorderRadius({\n all: '0px'\n }), Padding({\n left: '8px',\n bottom: '6px'\n }), ({ theme })=>theme.colors.grays.darkest, ({ theme })=>theme.font.family.primary),\n InputLabel: ()=>/*#__PURE__*/ css([\n ``,\n ` color:`,\n `;`\n ], Padding({\n left: '8px'\n }), ({ theme })=>theme.colors.grays.dark),\n InputWrapper: ()=>/*#__PURE__*/ css([\n ``,\n ` --input-height:52px;input{outline:none;`,\n `;}&.has-error{input{outline:none;`,\n `}}&.is-focused{input{`,\n ` outline:none;box-sizing:border-box;}}`\n ], BorderRadius({\n all: '4px'\n }), Border({\n bottom: `2px solid transparent`\n }), ({ theme })=>Border({\n bottom: `2px solid ${theme.colors.insurances?.secondary}`\n }), ({ theme })=>Border({\n bottom: `2px solid ${theme.colors.green?.base}`\n }))\n};\n\nexport { veciInputStyles as default };\n//# sourceMappingURL=veci.mjs.map\n","import { createThemes } from '@babylon/ui-kit-styles/common/themes';\nimport { ThemeId } from '@babylon/ui-kit-styles/types/theme';\nimport logitravelInputStyles from './styles/logitravel.mjs';\nimport liverpoolInputStyles from './styles/partnershipsLiverpool.mjs';\nimport universalMusicInputStyles from './styles/partnershipsUniversalMusic.mjs';\nimport veciInputStyles from './styles/veci.mjs';\n\nconst inputThemes = createThemes({\n [ThemeId.veci]: veciInputStyles,\n [ThemeId.partnershipsUniversalMusic]: universalMusicInputStyles,\n [ThemeId.logitravel]: logitravelInputStyles,\n [ThemeId.partnershipsLiverpool]: liverpoolInputStyles\n});\n\nexport { inputThemes as default };\n//# sourceMappingURL=index.mjs.map\n","import { FlexMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { Border, BorderRadius, Margin } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport { rgba } from 'polished';\nimport styled, { css } from 'styled-components';\nimport inputThemes from './themes/index.mjs';\n\nconst variantStylesLabel = (variant = 'default', isDesktop = true)=>({\n default: /*#__PURE__*/ css([\n ``,\n ` color:`,\n `;position:absolute;`,\n ``\n ], FontMixin({\n size: 'small',\n height: 'smaller',\n weight: isDesktop ? 'regular' : 'light'\n }), ({ theme })=>theme.colors.grays.base, ({ $focused })=>!$focused && /*#__PURE__*/ css([\n ``,\n ` top:calc((var(--input-height) / 2) - 0.5em);transition:all 0.2s linear;`\n ], FontMixin({\n size: 'medium',\n height: 'small',\n weight: 'regular'\n }))),\n horizontal: /*#__PURE__*/ css([\n ``,\n ` color:`,\n `;width:50%;margin-top:calc((var(--input-height) / 2) - 0.5rem);`\n ], FontMixin({\n size: 'base',\n height: 'base',\n weight: 'light'\n }), ({ theme })=>theme.colors.grays.dark)\n })[variant];\nconst variantStylesInput = (variant = 'default')=>({\n default: /*#__PURE__*/ css([\n ``,\n ` padding:24px 42px 8px 12px;color:`,\n `;`\n ], FontMixin({\n size: 'medium',\n height: 'medium',\n weight: 'regular'\n }), ({ theme })=>theme.colors.grays.darker),\n horizontal: /*#__PURE__*/ css([\n ``,\n ` color:`,\n `;`\n ], FontMixin({\n size: 'base',\n height: 'base',\n weight: 'regular'\n }), ({ theme })=>theme.colors.grays.darker)\n })[variant];\nconst InputWrapper = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"InputWrapper\"\n})([\n `--input-height:56px;--outline-color-default:`,\n `;--outline-color-error:`,\n `;--outline-color-focused:`,\n `;--outline-width:2px;`,\n ` `,\n ` color:`,\n `;position:relative;width:100%;&.has-error{input{outline:var(--outline-width) solid var(--outline-color-error);}}&.is-focused{input{outline:var(--outline-width) solid var(--outline-color-focused);`,\n `}}`,\n ``\n], ({ theme })=>theme.colors.white.base, ({ theme })=>theme.colors.status.error, ({ theme })=>theme.colors.primary.light, FlexMixin(), FontMixin({\n size: 'base',\n height: 'medium',\n weight: 'light'\n}), ({ theme })=>theme.colors.grays.darker, Border({\n all: '0'\n}), inputThemes('InputWrapper'));\nconst InputLabel = /*#__PURE__*/ styled.label.withConfig({\n displayName: \"InputLabel\"\n})([\n `cursor:default;margin:0;padding:0 0 0 14px;top:8px;transition:all 0.2s linear;z-index:1;`,\n ` `,\n ` `,\n ``\n], ({ $variant, $isDesktop })=>variantStylesLabel($variant, $isDesktop), ({ $disabled })=>$disabled ? `\n\t\topacity: 0.56;\n\t` : '', inputThemes('InputLabel'));\nconst InputIcon = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"InputIcon\"\n})([\n ``,\n ` color:`,\n `;margin:0;padding:0;position:absolute;right:12px;top:calc(50% - 8px);z-index:1;& i.nico-marker{`,\n ` color:`,\n `;font-family:nico;font-size:100%;height:24px;line-height:20px;margin:0;padding:0;}`,\n ` `,\n ``\n], FontMixin({\n size: 'large',\n height: 'base',\n weight: 'light'\n}), ({ theme })=>theme.colors.grays.base, FlexMixin(), ({ theme })=>theme.colors.grays.base, ({ $disabled })=>$disabled ? `\n\t\topacity: 0.56;\n\t` : '', inputThemes('InputIcon'));\nconst InputComponentWrapper = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"InputComponentWrapper\"\n})([\n `display:inline-block;margin:0;padding:0;`,\n ` `,\n ` `,\n ``\n], (props)=>props.$variant == 'default' && /*#__PURE__*/ css([\n `position:relative;width:100%;`\n ]), (props)=>props.$variant == 'horizontal' && /*#__PURE__*/ css([\n `width:50%;`\n ]), inputThemes('InputComponentWrapper'));\nconst InputIconWrapper = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"InputIconWrapper\"\n})([\n `position:relative;`,\n ``\n], inputThemes('InputIconWrapper'));\nconst InputComponent = /*#__PURE__*/ styled.input.withConfig({\n displayName: \"InputComponent\"\n})([\n `background-color:`,\n `;cursor:pointer;border-width:0;box-sizing:border-box;margin:0;min-height:var(--input-height);overflow:hidden;position:relative;text-align:left;text-overflow:ellipsis;vertical-align:top;width:100%;transition:outline 0.1s linear;`,\n ` `,\n `{padding-right:40px;}&.input-without-label{padding:16px 42px 16px 16px;}&:hover,&:active,&:focus{outline:none;}position:relative;vertical-align:top;&::placeholder{color:`,\n `;opacity:1;}`,\n ` `,\n ` `,\n ``\n], ({ theme })=>theme.colors.white.base, BorderRadius({\n all: '4px'\n}), ({ theme })=>theme.media.up('xl'), ({ theme })=>theme.colors.grays.base, ({ disabled, theme })=>disabled && /*#__PURE__*/ css([\n `color:`,\n `!important;`\n ], rgba(theme.colors.grays.darker, 0.56)), ({ $variant })=>variantStylesInput($variant), inputThemes('InputComponent'));\nconst ErrorText = /*#__PURE__*/ styled.p.withConfig({\n displayName: \"ErrorText\"\n})([\n ``,\n ` `,\n ` color:`,\n `;`\n], FontMixin({\n size: 'medium'\n}), Margin({\n y: '8px'\n}), ({ theme })=>theme.colors.status.error);\n\nexport { ErrorText, InputComponent, InputComponentWrapper, InputIcon, InputIconWrapper, InputLabel, InputWrapper };\n//# sourceMappingURL=styled.mjs.map\n","import { jsxs, jsx } from 'react/jsx-runtime';\nimport Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport ErrorTooltip from '../../others/error-tooltip/index.mjs';\nimport { useInput } from '../../../hooks/useInput/index.mjs';\nimport useIsDesktop from '@babylon/ui-kit-hooks/device/useIsDesktop';\nimport classNames from 'classnames';\nimport { forwardRef, useId, useRef, useImperativeHandle, useState, useCallback, useMemo } from 'react';\nimport { InputWrapper, InputLabel, InputComponentWrapper, InputIconWrapper, InputComponent, InputIcon, ErrorText } from './styled.mjs';\n\nconst Input = /*#__PURE__*/ forwardRef(({ label, value, id, disabled = false, icon = '', onBlur, onFocus, onClick, type = 'text', isFocused, hasError = false, error, variant = 'default', placeholder, disableInternalFocus = false, className = '', wrapperRef, // eslint-disable-next-line unused-imports/no-unused-vars\ndefaultValue, errorVariant = 'tooltip', ...rest }, ref)=>{\n const uniqueId = useId();\n const inputRef = useRef(null);\n useImperativeHandle(ref, ()=>inputRef.current);\n const inputWrapperRef = useRef(null);\n useImperativeHandle(wrapperRef, ()=>inputWrapperRef.current);\n const isDesktop = useIsDesktop();\n const [internalFocused, setInternalFocused] = useState(false);\n const finalFocused = isFocused ?? internalFocused;\n const internalOnBlur = useCallback((e)=>{\n setInternalFocused(false);\n if (onBlur) onBlur(e);\n }, [\n onBlur\n ]);\n const internalOnFocus = useCallback((e)=>{\n setInternalFocused(true);\n if (onFocus) onFocus(e);\n }, [\n onFocus\n ]);\n const inputId = useMemo(()=>`${uniqueId}-${id ?? 'input-text-' + label}`, [\n id,\n label,\n uniqueId\n ]);\n return /*#__PURE__*/ jsxs(InputWrapper, {\n \"data-testid\": \"Input\",\n ref: inputWrapperRef,\n className: classNames({\n [className]: !!className,\n 'has-error': hasError,\n 'is-focused': isDesktop && finalFocused\n }),\n children: [\n /*#__PURE__*/ jsx(InputLabel, {\n \"data-testid\": \"InputLabel\",\n $variant: variant,\n $isDesktop: isDesktop,\n $focused: internalFocused && !disableInternalFocus || !!value || !!placeholder,\n $disabled: disabled,\n htmlFor: inputId,\n children: label\n }),\n /*#__PURE__*/ jsxs(InputComponentWrapper, {\n $variant: variant,\n children: [\n /*#__PURE__*/ jsxs(InputIconWrapper, {\n children: [\n /*#__PURE__*/ jsx(InputComponent, {\n $variant: variant,\n disabled: disabled,\n type: type,\n id: inputId,\n className: classNames({\n ['input-without-label']: !label\n }),\n value: value,\n onFocus: internalOnFocus,\n onBlur: internalOnBlur,\n placeholder: placeholder,\n ref: inputRef,\n onClick: onClick,\n role: type === 'button' ? 'button' : 'textbox',\n ...rest\n }),\n icon && /*#__PURE__*/ jsx(InputIcon, {\n className: classNames({\n ['icon-without-label']: !label\n }),\n $disabled: disabled,\n onClick: onClick,\n children: typeof icon === 'string' ? /*#__PURE__*/ jsx(Icon, {\n \"data-testid\": \"InputIcon\",\n className: `nico-${icon}`\n }) : icon\n })\n ]\n }),\n errorVariant === 'tooltip' && /*#__PURE__*/ jsx(ErrorTooltip, {\n referenceElement: inputRef.current,\n error: error,\n isVisible: !finalFocused && !!hasError\n }),\n errorVariant === 'text' && !!hasError && !!error && /*#__PURE__*/ jsx(ErrorText, {\n children: error\n })\n ]\n })\n ]\n });\n});\nInput.displayName = 'Input';\nconst FormInput = (props)=>{\n const { isHiddenRequired: _isHiddenRequired, ...rest } = props;\n const { field, error, hasError, label } = useInput(props);\n return /*#__PURE__*/ jsx(Input, {\n ...rest,\n ...field,\n hasError: hasError,\n label: label,\n error: error\n });\n};\n\nexport { FormInput, Input as default };\n//# sourceMappingURL=index.mjs.map\n","// Converts filters\nconst parseFilters = (filters)=>Object.entries(filters).filter(([, value])=>!!value || value === 0).map(([key, value])=>`${key}=${value}`).join('&');\n\nexport { parseFilters };\n//# sourceMappingURL=url.mjs.map\n","const BORG_ENDPOINT = 'https://autocomplete.toolfactory.tech/query';\nconst MIN_ITEMS_TO_SHOW = 3;\nconst DEBOUNCE_DELAY = 300;\nconst HEADER_ICON = {\n AER: 'plane',\n BUS: 'bus',\n CIU: 'building',\n EST: 'train',\n FLIGHTS_COMPANY: 'plane',\n HOT: 'hotel',\n ISL: 'beach',\n PDI: 'marker',\n PUE: 'ferry',\n ZON: 'marker',\n PAI: '',\n ACT: 'ticket'\n};\nconst autocompleteLiterals = {\n es: {\n bus: 'bus',\n BUS: 'bus',\n airport: 'aeropuerto',\n AER: 'aeropuerto',\n airports: 'aeropuertos',\n island: 'isla',\n ISL: 'isla',\n islands: 'islas',\n zone: 'zona',\n ZON: 'zona',\n zones: 'zonas',\n station: 'estación',\n EST: 'estación',\n stations: 'estaciones',\n hotel: 'hotel',\n HOT: 'hotel',\n hotels: 'hoteles',\n city: 'ciudad',\n CIU: 'ciudad',\n cities: 'ciudades',\n pdi: 'pdi',\n PDI: 'pdi',\n port: 'puerto',\n PUE: 'puerto',\n ports: 'puertos',\n flightCompanies: 'compañía aérea',\n FLIGHTS_COMPANY: 'compañía aérea',\n PAI: 'País',\n country: 'País',\n ACT: 'actividad'\n },\n pt: {\n bus: 'autocarro',\n BUS: 'autocarro',\n airport: 'aeroporto',\n AER: 'aeroporto',\n airports: 'aeroportos',\n island: 'ilha',\n ISL: 'ilha',\n islands: 'ilhas',\n zone: 'zona',\n ZON: 'zona',\n zones: 'zonas',\n station: 'estação',\n EST: 'estação',\n stations: 'estâncias',\n hotel: 'hotel',\n HOT: 'hotel',\n hotels: 'hotéis',\n city: 'cidade',\n CIU: 'cidade',\n cities: 'cidades',\n pdi: 'pdi',\n PDI: 'pdi',\n port: 'porto',\n PUE: 'porto',\n ports: 'portos',\n flightCompanies: 'flight_company',\n FLIGHTS_COMPANY: 'flight_company',\n PAI: 'País',\n country: 'País',\n ACT: 'atividade'\n },\n it: {\n bus: 'autobus',\n BUS: 'autobus',\n airport: 'aeroporto',\n AER: 'aeroporto',\n airports: 'aeroporti',\n island: 'isola',\n ISL: 'isola',\n islands: 'isole',\n zone: 'zona',\n ZON: 'zona',\n zones: 'zone',\n station: 'stazione',\n EST: 'stazione',\n stations: 'stazioni',\n hotel: 'hotel',\n HOT: 'hotel',\n hotels: 'hotel',\n city: 'città',\n CIU: 'città',\n cities: 'città',\n pdi: 'pdi',\n PDI: 'pdi',\n port: 'porto',\n PUE: 'porto',\n ports: 'porti',\n flightCompanies: 'flight_company',\n FLIGHTS_COMPANY: 'flight_company',\n PAI: 'Paese',\n country: 'Paese',\n ACT: 'attività'\n },\n de: {\n bus: 'bus',\n BUS: 'bus',\n airport: 'flughafen',\n AER: 'flughafen',\n airports: 'flughäfen',\n island: 'insel',\n ISL: 'insel',\n islands: 'inseln',\n zone: 'reiseziel',\n ZON: 'reiseziel',\n zones: 'zielgebiete',\n station: 'station',\n EST: 'station',\n stations: 'stationen',\n hotel: 'hotel',\n HOT: 'hotel',\n hotels: 'hotels',\n city: 'stadte',\n CIU: 'stadte',\n cities: 'städte',\n pdi: 'pdi',\n PDI: 'pdi',\n port: 'hafen',\n PUE: 'hafen',\n ports: 'häfen',\n flightCompanies: 'flight_company',\n FLIGHTS_COMPANY: 'flight_company',\n PAI: 'Land',\n country: 'Land',\n ACT: 'aktivität'\n },\n fr: {\n bus: 'bus',\n BUS: 'bus',\n airport: 'aéroport',\n AER: 'aéroport',\n airports: 'aéroports',\n island: 'île',\n ISL: 'île',\n islands: 'îles',\n zone: 'zone',\n ZON: 'zone',\n zones: 'zones',\n station: 'station',\n EST: 'station',\n stations: 'stations',\n hotel: 'hôtel',\n HOT: 'hôtel',\n hotels: 'hôtels',\n city: 'ville',\n CIU: 'ville',\n cities: 'villes',\n pdi: 'pdi',\n PDI: 'pdi',\n port: 'port',\n PUE: 'port',\n ports: 'ports',\n flightCompanies: 'flight_company',\n FLIGHTS_COMPANY: 'flight_company',\n PAI: 'Pays',\n country: 'Pays',\n ACT: 'activité'\n },\n br: {\n bus: 'ônibus',\n BUS: 'ônibus',\n airport: 'aeroporto',\n AER: 'aeroporto',\n airports: 'aeroportos',\n island: 'ilha',\n ISL: 'ilha',\n islands: 'ilhas',\n zone: 'zona',\n ZON: 'zona',\n zones: 'zonas',\n station: 'estação',\n EST: 'estação',\n stations: 'estâncias',\n hotel: 'hotel',\n HOT: 'hotel',\n hotels: 'hotéis',\n city: 'cidade',\n CIU: 'cidade',\n cities: 'cidades',\n pdi: 'pdi',\n PDI: 'pdi',\n port: 'porto',\n PUE: 'porto',\n ports: 'portos',\n flightCompanies: 'flight_company',\n FLIGHTS_COMPANY: 'flight_company',\n PAI: 'País',\n country: 'País',\n ACT: 'atividade'\n },\n en: {\n bus: 'bus',\n BUS: 'bus',\n airport: 'airport',\n AER: 'airport',\n airports: 'airports',\n island: 'island',\n ISL: 'island',\n islands: 'islands',\n zone: 'zone',\n ZON: 'zone',\n zones: 'zones',\n station: 'station',\n EST: 'station',\n stations: 'stations',\n hotel: 'hotel',\n HOT: 'hotel',\n hotels: 'hotels',\n city: 'city',\n CIU: 'city',\n cities: 'cities',\n pdi: 'poi',\n PDI: 'poi',\n port: 'port',\n PUE: 'port',\n ports: 'ports',\n flightCompanies: 'flight_company',\n FLIGHTS_COMPANY: 'flight_company',\n PAI: 'Country',\n country: 'Country',\n ACT: 'activity'\n },\n fi: {\n bus: 'bussi',\n BUS: 'bussi',\n airport: 'lentokenttä',\n AER: 'lentokenttä',\n airports: 'lentokentille',\n island: 'saari',\n ISL: 'saari',\n islands: 'saaret ',\n zone: 'vyöhyke',\n ZON: 'vyöhyke',\n zones: 'alueet',\n station: 'kausi',\n EST: 'kausi',\n stations: 'asemat',\n hotel: 'hotelli',\n HOT: 'hotelli',\n hotels: 'hotellit',\n city: 'kaupunki',\n CIU: 'kaupunki',\n cities: 'kaupungit',\n pdi: '',\n PDI: '',\n port: 'portti',\n PUE: 'portti',\n ports: 'satamat',\n flightCompanies: 'flight_company',\n FLIGHTS_COMPANY: 'flight_company',\n PAI: 'Maa',\n country: 'Maa',\n ACT: 'toiminta'\n },\n mx: {\n bus: 'bus',\n BUS: 'bus',\n airport: 'aeropuerto',\n AER: 'aeropuerto',\n airports: 'aeropuertos',\n island: 'isla',\n ISL: 'isla',\n islands: 'islas',\n zone: 'zona',\n ZON: 'zona',\n zones: 'zonas',\n station: 'estación',\n EST: 'estación',\n stations: 'estaciones',\n hotel: 'hotel',\n HOT: 'hotel',\n hotels: 'hoteles',\n city: 'ciudad',\n CIU: 'ciudad',\n cities: 'ciudades',\n pdi: 'pdi',\n PDI: 'pdi',\n port: 'puerto',\n PUE: 'puerto',\n ports: 'puertos',\n flightCompanies: 'flight_company',\n FLIGHTS_COMPANY: 'flight_company',\n PAI: 'País',\n country: 'País',\n ACT: 'actividad'\n },\n ru: {\n bus: 'bus',\n BUS: 'bus',\n airport: 'aэропорт',\n AER: 'aэропорт',\n airports: 'аэропорты',\n island: 'oстрова',\n ISL: 'oстрова',\n islands: 'oстрова',\n zone: 'Зона',\n ZON: 'Зона',\n zones: 'Зоны',\n station: 'станцию',\n EST: 'станцию',\n stations: 'станции',\n hotel: 'отель',\n HOT: 'отель',\n hotels: 'oтели',\n city: 'город',\n CIU: 'город',\n cities: 'Города',\n pdi: 'Достопримечательности',\n PDI: 'Достопримечательности',\n port: 'порт',\n PUE: 'порт',\n ports: 'Порты',\n flightCompanies: 'flight_company',\n FLIGHTS_COMPANY: 'flight_company',\n PAI: 'Страна',\n country: 'Страна',\n ACT: 'активность'\n }\n};\n\nexport { BORG_ENDPOINT, DEBOUNCE_DELAY, HEADER_ICON, MIN_ITEMS_TO_SHOW, autocompleteLiterals };\n//# sourceMappingURL=autocomplete.mjs.map\n","import { parseFilters } from '@babylon/ui-kit-helpers/url';\nimport { BORG_ENDPOINT } from '../utils/autocomplete.mjs';\n\nconst questionsFAQsConverter = (data = {})=>{\n if (data.message) {\n return {\n d: [\n {\n id: '',\n type: 'FAQ',\n text: data.message,\n value: ''\n }\n ]\n };\n } else {\n return {\n d: data.questions.map((question)=>({\n id: question.link.content,\n type: question.link.target,\n text: question.link.title,\n value: question.link.href\n }))\n };\n }\n};\nconst getSuggestions = async (queryParams, BaseUrl, endpoint = BORG_ENDPOINT)=>{\n const { query, language, format = 'json', geolocation = false, n = 20, type = [], o = '', p = '', origin = '', destination = '' } = queryParams;\n let finalUrl = endpoint;\n if (!endpoint.startsWith('http')) finalUrl = `${BaseUrl}${endpoint}`;\n const filters = {\n q: query,\n l: language,\n f: format,\n g: `${geolocation}`,\n n: n.toString(),\n t: type.join(','),\n o,\n p,\n origin,\n destination\n };\n const url = `${finalUrl}?${parseFilters(filters)}`;\n const response = await fetch(url, {\n cache: 'no-store'\n });\n if (!response.ok || response.status !== 200 && response.status !== 204) throw new Error(response.statusText);\n const data = await response.json();\n if (data.d) {\n return data;\n } else if (data.questions) {\n return questionsFAQsConverter(data);\n } else {\n return {\n d: []\n };\n }\n};\n\nexport { getSuggestions, questionsFAQsConverter };\n//# sourceMappingURL=index.mjs.map\n","var StoreTypes;\n(function(StoreTypes) {\n StoreTypes[\"OPEN_SUGGESTIONS\"] = \"AUTOCOMPLETE:OPEN_SUGGESTIONS\";\n StoreTypes[\"CLOSE_SUGGESTIONS\"] = \"AUTOCOMPLETE:CLOSE_SUGGESTIONS\";\n StoreTypes[\"SET_QUERY\"] = \"AUTOCOMPLETE:SET_QUERY\";\n StoreTypes[\"SET_VALUE\"] = \"AUTOCOMPLETE:SET_VALUE\";\n StoreTypes[\"SET_PREVIOUS_VALUE\"] = \"AUTOCOMPLETE:SET_PREVIOUS_VALUE\";\n StoreTypes[\"SET_SUGGESTIONS\"] = \"AUTOCOMPLETE:SET_SUGGESTIONS\";\n StoreTypes[\"SELECT_SUGGESTION\"] = \"SELECT_SUGGESTION\";\n StoreTypes[\"SELECTING_SUGGESTION\"] = \"SELECTING_SUGGESTION\";\n StoreTypes[\"CONFIRM_SUGGESTION\"] = \"CONFIRM_SUGGESTION\";\n StoreTypes[\"CANCEL_SUGGESTION\"] = \"CANCEL_SUGGESTION\";\n})(StoreTypes || (StoreTypes = {}));\nconst StoreActions = {\n closeSuggestions: ()=>({\n type: \"AUTOCOMPLETE:CLOSE_SUGGESTIONS\"\n }),\n openSuggestions: ()=>({\n type: \"AUTOCOMPLETE:OPEN_SUGGESTIONS\"\n }),\n setQuery: (payload)=>({\n type: \"AUTOCOMPLETE:SET_QUERY\",\n payload\n }),\n setValue: (payload)=>({\n type: \"AUTOCOMPLETE:SET_VALUE\",\n payload\n }),\n setPreviousValue: (payload)=>({\n type: \"AUTOCOMPLETE:SET_PREVIOUS_VALUE\",\n payload\n }),\n setSuggestions: (payload)=>({\n type: \"AUTOCOMPLETE:SET_SUGGESTIONS\",\n payload\n }),\n selectSuggestion: (payload)=>({\n type: \"SELECT_SUGGESTION\",\n payload\n }),\n selectingSuggestion: (payload)=>({\n type: \"SELECTING_SUGGESTION\",\n payload\n }),\n confirmSuggestion: (payload)=>({\n type: \"CONFIRM_SUGGESTION\",\n payload\n }),\n cancelSuggestion: ()=>({\n type: \"CANCEL_SUGGESTION\"\n })\n};\n\nexport { StoreActions, StoreTypes };\n//# sourceMappingURL=types.mjs.map\n","import { useReducer, useCallback } from 'react';\nimport { MIN_ITEMS_TO_SHOW } from '../utils/autocomplete.mjs';\nimport { StoreActions, StoreTypes } from './types.mjs';\n\nconst INITIAL_STATE = {\n suggestionsObject: {},\n suggestions: [],\n query: '',\n value: '',\n previousValue: '',\n showSuggestions: false,\n isLoading: false\n};\nfunction reducer(state, action) {\n switch(action.type){\n case StoreTypes.OPEN_SUGGESTIONS:\n return {\n ...state,\n showSuggestions: state.query.length >= MIN_ITEMS_TO_SHOW\n };\n case StoreTypes.CLOSE_SUGGESTIONS:\n return {\n ...state,\n showSuggestions: false\n };\n case StoreTypes.SET_QUERY:\n return {\n ...state,\n query: action.payload,\n suggestions: state.suggestionsObject[action.payload] || []\n };\n case StoreTypes.SET_VALUE:\n return {\n ...state,\n value: action.payload\n };\n case StoreTypes.SET_PREVIOUS_VALUE:\n return {\n ...state,\n previousValue: action.payload\n };\n case StoreTypes.SET_SUGGESTIONS:\n return {\n ...state,\n suggestionsObject: {\n ...state.suggestionsObject,\n [state.query]: action.payload\n },\n suggestions: action.payload\n };\n case StoreTypes.SELECT_SUGGESTION:\n return {\n ...state,\n selectedSuggestion: action.payload\n };\n case StoreTypes.SELECTING_SUGGESTION:\n return {\n ...state,\n selectingSuggestion: action.payload\n };\n case StoreTypes.CONFIRM_SUGGESTION:\n return {\n ...state,\n selectedSuggestion: action.payload || undefined,\n selectingSuggestion: undefined,\n query: action.payload?.text || '',\n value: action.payload?.text || '',\n showSuggestions: false\n };\n case StoreTypes.CANCEL_SUGGESTION:\n return {\n ...state,\n value: state.selectedSuggestion?.text ?? '',\n selectingSuggestion: undefined,\n showSuggestions: false\n };\n default:\n return state;\n }\n}\nconst useStore = (init)=>{\n const defaultInit = ()=>INITIAL_STATE;\n const initFc = init ?? defaultInit;\n const [state, dispatch] = useReducer(reducer, INITIAL_STATE, initFc);\n const closeSuggestions = useCallback(()=>dispatch(StoreActions.closeSuggestions()), []);\n const openSuggestions = useCallback(()=>dispatch(StoreActions.openSuggestions()), []);\n const setQuery = useCallback((query)=>dispatch(StoreActions.setQuery(query)), []);\n const setValue = useCallback((value)=>dispatch(StoreActions.setValue(value)), []);\n const setPreviousValue = useCallback((value)=>dispatch(StoreActions.setPreviousValue(value)), []);\n const setSuggestions = useCallback((suggestions)=>dispatch(StoreActions.setSuggestions(suggestions)), []);\n const selectSuggestion = useCallback((suggestion)=>dispatch(StoreActions.selectSuggestion(suggestion)), []);\n const selectingSuggestion = useCallback((suggestion)=>dispatch(StoreActions.selectingSuggestion(suggestion)), []);\n const confirmSuggestion = useCallback((suggestion)=>dispatch(StoreActions.confirmSuggestion(suggestion)), []);\n const cancelSuggestion = useCallback(()=>dispatch(StoreActions.cancelSuggestion()), []);\n return {\n store: state,\n closeSuggestions,\n openSuggestions,\n setQuery,\n setValue,\n setPreviousValue,\n setSuggestions,\n selectSuggestion,\n selectingSuggestion,\n confirmSuggestion,\n cancelSuggestion\n };\n};\n\nexport { useStore };\n//# sourceMappingURL=reducer.mjs.map\n","const getDecode = async ()=>await import('html-entities').then((res)=>res.decode);\nconst decode = async (...args)=>{\n const decode = await getDecode();\n return decode(...args);\n};\n\nexport { decode, getDecode };\n//# sourceMappingURL=decode.mjs.map\n","import { decode } from '@babylon/ui-kit-helpers/decode';\n\n/**\n * Group By\n * Groups a collection of objects based on key\n * @param {array} Collection\n * @param {function} Key getter\n * @returns {array} Collection grouped by key\n */ const groupBy = (list, fn)=>{\n const map = new Map();\n list.forEach((item)=>{\n const key = fn(item);\n const collection = map.get(key);\n if (!collection) {\n map.set(key, [\n item\n ]);\n } else {\n collection.push(item);\n }\n });\n return map;\n};\n/**\n * Group by type a collection of objects\n * @param {array} collection of objects\n * @return {set} grouped collection\n */ const groupByType = async (collection)=>groupBy(await Promise.all(collection.map(async (item, index)=>({\n ...item,\n text: await decode(item.text),\n index\n }))), (item)=>item.type);\n/**\n * Collection by group\n * Transforms a collection into the same 2 dimensional grouped by types\n * @\n */ const collectionByGroup = async (collection)=>{\n if (!collection || collection.length < 1) return [];\n const grouped = await groupByType(collection);\n return [\n ...grouped.keys()\n ].map((key)=>({\n key,\n suggestions: grouped.get(key)\n }));\n};\nconst boldText = (text, patron)=>{\n const regex = new RegExp(patron.replace(/[\\\\{()}]/g, ''), 'gi');\n return text.replaceAll(regex, (str)=>`${str}`);\n};\n\nexport { boldText, collectionByGroup };\n//# sourceMappingURL=index.mjs.map\n","import { KEY_CODE } from '@babylon/ui-kit-types/key-code';\nimport { useCallback, useEffect } from 'react';\n\nconst useKeydown = (props, propsOnChange)=>{\n const { store, selectingSuggestion, setValue, openSuggestions, cancelSuggestion, confirmSuggestion } = props;\n const arrowUpDownHandler = useCallback((eventKey)=>{\n const suggestions = store.suggestions.flatMap((x)=>x.suggestions);\n let index = suggestions.findIndex((x)=>x.id === store.selectingSuggestion?.id);\n const nextElement = eventKey === KEY_CODE.ARROW_DOWN ? 1 : -1;\n index = index + nextElement;\n openSuggestions();\n if (0 <= index && index < suggestions.length) {\n selectingSuggestion(suggestions[index]);\n setValue(suggestions[index].text);\n }\n }, [\n store.selectingSuggestion?.id,\n store.suggestions,\n openSuggestions,\n selectingSuggestion,\n setValue\n ]);\n const pressHandler = useCallback((event)=>{\n if (!store.showSuggestions) return;\n switch(event.key){\n case KEY_CODE.ARROW_UP:\n case KEY_CODE.ARROW_DOWN:\n event.preventDefault();\n arrowUpDownHandler(event.key);\n break;\n case KEY_CODE.ENTER:\n event.preventDefault();\n event.stopPropagation();\n propsOnChange?.(store.selectingSuggestion);\n confirmSuggestion(store.selectingSuggestion);\n break;\n case KEY_CODE.TAB:\n propsOnChange?.(store.selectingSuggestion);\n confirmSuggestion(store.selectingSuggestion);\n break;\n case KEY_CODE.ESC:\n event.stopPropagation();\n cancelSuggestion();\n break;\n }\n }, [\n store.showSuggestions,\n store.selectingSuggestion,\n arrowUpDownHandler,\n confirmSuggestion,\n propsOnChange,\n cancelSuggestion\n ]);\n useEffect(()=>{\n window.addEventListener('keydown', pressHandler, {\n capture: true\n });\n return ()=>{\n window.removeEventListener('keydown', pressHandler, {\n capture: true\n });\n };\n }, [\n pressHandler,\n store\n ]);\n};\n\nexport { useKeydown as default };\n//# sourceMappingURL=useKeydown.mjs.map\n","import contextBabylon from '@babylon/ui-kit-context';\nimport { useContext, useCallback, useRef, useEffect } from 'react';\nimport { useOnClickOutside, useDebounceValue } from 'usehooks-ts';\nimport { getSuggestions } from '../services/index.mjs';\nimport { useStore } from '../store/reducer.mjs';\nimport { collectionByGroup } from '../utils/index.mjs';\nimport { DEBOUNCE_DELAY, MIN_ITEMS_TO_SHOW } from '../utils/autocomplete.mjs';\nimport useKeydown from './useKeydown.mjs';\n\nconst useAutocomplete = (refSuggestions, { endpoint: { url, queryParams } = {}, value, onChange: propsOnChange, forceGetDataOnRender })=>{\n const usestore = useStore((state)=>({\n ...state,\n selectedSuggestion: value,\n value: value?.text ?? '',\n query: value?.text ?? ''\n }));\n const { store, closeSuggestions, setSuggestions, cancelSuggestion, setValue, setQuery, setPreviousValue, openSuggestions, confirmSuggestion } = usestore;\n useOnClickOutside(refSuggestions, cancelSuggestion);\n useKeydown(usestore, propsOnChange);\n const context = useContext(contextBabylon);\n const language = context?.LanguageValue?.toLocaleLowerCase() ?? 'es';\n const onClick = (refInput)=>{\n if (refInput?.current?.value) refInput.current.value = store.previousValue ?? '';\n };\n const onBlurHandler = ()=>{\n if (store.value.length > 0 && store.value.length < MIN_ITEMS_TO_SHOW && store.selectedSuggestion?.text) {\n setValue(store.selectedSuggestion?.text);\n } else if (store.value === '') {\n setValue(store.previousValue);\n setPreviousValue('');\n }\n };\n const onChange = useCallback((newValue)=>{\n confirmSuggestion(newValue);\n if (propsOnChange) {\n propsOnChange(newValue);\n }\n }, [\n confirmSuggestion,\n propsOnChange\n ]);\n const forcedGetDataOnRender = useRef(false);\n const [debouncedQuery] = useDebounceValue(store.query, DEBOUNCE_DELAY);\n const setPreviousValueHandler = useCallback(()=>{\n if (debouncedQuery?.length > 0 && (debouncedQuery != store.selectedSuggestion?.text || forceGetDataOnRender && !forcedGetDataOnRender.current)) setPreviousValue(debouncedQuery);\n }, [\n debouncedQuery,\n forceGetDataOnRender,\n setPreviousValue,\n store.selectedSuggestion?.text\n ]);\n const getData = useCallback(()=>{\n setPreviousValueHandler();\n if (store.suggestions.length) return;\n if (debouncedQuery.length >= MIN_ITEMS_TO_SHOW && debouncedQuery != store.selectedSuggestion?.text || forceGetDataOnRender && !forcedGetDataOnRender.current) {\n getSuggestions({\n query: debouncedQuery,\n language,\n ...queryParams\n }, context.BaseUrl, url).then(async (data)=>{\n const suggestionByType = await collectionByGroup(data.d);\n setSuggestions(suggestionByType);\n }).catch((err)=>{\n if (store.suggestions.length > 0) {\n setSuggestions([]);\n }\n console.error('[Autocomplete] ', err);\n });\n } else {\n if (store.suggestions.length > 0) {\n setSuggestions([]);\n }\n if (store.showSuggestions) {\n closeSuggestions();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n debouncedQuery,\n language,\n url,\n context.BaseUrl,\n setSuggestions,\n closeSuggestions\n ]);\n const searchSuggestion = useCallback(({ target: { value } })=>{\n if (value) {\n setValue(value);\n setQuery(value);\n openSuggestions();\n } else {\n setPreviousValue(store.selectedSuggestion?.text ?? '');\n if (store.value) setValue('');\n if (store.query) setQuery('');\n }\n }, [\n openSuggestions,\n setQuery,\n setValue,\n store.query,\n store.value,\n setPreviousValue,\n store.selectedSuggestion?.text\n ]);\n const isNewSuggestion = useCallback((autocompleteResult)=>value?.id !== autocompleteResult?.id, [\n value\n ]);\n // Update the internal state using the value prop\n useEffect(()=>{\n if (value) confirmSuggestion(value);\n if (!value) confirmSuggestion(undefined);\n }, [\n confirmSuggestion,\n value\n ]);\n useEffect(()=>{\n getData();\n }, [\n getData\n ]);\n return {\n ...usestore,\n searchSuggestion,\n isNewSuggestion,\n onChange,\n openSuggestions,\n onClick,\n onBlurHandler\n };\n};\n\nexport { useAutocomplete as default };\n//# sourceMappingURL=useAutocomplete.mjs.map\n","import { useInput } from '../../../../hooks/useInput/index.mjs';\n\nconst useFormAutocomplete = (props)=>{\n const { isHiddenRequired: _isHiddenRequired, ...rest } = props;\n const { field, error, hasError, label } = useInput(props);\n return {\n ...rest,\n ...field,\n hasError,\n label,\n error\n };\n};\n\nexport { useFormAutocomplete as default };\n//# sourceMappingURL=useFormAutocomplete.mjs.map\n","import { TooltipContent } from '@babylon/ui-kit-base/components/others/tooltip/components/view/styled';\nimport { InputWrapper, InputIcon, InputLabel } from '../../../../../input/styled.mjs';\nimport { FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { BorderRadius, Padding, Border } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport { css } from 'styled-components';\n\nconst liverPoolAutocompleteStyles = {\n AutocompleteBlock: ()=>/*#__PURE__*/ css([\n ``,\n `{--outline-color-focused:`,\n `;input{color:`,\n `;`,\n ` `,\n `}`,\n `{& i.nico-marker{color:`,\n `;}}}`,\n `{`,\n ` `,\n ` &.is-focused{`,\n `}}`\n ], InputWrapper, ({ theme })=>theme.colors.primary.base, ({ theme })=>theme.colors.grays.darker, FontMixin({\n size: 'medium',\n weight: 'regular'\n }), BorderRadius({\n all: '8px'\n }), InputIcon, ({ theme })=>theme.colors.primary.lighter, InputLabel, FontMixin({\n size: 'medium',\n height: 'base'\n }), Padding({\n bottom: '2px'\n }), Border({\n all: '8px'\n })),\n HeaderSuggestionDesktop: ()=>/*#__PURE__*/ css([\n `&:first-of-type{`,\n `}background-color:`,\n `;`,\n `;`,\n ``\n ], BorderRadius({\n topLeft: '1px'\n }), ({ theme })=>theme.colors.grays.lightestL, ({ theme })=>Border({\n bottom: `1px solid ${theme.colors.grays.lightestXL}`\n }), Padding({\n all: '12px'\n })),\n TooltipDesktop: ()=>/*#__PURE__*/ css([\n ``,\n ` `,\n `{--tooltip-content-border-radius:8px;&::-webkit-scrollbar{width:7px !important;}&::-webkit-scrollbar-thumb{background:`,\n ` !important;`,\n `}&::-webkit-scrollbar-track{background:`,\n ` !important;}}`\n ], BorderRadius({\n all: '8px'\n }), TooltipContent, ({ theme })=>theme.colors.grays.lightestXL, BorderRadius({\n all: '3px !important'\n }), ({ theme })=>theme.colors.grays.lightest),\n LabelSuggestionDesktop: ()=>/*#__PURE__*/ css([\n `--background-color-selected:`,\n `;`,\n ` `,\n ` color:`,\n `;strong{color:`,\n `;}&:hover{color:`,\n `;background-color:`,\n `;}`\n ], ({ theme })=>theme.colors.status.hovered, FontMixin({\n weight: 'regular'\n }), Padding({\n all: '12px',\n left: '24px'\n }), ({ theme })=>theme.colors.grays.darker, ({ theme })=>theme.colors.primary.lighter, ({ theme })=>theme.colors.grays.darker, ({ theme })=>theme.colors.status.hovered)\n};\n\nexport { liverPoolAutocompleteStyles as default };\n//# sourceMappingURL=liverpool.mjs.map\n","import { FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { Padding, Border } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport { css } from 'styled-components';\n\nconst veciAutocompleteStyles = {\n HeaderSuggestionDesktop: ()=>/*#__PURE__*/ css([\n ``,\n `;line-height:22px;`,\n `;`,\n ` color:`,\n `;`\n ], FontMixin({\n size: 'base'\n }), Padding({\n y: '12px'\n }), ({ theme })=>Border({\n y: `1px solid ${theme.colors.grays.lighter}`,\n x: '0'\n }), ({ theme })=>theme.colors.grays.dark),\n IconWrapperDesktop: ()=>/*#__PURE__*/ css([\n `color:`,\n `;`,\n `;font-size:18px;`,\n `;`\n ], ({ theme })=>theme.colors.grays.dark, FontMixin({\n height: 'base'\n }), Padding({\n right: '8px'\n })),\n LabelSuggestionDesktop: ()=>/*#__PURE__*/ css([\n `--background-color-selected:`,\n `;--text-color-selected:`,\n `;color:`,\n `;`,\n `;`,\n ` `,\n `;span > strong{color:var(--text-color-selected);}&:hover{color:`,\n `;background-color:`,\n `;}`\n ], ({ theme })=>theme.colors.green?.lighter, ({ theme })=>theme.colors.green?.darker, ({ theme })=>theme.colors.text.darker, FontMixin({\n height: 'base'\n }), Padding({\n all: '10px'\n }), ({ $highlight })=>$highlight && /*#__PURE__*/ css([\n `background-color:var(--background-color-selected);color:var(--text-color-selected);`,\n `;`\n ], FontMixin({\n weight: 'semiBold'\n })), ({ theme })=>theme.colors.text.dark, ({ theme })=>theme.colors.green?.lighter),\n TooltipDesktop: ()=>/*#__PURE__*/ css([\n `box-shadow:0px 2px 4px 0px rgba(0,0,0,0.25);`\n ])\n};\n\nexport { veciAutocompleteStyles as default };\n//# sourceMappingURL=veci.mjs.map\n","import { createThemes } from '@babylon/ui-kit-styles/common/themes';\nimport { ThemeId } from '@babylon/ui-kit-styles/types/theme';\nimport liverPoolAutocompleteStyles from './styles/liverpool.mjs';\nimport veciAutocompleteStyles from './styles/veci.mjs';\n\nconst autocompleteThemes = createThemes({\n [ThemeId.veci]: veciAutocompleteStyles,\n [ThemeId.partnershipsLiverpool]: liverPoolAutocompleteStyles\n});\n\nexport { autocompleteThemes as default };\n//# sourceMappingURL=index.mjs.map\n","import Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport Tooltip from '@babylon/ui-kit-base/components/others/tooltip';\nimport { TooltipContent, TooltipArrow } from '@babylon/ui-kit-base/components/others/tooltip/components/view/styled';\nimport { FlexMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { Padding, BorderRadius, Border } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport styled, { css } from 'styled-components';\nimport autocompleteThemes from './themes/index.mjs';\n\nconst TooltipDesktop = /*#__PURE__*/ styled(Tooltip).withConfig({\n displayName: \"TooltipDesktop\"\n})([\n `&&{--tooltip-popper-bottom-padding:6px;--tooltip-min-height:0px;`,\n `{`,\n ` min-width:575px;width:100%;max-height:400px;overflow-y:auto;text-align:left;&::-webkit-scrollbar{width:6px;}&::-webkit-scrollbar-thumb{background:`,\n `;`,\n `}&::-webkit-scrollbar-track{background:`,\n `;}}`,\n `{display:none;}}`,\n ``\n], TooltipContent, Padding({\n all: '0'\n}), ({ theme })=>theme.colors.grays.base, BorderRadius({\n all: '8px'\n}), ({ theme })=>theme.colors.grays.light, TooltipArrow, autocompleteThemes('TooltipDesktop'));\nconst AutocompleteBlock = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"AutocompleteBlock\"\n})([\n ``,\n ``\n], autocompleteThemes('AutocompleteBlock'));\nconst HeaderSuggestionDesktop = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"HeaderSuggestionDesktop\"\n})([\n ``,\n ` `,\n ` `,\n ` background-color:`,\n `;`,\n ` color:`,\n `;text-transform:uppercase;`,\n ``\n], FlexMixin({\n align: 'center'\n}), FontMixin({\n weight: 'bold',\n size: 'medium'\n}), Padding({\n y: '8px',\n x: '0'\n}), ({ theme })=>theme.colors.headerSuggestionSearcher?.background, ({ theme })=>Border({\n all: `1px solid ${theme.colors.grays.light}`\n }), ({ theme })=>theme.colors.headerSuggestionSearcher?.base, autocompleteThemes('HeaderSuggestionDesktop'));\nconst IconWrapperDesktop = /*#__PURE__*/ styled(Icon).withConfig({\n displayName: \"IconWrapperDesktop\"\n})([\n ``,\n ` `,\n ` color:`,\n `;`,\n ``\n], FontMixin({\n size: 'large'\n}), Padding({\n y: '0',\n x: '12px'\n}), ({ theme })=>theme.colors.grays.base, autocompleteThemes('IconWrapperDesktop'));\nconst LabelSuggestionDesktop = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"LabelSuggestionDesktop\"\n})([\n `--background-color-selected:`,\n `;--text-color-selected:`,\n `;`,\n ` overflow:hidden;`,\n ` text-overflow:ellipsis;white-space:nowrap;`,\n `;&:hover{background-color:`,\n `;color:`,\n `;cursor:pointer;}`,\n ``\n], ({ theme })=>theme.colors.secondary.light, ({ theme })=>theme.colors.grays.dark, FontMixin({\n size: 'medium',\n weight: 'light',\n height: 'medium'\n}), Padding({\n y: '12px',\n right: '20px',\n left: '44px'\n}), ({ $highlight })=>$highlight && /*#__PURE__*/ css([\n `background-color:var(--background-color-selected);color:var(--text-color-selected);`\n ]), ({ theme })=>theme.colors.secondary.light, ({ theme })=>theme.colors.grays.dark, autocompleteThemes('LabelSuggestionDesktop'));\n\nexport { AutocompleteBlock, HeaderSuggestionDesktop, IconWrapperDesktop, LabelSuggestionDesktop, TooltipDesktop };\n//# sourceMappingURL=styled.mjs.map\n","import { jsxs, jsx, Fragment } from 'react/jsx-runtime';\nimport contextBabylon from '@babylon/ui-kit-context';\nimport ScrollIntoView from '@babylon/ui-kit-structures/components/others/scroll-into-view';\nimport { forwardRef, useContext, useRef, useImperativeHandle, useCallback, Children } from 'react';\nimport Input from '../../../input/index.mjs';\nimport useAutocomplete from '../../hooks/useAutocomplete.mjs';\nimport useFormAutocomplete from '../../hooks/useFormAutocomplete.mjs';\nimport { boldText } from '../../utils/index.mjs';\nimport { HEADER_ICON, autocompleteLiterals } from '../../utils/autocomplete.mjs';\nimport { AutocompleteBlock, TooltipDesktop, HeaderSuggestionDesktop, IconWrapperDesktop, LabelSuggestionDesktop } from './styled.mjs';\n\nconst AutocompleteDesktop = /*#__PURE__*/ forwardRef((props, ref)=>{\n const { Language } = useContext(contextBabylon);\n const { label, icon, literals = {}, hasError = false, error, disabled = false, onBlur, hideHeaderSuggestion = false } = props;\n const refInput = useRef(null);\n useImperativeHandle(ref, ()=>refInput.current);\n const refSuggestions = useRef(null);\n const { store, searchSuggestion, onChange, onClick, onBlurHandler } = useAutocomplete(refSuggestions, props);\n const onSuggestionClick = useCallback((suggestion)=>()=>{\n onChange(suggestion);\n }, [\n onChange\n ]);\n const handleOnBlur = ()=>{\n if (onBlur) onBlur();\n onBlurHandler();\n };\n return /*#__PURE__*/ jsxs(AutocompleteBlock, {\n \"data-testid\": \"Autocomplete\",\n id: \"autocomplete\",\n children: [\n /*#__PURE__*/ jsx(Input, {\n ref: refInput,\n label: label,\n value: store.value ?? '',\n onChange: searchSuggestion,\n icon: icon,\n hasError: hasError,\n error: error,\n autoComplete: \"off\",\n disabled: disabled,\n onClick: ()=>onClick(refInput),\n onBlur: handleOnBlur\n }),\n store.showSuggestions && /*#__PURE__*/ jsx(\"div\", {\n ref: refSuggestions,\n children: /*#__PURE__*/ jsx(TooltipDesktop, {\n referenceElement: refInput.current,\n isNegative: false,\n placement: \"bottom-start\",\n children: Children.toArray(store.suggestions?.map(({ key, suggestions })=>/*#__PURE__*/ jsxs(Fragment, {\n children: [\n !hideHeaderSuggestion && /*#__PURE__*/ jsxs(HeaderSuggestionDesktop, {\n \"data-testid\": \"item-header-suggestion\",\n children: [\n /*#__PURE__*/ jsx(IconWrapperDesktop, {\n className: `nico-${HEADER_ICON[key]}`\n }),\n literals?.[key] ? literals?.[key] : autocompleteLiterals[Language.toLowerCase()][key]\n ]\n }),\n Children.toArray(suggestions.map((suggestion)=>{\n const isSelectSuggestion = store.selectingSuggestion?.id === suggestion.id;\n return /*#__PURE__*/ jsx(ScrollIntoView, {\n scrollToView: isSelectSuggestion,\n children: /*#__PURE__*/ jsx(LabelSuggestionDesktop, {\n $highlight: isSelectSuggestion,\n onClick: onSuggestionClick(suggestion),\n children: /*#__PURE__*/ jsx(\"span\", {\n dangerouslySetInnerHTML: {\n __html: boldText(suggestion.text, store.query)\n }\n })\n })\n });\n }))\n ]\n })))\n })\n })\n ]\n });\n});\nAutocompleteDesktop.displayName = 'AutocompleteDesktop';\nconst FormAutocompleteDesktop = (props)=>{\n const finalProps = useFormAutocomplete(props);\n return /*#__PURE__*/ jsx(AutocompleteDesktop, {\n ...finalProps\n });\n};\n\nexport { FormAutocompleteDesktop, AutocompleteDesktop as default };\n//# sourceMappingURL=index.mjs.map\n","import Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport Tooltip from '@babylon/ui-kit-base/components/others/tooltip';\nimport { TooltipBox, TooltipArrow } from '@babylon/ui-kit-base/components/others/tooltip/components/view/styled';\nimport { FlexMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { BorderRadius } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport styled, { css } from 'styled-components';\nimport Input from '../../../input/index.mjs';\n\nconst TooltipMobile = /*#__PURE__*/ styled(Tooltip).withConfig({\n displayName: \"TooltipMobile\"\n})([\n `&&{--tooltip-filter:unset;--tooltip-max-width:100%;--tooltip-min-height:100%;--tooltip-popper-bottom-padding:0px;--tooltip-content-border-radius:0px;--tooltip-content-padding:0px;`,\n `{width:100%;overflow-y:auto;&::-webkit-scrollbar{width:6px;}&::-webkit-scrollbar-thumb{background:`,\n `;`,\n `}&::-webkit-scrollbar-track{background:`,\n `;}}`,\n `{display:none;}}`\n], TooltipBox, ({ theme })=>theme.colors.grays.base, BorderRadius({\n all: '10px'\n}), ({ theme })=>theme.colors.grays.light, TooltipArrow);\nconst HeaderSuggestionMobile = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"HeaderSuggestionMobile\"\n})([\n ``,\n ` `,\n ` background-color:`,\n `;border:1px solid `,\n `;color:`,\n `;text-transform:uppercase;padding:10px 0;`\n], FlexMixin({\n align: 'center'\n}), FontMixin({\n weight: 'regular',\n size: 'base'\n}), ({ theme })=>theme.colors.headerSuggestionSearcher?.background, ({ theme })=>theme.colors.grays.light, ({ theme })=>theme.colors.headerSuggestionSearcher?.base);\nconst IconWrapperMobile = /*#__PURE__*/ styled(Icon).withConfig({\n displayName: \"IconWrapperMobile\"\n})([\n ``,\n ` color:`,\n `;padding:0 12px;`\n], FontMixin({\n size: 'large'\n}), ({ theme })=>theme.colors.grays.base);\nconst LabelSuggestionMobile = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"LabelSuggestionMobile\"\n})([\n ``,\n ` overflow:hidden;padding:12px 20px 12px 44px;text-overflow:ellipsis;white-space:nowrap;color:`,\n `;`,\n `;&:hover{background-color:`,\n `;color:`,\n `;cursor:pointer;}`\n], FontMixin({\n size: 'base',\n weight: 'light',\n height: 'medium'\n}), ({ theme })=>theme.colors.grays.darker, ({ theme, $highlight })=>$highlight && /*#__PURE__*/ css([\n `background-color:`,\n `;color:`,\n `;`\n ], theme.colors.secondary.light, theme.colors.grays.dark), ({ theme })=>theme.colors.secondary.light, ({ theme })=>theme.colors.grays.dark);\nconst AutocompleteInputModal = /*#__PURE__*/ styled(Input).withConfig({\n displayName: \"AutocompleteInputModal\"\n})([\n `border-bottom:1px solid `,\n `;`\n], ({ theme })=>theme.colors.grays.light);\n\nexport { AutocompleteInputModal, HeaderSuggestionMobile, IconWrapperMobile, LabelSuggestionMobile, TooltipMobile };\n//# sourceMappingURL=styled.mjs.map\n","import { jsxs, jsx, Fragment } from 'react/jsx-runtime';\nimport contextBabylon from '@babylon/ui-kit-context';\nimport ScrollIntoView from '@babylon/ui-kit-structures/components/others/scroll-into-view';\nimport { forwardRef, useRef, useImperativeHandle, useContext, useCallback, Children } from 'react';\nimport useAutocomplete from '../../hooks/useAutocomplete.mjs';\nimport useFormAutocomplete from '../../hooks/useFormAutocomplete.mjs';\nimport { boldText } from '../../utils/index.mjs';\nimport { HEADER_ICON, autocompleteLiterals } from '../../utils/autocomplete.mjs';\nimport { AutocompleteInputModal, TooltipMobile, HeaderSuggestionMobile, IconWrapperMobile, LabelSuggestionMobile } from './styled.mjs';\n\nconst AutocompleteMobile = /*#__PURE__*/ forwardRef((props, ref)=>{\n const refInputMobile = useRef(null);\n useImperativeHandle(ref, ()=>refInputMobile.current);\n const { Language } = useContext(contextBabylon);\n const { disabled = false, literals = {}, persistentMenu, icon, onBlur, hideHeaderSuggestion = false } = props;\n const refSuggestionMobile = useRef(null);\n const autocomplete = useAutocomplete(refSuggestionMobile, props);\n const { store, searchSuggestion, onChange, openSuggestions } = autocomplete;\n const onSuggestionClick = useCallback((suggestion)=>()=>{\n onChange(suggestion);\n }, [\n onChange\n ]);\n const handleOnFocus = useCallback((e)=>{\n refInputMobile.current?.select();\n openSuggestions();\n e.target.select();\n }, [\n openSuggestions\n ]);\n return /*#__PURE__*/ jsxs(\"div\", {\n \"data-testid\": \"Autocomplete\",\n children: [\n /*#__PURE__*/ jsx(AutocompleteInputModal, {\n ref: refInputMobile,\n value: store.value ?? '',\n onChange: searchSuggestion,\n onBlur: onBlur,\n icon: icon,\n onFocus: handleOnFocus,\n autoComplete: \"off\",\n autoFocus: true,\n disabled: disabled,\n \"data-testid\": \"AutocompleteInputModal\",\n isFocused: false\n }),\n (store.showSuggestions || persistentMenu) && /*#__PURE__*/ jsx(TooltipMobile, {\n referenceElement: refInputMobile.current,\n isNegative: false,\n placement: \"bottom-start\",\n children: Children.toArray(store.suggestions?.map(({ key, suggestions })=>/*#__PURE__*/ jsxs(Fragment, {\n children: [\n !hideHeaderSuggestion && /*#__PURE__*/ jsxs(HeaderSuggestionMobile, {\n \"data-testid\": \"item-header-suggestion\",\n children: [\n /*#__PURE__*/ jsx(IconWrapperMobile, {\n className: `nico-${HEADER_ICON[key]}`\n }),\n literals?.[key] ? literals?.[key] : autocompleteLiterals[Language.toLowerCase()][key]\n ]\n }),\n Children.toArray(suggestions.map((suggestion)=>{\n const isSelectSuggestion = store.selectingSuggestion?.id === suggestion.id;\n return /*#__PURE__*/ jsx(ScrollIntoView, {\n scrollToView: isSelectSuggestion,\n children: /*#__PURE__*/ jsx(LabelSuggestionMobile, {\n $highlight: isSelectSuggestion,\n onClick: onSuggestionClick(suggestion),\n children: /*#__PURE__*/ jsx(\"span\", {\n dangerouslySetInnerHTML: {\n __html: boldText(suggestion.text, store.query)\n }\n })\n })\n });\n }))\n ]\n })))\n })\n ]\n });\n});\nAutocompleteMobile.displayName = 'AutocompleteMobile';\nconst FormAutocompleteMobile = (props)=>{\n const finalProps = useFormAutocomplete(props);\n return /*#__PURE__*/ jsx(AutocompleteMobile, {\n ...finalProps\n });\n};\n\nexport { FormAutocompleteMobile, AutocompleteMobile as default };\n//# sourceMappingURL=index.mjs.map\n","import { generateViewsComponent } from '@babylon/ui-kit-helpers/views';\nimport AutocompleteDesktop, { FormAutocompleteDesktop } from './views/desktop/index.mjs';\nimport AutocompleteMobile, { FormAutocompleteMobile } from './views/mobile/index.mjs';\n\nconst Autocomplete = generateViewsComponent(AutocompleteDesktop, AutocompleteMobile);\nconst FormAutocomplete = generateViewsComponent(FormAutocompleteDesktop, FormAutocompleteMobile);\n\nexport { FormAutocomplete, Autocomplete as default };\n//# sourceMappingURL=index.mjs.map\n","import Image from '@babylon/ui-kit-base/components/multimedia/image';\nimport { TooltipContent } from '@babylon/ui-kit-base/components/others/tooltip/styled';\nimport Title from '@babylon/ui-kit-base/components/text/title';\nimport { FormAutocomplete } from '@babylon/ui-kit-forms/components/inputs/autocomplete';\nimport { LabelSuggestionDesktop } from '@babylon/ui-kit-forms/components/inputs/autocomplete/views/desktop/styled';\nimport { InputComponent } from '@babylon/ui-kit-forms/components/inputs/input/styled';\nimport { FlexMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { Border, BorderRadius, Margin, Padding } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport { rgba } from 'polished';\nimport styled from 'styled-components';\n\nexport const FaqsDesktopSearcherWrapper = styled.div<{ level: number }>`\n\t${Padding({ x: '0', y: '0' })}\n\t${({ level }) => Margin({ bottom: level === 3 ? '0px' : '60px' })};\n\t${FlexMixin({ type: 'flex', direction: 'column', align: 'center' })};\n\twidth: min(700px, 100%);\n\t${({ level }) => level === 3 && 'justify-content: center;'}\n\t${({ theme }) => theme.media.desktop.up} {\n\t\t${Margin({ left: '150px' })};\n\t}\n`;\n\nexport const FaqsDesktopSearcher = styled.section<{ backgroundImage: string; level: number }>`\n\t${({ theme }) => Border({ all: `1px solid ${theme.border.color.base}` })};\n\t${({ level }) => (level === 3 ? 'height: 135px;' : 'height: 275px;')}\n\t${FlexMixin({ type: 'flex', align: 'center', justify: 'center' })};\n\t${Padding({ x: '0px' })};\n\toverflow: hidden;\n\tbackground-color: ${({ theme }) => theme.bodyBgColor};\n\tbackground-image: url(${props => props.backgroundImage});\n\tbackground-position: 50%;\n\tbackground-repeat: no-repeat;\n\tbackground-size: cover;\n\t${({ theme }) => theme.media.tabletLandscape.only} {\n\t\theight: 200px;\n\t}\n`;\n\nexport const FaqsDesktopSearcherTitle = styled(Title)`\n\t${Margin({ top: '76px' })}\n\th2 {\n\t\t${FontMixin({ height: 'xl', weight: 'medium' })};\n\t\tfont-family: ${({ theme }) => theme.font.family.secondary};\n\t\tcolor: ${({ theme }) => theme.colors.status.info};\n\t}\n`;\n\nexport const FaqsDesktopSearcherFormContainer = styled.div`\n\t${Margin({ all: 'auto' })};\n\t${FlexMixin({\n\t\tjustify: 'center',\n\t\talign: 'center',\n\t})}\n\n\tinput {\n\t\t${({ theme }) => Border({ all: `1px solid ${theme.colors.grays.base}` })};\n\t\t${BorderRadius({ all: '4px' })};\n\t\t${Border({ all: '1px solid' })}\n\t\tborder-color: ${({ theme }) => rgba(theme.colors.status.info, 0.3)};\n\t\tbackground: ${({ theme }) => theme.colors.white.base};\n\t\twidth: 700px;\n\t\theight: 52px;\n\t}\n\n\t${InputComponent} {\n\t\t${FontMixin({ size: 'base', weight: 'light', height: 'base' })};\n\t\t${Padding({ all: '20px' })}\n\t\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t}\n\n\t${TooltipContent} {\n\t\t${Margin({ top: '4px' })};\n\t}\n\n\t${LabelSuggestionDesktop} {\n\t\t${FontMixin({ size: 'base', weight: 'light', height: 'base' })};\n\t\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t\t${Padding({ all: '20px' })}\n\t}\n\n\t.has-error input {\n\t\tborder-color: ${({ theme }) => rgba(theme.colors.status.info, 0.3)};\n\t}\n\n\t[data-popper-placement^='bottom'] {\n\t\t${Padding({ y: '3px' })}\n\t\tdiv:has(> div#scrollIntoView ) {\n\t\t\tmin-width: 700px;\n\t\t}\n\t}\n\n\t${({ theme }) => theme.media.down('tablet')} {\n\t\tinput {\n\t\t\tmax-width: 500px;\n\t\t}\n\t\t[data-popper-placement^='bottom'] {\n\t\t\t${Padding({ y: '3px' })}\n\t\t\tdiv:has(> div#scrollIntoView ) {\n\t\t\t\tmin-width: 500px;\n\t\t\t}\n\t\t}\n\t}\n`;\n\nexport const FaqsDesktopSearcherInput = styled(FormAutocomplete)`\n\t${Margin({ all: 'auto' })};\n`;\n\nexport const FaqsDesktopSearcherImageWrapper = styled.div<{ level: number }>`\n\tmin-width: 240px;\n\theight: 264px;\n\t${Margin({ top: '50px', left: '50px' })}\n\t${({ theme }) => theme.media.tabletLandscape.only} {\n\t\tdisplay: none;\n\t}\n\t${({ theme }) => theme.media.down('xl')} {\n\t\tdisplay: none;\n\t}\n\t${({ level }) => level === 3 && 'display: none;'}\n`;\n\nexport const FaqsDesktopSearcherImage = styled(Image)``;\n","import Form from '@babylon/ui-kit-forms/components/others/form';\nimport { maxLength, minLength } from '@babylon/ui-kit-forms/helpers/validate';\nimport { nullFunction } from '@babylon/ui-kit-helpers/null';\nimport type { FC } from 'react';\nimport { useMemo } from 'react';\n\nimport useResizeImage from '@/hooks/useResizeImage';\n\nimport type { IFaqsSearcherProps } from '../../types';\nimport { EndpointHandler, redirectToFaqHandler } from '../../utils';\nimport * as S from './styled';\n\nexport const FaqsSearcherDesktop: FC = ({ props = {} }) => {\n\tconst { config = {}, backgroundImage, image } = props;\n\tconst { literals = {}, endpoints = [{ getQuery: {} }], level = 1 } = config;\n\tconst { titleLabel = '', placeholderLabel = '' } = literals;\n\tconst [{ getQuery = {} }] = endpoints;\n\tconst { url = '', _params = [] } = getQuery;\n\tconst backgroundUri = useResizeImage(backgroundImage?.src);\n\tconst endpoint = useMemo(() => EndpointHandler(url, _params), [url, _params]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{level !== 3 && }\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t redirectToFaqHandler(value)}\n\t\t\t\t\t\t\tpersistentMenu={true}\n\t\t\t\t\t\t\thideHeaderSuggestion\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t{image?.src && (\n\t\t\t\t\n\t\t\t\t\t{level !== 3 && }\n\t\t\t\t\n\t\t\t)}\n\t\t
\n\t);\n};\n\nexport default FaqsSearcherDesktop;\n","import Title from '@babylon/ui-kit-base/components/text/title';\nimport { FormAutocomplete } from '@babylon/ui-kit-forms/components/inputs/autocomplete';\nimport {\n\tLabelSuggestionMobile,\n\tTooltipMobile,\n} from '@babylon/ui-kit-forms/components/inputs/autocomplete/views/mobile/styled';\nimport { InputComponent } from '@babylon/ui-kit-forms/components/inputs/input/styled';\nimport Form from '@babylon/ui-kit-forms/components/others/form';\nimport Modal from '@babylon/ui-kit-structures/components/others/modal';\nimport {\n\tModalCloseButton,\n\tModalHeader,\n\tModalHeaderText,\n} from '@babylon/ui-kit-structures/components/others/modal/components/header/styled';\nimport { FlexMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { Border, BorderRadius, Margin, Padding } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport { rgba } from 'polished';\nimport styled from 'styled-components';\n\nexport const FaqsMobileSearcherWrapper = styled.div`\n\t${Padding({ x: '0', y: '0' })}\n\t${Margin({ x: '0', y: 'auto' })}\n\n\twidth: 100%;\n\tform {\n\t\twidth: 100%;\n\t}\n`;\n\nexport const FaqsMobileSearcher = styled.section<{ backgroundImage: string; level: number }>`\n\t${FlexMixin({ direction: 'column', justify: 'center', align: 'center' })}\n\t${Padding({ x: '20px', y: '24px' })}\n\twidth: 100%;\n\theight: 220px;\n\tbackground-color: ${({ theme }) => theme.bodyBgColor};\n\tbackground-image: url(${props => props.backgroundImage});\n\tbackground-position: 50%;\n\tbackground-repeat: no-repeat;\n\tbackground-size: cover;\n\tdisplay: flex;\n\tjustify-content: center;\n\n\t${({ level }) =>\n\t\tlevel === 3 &&\n\t\t`\n\t\theight: 100%;\n\t`}\n`;\n\nexport const FaqsMobileSearcherTitle = styled(Title)`\n\t${Margin({ x: '20px' })}\n\th2 {\n\t\t${FontMixin({ height: 'larger', weight: 'medium' })};\n\t\tfont-family: ${({ theme }) => theme.font.family.secondary};\n\t\tcolor: ${({ theme }) => theme.colors.status.info};\n\t}\n`;\n\nexport const FaqsMobileSearcherFormContainer = styled.div`\n\twidth: 100%;\n\t${Margin({ all: 'auto' })};\n\t${FlexMixin({\n\t\tjustify: 'center',\n\t\talign: 'center',\n\t})}\n\tinput {\n\t\t${({ theme }) => Border({ all: `1px solid ${theme.colors.grays.base}` })};\n\t\t${BorderRadius({ all: '30px' })};\n\t\tborder-color: ${({ theme }) => rgba(theme.colors.status.info, 0.3)};\n\t\tcolor: ${({ theme }) => theme.colors.grays.base};\n\t\tbackground: ${({ theme }) => theme.colors.white.base};\n\t\twidth: 100%;\n\t\theight: 52px;\n\t}\n\tdiv {\n\t\twidth: calc(100% - 14px);\n\t\t${Margin({ x: 'auto' })};\n\t\t${Padding({ x: '0' })};\n\t\t${Border({ all: '0' })};\n\t\t${BorderRadius({ all: '2px' })};\n\t\twhite-space: normal;\n\t\tdiv#scrollIntoView {\n\t\t\t${Padding({ all: '0' })};\n\t\t\ttext-align: left;\n\t\t}\n\t}\n\t[data-popper-placement^='bottom'] {\n\t\t${Padding({ y: '3px' })}\n\t\tdiv#scrollIntoView {\n\t\t\tborder: 1px solid ${({ theme }) => theme.colors.grays.base};\n\t\t\tbackground: ${({ theme }) => theme.colors.grays.lightest};\n\t\t\t${Padding({ all: '0' })};\n\t\t\twidth: 100%;\n\t\t}\n\t}\n`;\n\nexport const FaqsButtonToggleModal = styled.button`\n\twidth: 100%;\n`;\n\nexport const FaqsButtonTogleModalContent = styled.span`\n\t${Border({ all: `1px solid` })};\n\tborder-color: ${({ theme }) => rgba(theme.colors.status.info, 0.3)};\n\t${FlexMixin({ align: 'center' })}\n\t${BorderRadius({ all: '4px' })}\n\t${FontMixin({ size: 'base', weight: 'light', height: 'base' })}\n\t${Padding({ x: '20px', y: '16px' })}\n\tbackground-color: ${({ theme }) => theme.colors.white.base};\n\tcolor: ${({ theme }) => theme.colors.grays.base};\n\theight: 60px;\n\twidth: 100%;\n`;\n\nexport const FaqsButtonSearcher = styled(Modal)`\n\t${ModalHeader} {\n\t\tbackground-color: ${({ theme }) => theme.colors.white.base};\n\t\tborder-bottom: 1px solid ${({ theme }) => theme.colors.grays.light};\n\t}\n\n\t${ModalHeaderText} {\n\t\t${FontMixin({ size: 'base', weight: 'medium', height: 'base' })}\n\t\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t\tpadding-left: 52px;\n\t}\n\n\t${ModalCloseButton} {\n\t\tcolor: ${({ theme }) => theme.colors.grays.base};\n\t}\n\n\t${InputComponent} {\n\t\t${FontMixin({ size: 'medium', weight: 'light', height: 'base' })};\n\t\t${Padding({ all: '16px' })}\n\t\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t}\n\n\t${TooltipMobile} {\n\t\t${({ theme }) => Border({ top: `1px solid ${theme.colors.grays.base}` })};\n\t}\n\n\t${LabelSuggestionMobile} {\n\t\t${FontMixin({ size: 'base', weight: 'light', height: 'base' })};\n\t\tcolor: ${({ theme }) => theme.colors.grays.darker};\n\t\t${Padding({ all: '16px' })}\n\t}\n`;\n\nexport const FaqsMobileSearcherInput = styled(FormAutocomplete)`\n\twidth: 100%;\n\t${Margin({\n\t\tall: 'auto',\n\t})};\n`;\n\nexport const FaqsMobileSearcherForm = styled(Form)`\n\twidth: 100%;\n`;\n","import { maxLength, minLength } from '@babylon/ui-kit-forms/helpers/validate';\nimport { nullFunction } from '@babylon/ui-kit-helpers/null';\nimport type { FC } from 'react';\nimport { useMemo } from 'react';\nimport { useBoolean } from 'usehooks-ts';\n\nimport useResizeImage from '@/hooks/useResizeImage';\n\nimport type { IFaqsSearcherProps } from '../../types';\nimport { EndpointHandler, redirectToFaqHandler } from '../../utils';\nimport * as S from './styled';\n\nexport const FaqsSearcherMobile: FC = ({ props = {} }) => {\n\tconst { config = {}, backgroundImage } = props;\n\tconst { literals = {}, endpoints = [{ getQuery: {} }], level = 1 } = config;\n\tconst { titleLabel = '', placeholderLabel = '' } = literals;\n\tconst [{ getQuery = {} }] = endpoints;\n\tconst { url = '', _params = [] } = getQuery;\n\tconst backgroundUri = useResizeImage(backgroundImage?.src);\n\tconst endpoint = useMemo(() => EndpointHandler(url, _params), [url, _params]);\n\tconst { value: isVisible, toggle: toggleVisibility } = useBoolean();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{level !== 3 && }\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{placeholderLabel}\n\t\t\t\t\t\t\n\t\t\t\t\t\t redirectToFaqHandler(value)}\n\t\t\t\t\t\t\t\t\thideHeaderSuggestion\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcolor='primary'\n\t\t\t\t\t\t\tcenterHeaderTitle\n\t\t\t\t\t\t\theader={placeholderLabel}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default FaqsSearcherMobile;\n","import { generateViewsComponent } from '@babylon/ui-kit-helpers/views';\n\nimport FaqsSearcherDesktop from './views/desktop';\nimport FaqsSearcherMobile from './views/mobile';\n\nexport const FaqsSearcher = generateViewsComponent(FaqsSearcherDesktop, FaqsSearcherMobile);\n\nexport default FaqsSearcher;\n","import { BreadcrumbsItem } from '@babylon/ui-kit-common/components/others/breadcrumbs/styled';\nimport Section from '@babylon/ui-kit-structures/components/others/section';\nimport { FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { Margin } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport { SectionContainer } from '@babylon/ui-kit-styles/common/mixins/section.styled';\nimport styled from 'styled-components';\n\nexport const MainContainer = styled.main`\n\tbackground-color: ${({ theme }) => theme.bodyBgColor};\n`;\n\nexport const FaqsSearcher = styled(Section)``;\n\nexport const Breadcrumbs = styled(SectionContainer)`\n\t${Margin({ bottom: '40px' })};\n\ttext-transform: capitalize;\n\t${BreadcrumbsItem} {\n\t\t${FontMixin({ weight: 'medium', size: 'medium' })}\n\t\ta {\n\t\t\t${FontMixin({ weight: 'light' })}\n\t\t}\n\t\t&:last-child {\n\t\t\t> span {\n\t\t\t\toverflow: hidden;\n\t\t\t\tdisplay: inline-block;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\tmax-width: 600px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\t}\n`;\n\nexport const FaqsSectionContainer = styled(Section)`\n\t${Margin({ bottom: '0px' })};\n`;\n\nexport const FaqsOtherHelp = styled(Section)`\n\t${Margin({ bottom: '0px' })};\n`;\n","import Breadcrumbs from '@babylon/ui-kit-common/components/others/breadcrumbs';\nimport type { BreadcrumbsProps } from '@babylon/ui-kit-common/components/others/breadcrumbs/types';\nimport ScrollToTop from '@babylon/ui-kit-common/components/others/scroll-to-top';\nimport withHydrationOnDemand from '@babylon/ui-kit-hocs/hydration-on-demand/withHydrationOnDemand';\nimport type { FC } from 'react';\n\nimport Faqs from '@/components/faqs';\nimport FaqsOtherHelp from '@/components/faqs-other-help';\nimport type { IFaqsOtherHelpProps } from '@/components/faqs-other-help/types';\nimport FaqsSearcher from '@/components/faqs-searcher';\nimport type { IFaqsSearcherProps } from '@/components/faqs-searcher/types';\nimport type { IFaqsPropsComponent } from '@/components/faqs/types';\n\nimport { parseRootProps } from '../../../../utils/render/parse';\nimport * as S from './styled';\nimport type { ComponentDesktopMap, FaqsDesktopProps } from './types';\n\nconst BreadcrumbsHydration = withHydrationOnDemand()(Breadcrumbs);\nconst FaqsSearcherHydration = withHydrationOnDemand()(FaqsSearcher);\nconst FaqsHydration = withHydrationOnDemand()(Faqs);\nconst FaqsOtherHelpHydration = withHydrationOnDemand()(FaqsOtherHelp);\n\nexport const FaqsDesktop: FC = ({ props }) => {\n\tconst { faqs, faqsOtherHelp, faqsSearcher, breadcrumbs } = parseRootProps(props, {\n\t\t'faqs-searcher': 'faqsSearcher',\n\t\tbreadcrumbs: 'breadcrumbs',\n\t\tfaqs: 'faqs',\n\t\t'faqs-other-help': 'faqsOtherHelp',\n\t});\n\tconst faqsSearcherByLvl = {\n\t\t...faqsSearcher,\n\t\tprops: {\n\t\t\t...faqsSearcher?.props,\n\t\t\tconfig: {\n\t\t\t\t...faqsSearcher?.props?.config,\n\t\t\t\tlevel: faqs?.props?.config?.level,\n\t\t\t},\n\t\t},\n\t};\n\treturn (\n\t\t\n\t\t\t{faqsSearcher && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{breadcrumbs && faqs?.props?.config?.level !== 1 && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{faqs && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{faqsOtherHelp && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default FaqsDesktop;\n","import { BreadcrumbsItem } from '@babylon/ui-kit-common/components/others/breadcrumbs/styled';\nimport { FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport styled from 'styled-components';\n\nexport const MainContainer = styled.main`\n\tbackground-color: ${({ theme }) => theme.colors.white.base};\n`;\n\nexport const MFaqsSearcher = styled.section``;\nexport const MBreadCrumbs = styled.section`\n\t${BreadcrumbsItem} {\n\t\ttext-transform: capitalize;\n\t\ta {\n\t\t\t${FontMixin({ weight: 'regular' })}\n\t\t}\n\t\tspan {\n\t\t\t${FontMixin({ weight: 'medium' })}\n\t\t\talign-items: center;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t\t&:last-child {\n\t\t\t> span {\n\t\t\t\twidth: 100%;\n\t\t\t\tmax-width: 300px;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\toverflow: hidden;\n\t\t\t}\n\t\t}\n\t}\n`;\nexport const MFaqsContainer = styled.section``;\nexport const MFaqsOtherHelps = styled.section``;\n","import Breadcrumbs from '@babylon/ui-kit-common/components/others/breadcrumbs';\nimport type { BreadcrumbsProps } from '@babylon/ui-kit-common/components/others/breadcrumbs/types';\nimport ScrollToTop from '@babylon/ui-kit-common/components/others/scroll-to-top';\nimport withHydrationOnDemand from '@babylon/ui-kit-hocs/hydration-on-demand/withHydrationOnDemand';\nimport type { FC } from 'react';\n\nimport Faqs from '@/components/faqs';\nimport FaqsOtherHelp from '@/components/faqs-other-help';\nimport type { IFaqsOtherHelpProps } from '@/components/faqs-other-help/types';\nimport FaqsSearcher from '@/components/faqs-searcher';\nimport type { IFaqsSearcherProps } from '@/components/faqs-searcher/types';\nimport type { IFaqsPropsComponent } from '@/components/faqs/types';\n\nimport { parseRootProps } from '../../../../utils/render/parse';\nimport * as S from './styled';\nimport type { ComponentMobileMap, FaqsMobileProps } from './types';\n\nconst BreadcrumbsHydration = withHydrationOnDemand()(Breadcrumbs);\nconst FaqsSearcherHydration = withHydrationOnDemand()(FaqsSearcher);\nconst FaqsHydration = withHydrationOnDemand()(Faqs);\nconst FaqsOtherHelpHydration = withHydrationOnDemand()(FaqsOtherHelp);\n\nexport const FaqsMobile: FC = ({ props }) => {\n\tconst { mfaqs, mfaqsSearcher, mfaqsOtherHelp, mBreadcrumbs } = parseRootProps(props, {\n\t\t'm-faqs-searcher': 'mfaqsSearcher',\n\t\t'm-faqs-level1': 'mfaqs',\n\t\t'm-faqs-level2': 'mfaqs',\n\t\t'm-faqs-level3': 'mfaqs',\n\t\t'm-faqs-other-help': 'mfaqsOtherHelp',\n\t\t'm-breadcrumbs': 'mBreadcrumbs',\n\t});\n\tconst mfaqsSearcherByLvl = {\n\t\t...mfaqsSearcher,\n\t\tprops: {\n\t\t\t...mfaqsSearcher?.props,\n\t\t\tconfig: {\n\t\t\t\t...mfaqsSearcher?.props?.config,\n\t\t\t\tlevel: mfaqs?.props?.config?.level,\n\t\t\t},\n\t\t},\n\t};\n\treturn (\n\t\t\n\t\t\t{mfaqsSearcher && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{mBreadcrumbs && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{mfaqs && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{mfaqsOtherHelp && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default FaqsMobile;\n","import { generateViewsComponent } from '@babylon/ui-kit-helpers/views';\n\nimport FaqsDesktop from './views/desktop';\nimport FaqsMobile from './views/mobile';\n\nexport const MainFaqs = generateViewsComponent(FaqsDesktop, FaqsMobile);\n\nexport * from './types';\nexport default MainFaqs;\n","import { DEVICES } from '@babylon/ui-kit-context/types';\nimport type { BaseTemplateLogitravelProps } from '@babylon/ui-kit-layout/components/logitravel/base-template/types';\n\nimport type { FaqsDesktopProps, FaqsMobileProps } from '@/pages/faqs';\n\nimport type { AppProps } from '.';\n\nexport const transformProps = ({ root, context }: AppProps) => {\n\tconst isMobile = context.DeviceClass === DEVICES.mobile;\n\n\tif (isMobile) {\n\t\tconst typedRoot = root as FaqsMobileProps;\n\n\t\tconst templateProps: BaseTemplateLogitravelProps = {\n\t\t\tcontext,\n\t\t\tmHeader: typedRoot.props.header,\n\t\t\tmFooter: typedRoot.props.footer,\n\t\t};\n\n\t\treturn { templateProps, FaqsProps: typedRoot };\n\t}\n\n\tconst typedRoot = root as FaqsDesktopProps;\n\tconst { header, footer } = typedRoot.props;\n\tconst templateProps: BaseTemplateLogitravelProps = { context, header, footer };\n\n\treturn { templateProps, FaqsProps: typedRoot };\n};\n","import type { ContextBabylonProps } from '@babylon/ui-kit-context/types';\nimport BaseTemplateLogitravel from '@babylon/ui-kit-layout/components/logitravel/base-template';\nimport type { FC } from 'react';\n\nimport type { FaqsDesktopProps, FaqsMobileProps } from '@/pages/faqs';\nimport Faqs from '@/pages/faqs';\nimport { renderPages } from '@/utils/render';\n\nimport { transformProps } from './utils';\n\nexport interface AppProps {\n\troot: FaqsDesktopProps | FaqsMobileProps;\n\tcontext: ContextBabylonProps;\n}\n\nexport const App: FC = props => {\n\tconst { templateProps, FaqsProps } = transformProps(props);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport const render = renderPages(App);\n"],"file":"cdn-placeholder/babylon/marketing/logitravel-contact/client/entries/faqs.BoY2yjX-.js"}