{"version":3,"file":"c8f7fe3b0e41be846d5687592cf2018ff6e22687-65b48114759b6d5d837f.js","mappings":"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","sources":["webpack://gatsby-tinacms/./src/components/forms/ci.form/default.data.ts","webpack://gatsby-tinacms/./src/components/forms/ci.form/form.logic.tsx","webpack://gatsby-tinacms/./src/mui/custom.inputs/hours.tsx","webpack://gatsby-tinacms/./src/components/forms/stdi.digital.form/default.data.ts","webpack://gatsby-tinacms/./src/components/forms/stdi.digital.form/form.logic.tsx","webpack://gatsby-tinacms/./node_modules/@mui/material/utils/createChainedFunction.js","webpack://gatsby-tinacms/./src/components/forms/ltdi.dropticket.form/default.data.ts","webpack://gatsby-tinacms/./src/components/forms/ltdi.dropticket.form/form.logic.tsx","webpack://gatsby-tinacms/./src/components/forms/agent.signup.form/default.data.ts","webpack://gatsby-tinacms/./src/components/forms/agent.signup.form/form.logic.tsx","webpack://gatsby-tinacms/./node_modules/@mui/icons-material/utils/createSvgIcon.js","webpack://gatsby-tinacms/./src/components/forms/ltc.dropticket.form/default.data.ts","webpack://gatsby-tinacms/./src/components/forms/ltc.dropticket.form/form.logic.tsx","webpack://gatsby-tinacms/./node_modules/swiper/shared/ssr-window.esm.mjs","webpack://gatsby-tinacms/./src/components/forms/ltdi.group.form/default.data.ts","webpack://gatsby-tinacms/./src/components/forms/ltdi.group.form/form.logic.tsx","webpack://gatsby-tinacms/./src/mui/custom.inputs/state.tsx","webpack://gatsby-tinacms/./src/mui/custom.inputs/choice-list.tsx","webpack://gatsby-tinacms/./src/utils/insurance.lead.type.ts","webpack://gatsby-tinacms/./src/mui/custom.inputs/occ.tsx","webpack://gatsby-tinacms/./src/components/forms/aei.form/default.data.ts","webpack://gatsby-tinacms/./src/components/forms/aei.form/form.logic.tsx","webpack://gatsby-tinacms/./src/components/forms/cio.snippet.tsx","webpack://gatsby-tinacms/./src/mui/custom.components/swoop.transition.tsx","webpack://gatsby-tinacms/./node_modules/swiper/shared/swiper-core.mjs","webpack://gatsby-tinacms/./node_modules/swiper/shared/update-swiper.mjs","webpack://gatsby-tinacms/./node_modules/swiper/swiper-react.mjs","webpack://gatsby-tinacms/./node_modules/swiper/shared/update-on-virtual-data.mjs","webpack://gatsby-tinacms/./src/mui/custom.inputs/height.tsx","webpack://gatsby-tinacms/./src/components/elements/youcanbook.me.widget.tsx","webpack://gatsby-tinacms/./shared/hash.link.ts","webpack://gatsby-tinacms/./node_modules/@mui/material/Typography/typographyClasses.js","webpack://gatsby-tinacms/./node_modules/@mui/material/Typography/Typography.js","webpack://gatsby-tinacms/./node_modules/@mui/material/Collapse/collapseClasses.js","webpack://gatsby-tinacms/./node_modules/@mui/material/Collapse/Collapse.js","webpack://gatsby-tinacms/./node_modules/@mui/material/utils/useSlot.js","webpack://gatsby-tinacms/./node_modules/@mui/material/Accordion/accordionClasses.js","webpack://gatsby-tinacms/./node_modules/@mui/material/Accordion/Accordion.js","webpack://gatsby-tinacms/./src/components/elements/calendly.widget.tsx","webpack://gatsby-tinacms/./src/components/forms/bmi.calculator.ts","webpack://gatsby-tinacms/./node_modules/@mui/icons-material/Search.js","webpack://gatsby-tinacms/./src/mui/custom.inputs/boolean.tsx","webpack://gatsby-tinacms/./src/components/forms/ai.rates.ts","webpack://gatsby-tinacms/./node_modules/text-mask-addons/dist/createAutoCorrectedDatePipe.js","webpack://gatsby-tinacms/./node_modules/@mui/material/Accordion/AccordionContext.js","webpack://gatsby-tinacms/./node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","webpack://gatsby-tinacms/./node_modules/@mui/material/InputAdornment/InputAdornment.js","webpack://gatsby-tinacms/./src/utils/tracking.ts","webpack://gatsby-tinacms/./src/mui/custom.inputs/state.list.tsx","webpack://gatsby-tinacms/./src/mui/custom.inputs/checkbox.group.tsx","webpack://gatsby-tinacms/./node_modules/@mui/material/internal/switchBaseClasses.js","webpack://gatsby-tinacms/./node_modules/@mui/material/internal/SwitchBase.js","webpack://gatsby-tinacms/./src/mui/custom.inputs/phone.tsx","webpack://gatsby-tinacms/./src/components/forms/agent.simple.form/default.data.ts","webpack://gatsby-tinacms/./src/components/forms/agent.simple.form/form.logic.tsx","webpack://gatsby-tinacms/./src/utils/google.places.script.ts","webpack://gatsby-tinacms/./src/utils/use.local.storage.ts","webpack://gatsby-tinacms/./src/components/forms/brz.dateformat.ts","webpack://gatsby-tinacms/./src/mui/custom.inputs/date.tsx","webpack://gatsby-tinacms/./node_modules/swiper/shared/utils.mjs","webpack://gatsby-tinacms/./src/components/forms/field.question.tsx","webpack://gatsby-tinacms/./src/mui/custom.inputs/weight.tsx","webpack://gatsby-tinacms/./src/components/forms/ltc.manual.form/default.data.ts","webpack://gatsby-tinacms/./src/components/forms/ltc.manual.form/form.logic.tsx","webpack://gatsby-tinacms/./node_modules/@mui/material/Fab/fabClasses.js","webpack://gatsby-tinacms/./node_modules/@mui/material/Fab/Fab.js","webpack://gatsby-tinacms/./src/components/forms/ltdi.manual.form/default.data.ts","webpack://gatsby-tinacms/./src/utils/qa.logs.tsx","webpack://gatsby-tinacms/./src/components/forms/use.accident.states.ts","webpack://gatsby-tinacms/./src/components/forms/ltdi.manual.form/flow.logic.tsx","webpack://gatsby-tinacms/./src/components/forms/ltdi.manual.form/form.logic.tsx","webpack://gatsby-tinacms/./src/components/forms/lead.scoring.ts","webpack://gatsby-tinacms/./node_modules/@mui/material/AccordionSummary/accordionSummaryClasses.js","webpack://gatsby-tinacms/./node_modules/@mui/material/AccordionSummary/AccordionSummary.js","webpack://gatsby-tinacms/./src/mui/custom.inputs/email.tsx","webpack://gatsby-tinacms/./node_modules/@mui/material/utils/deprecatedPropType.js","webpack://gatsby-tinacms/./node_modules/@mui/utils/esm/deprecatedPropType/deprecatedPropType.js","webpack://gatsby-tinacms/./node_modules/@mui/material/utils/requirePropFactory.js","webpack://gatsby-tinacms/./node_modules/@mui/utils/esm/requirePropFactory/requirePropFactory.js","webpack://gatsby-tinacms/./node_modules/@mui/material/utils/setRef.js","webpack://gatsby-tinacms/./node_modules/@mui/material/utils/unsupportedProp.js","webpack://gatsby-tinacms/./node_modules/@mui/utils/esm/unsupportedProp/unsupportedProp.js","webpack://gatsby-tinacms/./node_modules/@mui/material/utils/index.js","webpack://gatsby-tinacms/./src/mui/custom.inputs/currency.tsx","webpack://gatsby-tinacms/./src/mui/custom.inputs/single.checkbox.tsx","webpack://gatsby-tinacms/./src/components/forms/group.di.calculator/form.logic.tsx","webpack://gatsby-tinacms/./src/components/forms/use.manager.tsx","webpack://gatsby-tinacms/./node_modules/@mui/icons-material/Close.js","webpack://gatsby-tinacms/./node_modules/text-mask-addons/dist/createNumberMask.js"],"sourcesContent":["import { FormDataModel } from \"./types\";\n\nexport const defaultFormData: FormDataModel = {\n dob: '',\n gender: null,\n nicotine: null,\n postalCode: '',\n state: '',\n city: '',\n hadCancer: null,\n isReplacing: null,\n};","import React from 'react';\n\n// Utils\nimport { env } from '@brz-env';\nimport { METRIC_EVENT_ACTIONS, METRIC_EVENT_ACTION_CATEGORIES, useGMTDataLayer, useLuckyOrange } from '@brz-utils/tracking';\nimport { useReferralParams } from '@brz-utils/contexts/referral.helper';\nimport { usePartner } from '@brz-utils/contexts/partner.context';\nimport { useFieldValidator } from '../field.validator';\n\nimport { defaultFormData } from './default.data';\n\n// Components\n\n\n// Types\nimport { FormContextModel, FormDataModel, FormSettingsDataModel, QueryParamsModel } from './types';\nimport { ErrorModel } from '../shared.types';\nimport { useCheckEligibility } from '../check.eligibility';\nimport { getQueryParam } from '@brz-utils/get.query.param';\nimport { identifyCustomer } from '../cio.identify';\nimport { capitalize } from '@brz-utils/capitalize';\nimport { getHash } from '@brz-utils/hash.it';\nimport { serializeParams } from '@brz-utils/serialize.params';\n\n\n\n// Config\nconst LOAD_TEST_DATA = false;\nconst PRODUCT_SHORT_NAME = 'ci';\nconst DISABLE_REDIRECT = false;\n\n\ntype FormLogicProps = {\n settings: FormSettingsDataModel;\n children: React.ReactNode;\n};\n\nconst FormContext = React.createContext({} as FormContextModel);\n\nconst redirectUrl = `${env.DEPLOYED_HOST}/app/critical-illness/quote/from-partner`;\nconst apiEndpointUrl = `${env.DEPLOYED_HOST}/app/api/UnderwritingQuotes/GetCustomQuote`;\nconst applyUrl = `${env.DEPLOYED_HOST}/app/critical-illness/quote/start-app/`;\n\n\n\nconst FormLogic = (props: FormLogicProps) => {\n const settings = props.settings;\n\n // Enable contact fields query param\n const enableContactsQuery = getQueryParam('contacts');\n const [contactsFields, setContactsFields] = React.useState>([]);\n\n // States\n const [formData, setFormData] = React.useState(defaultFormData);\n \n // Interaction States\n const [submitting, setSubmittig] = React.useState(false);\n const [submitted, setSubmitted] = React.useState(false);\n const [loading, setLoading] = React.useState(false);\n const [interacted, setInteracted] = React.useState(false);\n\n // Quote Calculation\n // ToDo: Add later if needed\n\n // Error State\n const [error, setError] = React.useState(null);\n const [showError, setShowError] = React.useState(false);\n \n\n // Marketing\n const referral = useReferralParams();\n const { partner } = usePartner();\n const { trackEvent, trackMetricEvent } = useGMTDataLayer({\n product_short_name: PRODUCT_SHORT_NAME,\n action_category: METRIC_EVENT_ACTION_CATEGORIES.FORM\n });\n\n\n const { loIdentify } = useLuckyOrange({\n product_short_name: PRODUCT_SHORT_NAME,\n action_category: METRIC_EVENT_ACTION_CATEGORIES.FORM\n });\n\n\n // Eligibility Checks\n const { handleEligibillity } = useCheckEligibility(formData, settings);\n\n\n // On Mount\n React.useEffect(() => {\n if ( typeof window !== 'undefined' ) {\n // Dynamicaly load test data\n if ( LOAD_TEST_DATA ) {\n import('./test.data').then((script) => {\n setFormData(script.testFormData);\n })\n }\n\n // setError({ gtm: 'knockout', heading: settings.ineligible.headingText, text: settings.ineligible.unemployed.message });\n }\n }, []);\n\n\n // On 'contacts' query param change\n React.useEffect(() => {\n if( settings.enableContacts || enableContactsQuery === '1' ) {\n setContactsFields(['firstName', 'lastName', 'email']);\n }\n }, [enableContactsQuery, settings.enableContacts]);\n\n\n // On Form Data Change\n const firstInteraction = React.useRef(true);\n React.useEffect(() => {\n // console.log(formData);\n // Reset submitting\n setSubmittig(false);\n\n if (firstInteraction.current && interacted) {\n firstInteraction.current = false;\n trackEvent({ action: METRIC_EVENT_ACTIONS.INTERACT });\n }\n\n }, [formData]);\n\n\n // On Error State change\n React.useEffect(() => {\n setShowError(!!error);\n\n if (error) {\n // GTM\n if ( error.gtm === 'knockout' ) {\n trackEvent({ action: METRIC_EVENT_ACTIONS.KNOCKOUT });\n return;\n }\n\n // Generic/Any Error\n trackEvent({ action: METRIC_EVENT_ACTIONS.ERROR });\n\n setSubmitted(false);\n setSubmittig(false);\n setLoading(false);\n }\n }, [error]);\n\n\n\n \n // Functions\n\n // Helper function to update form data per field\n const updateFormData = (prop: keyof FormDataModel, value: any) => {\n setFormData(Object.assign({}, formData, {\n [prop]: value\n }))\n };\n\n // Reset form\n const resetForm = () => {\n setFormData(defaultFormData);\n setSubmittig(false);\n setSubmitted(false);\n setLoading(false);\n };\n\n\n // Field Validation\n const { depsValid, validateField } = useFieldValidator(formData, {\n dob: { minAge: settings.ineligible.dob.min, maxAge: settings.ineligible.dob.max }\n });\n\n\n\n // Validate to submit\n const handleSubmit = () => {\n // console.log('Handling Submit');\n trackEvent({ action: METRIC_EVENT_ACTIONS.SUBMIT });\n\n setSubmittig(true);\n \n /**\n * Handle ineligibility\n */\n const eligible = handleEligibillity();\n // console.log('eligible:', eligible);\n \n if ( typeof eligible === 'object' ) {\n setError(eligible);\n setSubmittig(false);\n return;\n }\n\n /**\n * All good\n */\n setLoading(true);\n submit();\n };\n\n\n\n const submit = async () => {\n setSubmittig(true);\n \n if ( contactsFields?.length ) {\n await identify();\n setSubmitted(true);\n redirect();\n } else {\n redirect();\n }\n };\n \n \n const identify = async () => {\n \n const cioPartnerData = {\n name: partner?.title,\n pid: partner?.pid\n }\n\n const cioData = {\n id: getHash(`${formData.email}`),\n created_at: Math.round(Date.now() / 1000),\n //\n email: formData.email,\n first_name: capitalize(formData.firstName || null),\n last_name: capitalize(formData.lastName || null),\n //\n birthdate: formData.dob,\n gender: formData.gender,\n state: formData.state,\n city: formData.city,\n postal_code: formData.postalCode,\n nicotine: formData.nicotine,\n ci_quote: true,\n form: `ci-form`,\n product: PRODUCT_SHORT_NAME,\n //\n partner: cioPartnerData,\n //\n marketing: {\n pid: referral?.marketingPartnerId || null,\n utm_campaign: referral?.marketingCampaign || null,\n utm_content: referral?.marketingContent || null,\n utm_medium: referral?.marketingMedium || null,\n utm_source: referral?.marketingSource || null,\n utm_term: referral?.marketingTerm || null,\n //\n poffer_id: referral?.marketingPartnerOfferId || null,\n referral_code: referral?.referralCode || null,\n tune_tracking_id: referral?.tuneTrackingId || null,\n pvar1: referral?.marketingPartnerVar1 || null,\n pvar2: referral?.marketingPartnerVar2 || null,\n pvar3: referral?.marketingPartnerVar3 || null,\n pvar4: referral?.marketingPartnerVar4 || null,\n pvar5: referral?.marketingPartnerVar5 || null,\n //\n page: location?.pathname\n },\n }\n\n try {\n const response = await identifyCustomer('/cio-di-lead', cioData);\n console.log('cio:', cioData);\n\n if ( response.status !== 'ok' ) {\n setError({ gtm: null, heading: settings.generic.headingText, text: settings.generic.message });\n }\n } catch (error) {\n setError({ gtm: null, heading: settings.generic.headingText, text: settings.generic.message });\n }\n\n\n // Lucky Orange\n if ( formData.email && formData.firstName && formData.lastName ) {\n loIdentify({\n name: capitalize(`${formData.firstName || ''} ${formData.lastName || ''}`),\n email: formData.email.toLowerCase(),\n });\n }\n\n };\n\n const redirect = () => {\n //format Date to YYYY-MM-DD\n const date = new Date(formData.dob);\n const year = date.getFullYear();\n const month = `0${date.getMonth()+1}`.slice(-2);\n const day = `0${date.getDate()}`.slice(-2);\n const formattedDob = `${year}-${month}-${day}`;\n\n // Set queries\n const params: QueryParamsModel = {\n // Parnter\n pid: partner?.pid,\n // Form Data\n dob: formattedDob,\n gender: formData.gender || '',\n postalCode: formData.postalCode,\n state: formData.state,\n city: formData.city,\n nicotine: formData.nicotine === 'yes' ? true : false,\n //\n diagnosedWithCancer: formData.hadCancer === 'yes' ? true : false,\n isReplacingExistingCI: formData.isReplacing === 'yes' ? true : false,\n // contacts\n firstName: formData.firstName,\n lastName: formData.lastName,\n email: formData.email,\n };\n\n \n // Create the redirect url\n const url = [redirectUrl, '?', serializeParams(params)].join('');\n\n trackEvent({ action: METRIC_EVENT_ACTIONS.SUCCESS });\n\n\n\n // Return to skip redirect if testing\n if ( DISABLE_REDIRECT ) return;\n\n // DO the redirect\n if (typeof window !== 'undefined' && window.location) {\n // console.log(url);\n setTimeout(() => {\n window.location.assign(url);\n }, 1000);\n }\n };\n\n\n\n\n return (\n \n { props.children }\n \n )\n};\n\nexport default FormLogic;\n\n\nexport const useFormLogic = () => React.useContext(FormContext);","import React from 'react';\nimport { ButtonBase, InputAdornment, TextField, TextFieldProps } from '@mui/material';\n\n// Utils\n\n\n// Types\nimport { Modify } from '@brz-types/modify';\nimport { useClass } from '@breezerr';\n\n\ntype HoursFieldProps = Modify void;\n max?: number;\n min?: number;\n}>;\n\n\nconst HoursField = (props: HoursFieldProps) => {\n const { style, tabIndex, ...otherProps } = props;\n\n const maxHours = props.max || Infinity;\n const minHours = props.min || 0;\n const [value, setValue] = React.useState('');\n\n const increment = () => {\n setValue((prev) => { \n const num = typeof prev === 'string' ? (parseInt(prev) || 0) : prev; \n return Math.min(num + 1, maxHours);\n });\n };\n\n const decrement = () => {\n setValue((prev) => {\n const num = typeof prev === 'string' ? (parseInt(prev) || 0) : prev;\n return Math.max(num - 1, minHours);\n });\n };\n\n\n\n\n\n React.useEffect(() => {\n if ( typeof props.onChange === 'function' ) {\n const num = typeof value === 'string' ? parseInt(value) : value;\n props.onChange(!isNaN(num) ? num : '');\n }\n }, [value]);\n\n\n\n\n \n return {\n const num = parseInt(event.target.value.replace(/[^\\d]/g, ''));\n \n if (event.target.value) {\n if (num && num >= minHours && num <= maxHours) {\n setValue(num);\n }\n } else {\n setValue('');\n }\n \n }}\n InputProps={{\n // inputComponent: TextMaskCustom,\n endAdornment: (\n \n
\n \n \n \n \n \n\n \n \n \n \n \n
\n
\n )\n }}\n >\n};\n\n// const TextMaskCustom = (props: InputBaseComponentProps) => {\n// const { inputRef, tabIndex, tabindex, style, ...other } = props;\n\n// return (\n// {\n// inputRef(ref ? ref.inputElement : null);\n// }}\n// mask={(rawValue) => {\n// const num = parseInt(rawValue, 10);\n// const clean = !isNaN(num) ? num.toString() : '';\n// const length = Math.min(2, clean.length || 0);\n// const maskArr = Array(length).fill(/\\d/);\n// const mask = [...maskArr, 'h', 'r', 's', '.'];\n\n// return mask;\n// }}\n// // placeholderChar={''}\n// guide={false}\n// keepCharPositions={false}\n// showMask={false}\n// tabIndex={tabIndex}\n// inputMode={'numeric'}\n// // render={(ref, props) => }\n// />\n// );\n// };\n\nexport default HoursField;","import { FormDataModel } from \"./types\";\n\nexport const defaultFormData: FormDataModel = {\n // Personal Info\n gender: null,\n dob: '',\n height: '',\n weight: '',\n state: '',\n licenseRevoked: null,\n bankruptcy: null,\n usCitizen: null,\n isPregnant: null,\n familyLeave: null,\n isCitizenOrResident: null,\n\n // Occupation Info\n occClass: '',\n jobTitle: '',\n subCriteria: '',\n occManual: '',\n govEmployee: null,\n govEmployeeType: '',\n works30hours: null,\n hoursWorked: null,\n isUnemployed: null,\n income: '',\n selfEmployed: null,\n hasDI: null,\n\n // Health Info\n nicotine: null,\n isDisabled: null,\n BMI: null,\n hasHealthIssues: null,\n healthIssuesList: null,\n healthIssues: '',\n \n // Contact Info\n firstName: '',\n lastName: '',\n email: '',\n phone: '',\n};","import React, { ReactNode } from 'react';\n\n// Utils\nimport { env } from '@brz-env';\nimport { defaultFormData } from './default.data';\nimport { METRIC_EVENT_ACTIONS, METRIC_EVENT_ACTION_CATEGORIES, useGMTDataLayer } from '@brz-utils/tracking';\nimport { useReferralParams } from '@brz-utils/contexts/referral.helper';\nimport { calculateBMI } from '../bmi.calculator';\nimport { useFieldValidator } from '../field.validator';\nimport { usePartner } from '@brz-utils/contexts/partner.context';\nimport { getHash } from '@brz-utils/hash.it';\nimport { capitalize } from '@brz-utils/capitalize';\nimport { brzDateFormat } from '../brz.dateformat';\nimport { identifyCustomer } from '../cio.identify';\nimport { getQueryParam } from '@brz-utils/get.query.param';\nimport { serializeParams } from '@brz-utils/serialize.params';\nimport { useCheckEligibility } from '../check.eligibility';\n\n// Components\n\n// Types\nimport { FormContextModel, FormDataModel, FormSettingsDataModel } from './types';\nimport { ErrorModel } from '../shared.types';\n\n\n// Config\nconst LOAD_TEST_DATA = false;\nconst PRODUCT_SHORT_NAME = 'stdi';\n\n\n\ntype FormLogicProps = {\n settings: FormSettingsDataModel;\n children: ReactNode;\n};\n\n\nconst FormContext = React.createContext({} as FormContextModel);\nconst redirectUrl = `${env.DEPLOYED_HOST}/app/short-term-disability/quote/from-partner`;\n\n\nconst FormLogic = (props: FormLogicProps) => {\n const settings = props.settings;\n // console.log(settings);\n\n // States\n const [formData, setFormData] = React.useState(defaultFormData);\n \n // Interaction States\n const [submitting, setSubmittig] = React.useState(false);\n const [submitted, setSubmitted] = React.useState(false);\n const [loading, setLoading] = React.useState(false);\n const [interacted, setInteracted] = React.useState(false);\n \n // Error State\n const [error, setError] = React.useState(null);\n const [showError, setShowError] = React.useState(false);\n \n\n // Marketing\n const referral = useReferralParams();\n const { partner } = usePartner();\n const { trackEvent, trackMetricEvent } = useGMTDataLayer({\n product_short_name: PRODUCT_SHORT_NAME,\n action_category: METRIC_EVENT_ACTION_CATEGORIES.FORM\n });\n\n // Eligibility Checks\n const { handleEligibillity } = useCheckEligibility(formData, settings);\n\n\n // On Form Data Change\n const firstInteraction = React.useRef(true);\n React.useEffect(() => {\n // console.log(formData);\n \n // Reset submitting\n setSubmittig(false);\n\n if (firstInteraction.current && interacted) {\n firstInteraction.current = false;\n trackEvent({ action: METRIC_EVENT_ACTIONS.INTERACT });\n }\n\n }, [formData]);\n\n\n // On Error State change\n React.useEffect(() => {\n setShowError(!!error);\n\n if (error) {\n // GTM\n if ( error.gtm === 'knockout' ) {\n trackEvent({ action: METRIC_EVENT_ACTIONS.KNOCKOUT });\n return;\n }\n\n // Generic/Any Error\n trackEvent({ action: METRIC_EVENT_ACTIONS.ERROR });\n }\n }, [error]);\n\n\n // Calculate BMI on height and weight change\n React.useEffect(() => {\n const bmi = calculateBMI(formData.height, formData.weight);\n updateFormData('BMI', bmi);\n }, [formData.height, formData.weight]);\n\n\n // Helper function to update form data per field\n const updateFormData = (prop: keyof FormDataModel, value: any) => {\n setFormData(Object.assign({}, formData, {\n [prop]: value\n }))\n };\n\n\n // Reset form\n const resetForm = () => {\n setFormData(defaultFormData);\n setSubmittig(false);\n };\n\n // Field Validation\n const { depsValid, validateField } = useFieldValidator(formData, {\n dob: { minAge: settings.ineligible.dob.min, maxAge: settings.ineligible.dob.max }\n });\n\n\n\n\n\n // Validate to submit\n const handleSubmit = () => {\n // console.log('Handling Submit');\n trackEvent({ action: METRIC_EVENT_ACTIONS.SUBMIT });\n\n setSubmittig(true);\n \n /**\n * Handle ineligibility\n */\n const eligible = handleEligibillity();\n if ( typeof eligible === 'object' ) {\n setError(eligible);\n setSubmittig(false);\n return;\n }\n\n /**\n * All good\n */\n setLoading(true);\n submit();\n };\n\n\n const submit = async () => {\n\n const cioPartnerData = {\n name: partner?.title,\n pid: partner?.pid\n }\n\n const cioData = {\n id: getHash(`${formData.email}`),\n created_at: Math.round(Date.now() / 1000),\n //\n email: formData.email,\n phone: formData.phone,\n first_name: capitalize(formData.firstName),\n last_name: capitalize(formData.lastName),\n //\n gender: formData.gender,\n dob_date: new Date(formData.dob).getTime() / 1000,\n dob_brz_format: brzDateFormat(formData.dob),\n dob: formData.dob,\n state: formData.state,\n income: parseInt(formData.income?.replace(/[^\\d]/g, ''), 10),\n height: formData.height,\n weight: formData.weight,\n BMI: formData.BMI,\n nicotine: formData.nicotine,\n ...(() => {\n return formData.gender === 'female' ? { is_gregnant: formData.isPregnant } : {}\n })(),\n family_leave: formData.familyLeave,\n occ: {\n occ_class: formData.occClass,\n job_title: formData.jobTitle,\n sub_criteria: formData.subCriteria,\n manual: formData.occManual?.replace(/[\\n\\r]/gm, ', ') || ''\n },\n works_30_hrs: formData.works30hours,\n hours_worked: formData.hoursWorked,\n is_undemployed: formData.isUnemployed,\n self_employed: formData.selfEmployed,\n gov_employee: formData.govEmployee,\n gov_employee_type: formData.govEmployeeType,\n bankruptcy: formData.bankruptcy,\n //\n has_di: formData.hasDI,\n license_revoked: formData.licenseRevoked,\n //\n has_health_issues: formData.hasHealthIssues,\n health_issues_list: formData.healthIssuesList || null,\n health_issues: formData.healthIssues?.replace(/[\\n\\r]/gm, ', ') || '',\n //\n form: `stdi-digital-form`,\n product: PRODUCT_SHORT_NAME,\n //\n partner: cioPartnerData,\n //\n marketing: {\n pid: referral?.marketingPartnerId || null,\n utm_campaign: referral?.marketingCampaign || null,\n utm_content: referral?.marketingContent || null,\n utm_medium: referral?.marketingMedium || null,\n utm_source: referral?.marketingSource || null,\n utm_term: referral?.marketingTerm || null,\n //\n poffer_id: referral?.marketingPartnerOfferId || null,\n referral_code: referral?.referralCode || null,\n tune_tracking_id: referral?.tuneTrackingId || null,\n pvar1: referral?.marketingPartnerVar1 || null,\n pvar2: referral?.marketingPartnerVar2 || null,\n pvar3: referral?.marketingPartnerVar3 || null,\n pvar4: referral?.marketingPartnerVar4 || null,\n pvar5: referral?.marketingPartnerVar5 || null,\n //\n page: location?.pathname\n },\n flow: 'digital'\n };\n\n\n\n identifyCustomer('/cio-di-lead', cioData).then((response) => {\n console.log('cio:', cioData);\n \n // Make sure the CIO data was saved ok\n if ( response.status === 'ok' ) {\n redirect();\n return;\n }\n \n setError({ gtm: null, heading: settings.generic.headingText, text: settings.generic.message });\n setLoading(false);\n });\n\n };\n\n\n /**\n * Flow function to redirect the user to the Digital Flow\n */\n const redirect = () => {\n const income = parseInt(formData.income?.replace(/[^\\d]/g, ''), 10);\n\n // format Date to YYYY-MM-DD\n const formattedDob = brzDateFormat(formData.dob);\n\n // Set queries\n const params = {\n dob: formattedDob,\n gender: formData.gender,\n occClass: formData.occClass,\n income,\n // postalCode: formData.postalCode,\n state: formData.state,\n // city: formData.city,\n isCitizenOrResident: formData.isCitizenOrResident === 'yes' ? true : false,\n // wantsReceiveBenefit: formData.familyLeave === 'yes' ? true : false,\n isPregnant: formData.isPregnant === 'yes' ? true : false,\n nicotine: formData.nicotine === 'yes' ? true : false,\n works30Hours: formData.works30hours === 'yes' ? true : false,\n workerType: formData.selfEmployed === 'no' ? 'employee' : 'businessOwner',\n // contacts\n firstName: formData.firstName,\n lastName: formData.lastName,\n email: formData.email,\n };\n // Create the redirect url\n const url = [redirectUrl, '?', serializeParams(params)].join('');\n\n\n\n // GTM Event\n trackEvent({ action: METRIC_EVENT_ACTIONS.SUCCESS });\n trackEvent({ action: METRIC_EVENT_ACTIONS.REDIRECT });\n \n\n // Redirect after small delay\n setTimeout(() => {\n window.location.assign(url);\n }, 1000);\n };\n\n return (\n \n { props.children }\n \n )\n};\n\nexport default FormLogic;\n\n\nexport const useFormLogic = () => React.useContext(FormContext);","import createChainedFunction from '@mui/utils/createChainedFunction';\nexport default createChainedFunction;","import { FormDataModel } from \"./types\";\n\nexport const defaultFormData: FormDataModel = {\n firstName: '',\n lastName: '',\n\n email: '',\n phone: '',\n\n dob: '',\n gender: null,\n\n occClass: '',\n jobTitle: '',\n subCriteria: '',\n state: '',\n income: '',\n\n nicotine: null,\n height: '',\n weight: '',\n govEmployee: null,\n hasDI: null,\n hasHealthIssues: null,\n healthIssues: '',\n selfEmployed: null,\n\n agentFirstName: '',\n agentLastName: '',\n agentEmail: '',\n agentPhone: '',\n agentHasPref: null,\n agentPref: ''\n};","import React, { ReactNode } from 'react';\n\n// Utils\nimport { defaultFormData } from './default.data';\nimport { METRIC_EVENT_ACTIONS, METRIC_EVENT_ACTION_CATEGORIES, useGMTDataLayer } from '@brz-utils/tracking';\nimport { useReferralParams } from '@brz-utils/contexts/referral.helper';\nimport { useManager } from '../use.manager';\nimport { useFieldValidator } from '../field.validator';\nimport { usePartner } from '@brz-utils/contexts/partner.context';\nimport { getHash } from '@brz-utils/hash.it';\nimport { useCheckEligibility } from '../check.eligibility';\n\n// Components\n\n// Types\nimport { FormContextModel, FormDataModel, FormSettingsDataModel } from './types';\nimport { ErrorModel } from '../shared.types';\nimport CustomerIoSnippet from '../cio.snippet';\n\n\n// Config\nconst LOAD_TEST_DATA = false;\nconst PRODUCT_SHORT_NAME = 'ltdi-dropticket';\n\n\n\ntype FormLogicProps = {\n settings: FormSettingsDataModel;\n children: ReactNode;\n};\n\nconst FormContext = React.createContext({} as FormContextModel);\n\nconst FormLogic = (props: FormLogicProps) => {\n const settings = props.settings;\n // console.log(settings);\n\n // States\n const [formData, setFormData] = React.useState(defaultFormData);\n \n // Interaction States\n const [submitting, setSubmittig] = React.useState(false);\n const [submitted, setSubmitted] = React.useState(false);\n const [loading, setLoading] = React.useState(false);\n const [interacted, setInteracted] = React.useState(false);\n \n // Error State\n const [error, setError] = React.useState(null);\n const [showError, setShowError] = React.useState(false);\n \n\n // Marketing\n const referral = useReferralParams();\n const { partner } = usePartner();\n const { trackMetricEvent } = useGMTDataLayer({\n product_short_name: PRODUCT_SHORT_NAME.replace(/-/g, '_'),\n action_category: METRIC_EVENT_ACTION_CATEGORIES.FORM\n });\n \n // Manager\n const [manager, setManager] = React.useState(null);\n const { findManagerByState, findManagerBySlackId } = useManager('ltdi-dropticket', settings.calendarURL);\n\n\n // Eligibility Checks\n const { handleEligibillity } = useCheckEligibility(formData, settings);\n\n\n // On Mount\n React.useEffect(() => {\n if ( typeof window !== 'undefined' ) {\n // Dynamicaly load test data\n if ( LOAD_TEST_DATA ) {\n import('./test.data').then((script) => {\n setFormData(script.testFormData);\n })\n }\n\n // setError({ gtm: 'knockout', heading: settings.ineligible.headingText, text: settings.ineligible.unemployed.message });\n }\n }, []);\n\n\n // Update referral PID (Context and Cookies) based on the PID from page settings\n React.useEffect(() => {\n // setReady(true);\n if ( referral && settings.partner?.pid ) {\n referral.updateParam('marketingPartnerId', settings.partner?.pid);\n }\n }, [settings.partner?.pid]);\n\n\n // On Form Data Change\n const firstInteraction = React.useRef(true);\n React.useEffect(() => {\n // Reset submitting\n setSubmittig(false);\n\n if (firstInteraction.current && interacted) {\n firstInteraction.current = false;\n trackMetricEvent({ action: 'interacted' });\n }\n\n }, [formData]);\n\n\n // On Error State change\n React.useEffect(() => {\n setShowError(!!error);\n\n if (error) {\n // GTM\n if ( error.gtm === 'knockout' ) {\n trackMetricEvent({ action: METRIC_EVENT_ACTIONS.KNOCKOUT });\n return;\n }\n\n // Generic/Any Error\n trackMetricEvent({ action: METRIC_EVENT_ACTIONS.ERROR });\n }\n }, [error]);\n\n\n\n\n\n // Helper function to update form data per field\n const updateFormData = (prop: keyof FormDataModel, value: any) => {\n setFormData(Object.assign({}, formData, {\n [prop]: value\n }))\n };\n\n // Reset form\n const resetForm = () => {\n setFormData(defaultFormData);\n setSubmittig(false);\n };\n\n // Field Validation\n const { depsValid, validateField } = useFieldValidator(formData, {\n dob: { minAge: settings.ineligible.dob.min, maxAge: settings.ineligible.dob.max }\n });\n\n\n // get manager using \"Manager logic\"\n const getManager = async () => {\n if (settings.manager) {\n return await findManagerBySlackId(settings.manager.slackMentionId);\n }\n\n return formData.state ? await findManagerByState(formData.state) : null;\n };\n\n\n // Validate to submit\n const handleSubmit = () => {\n // console.log('Handling Submit');\n trackMetricEvent({ action: METRIC_EVENT_ACTIONS.SUBMIT });\n\n setSubmittig(true);\n \n /**\n * Handle ineligibility\n */\n const eligible = handleEligibillity();\n if ( typeof eligible === 'object' ) {\n setError(eligible);\n setSubmittig(false);\n return;\n }\n\n /**\n * All good\n */\n setLoading(true);\n submit();\n };\n\n\n\n const submit = async () => {\n if (typeof window !== undefined && window._cio) {\n // Find manager\n const _manager = await getManager();\n setManager(_manager);\n\n\n const cioManagerData = {\n manager: _manager?.name,\n manager_slack_id: _manager?.slackMentionId,\n };\n\n\n const cioMarketingData = {\n pid: referral?.marketingPartnerId || null,\n utm_campaign: referral?.marketingCampaign || null,\n utm_content: referral?.marketingContent || null,\n utm_medium: referral?.marketingMedium || null,\n utm_source: referral?.marketingSource || null,\n utm_term: referral?.marketingTerm || null\n }\n \n\n if ( !settings.partner?.pid ) {\n // Do the regular Agent dropticket data\n \n const cioAgentData = {\n id: getHash(`${formData.agentEmail}`),\n created_at: Math.round(Date.now() / 1000),\n email: formData.agentEmail,\n phone: formData.agentPhone,\n first_name: formData.agentFirstName,\n last_name: formData.agentLastName,\n //\n manager: _manager?.name,\n manager_slack_id: _manager?.slackMentionId,\n form: `di-dropticket-form`,\n product: PRODUCT_SHORT_NAME\n };\n\n const cioEventData = {\n client: {\n first_name: formData.firstName,\n last_name: formData.lastName,\n gender: formData.gender,\n dob: formData.dob,\n state: formData.state,\n income: parseInt((formData.income as string).replace(/[^\\d]/g, ''), 10),\n nicotine: formData.nicotine,\n occ: {\n occ_class: formData.occClass,\n job_title: formData.jobTitle,\n sub_criteria: formData.subCriteria\n },\n self_employed: formData.selfEmployed,\n gov_employee: formData.govEmployee,\n has_di: formData.hasDI,\n has_health_issues: formData.hasHealthIssues,\n health_issues: formData.healthIssues,\n height: formData.height,\n weight: formData.weight,\n },\n agent: {\n email: formData.agentEmail,\n phone: formData.agentPhone,\n first_name: formData.agentFirstName,\n last_name: formData.agentLastName,\n has_pref: formData.agentHasPref,\n pref: formData.agentPref\n },\n manager: cioManagerData,\n marketing: cioMarketingData,\n product: PRODUCT_SHORT_NAME,\n }\n\n // Identify\n window._cio.identify(cioAgentData);\n // Send the event\n window._cio.track('dropticket', cioEventData);\n console.log('CIO Agent Data:', cioAgentData, cioEventData);\n\n } else {\n // Do Partner based data\n\n const partnerEmail = `droptiket+${PRODUCT_SHORT_NAME}+partner+${partner?.pid}@meetbreeze.com`;\n\n const cioCustomerBasicData = {\n id: getHash(partnerEmail),\n created_at: Math.round(Date.now() / 1000),\n email: partnerEmail,\n //\n form: `di-dropticket-form`,\n product: PRODUCT_SHORT_NAME,\n };\n\n const cioPartnerData = {\n name: partner?.title,\n pid: partner?.pid\n }\n\n const cioClientData = {\n email: formData.email,\n phone: formData.phone,\n first_name: formData.firstName,\n last_name: formData.lastName,\n //\n gender: formData.gender,\n dob: formData.dob,\n state: formData.state,\n income: parseInt((formData.income as string).replace(/[^\\d]/g, ''), 10),\n nicotine: formData.nicotine,\n occ: {\n occ_class: formData.occClass,\n job_title: formData.jobTitle,\n sub_criteria: formData.subCriteria\n },\n self_employed: formData.selfEmployed,\n gov_employee: formData.govEmployee,\n has_di: formData.hasDI,\n has_health_issues: formData.hasHealthIssues,\n health_issues: formData.healthIssues,\n height: formData.height,\n weight: formData.weight,\n };\n\n const cioEventData = {\n client: cioClientData,\n partner: cioPartnerData,\n marketing: cioMarketingData,\n manager: cioManagerData,\n product: PRODUCT_SHORT_NAME,\n };\n\n // Identify\n window._cio.identify({\n id: getHash(cioClientData.email),\n created_at: Math.round(Date.now() / 1000),\n ...cioClientData,\n partner: cioPartnerData,\n manager: cioManagerData,\n marketing: cioMarketingData,\n product: PRODUCT_SHORT_NAME,\n });\n\n window._cio.identify({\n ...cioCustomerBasicData,\n partner: cioPartnerData,\n marketing: cioMarketingData,\n manager: cioManagerData\n });\n // Send the event\n window._cio.track('dropticket', cioEventData);\n\n console.log('CIO Partner Data:', cioClientData);\n }\n }\n\n trackMetricEvent({ action: METRIC_EVENT_ACTIONS.SUCCESS });\n setSubmitted(true);\n };\n\n\n\n\n\n\n\n\n return (\n \n { props.children }\n \n \n )\n};\n\nexport default FormLogic;\n\n\nexport const useFormLogic = () => React.useContext(FormContext);","import { FormDataModel } from \"./types\";\n\nexport const defaultFormData: FormDataModel = {\n fname: '',\n lname: '',\n email: null,\n phone: null,\n agency: '',\n agents: '',\n city: '',\n state: '',\n zip: '',\n persona: ''\n};","import React, { ReactNode } from 'react';\n\n// Utils\nimport { defaultFormData } from './default.data';\nimport { METRIC_EVENT_ACTIONS, METRIC_EVENT_ACTION_CATEGORIES, useGMTDataLayer } from '@brz-utils/tracking';\nimport { useReferralParams } from '@brz-utils/contexts/referral.helper';\nimport { useFieldValidator } from '../field.validator';\nimport { usePartner } from '@brz-utils/contexts/partner.context';\nimport { getHash } from '@brz-utils/hash.it';\nimport { capitalize } from '@brz-utils/capitalize';\nimport { identifyCustomer } from '../cio.identify';\nimport { useCheckEligibility } from '../check.eligibility';\n\n// Components\n\n// Types\nimport { FormContextModel, FormDataModel, FormSettingsDataModel } from './types';\nimport { ErrorModel } from '../shared.types';\n\n\n// Config\nconst LOAD_TEST_DATA = false;\nconst PRODUCT_SHORT_NAME = 'agent-signup';\n\n\n\ntype FormLogicProps = {\n settings: FormSettingsDataModel;\n children: ReactNode;\n};\n\nconst FormContext = React.createContext({} as FormContextModel);\n\n\nconst FormLogic = (props: FormLogicProps) => {\n const settings = props.settings;\n // console.log(settings);\n\n // States\n const [formData, setFormData] = React.useState(defaultFormData);\n \n // Interaction States\n const [submitting, setSubmittig] = React.useState(false);\n const [submitted, setSubmitted] = React.useState(false);\n const [loading, setLoading] = React.useState(false);\n const [interacted, setInteracted] = React.useState(false);\n \n // Error State\n const [error, setError] = React.useState(null);\n const [showError, setShowError] = React.useState(false);\n \n\n // Marketing\n const referral = useReferralParams();\n const { partner } = usePartner();\n const { trackMetricEvent } = useGMTDataLayer({\n product_short_name: PRODUCT_SHORT_NAME,\n action_category: METRIC_EVENT_ACTION_CATEGORIES.FORM\n });\n\n // Eligibility Checks\n const { handleEligibillity } = useCheckEligibility(formData, settings);\n\n // On Mount\n React.useEffect(() => {\n if ( typeof window !== 'undefined' ) {\n // Dynamicaly load test data\n if ( LOAD_TEST_DATA ) {\n // import('./test.data').then((script) => {\n // setFormData(script.testFormData);\n // })\n }\n\n // setError({ gtm: 'knockout', heading: settings.ineligible.headingText, text: settings.ineligible.unemployed.message });\n }\n }, []);\n\n\n // On Form Data Change\n const firstInteraction = React.useRef(true);\n React.useEffect(() => {\n // console.log(formData);\n // Reset submitting\n setSubmittig(false);\n\n if (firstInteraction.current && interacted) {\n firstInteraction.current = false;\n trackMetricEvent({ action: 'interacted' });\n }\n\n }, [formData]);\n\n\n // On Error State change\n React.useEffect(() => {\n setShowError(!!error);\n\n if (error) {\n // GTM\n if ( error.gtm === 'knockout' ) {\n trackMetricEvent({ action: METRIC_EVENT_ACTIONS.KNOCKOUT });\n return;\n }\n\n // Generic/Any Error\n trackMetricEvent({ action: METRIC_EVENT_ACTIONS.ERROR });\n }\n }, [error]);\n\n\n // Helper function to update form data per field\n const updateFormData = (prop: keyof FormDataModel, value: any) => {\n setFormData(Object.assign({}, formData, {\n [prop]: value\n }))\n };\n\n // Reset form\n const resetForm = () => {\n setFormData(defaultFormData);\n setSubmittig(false);\n setLoading(false);\n };\n\n // Field Validation\n const { depsValid, validateField } = useFieldValidator(formData);\n\n\n\n // Validate to submit\n const handleSubmit = () => {\n // console.log('Handling Submit');\n trackMetricEvent({ action: METRIC_EVENT_ACTIONS.SUBMIT });\n\n setSubmittig(true);\n \n /**\n * Handle ineligibility\n */\n const eligible = handleEligibillity();\n if ( typeof eligible === 'object' ) {\n setError(eligible);\n setSubmittig(false);\n return;\n }\n\n /**\n * All good\n */\n setLoading(true);\n submit();\n };\n\n\n const submit = async () => {\n\n const cioData = {\n id: getHash(`${formData.email}`),\n created_at: Math.round(Date.now() / 1000),\n //\n email: formData.email,\n phone: formData.phone,\n first_name: capitalize(formData.fname),\n last_name: capitalize(formData.lname),\n //\n agency: formData.agency,\n number_of_agents: formData.agents,\n city: formData.city,\n state: formData.state,\n postal_code: formData.zip,\n agent_persona: formData.persona,\n form: `agents-form`,\n marketing: {\n pid: referral?.marketingPartnerId || null,\n utm_campaign: referral?.marketingCampaign || null,\n utm_content: referral?.marketingContent || null,\n utm_medium: referral?.marketingMedium || null,\n utm_source: referral?.marketingSource || null,\n utm_term: referral?.marketingTerm || null,\n //\n poffer_id: referral?.marketingPartnerOfferId || null,\n referral_code: referral?.referralCode || null,\n tune_tracking_id: referral?.tuneTrackingId || null,\n pvar1: referral?.marketingPartnerVar1 || null,\n pvar2: referral?.marketingPartnerVar2 || null,\n pvar3: referral?.marketingPartnerVar3 || null,\n pvar4: referral?.marketingPartnerVar4 || null,\n pvar5: referral?.marketingPartnerVar5 || null,\n //\n page: location?.pathname\n },\n };\n\n\n\n identifyCustomer('/cio-di-lead', cioData).then((response) => {\n console.log('cio:', cioData);\n \n if ( response.status === 'ok' ) {\n setSubmitted(true);\n resetForm();\n return;\n }\n \n setError({ gtm: null, heading: settings.generic.headingText, text: settings.generic.message });\n setLoading(false);\n });\n }\n\n\n return (\n \n { props.children }\n \n )\n};\n\nexport default FormLogic;\n\n\nexport const useFormLogic = () => React.useContext(FormContext);","\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","import { FormDataModel } from \"./types\";\n\nexport const defaultFormData: FormDataModel = {\n firstName: '',\n lastName: '',\n email: '',\n phone: '',\n dob: '',\n gender: null,\n height: '',\n weight: '',\n state: '',\n income: '',\n nicotine: null,\n hasHealthIssues: null,\n healthIssues: '',\n isMarried: null,\n spousDob: '',\n spousGender: null,\n\n agentFirstName: '',\n agentLastName: '',\n agentEmail: '',\n agentPhone: '',\n agentHasPref: null,\n agentPref: ''\n};","import React, { ReactNode } from 'react';\n\n// Utils\nimport { defaultFormData } from './default.data';\nimport { METRIC_EVENT_ACTIONS, METRIC_EVENT_ACTION_CATEGORIES, useGMTDataLayer } from '@brz-utils/tracking';\nimport { useReferralParams } from '@brz-utils/contexts/referral.helper';\nimport { useManager } from '../use.manager';\nimport { useFieldValidator } from '../field.validator';\nimport { usePartner } from '@brz-utils/contexts/partner.context';\nimport { getHash } from '@brz-utils/hash.it';\nimport { useCheckEligibility } from '../check.eligibility';\n\n// Components\n\n// Types\nimport { FormContextModel, FormDataModel, FormSettingsDataModel } from './types';\nimport { ErrorModel } from '../shared.types';\nimport CustomerIoSnippet from '../cio.snippet';\n\n\n// Config\nconst LOAD_TEST_DATA = false;\nconst PRODUCT_SHORT_NAME = 'ltc-dropticket';\n\n\n\ntype FormLogicProps = {\n settings: FormSettingsDataModel;\n children: ReactNode;\n};\n\nconst FormContext = React.createContext({} as FormContextModel);\n\nconst FormLogic = (props: FormLogicProps) => {\n const settings = props.settings;\n // console.log(settings);\n\n // States\n const [formData, setFormData] = React.useState(defaultFormData);\n \n // Interaction States\n const [submitting, setSubmittig] = React.useState(false);\n const [submitted, setSubmitted] = React.useState(false);\n const [loading, setLoading] = React.useState(false);\n const [interacted, setInteracted] = React.useState(false);\n \n // Error State\n const [error, setError] = React.useState(null);\n const [showError, setShowError] = React.useState(false);\n \n\n // Marketing\n const referral = useReferralParams();\n const { partner } = usePartner();\n const { trackMetricEvent } = useGMTDataLayer({\n product_short_name: PRODUCT_SHORT_NAME.replace(/-/g, '_'),\n action_category: METRIC_EVENT_ACTION_CATEGORIES.FORM\n });\n \n // Manager\n const [manager, setManager] = React.useState(null);\n const { findManagerByState, findManagerBySlackId } = useManager('ltdi-dropticket', settings.calendarURL);\n \n\n\n // Eligibility Checks\n const { handleEligibillity } = useCheckEligibility(formData, settings);\n\n\n // On Mount\n React.useEffect(() => {\n if ( typeof window !== 'undefined' ) {\n // Dynamicaly load test data\n if ( LOAD_TEST_DATA ) {\n import('./test.data').then((script) => {\n setFormData(script.testFormData);\n })\n }\n\n // setError({ gtm: 'knockout', heading: settings.ineligible.headingText, text: settings.ineligible.unemployed.message });\n }\n }, []);\n\n\n // Update referral PID (Context and Cookies) based on the PID from page settings\n React.useEffect(() => {\n // setReady(true);\n if ( referral && settings.partner?.pid ) {\n referral.updateParam('marketingPartnerId', settings.partner?.pid);\n }\n }, [settings.partner?.pid]);\n\n\n // On Form Data Change\n const firstInteraction = React.useRef(true);\n React.useEffect(() => {\n // Reset submitting\n setSubmittig(false);\n\n if (firstInteraction.current && interacted) {\n firstInteraction.current = false;\n trackMetricEvent({ action: 'interacted' });\n }\n\n }, [formData]);\n\n\n // On Error State change\n React.useEffect(() => {\n setShowError(!!error);\n\n if (error) {\n // GTM\n if ( error.gtm === 'knockout' ) {\n trackMetricEvent({ action: METRIC_EVENT_ACTIONS.KNOCKOUT });\n return;\n }\n\n // Generic/Any Error\n trackMetricEvent({ action: METRIC_EVENT_ACTIONS.ERROR });\n }\n }, [error]);\n\n\n\n\n\n // Helper function to update form data per field\n const updateFormData = (prop: keyof FormDataModel, value: any) => {\n setFormData(Object.assign({}, formData, {\n [prop]: value\n }))\n };\n\n // Reset form\n const resetForm = () => {\n setFormData(defaultFormData);\n setSubmittig(false);\n };\n\n // Field Validation\n const { depsValid, validateField } = useFieldValidator(formData, {\n dob: { minAge: settings.ineligible.dob.min, maxAge: settings.ineligible.dob.max }\n });\n\n\n // get manager using \"Manager logic\"\n const getManager = async () => {\n if (settings.manager) {\n return await findManagerBySlackId(settings.manager.slackMentionId);\n }\n\n return formData.state ? await findManagerByState(formData.state) : null;\n };\n\n\n // Validate to submit\n const handleSubmit = () => {\n // console.log('Handling Submit');\n trackMetricEvent({ action: METRIC_EVENT_ACTIONS.SUBMIT });\n\n setSubmittig(true);\n \n /**\n * Handle ineligibility\n */\n const eligible = handleEligibillity();\n if ( typeof eligible === 'object' ) {\n setError(eligible);\n setSubmittig(false);\n return;\n }\n\n /**\n * All good\n */\n setLoading(true);\n submit();\n };\n\n\n\n const submit = async () => {\n if (typeof window !== undefined && window._cio) {\n // Find manager\n const _manager = await getManager();\n setManager(_manager); \n\n\n const cioManagerData = {\n manager: _manager?.name,\n manager_slack_id: _manager?.slackMentionId,\n };\n\n\n const cioMarketingData = {\n pid: referral?.marketingPartnerId || null,\n utm_campaign: referral?.marketingCampaign || null,\n utm_content: referral?.marketingContent || null,\n utm_medium: referral?.marketingMedium || null,\n utm_source: referral?.marketingSource || null,\n utm_term: referral?.marketingTerm || null\n }\n \n\n if ( !settings.partner?.pid ) {\n // Do the regular Agent dropticket data\n \n const cioAgentData = {\n id: getHash(`${formData.agentEmail}`),\n created_at: Math.round(Date.now() / 1000),\n email: formData.agentEmail,\n phone: formData.agentPhone,\n first_name: formData.agentFirstName,\n last_name: formData.agentLastName,\n //\n manager: _manager?.name,\n manager_slack_id: _manager?.slackMentionId,\n form: `ltc-dropticket-form`,\n product: PRODUCT_SHORT_NAME\n };\n\n const cioEventData = {\n client: {\n first_name: formData.firstName,\n last_name: formData.lastName,\n //\n gender: formData.gender,\n dob: formData.dob,\n state: formData.state,\n income: parseInt((formData.income as string).replace(/[^\\d]/g, ''), 10),\n height: formData.height,\n weight: formData.weight,\n nicotine: formData.nicotine,\n has_health_issues: formData.hasHealthIssues,\n health_issues: formData.healthIssues,\n //\n is_married: formData.isMarried,\n spouse: {\n dob: formData.spousDob,\n gender: formData.spousGender\n },\n },\n agent: {\n email: formData.agentEmail,\n phone: formData.agentPhone,\n first_name: formData.agentFirstName,\n last_name: formData.agentLastName,\n has_pref: formData.agentHasPref,\n pref: formData.agentPref\n },\n manager: cioManagerData,\n marketing: cioMarketingData,\n product: PRODUCT_SHORT_NAME,\n }\n\n // Identify\n window._cio.identify(cioAgentData);\n // Send the event\n window._cio.track('dropticket', cioEventData);\n console.log('CIO Agent Data:', cioAgentData, cioEventData);\n\n } else {\n // Do Partner based data\n\n const partnerEmail = `droptiket+${PRODUCT_SHORT_NAME}+partner+${partner?.pid}@meetbreeze.com`;\n\n const cioCustomerBasicData = {\n id: getHash(partnerEmail),\n created_at: Math.round(Date.now() / 1000),\n email: partnerEmail,\n //\n form: `ltc-dropticket-form`,\n product: PRODUCT_SHORT_NAME,\n };\n\n const cioPartnerData = {\n name: partner?.title,\n pid: partner?.pid\n }\n\n const cioClientData = {\n email: formData.email,\n phone: formData.phone,\n first_name: formData.firstName,\n last_name: formData.lastName,\n //\n gender: formData.gender,\n dob: formData.dob,\n state: formData.state,\n income: parseInt((formData.income as string).replace(/[^\\d]/g, ''), 10),\n height: formData.height,\n weight: formData.weight,\n nicotine: formData.nicotine,\n has_health_issues: formData.hasHealthIssues,\n health_issues: formData.healthIssues,\n //\n is_married: formData.isMarried,\n spouse: {\n dob: formData.spousDob,\n gender: formData.spousGender\n },\n };\n\n const cioEventData = {\n client: cioClientData,\n partner: cioPartnerData,\n marketing: cioMarketingData,\n manager: cioManagerData,\n product: PRODUCT_SHORT_NAME,\n };\n\n // Identify\n window._cio.identify({\n id: getHash(cioClientData.email),\n created_at: Math.round(Date.now() / 1000),\n ...cioClientData,\n partner: cioPartnerData,\n manager: cioManagerData,\n marketing: cioMarketingData,\n product: PRODUCT_SHORT_NAME,\n });\n\n window._cio.identify({\n ...cioCustomerBasicData,\n partner: cioPartnerData,\n marketing: cioMarketingData,\n manager: cioManagerData\n });\n // Send the event\n window._cio.track('dropticket', cioEventData);\n\n console.log('CIO Partner Data:', cioClientData);\n }\n }\n\n trackMetricEvent({ action: METRIC_EVENT_ACTIONS.SUCCESS });\n setSubmitted(true);\n };\n\n\n\n\n\n\n\n\n return (\n \n { props.children }\n \n \n )\n};\n\nexport default FormLogic;\n\n\nexport const useFormLogic = () => React.useContext(FormContext);","/**\n * SSR Window 5.0.0\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2025, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: February 12, 2025\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object;\n}\nfunction extend(target, src) {\n if (target === void 0) {\n target = {};\n }\n if (src === void 0) {\n src = {};\n }\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n Object.keys(src).filter(key => noExtend.indexOf(key) < 0).forEach(key => {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\nconst ssrDocument = {\n body: {},\n addEventListener() {},\n removeEventListener() {},\n activeElement: {\n blur() {},\n nodeName: ''\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() {}\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() {},\n getElementsByTagName() {\n return [];\n }\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n }\n};\nfunction getDocument() {\n const doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\nconst ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: ''\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n },\n history: {\n replaceState() {},\n pushState() {},\n go() {},\n back() {}\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() {},\n removeEventListener() {},\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n }\n };\n },\n Image() {},\n Date() {},\n screen: {},\n setTimeout() {},\n clearTimeout() {},\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n }\n};\nfunction getWindow() {\n const win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { getWindow as a, getDocument as g };\n","import { FormDataModel } from \"./types\";\n\nexport const defaultFormData: FormDataModel = {\n productType: '',\n companyName: '',\n firstName: '',\n lastName: '',\n email: '',\n phone: '',\n address: '',\n postalCode: '',\n streetNumber: '',\n street: '',\n city: '',\n state: '',\n inBusiness: null,\n decisionMaker: null,\n eligibleEmployees: '',\n employeesInNY: null,\n willContribute: null,\n payrollCycle: '',\n perEmployeeBudget: '',\n interestedInOtherBenefits: null,\n bdr: ''\n};","import React, { ReactNode } from 'react';\n\n// Utils\nimport { env } from '@brz-env';\nimport { defaultFormData } from './default.data';\nimport { METRIC_EVENT_ACTIONS, METRIC_EVENT_ACTION_CATEGORIES, useGMTDataLayer } from '@brz-utils/tracking';\nimport { useReferralParams } from '@brz-utils/contexts/referral.helper';\nimport { useFieldValidator } from '../field.validator';\nimport { usePartner } from '@brz-utils/contexts/partner.context';\nimport { getHash } from '@brz-utils/hash.it';\nimport { identifyCustomer } from '../cio.identify';\nimport { useCheckEligibility } from '../check.eligibility';\n\n// Components\n\n// Types\nimport { FormContextModel, FormDataModel, FormSettingsDataModel } from './types';\nimport { ErrorModel } from '../shared.types';\nimport { ProductMap } from '@brz-shared/products.map';\n\n\n// Config\nconst LOAD_TEST_DATA = false;\nconst PRODUCT_SHORT_NAME = 'esdi';\n\n\n\ntype FormLogicProps = {\n settings: FormSettingsDataModel;\n children: ReactNode;\n};\n\nconst FormContext = React.createContext({} as FormContextModel);\nconst redirectUrl = `${env.DEPLOYED_HOST}/app/quote/from-partner`;\n\nconst FormLogic = (props: FormLogicProps) => {\n const settings = props.settings;\n // console.log(settings);\n\n // States\n const [formData, setFormData] = React.useState(defaultFormData);\n \n // Interaction States\n const [submitting, setSubmittig] = React.useState(false);\n const [submitted, setSubmitted] = React.useState(false);\n const [loading, setLoading] = React.useState(false);\n const [interacted, setInteracted] = React.useState(false);\n \n // Error State\n const [error, setError] = React.useState(null);\n const [showError, setShowError] = React.useState(false);\n const [openPopupDisclaimer, setOpenPopupDisclaimer] = React.useState(false);\n \n\n // Marketing\n const referral = useReferralParams();\n const { partner } = usePartner();\n const { trackEvent, trackMetricEvent } = useGMTDataLayer({\n product_short_name: 'group-di',\n action_category: METRIC_EVENT_ACTION_CATEGORIES.FORM\n });\n\n\n // Eligibility Checks\n const { handleEligibillity } = useCheckEligibility(formData, settings);\n\n\n\n // On Mount\n React.useEffect(() => {\n if ( typeof window !== 'undefined' ) {\n // Dynamicaly load test data\n if ( LOAD_TEST_DATA ) {\n import('./test.data').then((script) => {\n setFormData(script.testFormData);\n })\n }\n\n // setError({ gtm: 'knockout', heading: settings.ineligible.headingText, text: settings.ineligible.unemployed.message });\n }\n }, []);\n\n\n // On Form Data Change\n const firstInteraction = React.useRef(true);\n React.useEffect(() => {\n // Reset submitting\n setSubmittig(false);\n\n if (firstInteraction.current && interacted) {\n firstInteraction.current = false;\n trackEvent({ action: METRIC_EVENT_ACTIONS.INTERACT });\n }\n\n }, [formData]);\n\n\n // On Error State change\n React.useEffect(() => {\n setShowError(!!error);\n\n if (error) {\n // GTM\n if ( error.gtm === 'knockout' ) {\n trackEvent({ action: METRIC_EVENT_ACTIONS.KNOCKOUT });\n return;\n }\n\n // Generic/Any Error\n trackEvent({ action: METRIC_EVENT_ACTIONS.ERROR });\n }\n }, [error]);\n\n\n // Helper function to update form data per field\n const updateFormData = (prop: keyof FormDataModel, value: any) => {\n setFormData(Object.assign({}, formData, {\n [prop]: value\n }))\n };\n\n // Reset form\n const resetForm = () => {\n setFormData(defaultFormData);\n setSubmittig(false);\n };\n\n // Field Validation\n const { depsValid, validateField } = useFieldValidator(formData, {\n // onValidateField: (fieldname) => {\n // if ( fieldname === 'perEmployeeBudget' && formData.willContribute === 'no' ) {\n // return false;\n // } else if ( fieldname === 'bdr' ) {\n // return false;\n // } else {\n // return true;\n // }\n // }\n });\n\n\n // Validate to submit\n const handleSubmit = () => {\n // console.log('Handling Submit');\n trackEvent({ action: METRIC_EVENT_ACTIONS.SUBMIT });\n\n setSubmittig(true);\n \n /**\n * Handle ineligibility\n */\n const eligible = handleEligibillity();\n if ( typeof eligible === 'object' ) {\n setError(eligible);\n setSubmittig(false);\n return;\n }\n\n /**\n * All good\n */\n setLoading(true);\n submit();\n };\n\n\n\n\n const submit = async () => {\n const { generic } = settings;\n\n const cioData = {\n id: getHash(`${formData.email}`),\n created_at: Math.round(Date.now() / 1000),\n email: formData.email,\n phone: formData.phone,\n first_name: formData.firstName,\n last_name: formData.lastName,\n city: formData.city,\n state: formData.state,\n postal_code: formData.postalCode,\n street: formData.street,\n street_number: formData.streetNumber,\n full_address: formData.address,\n product_type: formData.productType,\n company_name: formData.companyName,\n in_business: formData.inBusiness,\n decision_maker: formData.decisionMaker,\n eligible_employees: parseInt(formData.eligibleEmployees?.replace(/[^\\d]/g, ''), 10) || null,\n employees_in_new_york: formData.employeesInNY,\n will_contribute: formData.willContribute,\n payroll_cycle: formData.payrollCycle,\n per_employee_budget: parseFloat(formData.perEmployeeBudget.replace(/[^0-9\\.]/g, '')) || null,\n interested_in_other_benefits: formData.interestedInOtherBenefits,\n //\n form: 'employer-form',\n product_name: ProductMap.find(p => p.short === PRODUCT_SHORT_NAME)?.long,\n marketing: {\n pid: referral?.marketingPartnerId || null,\n utm_campaign: referral?.marketingCampaign || null,\n utm_content: referral?.marketingContent || null,\n utm_medium: referral?.marketingMedium || null,\n utm_source: referral?.marketingSource || null,\n utm_term: referral?.marketingTerm || null,\n //\n poffer_id: referral?.marketingPartnerOfferId || null,\n referral_code: referral?.referralCode || null,\n tune_tracking_id: referral?.tuneTrackingId || null,\n pvar1: referral?.marketingPartnerVar1 || null,\n pvar2: referral?.marketingPartnerVar2 || null,\n pvar3: referral?.marketingPartnerVar3 || null,\n pvar4: referral?.marketingPartnerVar4 || null,\n pvar5: referral?.marketingPartnerVar5 || null,\n //\n page: location?.pathname\n },\n\n // INTERNAL\n bdr: formData.bdr || null\n };\n\n\n\n if (!openPopupDisclaimer) {\n identifyCustomer('/cio-di-lead?workspace=group_leads', cioData).then((response) => {\n\n if (response.status === 'ok') {\n console.log('CIO', cioData);\n setSubmittig(false);\n\n // Go to the Calendar\n setSubmitted(true);\n trackEvent({ action: METRIC_EVENT_ACTIONS.SUCCESS });\n\n return;\n }\n\n setError({ gtm: null, heading: generic.headingText, text: generic.message });\n setSubmittig(false);\n });\n } else {\n setSubmittig(false);\n }\n\n };\n\n\n\n\n return (\n \n { props.children }\n \n )\n};\n\n\nexport default FormLogic;\n\n\nexport const useFormLogic = () => React.useContext(FormContext);","import React, { useEffect, useRef, useState } from 'react';\n\n\n// Utils\nimport { InputAdornment, TextField, TextFieldProps, CircularProgress } from '@mui/material';\nimport { GooglePlacesScript } from '@brz-utils/google.places.script';\n\n// Types\nimport { Modify } from '@brz-types/modify';\nimport { useClass } from '@breezerr';\n\n\n\ndeclare global {\n interface Window { google: any; }\n}\n\ntype LocationModel = {\n state: string;\n city: string;\n postalCode: string;\n};\n\ntype StateTextFieldProps = Modify | string, location: LocationModel | null): void;\n}>;\n\n\nconst errorMessage = 'Please provide a valid ZIP code.';\n\nconst StateTextField = (props: StateTextFieldProps) => {\n const { children, ...otherProps } = props;\n const googlePlacesScript = GooglePlacesScript();\n\n // Refs\n const geocoder = useRef();\n const firstRender = useRef(true);\n const inputRef = useRef();\n const timeout = useRef(undefined);\n\n // States\n const [locationObject, setLocationObject] = useState(null);\n const [checking, setChecking] = useState(false);\n const [error, setError] = useState(null);\n\n const [value, setValue] = useState(props.value);\n\n // On mount\n useEffect(() => {\n setError(null);\n setLocationObject(null);\n }, []);\n\n // On prop \"value\" change\n useEffect(() => {\n if( !props.value ) {\n setError(null);\n setLocationObject(null);\n setValue(props.value);\n return;\n };\n }, [props.value]);\n\n \n\n\n const handleApiScriptLoad = () => {\n const _google: typeof google = window.google;\n\n if (!_google.maps ) {\n console.error('Google script not loaded');\n return;\n }\n\n if( !geocoder.current ) {\n geocoder.current = new _google.maps.Geocoder();\n // console.log('API Script Loaded', google);\n handleChange();\n }\n };\n\n\n // // On locationObject Change\n // useEffect(() => {\n // if( firstRender.current ) return;\n // firstRender.current = false;\n\n \n\n // }, [locationObject]);\n\n\n\n\n const handleChange = (event?: React.ChangeEvent | null) => {\n const value = event && typeof event === 'object' ? event.target.value : inputRef.current?.value; \n \n // Don't check if not enough chars\n if( !value || value.length < 5 ) {\n return;\n };\n\n if ( geocoder?.current ) {\n setChecking(true);\n\n geocoder?.current?.geocode({\n address: `postal_code:${value}|country:US`\n }, (found: any) => {\n setChecking(false);\n \n if( !found || !found[0] ) {\n setError(errorMessage);\n return;\n };\n \n const [ data ] = found;\n\n const state = data.address_components.find((item: any) => {\n return item.types.includes('administrative_area_level_1');\n });\n const city = data.address_components.find((item: any) => {\n return item.types.includes('locality');\n }) || data.address_components.find((item: any) => {\n return item.types.includes('neighborhood');\n });\n const postalCode = data.address_components.find((item: any) => {\n return item.types.includes('postal_code');\n });\n\n if( state ) {\n const location: LocationModel = {\n state: state?.short_name || '',\n city: city?.long_name || '',\n postalCode: postalCode?.short_name || value\n };\n\n setLocationObject(location);\n setChecking(false);\n\n if( typeof props.onChange === 'function' ) {\n props.onChange(event && typeof event === 'object' ? event : value, location);\n }\n } else {\n setError(errorMessage);\n }\n });\n };\n\n\n \n };\n\n return {\n !checking ? (\n locationObject ? () : ()\n ) : (\n \n )\n }\n }}\n onChange={(event: React.ChangeEvent) => {\n event.persist();\n\n setValue(event.target.value);\n\n // Reset Everything\n setError(null);\n setLocationObject(null);\n setChecking(false);\n\n // \n if( typeof props.onChange === 'function' ) {\n props.onChange(event, null);\n }\n \n\n // Throttle\n clearTimeout(timeout.current);\n timeout.current = undefined;\n\n timeout.current = setTimeout(() => {\n handleChange(event);\n }, 400);\n }}\n onFocus={() => {\n googlePlacesScript.load(() => {\n handleApiScriptLoad();\n });\n }}\n onBlur={(event) => {\n const value = event.target.value;\n\n if( !value || value.length < 5 ) {\n setError('Please provide a valid ZIP code');\n }\n }}\n error={!!error || props.error}\n style={{\n // marginBottom: !!error ? '1.5rem' : null,\n }}\n helperText={error}\n onKeyDown={(event) => {\n if ( checking && event.key === 'Tab' ) {\n event.preventDefault();\n }\n }}\n >\n\n};\n\nexport default StateTextField;","import React, { useEffect, useRef, useState } from 'react';\n\n\n// Utils\nimport config from '../../../breezerr/config';\nimport { useClass } from '@breezerr';\nimport { useBreakpoint } from '@brz-utils/contexts/is.breakpoint';\n\n// Components\nimport { TextFieldProps, ButtonBase, ButtonBaseProps, Grow } from '@mui/material';\nimport { Img } from '@brz-components/elements/img';\n\n// Types\nimport { Modify } from '@brz-types/modify';\n\n\n\ntype ChoiceListItemDataModel = {\n icon: string;\n title: string;\n text?: string;\n note?: string;\n value: string;\n};\n\ntype ChoceListFieldProps = Modify;\n selected?: ChoiceListItemDataModel['value'];\n onChange?(value: string | null): void;\n itemProps?: ButtonBaseProps;\n titleProps?: React.HTMLProps;\n}>;\n\n\n\nconst ChoiceListField = (props: ChoceListFieldProps) => {\n const { className, disabled } = props;\n const { isMobile } = useBreakpoint();\n\n // States\n const [value, setValue] = useState(props.selected || null);\n const [hover, setHover] = useState(null);\n\n const firstRender = useRef(true);\n useEffect(() => {\n if( firstRender.current ) {\n firstRender.current = false;\n return;\n }\n\n if ( typeof props.onChange === 'function' ) {\n props.onChange(value);\n }\n }, [value]);\n\n return {\n props.items.map((item, index) => {\n\n return {\n setValue(item.value);\n\n if( value === item.value && typeof props.onChange === 'function' ) {\n props.onChange(value);\n }\n }}\n onMouseOver={() => {\n setHover(item.value);\n }}\n onMouseLeave={() => {\n setHover(null);\n }}\n disabled={disabled}\n tabIndex={typeof props.tabIndex === 'number' ? props.tabIndex : 0}\n {...props.itemProps}\n >\n
{\n \n {/* Initial */}\n \n\n {/* Hovered */}\n \n \n \n \n \n \n \n \n\n {/* Selected */}\n \n \n \n \n \n \n \n \n \n }
\n\n
\n { item.title }\n {typeof item.text === 'string' ? () : null}\n {typeof item.note === 'string' ? () : null}\n
\n
\n })\n }\n};\n\nexport default ChoiceListField;","export enum InsuranceLeadType {\n Disability = 0,\n Feedback = 2,\n CriticalIllness = 3,\n PrincipalDisability = 4,\n IncomeProtection = 5,\n};","import React, { useRef, useState, useEffect } from 'react';\n\n// Utils\nimport { env } from '@brz-env';\nimport axios, { AxiosResponse } from 'axios';\nimport { useClass } from '@breezerr';\n\n// Components\nimport ChoiceListField from './choice-list';\nimport CloseIcon from '@mui/icons-material/Close';\nimport { \n CircularProgress, \n InputAdornment, \n MenuItem, \n TextField, \n TextFieldProps, \n ClickAwayListener, \n Popper, \n Paper, \n Dialog, \n IconButton, \n Button, \n MenuList,\n Slide\n} from '@mui/material';\n\n// Types\nimport { Modify } from '@brz-types/modify';\nimport { InsuranceLeadType } from '@brz-utils/insurance.lead.type';\nimport { FieldQuestion } from '@brz-components/forms/field.question';\nimport SwoopTransition from '@brz-mui/custom.components/swoop.transition';\nimport { useBreakpoint } from '@brz-utils/contexts/is.breakpoint';\n\n\n\n// https://www.meetbreeze.com/app/api/occupation/FindAllRecommendedByTerm?term=software&limit=25&state=NE\n\nconst apiURL = `${env.DEPLOYED_HOST}/app/api/occupation/FindAllByTerm`;\n\ntype ApiResponseModel = {\n errorCode: number;\n isSuccess: boolean;\n result: Array\n};\n\ntype occClassModel = {\n occClass: string;\n leadType: number;\n isRecommended: boolean;\n};\n\ntype SubCriteriaModel = {\n text?: string;\n occClasses: Array;\n};\n\ntype OccupationModel = {\n jobTitle?: string;\n occClasses: Array;\n subCriteria?: Array\n};\n\ntype OccTextField = Modify;\n state: string;\n supportedLeadTypes?: Array;\n leadType?: InsuranceLeadType;\n onJobChange?:() => void;\n onChange?(event: React.ChangeEvent | null, occClass: string, occuptionData: OccupationModel | null, subCriteria: SubCriteriaModel | null, manualValue?: string ): void;\n onTransitionDone?: () => void;\n headings?: {\n occ?: string;\n sub?: string;\n manual?: string;\n }\n manualButtonLabels?: {\n default?: string;\n search?: string;\n }\n}>;\n\n\n\nconst OccTextField = (props: OccTextField) => {\n const { children, className, disabled, disableManual, leadType, manualType, manualButtonLabels, ManualTextFieldHeadingProps, onJobChange, defaultValue, onTransitionDone, ...otherProps } = props;\n\n const { isMobile } = useBreakpoint();\n\n const supportedLeadTypes = props.supportedLeadTypes || [0];\n\n // States\n const [value, setValue] = useState('');\n const [manualValue, setManualValue] = useState('');\n \n const [isManual, setIsManual] = useState(false);\n const [open, setOpen] = useState(false);\n const [occSelectorOpen, setOccSelectorOpen] = useState(false);\n const [occDetailsTextOpen, setOccDetailsTextOpen] = useState(false);\n const [list, setList] = useState | null>(null);\n const [job, setJob] = useState(null);\n const [category, setCategory] = useState(null);\n const [checking, setChecking] = useState(false);\n const [error, setError] = useState(null);\n\n const [search, setSearch] = useState('');\n const [hasResults, setHasResults] = useState(null);\n\n const [occSearchExited, setOccSearchExited] = React.useState(false);\n const [occTextExited, setOccTextExited] = React.useState(true);\n\n\n // React.useEffect(() => {\n // console.log(occSearchExited, occTextExited);\n // }, [occSearchExited, occTextExited])\n \n\n\n // Refs\n const inputRef = useRef(null);\n const scrollIntoViewRef = React.useRef(null);\n const firstResultRef = useRef(null);\n const timeout = useRef(undefined);\n\n\n\n // Functions\n const handleChange = (event: React.ChangeEvent) => {\n const value = event.target.value;\n // console.log(value);\n\n // Don't check if not enough chars\n if( value.length < 3 ) return;\n\n setChecking(true);\n\n if ( isMobile === true ) { \n scrollIntoViewRef.current?.scrollIntoView({\n behavior: 'smooth',\n block: 'start'\n });\n }\n\n // Make the API call\n axios.get(apiURL, {\n params: {\n term: value,\n limit: 25,\n state: props.state,\n leadType: props.leadType || InsuranceLeadType.Disability\n }\n }).then((response: AxiosResponse) => {\n setChecking(false);\n const { data } = response;\n\n // console.log(data);\n\n if( data.isSuccess ) {\n setList(data.result);\n setOpen(!!data.result);\n setHasResults(!!data.result);\n } else if( data.errorCode !== null ) {\n console.error('Response Error:', data.errorCode);\n setError('Something went wrong, please try again.');\n }\n \n }).catch((error) => {\n setChecking(false);\n setError('Something went wrong, please try again.');\n console.error('Axios Request Error:', error);\n });\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n\n const handleTransitionDone = () => {\n if ( typeof props.onTransitionDone === 'function' ) {\n props.onTransitionDone();\n }\n };\n\n\n\n const firstRender = useRef(true);\n useEffect(() => {\n // skip first render\n if ( firstRender.current ) {\n firstRender.current = false;\n return;\n }\n\n if( job && job.occClasses.length ) {\n // console.log(job.occClasses);\n const item = job.occClasses.find(item => supportedLeadTypes.includes(item.leadType)) || job.occClasses[0];\n\n \n \n \n // check for lead type support\n if( supportedLeadTypes.includes(item.leadType) ) {\n setValue(item.occClass);\n } else {\n setValue('Unsupported');\n }\n \n } else if( job && !job.occClasses.length ) {\n setValue('');\n }\n\n if( job && job.jobTitle ) {\n setSearch(job?.jobTitle);\n }\n\n if (typeof props.onJobChange !== 'undefined') {\n props.onJobChange();\n }\n\n handleClose();\n }, [job]);\n\n\n useEffect(() => {\n if (category) {\n const item = category.occClasses.find(item => supportedLeadTypes.includes(item.leadType)) || category.occClasses[0];\n if( item?.occClass ) {\n // check for lead type support\n if( supportedLeadTypes.includes(item.leadType) ) {\n setValue(item.occClass);\n } else {\n setValue('Unsupported');\n }\n } else {\n setValue('');\n }\n }\n // console.log('Category:', category);\n }, [category])\n\n\n\n const firstRenderValue = React.useRef(true);\n useEffect(() => {\n if (firstRenderValue.current) {\n firstRenderValue.current = false;\n return;\n }\n\n if (typeof props.onChange === 'function') {\n props.onChange(null, value || '', job, category, manualValue || '');\n }\n }, [value, manualValue]);\n\n\n\n\n const hashIt = (text: string | undefined) => {\n if ( !text ) return null;\n return text?.toLowerCase().replace(/[^a-z0-9]+/ig, '-') || null;\n };\n\n const resetSearch = () => {\n setIsManual(false);\n setSearch('');\n setJob(null);\n setCategory(null);\n setValue('');\n\n setChecking(false);\n setError(null);\n\n setHasResults(null);\n setList(null);\n setJob(null);\n setCategory(null);\n\n handleClose();\n };\n\n\n\n return (\n \n \n
\n
\n\n setOccSearchExited(true)} \n onEnter={() => {\n setOccSearchExited(false);\n setManualValue('');\n }}\n onTransitionDone={handleTransitionDone}\n >\n {props.headings?.occ || `What's your current occupation?` }\n {\n if (!!error) {\n return error;\n }\n\n if (hasResults === false) {\n return `There are no matches for your search`;\n }\n\n return props.helperText || (!value ? 'Type at least 3 characters to start searching.' : '');\n })()}\n FormHelperTextProps={{\n className: useClass(`-bottom-2.5rem ${hasResults === false ? 'text-color-error' : ''}`)\n }}\n onChange={(event: React.ChangeEvent) => {\n event.persist();\n\n // Reset Manual Value\n setManualValue('');\n\n // Reset Everything\n setIsManual(false);\n setSearch(event.target.value);\n setJob(null);\n setCategory(null);\n setValue('');\n \n setChecking(false);\n setError(null);\n handleClose();\n\n // Throttle\n clearTimeout(timeout.current);\n timeout.current = undefined;\n\n timeout.current = setTimeout(() => {\n handleChange(event);\n }, 400);\n }}\n onFocus={(event) => {\n setOpen(!!list);\n\n if ( typeof otherProps.onFocus === 'function' ) {\n otherProps.onFocus(event);\n }\n }}\n onClick={() => {\n // console.log(job, category, value);\n if (isManual) {\n setSearch('');\n setIsManual(false);\n setValue('');\n }\n }}\n // onKeyDown={(event) => {\n // if( event.key === 'Tab' ) {\n // event.preventDefault();\n // firstResultRef?.current?.focus();\n // }\n // }}\n InputProps={{\n endAdornment: {\n checking ? (\n \n ) : ('')\n }\n }}\n // type='search'\n inputProps={{\n inputMode: 'search'\n }}\n >\n \n\n \n setOccTextExited(true)} \n onEnter={() => {\n setOccTextExited(false);\n }}\n onTransitionDone={handleTransitionDone}\n >\n { props.headings?.manual || `What's your occupation and job duties?` }\n ) => {\n setManualValue(event.target.value);\n }}\n disabled={disabled}\n placeholder={'Please describe your occupation and job duties'}\n multiline\n rows={4}\n />\n \n\n\n\n\n\n\n\n \n\n {props.disableManual ? null : (\n \n )}\n\n\n\n {/* Custom dropdown for search */}\n \n \n \n {list?.length ? list?.map((item, index) => {\n return {\n setCategory(null);\n setJob(item);\n }}\n key={index}\n value={item.jobTitle}\n component={'button'}\n tabIndex={0}\n >{ item.jobTitle }\n }) : (\n
  • No results found
  • \n )}\n
    \n
    \n \n\n\n\n\n\n {/* Additional question */}\n \n
    \n { props.headings?.sub || `Which of the following apply to your occupation?` }\n ) => {\n const item = job?.subCriteria?.find(item => hashIt(item.text) === event.target.value) || null;\n // console.log('category changed', item, event.target.value, job.subCriteria);\n \n setCategory(item);\n }}\n inputProps={{\n tabIndex: 1\n }}\n >{\n job?.subCriteria?.map((item, index) => {\n return { item.text }\n }) || \n }\n
    \n\n
    \n \n\n {setOccSelectorOpen(false)}}\n PaperProps={{\n className: useClass('px-0x py-0x max-w-510px radius-1rem')\n }}\n BackdropProps={{\n className: useClass('h-100vh')\n }}\n >\n
    \n
    How would you categorize your current job?
    \n { setOccSelectorOpen(false) }} \n className={useClass('p-absolute right-1rem bg-color-white!')} \n size=\"medium\"\n >\n \n \n
    \n
    \n {\n setValue(value || '');\n setIsManual(true);\n setOccSelectorOpen(false);\n\n setJob(null);\n setCategory(null);\n setList(null);\n\n setSearch((() => {\n const filtered = manualOccItems(value || '');\n return filtered.length === 1 ? filtered[0].title : '';\n })());\n }}\n />\n
    \n \n \n );\n\n function manualOccItems(value?: string) {\n return [\n { title: 'Professional', text: 'Office job with few hazards.', note: 'Examples: accountant, pharmacist, software engineer.', icon: 'https://res.cloudinary.com/dhcccab2y/image/upload/v1608046599/icon-tie_asgfp9.svg', value: '4A' },\n { title: 'Technical', text: 'Similar to Professional, but with some hazards.', note: 'Examples: salesperson, dental hygenist, lab tech.', icon: 'https://res.cloudinary.com/dhcccab2y/image/upload/v1608046599/icon-tooth_yyamei.svg', value: '3A' },\n { title: 'Light Labor', text: 'Skilled/manual jobs in lighter industries.', note: 'Examples: auto mechanic, carpenter, landscaper.', icon: 'https://res.cloudinary.com/dhcccab2y/image/upload/v1608046599/icon-wrench_skvx8x.svg', value: '2A' },\n { title: 'Labor', text: 'Heavier or unskilled manual jobs with more hazards.', note: 'Examples: ride share driver, roofer, etc.', icon: 'https://res.cloudinary.com/dhcccab2y/image/upload/v1608046599/icon-car_yqpowk.svg', value: '1A' }\n ].filter(item => {\n return value ? item.value === value : true;\n });\n }\n};\n\nexport default OccTextField;\n\n\n\nOccTextField.defaultProps = {\n manualType: 'select',\n};","import { FormDataModel } from \"./types\";\n\nexport const defaultFormData: FormDataModel = {\n coverageType: '',\n age: '',\n state: '',\n firstName: '',\n lastName: '',\n email: '',\n phone: ''\n};","import React from 'react';\n\n// Utils\nimport { env } from '@brz-env';\nimport { METRIC_EVENT_ACTIONS, METRIC_EVENT_ACTION_CATEGORIES, useGMTDataLayer, useLuckyOrange } from '@brz-utils/tracking';\nimport { useReferralParams } from '@brz-utils/contexts/referral.helper';\nimport { usePartner } from '@brz-utils/contexts/partner.context';\nimport { useFieldValidator } from '../field.validator';\n\nimport { defaultFormData } from './default.data';\n\n// Components\n\n\n// Types\nimport { FormContextModel, FormDataModel, FormSettingsDataModel, QueryParamsModel } from './types';\nimport { ErrorModel } from '../shared.types';\nimport { useCheckEligibility } from '../check.eligibility';\nimport { getQueryParam } from '@brz-utils/get.query.param';\nimport { identifyCustomer } from '../cio.identify';\nimport { capitalize } from '@brz-utils/capitalize';\nimport { getHash } from '@brz-utils/hash.it';\nimport { serializeParams } from '@brz-utils/serialize.params';\nimport { getAge } from '../get.age';\nimport { brzDateFormat } from '../brz.dateformat';\n\n\n\n// Config\nconst LOAD_TEST_DATA = false;\nconst PRODUCT_SHORT_NAME = 'aei';\nconst DISABLE_REDIRECT = false;\n\n\ntype FormLogicProps = {\n settings: FormSettingsDataModel;\n children: React.ReactNode;\n};\n\nconst FormContext = React.createContext({} as FormContextModel);\n\nconst redirectUrl = `${env.DEPLOYED_HOST}/app/accident/quote/from-partner`;\n\n\n\nconst FormLogic = (props: FormLogicProps) => {\n const settings = props.settings; \n\n // console.log(settings);\n \n\n // States\n const [formData, setFormData] = React.useState(defaultFormData);\n \n // Interaction States\n const [submitting, setSubmittig] = React.useState(false);\n const [submitted, setSubmitted] = React.useState(false);\n const [loading, setLoading] = React.useState(false);\n const [interacted, setInteracted] = React.useState(false);\n\n // Error State\n const [error, setError] = React.useState(null);\n const [showError, setShowError] = React.useState(false);\n \n\n // Marketing\n const referral = useReferralParams();\n const { partner } = usePartner();\n\n const { trackEvent, trackMetricEvent } = useGMTDataLayer({\n product_short_name: PRODUCT_SHORT_NAME,\n action_category: METRIC_EVENT_ACTION_CATEGORIES.FORM\n });\n\n const { loIdentify } = useLuckyOrange({\n product_short_name: PRODUCT_SHORT_NAME,\n action_category: METRIC_EVENT_ACTION_CATEGORIES.FORM\n });\n\n\n // Eligibility Checks\n const { handleEligibillity } = useCheckEligibility(formData, settings);\n\n\n // On Mount\n React.useEffect(() => {\n if ( typeof window !== 'undefined' ) {\n // Dynamicaly load test data\n if ( LOAD_TEST_DATA ) {\n import('./test.data').then((script) => {\n setFormData(script.testFormData);\n })\n }\n\n // setError({ gtm: 'knockout', heading: settings.ineligible.headingText, text: settings.ineligible.unemployed.message });\n }\n }, []);\n\n\n // On Form Data Change\n const firstInteraction = React.useRef(true);\n React.useEffect(() => {\n // console.log(formData);\n // Reset submitting\n setSubmittig(false);\n\n if (firstInteraction.current && interacted) {\n firstInteraction.current = false;\n trackEvent({ action: METRIC_EVENT_ACTIONS.INTERACT });\n }\n\n }, [formData]);\n\n\n // On Error State change\n React.useEffect(() => {\n setShowError(!!error);\n\n if (error) {\n // GTM\n if ( error.gtm === 'knockout' ) {\n trackEvent({ action: METRIC_EVENT_ACTIONS.KNOCKOUT });\n return;\n }\n\n // Generic/Any Error\n trackEvent({ action: METRIC_EVENT_ACTIONS.ERROR });\n\n setSubmitted(false);\n setSubmittig(false);\n setLoading(false);\n }\n }, [error]);\n\n\n\n \n // Functions\n\n // Helper function to update form data per field\n const updateFormData = (prop: keyof FormDataModel, value: any) => {\n setFormData(Object.assign({}, formData, {\n [prop]: value\n }))\n };\n\n // Reset form\n const resetForm = () => {\n setFormData(defaultFormData);\n setSubmittig(false);\n setSubmitted(false);\n setLoading(false);\n setShowError(false);\n setError(null);\n\n console.log('Form Reset');\n \n };\n\n\n // Field Validation\n const { depsValid, validateField } = useFieldValidator(formData, {\n age: { minAge: settings.ineligible.age.min, maxAge: settings.ineligible.age.max }\n });\n\n\n\n // Validate to submit\n const handleSubmit = async (): Promise => {\n // console.log('Handling Submit');\n trackEvent({ action: METRIC_EVENT_ACTIONS.SUBMIT });\n\n setSubmittig(true);\n \n /**\n * Handle ineligibility\n */\n const eligible = handleEligibillity();\n // console.log('eligible:', eligible);\n \n if ( typeof eligible === 'object' ) {\n setError(eligible);\n setSubmittig(false);\n // await new Promise(res => setTimeout(res, 1000));\n return eligible;\n }\n\n /**\n * All good\n */\n setLoading(true);\n await submit();\n return null;\n };\n\n\n\n const submit = async () => {\n setSubmittig(true);\n \n await identify();\n setSubmitted(true);\n\n redirect();\n trackEvent({ action: METRIC_EVENT_ACTIONS.SUCCESS });\n };\n \n \n const identify = async () => {\n \n const cioPartnerData = {\n name: partner?.title,\n pid: partner?.pid\n }\n\n const cioData = {\n id: getHash(`${formData.email}`),\n created_at: Math.round(Date.now() / 1000),\n //\n email: formData.email,\n phone: formData.phone,\n first_name: capitalize(formData.firstName || null),\n last_name: capitalize(formData.lastName || null),\n //\n coverage_type: formData.coverageType,\n age: getAge(formData.dob),\n state: formData.state,\n aei_quote: true,\n form: `aei-form`,\n product: PRODUCT_SHORT_NAME,\n //\n partner: cioPartnerData,\n //\n marketing: {\n pid: referral?.marketingPartnerId || null,\n utm_campaign: referral?.marketingCampaign || null,\n utm_content: referral?.marketingContent || null,\n utm_medium: referral?.marketingMedium || null,\n utm_source: referral?.marketingSource || null,\n utm_term: referral?.marketingTerm || null,\n //\n poffer_id: referral?.marketingPartnerOfferId || null,\n referral_code: referral?.referralCode || null,\n tune_tracking_id: referral?.tuneTrackingId || null,\n pvar1: referral?.marketingPartnerVar1 || null,\n pvar2: referral?.marketingPartnerVar2 || null,\n pvar3: referral?.marketingPartnerVar3 || null,\n pvar4: referral?.marketingPartnerVar4 || null,\n pvar5: referral?.marketingPartnerVar5 || null,\n //\n page: location?.pathname\n },\n }\n\n try {\n const response = await identifyCustomer('/cio-di-lead', cioData);\n console.log('cio:', cioData);\n\n if ( response.status !== 'ok' ) {\n setError({ gtm: null, heading: settings.generic.headingText, text: settings.generic.message });\n }\n } catch (error) {\n setError({ gtm: null, heading: settings.generic.headingText, text: settings.generic.message });\n }\n\n\n // Lucky Orange\n if ( formData.email && formData.firstName && formData.lastName ) {\n loIdentify({\n name: capitalize(`${formData.firstName || ''} ${formData.lastName || ''}`),\n email: formData.email.toLowerCase(),\n });\n }\n\n };\n\n const redirect = () => {\n // Set queries\n const params: QueryParamsModel = {\n // Form Data\n insured: formData.coverageType || 'Individual',\n dob: brzDateFormat(formData.dob),\n state: formData.state,\n // Contacts\n firstName: formData.firstName,\n lastName: formData.lastName,\n email: formData.email,\n phone: formData.phone,\n //Marketing\n pid: referral?.marketingPartnerId,\n utm_campaign: referral?.marketingCampaign,\n utm_content: referral?.marketingContent,\n utm_medium: referral?.marketingMedium,\n utm_source: referral?.marketingSource,\n utm_term: referral?.marketingTerm,\n //\n pvar1: referral?.marketingPartnerVar1,\n pvar2: referral?.marketingPartnerVar2,\n pvar3: referral?.marketingPartnerVar3,\n pvar4: referral?.marketingPartnerVar4,\n pvar5: referral?.marketingPartnerVar5,\n };\n\n \n // Create the redirect url\n const url = [redirectUrl, '?', serializeParams(params)].join('');\n\n trackEvent({ action: METRIC_EVENT_ACTIONS.SUCCESS });\n\n\n\n // Return to skip redirect if testing\n if ( DISABLE_REDIRECT ) return;\n\n // DO the redirect\n if (typeof window !== 'undefined' && window.location) {\n // console.log(url);\n setTimeout(() => {\n window.location.assign(url);\n }, 1000);\n }\n };\n\n\n\n\n return (\n \n { props.children }\n \n )\n};\n\nexport default FormLogic;\n\n\nexport const useFormLogic = () => React.useContext(FormContext);","import React from 'react';\nimport { Script } from 'gatsby';\nimport { env } from '@brz-env';\n\ndeclare global {\n interface Window {\n _cio: any;\n }\n}\n\ntype CustomerIoSnippetProps = {\n siteId?: string;\n}\n\nconst CustomerIoSnippet = (props: CustomerIoSnippetProps) => {\n const [ready, setReady] = React.useState(false);\n\n React.useEffect(() => {\n if (typeof window !== 'undefined') {\n const scriptNode = document.getElementById('cio-tracker');\n if (scriptNode) {\n scriptNode.parentNode?.removeChild(scriptNode);\n }\n\n if (window._cio) {\n window._cio.reset();\n window._cio = undefined;\n }\n }\n\n setReady(true);\n }, []);\n\n return ready ? (\n // \n ) : null;\n};\n\nexport default CustomerIoSnippet;","import React, { useState, useEffect, CSSProperties, HTMLAttributes } from 'react';\nimport { useTheme } from '@mui/material';\nimport { Transition, TransitionStatus } from 'react-transition-group';\nimport { Modify } from '@brz-types/modify';\nimport { TransitionProps } from '@mui/material/transitions';\n\n\ntype Props = {\n ContainerProps?: HTMLAttributes;\n children: React.ReactNode | React.ReactNode[];\n className?: string;\n onTransitionDone?: () => void;\n inDelay?: number;\n delay?: {\n [key in TransitionStatus]?: number;\n } & { initial?: number; }\n};\n\nconst SwoopTransition = (props: Modify) => {\n const { className, onTransitionDone, delay, in: enter, inDelay, ...other } = props;\n\n const [start, setStart] = React.useState(inDelay ? false : true);\n\n const theme = useTheme();\n const nodeRef = React.useRef(null);\n\n const duration = theme.transitions.duration.shorter;\n const movement = 50;\n\n const defaultStyle: CSSProperties = {\n transitionProperty: `opacity, transform`,\n transitionDelay: '0ms, 0ms',\n transitionDuration: `${duration}ms, ${duration + (duration * 50 / 100)}ms`,\n transitionTimingFunction: ` ease-in-out, cubic-bezier(0.34, 1.56, 0.64, 1)`,\n opacity: 0,\n }\n\n const transitionStyles: {\n [key in TransitionStatus]: CSSProperties;\n } = {\n entering: { opacity: 0, transform: `translateX(${movement}px)`, transitionDelay: `${delay?.entering || 0}ms, ${delay?.entering || 0}ms` },\n entered: { opacity: 1, transform: `translateX(0px)`, transitionDelay: `${delay?.entered || 0}ms, ${delay?.entered || 0}ms` },\n exiting: { \n opacity: 0, transform: `translateX(-${movement}px)`, \n // transition: `opacity, transform`,\n transitionProperty: `opacity, transform`,\n transitionDuration: `${duration + (duration * 50 / 100)}ms, ${duration}ms`,\n transitionTimingFunction: `ease-out, ease-out`,\n transitionDelay: `${delay?.exiting || 0}ms, ${delay?.exiting || 0}ms` \n },\n exited: { opacity: 0, transform: `translateX(${movement}px)`, transitionDelay: `${delay?.exited || 0}ms, ${delay?.exited || 0}ms` },\n unmounted: { opacity: 0, transform: 'unset', transitionDelay: `${delay?.unmounted || 0}ms, ${delay?.unmounted || 0}ms` },\n };\n\n\n\n React.useEffect(() => {\n if ( typeof window !== 'undefined' ) {\n if (enter) {\n setTimeout(() => {\n setStart(true);\n }, inDelay)\n } else {\n setStart(false);\n }\n }\n }, [enter]);\n \n return (\n {\n if ( typeof onTransitionDone === 'function' ) {\n onTransitionDone();\n }\n if ( typeof props.onExited === 'function' ) {\n props.onExited(event);\n }\n }}\n onEntered={(event, isAppearing) => {\n if ( typeof props.onTransitionDone === 'function' ) {\n props.onTransitionDone();\n }\n if ( typeof props.onEntered === 'function' ) {\n props.onEntered(event, isAppearing);\n }\n }}\n >\n {state => (\n
    \n {props.children}\n
    \n )}\n \n );\n};\n \nexport default SwoopTransition;","import { a as getWindow, g as getDocument } from './ssr-window.esm.mjs';\nimport { a as elementParents, p as elementStyle, e as elementChildren, s as setCSSProperty, f as elementOuterSize, q as elementNextAll, r as elementPrevAll, j as getTranslate, t as animateCSSModeScroll, n as nextTick, u as showWarning, c as createElement, v as elementIsChildOf, d as now, w as extend, h as elementIndex, x as deleteProps } from './utils.mjs';\n\nlet support;\nfunction calcSupport() {\n const window = getWindow();\n const document = getDocument();\n return {\n smoothScroll: document.documentElement && document.documentElement.style && 'scrollBehavior' in document.documentElement.style,\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch)\n };\n}\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n return support;\n}\n\nlet deviceCached;\nfunction calcDevice(_temp) {\n let {\n userAgent\n } = _temp === void 0 ? {} : _temp;\n const support = getSupport();\n const window = getWindow();\n const platform = window.navigator.platform;\n const ua = userAgent || window.navigator.userAgent;\n const device = {\n ios: false,\n android: false\n };\n const screenWidth = window.screen.width;\n const screenHeight = window.screen.height;\n const android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n let ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n const ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n const iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n const windows = platform === 'Win32';\n let macos = platform === 'MacIntel';\n\n // iPadOs 13 fix\n const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n }\n\n // Android\n if (android && !windows) {\n device.os = 'android';\n device.android = true;\n }\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n }\n\n // Export object\n return device;\n}\nfunction getDevice(overrides) {\n if (overrides === void 0) {\n overrides = {};\n }\n if (!deviceCached) {\n deviceCached = calcDevice(overrides);\n }\n return deviceCached;\n}\n\nlet browser;\nfunction calcBrowser() {\n const window = getWindow();\n const device = getDevice();\n let needPerspectiveFix = false;\n function isSafari() {\n const ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n if (isSafari()) {\n const ua = String(window.navigator.userAgent);\n if (ua.includes('Version/')) {\n const [major, minor] = ua.split('Version/')[1].split(' ')[0].split('.').map(num => Number(num));\n needPerspectiveFix = major < 16 || major === 16 && minor < 2;\n }\n }\n const isWebView = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent);\n const isSafariBrowser = isSafari();\n const need3dFix = isSafariBrowser || isWebView && device.ios;\n return {\n isSafari: needPerspectiveFix || isSafariBrowser,\n needPerspectiveFix,\n need3dFix,\n isWebView\n };\n}\nfunction getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n return browser;\n}\n\nfunction Resize(_ref) {\n let {\n swiper,\n on,\n emit\n } = _ref;\n const window = getWindow();\n let observer = null;\n let animationFrame = null;\n const resizeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('beforeResize');\n emit('resize');\n };\n const createObserver = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n observer = new ResizeObserver(entries => {\n animationFrame = window.requestAnimationFrame(() => {\n const {\n width,\n height\n } = swiper;\n let newWidth = width;\n let newHeight = height;\n entries.forEach(_ref2 => {\n let {\n contentBoxSize,\n contentRect,\n target\n } = _ref2;\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n if (newWidth !== width || newHeight !== height) {\n resizeHandler();\n }\n });\n });\n observer.observe(swiper.el);\n };\n const removeObserver = () => {\n if (animationFrame) {\n window.cancelAnimationFrame(animationFrame);\n }\n if (observer && observer.unobserve && swiper.el) {\n observer.unobserve(swiper.el);\n observer = null;\n }\n };\n const orientationChangeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('orientationchange');\n };\n on('init', () => {\n if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {\n createObserver();\n return;\n }\n window.addEventListener('resize', resizeHandler);\n window.addEventListener('orientationchange', orientationChangeHandler);\n });\n on('destroy', () => {\n removeObserver();\n window.removeEventListener('resize', resizeHandler);\n window.removeEventListener('orientationchange', orientationChangeHandler);\n });\n}\n\nfunction Observer(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const observers = [];\n const window = getWindow();\n const attach = function (target, options) {\n if (options === void 0) {\n options = {};\n }\n const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n const observer = new ObserverFunc(mutations => {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (swiper.__preventObserver__) return;\n if (mutations.length === 1) {\n emit('observerUpdate', mutations[0]);\n return;\n }\n const observerUpdate = function observerUpdate() {\n emit('observerUpdate', mutations[0]);\n };\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: swiper.isElement || (typeof options.childList === 'undefined' ? true : options).childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n observers.push(observer);\n };\n const init = () => {\n if (!swiper.params.observer) return;\n if (swiper.params.observeParents) {\n const containerParents = elementParents(swiper.hostEl);\n for (let i = 0; i < containerParents.length; i += 1) {\n attach(containerParents[i]);\n }\n }\n // Observe container\n attach(swiper.hostEl, {\n childList: swiper.params.observeSlideChildren\n });\n\n // Observe wrapper\n attach(swiper.wrapperEl, {\n attributes: false\n });\n };\n const destroy = () => {\n observers.forEach(observer => {\n observer.disconnect();\n });\n observers.splice(0, observers.length);\n };\n extendParams({\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n });\n on('init', init);\n on('destroy', destroy);\n}\n\n/* eslint-disable no-underscore-dangle */\n\nvar eventsEmitter = {\n on(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(event => {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n once(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n function onceHandler() {\n self.off(events, onceHandler);\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n handler.apply(self, args);\n }\n onceHandler.__emitterProxy = handler;\n return self.on(events, onceHandler, priority);\n },\n onAny(handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n return self;\n },\n offAny(handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsAnyListeners) return self;\n const index = self.eventsAnyListeners.indexOf(handler);\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n return self;\n },\n off(events, handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(event => {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach((eventHandler, index) => {\n if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n },\n emit() {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n let events;\n let data;\n let context;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n data.unshift(context);\n const eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(event => {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(eventHandler => {\n eventHandler.apply(context, [event, ...data]);\n });\n }\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(eventHandler => {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n};\n\nfunction updateSize() {\n const swiper = this;\n let width;\n let height;\n const el = swiper.el;\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = el.clientWidth;\n }\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = el.clientHeight;\n }\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n }\n\n // Subtract paddings\n width = width - parseInt(elementStyle(el, 'padding-left') || 0, 10) - parseInt(elementStyle(el, 'padding-right') || 0, 10);\n height = height - parseInt(elementStyle(el, 'padding-top') || 0, 10) - parseInt(elementStyle(el, 'padding-bottom') || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n Object.assign(swiper, {\n width,\n height,\n size: swiper.isHorizontal() ? width : height\n });\n}\n\nfunction updateSlides() {\n const swiper = this;\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label)) || 0);\n }\n const params = swiper.params;\n const {\n wrapperEl,\n slidesEl,\n size: swiperSize,\n rtlTranslate: rtl,\n wrongRTL\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n const slides = elementChildren(slidesEl, `.${swiper.params.slideClass}, swiper-slide`);\n const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n let snapGrid = [];\n const slidesGrid = [];\n const slidesSizesGrid = [];\n let offsetBefore = params.slidesOffsetBefore;\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n let offsetAfter = params.slidesOffsetAfter;\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n const previousSnapGridLength = swiper.snapGrid.length;\n const previousSlidesGridLength = swiper.slidesGrid.length;\n let spaceBetween = params.spaceBetween;\n let slidePosition = -offsetBefore;\n let prevSlideSize = 0;\n let index = 0;\n if (typeof swiperSize === 'undefined') {\n return;\n }\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n } else if (typeof spaceBetween === 'string') {\n spaceBetween = parseFloat(spaceBetween);\n }\n swiper.virtualSize = -spaceBetween;\n\n // reset margins\n slides.forEach(slideEl => {\n if (rtl) {\n slideEl.style.marginLeft = '';\n } else {\n slideEl.style.marginRight = '';\n }\n slideEl.style.marginBottom = '';\n slideEl.style.marginTop = '';\n });\n\n // reset cssMode offsets\n if (params.centeredSlides && params.cssMode) {\n setCSSProperty(wrapperEl, '--swiper-centered-offset-before', '');\n setCSSProperty(wrapperEl, '--swiper-centered-offset-after', '');\n }\n const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;\n if (gridEnabled) {\n swiper.grid.initSlides(slides);\n } else if (swiper.grid) {\n swiper.grid.unsetSlides();\n }\n\n // Calc slides\n let slideSize;\n const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => {\n return typeof params.breakpoints[key].slidesPerView !== 'undefined';\n }).length > 0;\n for (let i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n let slide;\n if (slides[i]) slide = slides[i];\n if (gridEnabled) {\n swiper.grid.updateSlide(i, slide, slides);\n }\n if (slides[i] && elementStyle(slide, 'display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n if (shouldResetSlideSize) {\n slides[i].style[swiper.getDirectionLabel('width')] = ``;\n }\n const slideStyles = getComputedStyle(slide);\n const currentTransform = slide.style.transform;\n const currentWebKitTransform = slide.style.webkitTransform;\n if (currentTransform) {\n slide.style.transform = 'none';\n }\n if (currentWebKitTransform) {\n slide.style.webkitTransform = 'none';\n }\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? elementOuterSize(slide, 'width', true) : elementOuterSize(slide, 'height', true);\n } else {\n // eslint-disable-next-line\n const width = getDirectionPropertyValue(slideStyles, 'width');\n const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n const boxSizing = slideStyles.getPropertyValue('box-sizing');\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n const {\n clientWidth,\n offsetWidth\n } = slide;\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n if (currentTransform) {\n slide.style.transform = currentTransform;\n }\n if (currentWebKitTransform) {\n slide.style.webkitTransform = currentWebKitTransform;\n }\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n if (slides[i]) {\n slides[i].style[swiper.getDirectionLabel('width')] = `${slideSize}px`;\n }\n }\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n slidesSizesGrid.push(slideSize);\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n wrapperEl.style.width = `${swiper.virtualSize + spaceBetween}px`;\n }\n if (params.setWrapperSize) {\n wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`;\n }\n if (gridEnabled) {\n swiper.grid.updateWrapperSize(slideSize, snapGrid);\n }\n\n // Remove last grid elements depending on width\n if (!params.centeredSlides) {\n const newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(slidesGridItem);\n }\n }\n snapGrid = newSlidesGrid;\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n if (isVirtual && params.loop) {\n const size = slidesSizesGrid[0] + spaceBetween;\n if (params.slidesPerGroup > 1) {\n const groups = Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup);\n const groupSize = size * params.slidesPerGroup;\n for (let i = 0; i < groups; i += 1) {\n snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize);\n }\n }\n for (let i = 0; i < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; i += 1) {\n if (params.slidesPerGroup === 1) {\n snapGrid.push(snapGrid[snapGrid.length - 1] + size);\n }\n slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size);\n swiper.virtualSize += size;\n }\n }\n if (snapGrid.length === 0) snapGrid = [0];\n if (spaceBetween !== 0) {\n const key = swiper.isHorizontal() && rtl ? 'marginLeft' : swiper.getDirectionLabel('marginRight');\n slides.filter((_, slideIndex) => {\n if (!params.cssMode || params.loop) return true;\n if (slideIndex === slides.length - 1) {\n return false;\n }\n return true;\n }).forEach(slideEl => {\n slideEl.style[key] = `${spaceBetween}px`;\n });\n }\n if (params.centeredSlides && params.centeredSlidesBounds) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (spaceBetween || 0);\n });\n allSlidesSize -= spaceBetween;\n const maxSnap = allSlidesSize > swiperSize ? allSlidesSize - swiperSize : 0;\n snapGrid = snapGrid.map(snap => {\n if (snap <= 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n if (params.centerInsufficientSlides) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (spaceBetween || 0);\n });\n allSlidesSize -= spaceBetween;\n const offsetSize = (params.slidesOffsetBefore || 0) + (params.slidesOffsetAfter || 0);\n if (allSlidesSize + offsetSize < swiperSize) {\n const allSlidesOffset = (swiperSize - allSlidesSize - offsetSize) / 2;\n snapGrid.forEach((snap, snapIndex) => {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach((snap, snapIndex) => {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n Object.assign(swiper, {\n slides,\n snapGrid,\n slidesGrid,\n slidesSizesGrid\n });\n if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {\n setCSSProperty(wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);\n setCSSProperty(wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);\n const addToSnapGrid = -swiper.snapGrid[0];\n const addToSlidesGrid = -swiper.slidesGrid[0];\n swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid);\n swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid);\n }\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n swiper.emit('slidesUpdated');\n if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {\n const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;\n const hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass);\n if (slidesLength <= params.maxBackfaceHiddenSlides) {\n if (!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass);\n } else if (hasClassBackfaceClassAdded) {\n swiper.el.classList.remove(backFaceHiddenClass);\n }\n }\n}\n\nfunction updateAutoHeight(speed) {\n const swiper = this;\n const activeSlides = [];\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let newHeight = 0;\n let i;\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n const getSlideByIndex = index => {\n if (isVirtual) {\n return swiper.slides[swiper.getSlideIndexByData(index)];\n }\n return swiper.slides[index];\n };\n // Find slides currently in view\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n (swiper.visibleSlides || []).forEach(slide => {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n const index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n }\n\n // Find new height from highest slide in view\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n const height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n }\n\n // Update Height\n if (newHeight || newHeight === 0) swiper.wrapperEl.style.height = `${newHeight}px`;\n}\n\nfunction updateSlidesOffset() {\n const swiper = this;\n const slides = swiper.slides;\n // eslint-disable-next-line\n const minusOffset = swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft : swiper.wrapperEl.offsetTop : 0;\n for (let i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = (swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop) - minusOffset - swiper.cssOverflowAdjustment();\n }\n}\n\nconst toggleSlideClasses$1 = (slideEl, condition, className) => {\n if (condition && !slideEl.classList.contains(className)) {\n slideEl.classList.add(className);\n } else if (!condition && slideEl.classList.contains(className)) {\n slideEl.classList.remove(className);\n }\n};\nfunction updateSlidesProgress(translate) {\n if (translate === void 0) {\n translate = this && this.translate || 0;\n }\n const swiper = this;\n const params = swiper.params;\n const {\n slides,\n rtlTranslate: rtl,\n snapGrid\n } = swiper;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n let offsetCenter = -translate;\n if (rtl) offsetCenter = translate;\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n let spaceBetween = params.spaceBetween;\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size;\n } else if (typeof spaceBetween === 'string') {\n spaceBetween = parseFloat(spaceBetween);\n }\n for (let i = 0; i < slides.length; i += 1) {\n const slide = slides[i];\n let slideOffset = slide.swiperSlideOffset;\n if (params.cssMode && params.centeredSlides) {\n slideOffset -= slides[0].swiperSlideOffset;\n }\n const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);\n const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);\n const slideBefore = -(offsetCenter - slideOffset);\n const slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n const isFullyVisible = slideBefore >= 0 && slideBefore <= swiper.size - swiper.slidesSizesGrid[i];\n const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n }\n toggleSlideClasses$1(slide, isVisible, params.slideVisibleClass);\n toggleSlideClasses$1(slide, isFullyVisible, params.slideFullyVisibleClass);\n slide.progress = rtl ? -slideProgress : slideProgress;\n slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;\n }\n}\n\nfunction updateProgress(translate) {\n const swiper = this;\n if (typeof translate === 'undefined') {\n const multiplier = swiper.rtlTranslate ? -1 : 1;\n // eslint-disable-next-line\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n const params = swiper.params;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n let {\n progress,\n isBeginning,\n isEnd,\n progressLoop\n } = swiper;\n const wasBeginning = isBeginning;\n const wasEnd = isEnd;\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n const isBeginningRounded = Math.abs(translate - swiper.minTranslate()) < 1;\n const isEndRounded = Math.abs(translate - swiper.maxTranslate()) < 1;\n isBeginning = isBeginningRounded || progress <= 0;\n isEnd = isEndRounded || progress >= 1;\n if (isBeginningRounded) progress = 0;\n if (isEndRounded) progress = 1;\n }\n if (params.loop) {\n const firstSlideIndex = swiper.getSlideIndexByData(0);\n const lastSlideIndex = swiper.getSlideIndexByData(swiper.slides.length - 1);\n const firstSlideTranslate = swiper.slidesGrid[firstSlideIndex];\n const lastSlideTranslate = swiper.slidesGrid[lastSlideIndex];\n const translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1];\n const translateAbs = Math.abs(translate);\n if (translateAbs >= firstSlideTranslate) {\n progressLoop = (translateAbs - firstSlideTranslate) / translateMax;\n } else {\n progressLoop = (translateAbs + translateMax - lastSlideTranslate) / translateMax;\n }\n if (progressLoop > 1) progressLoop -= 1;\n }\n Object.assign(swiper, {\n progress,\n progressLoop,\n isBeginning,\n isEnd\n });\n if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n swiper.emit('progress', progress);\n}\n\nconst toggleSlideClasses = (slideEl, condition, className) => {\n if (condition && !slideEl.classList.contains(className)) {\n slideEl.classList.add(className);\n } else if (!condition && slideEl.classList.contains(className)) {\n slideEl.classList.remove(className);\n }\n};\nfunction updateSlidesClasses() {\n const swiper = this;\n const {\n slides,\n params,\n slidesEl,\n activeIndex\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n const getFilteredSlide = selector => {\n return elementChildren(slidesEl, `.${params.slideClass}${selector}, swiper-slide${selector}`)[0];\n };\n let activeSlide;\n let prevSlide;\n let nextSlide;\n if (isVirtual) {\n if (params.loop) {\n let slideIndex = activeIndex - swiper.virtual.slidesBefore;\n if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex;\n if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length;\n activeSlide = getFilteredSlide(`[data-swiper-slide-index=\"${slideIndex}\"]`);\n } else {\n activeSlide = getFilteredSlide(`[data-swiper-slide-index=\"${activeIndex}\"]`);\n }\n } else {\n if (gridEnabled) {\n activeSlide = slides.find(slideEl => slideEl.column === activeIndex);\n nextSlide = slides.find(slideEl => slideEl.column === activeIndex + 1);\n prevSlide = slides.find(slideEl => slideEl.column === activeIndex - 1);\n } else {\n activeSlide = slides[activeIndex];\n }\n }\n if (activeSlide) {\n if (!gridEnabled) {\n // Next Slide\n nextSlide = elementNextAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];\n if (params.loop && !nextSlide) {\n nextSlide = slides[0];\n }\n\n // Prev Slide\n prevSlide = elementPrevAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];\n if (params.loop && !prevSlide === 0) {\n prevSlide = slides[slides.length - 1];\n }\n }\n }\n slides.forEach(slideEl => {\n toggleSlideClasses(slideEl, slideEl === activeSlide, params.slideActiveClass);\n toggleSlideClasses(slideEl, slideEl === nextSlide, params.slideNextClass);\n toggleSlideClasses(slideEl, slideEl === prevSlide, params.slidePrevClass);\n });\n swiper.emitSlidesClasses();\n}\n\nconst processLazyPreloader = (swiper, imageEl) => {\n if (!swiper || swiper.destroyed || !swiper.params) return;\n const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;\n const slideEl = imageEl.closest(slideSelector());\n if (slideEl) {\n let lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n if (!lazyEl && swiper.isElement) {\n if (slideEl.shadowRoot) {\n lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n } else {\n // init later\n requestAnimationFrame(() => {\n if (slideEl.shadowRoot) {\n lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n if (lazyEl) lazyEl.remove();\n }\n });\n }\n }\n if (lazyEl) lazyEl.remove();\n }\n};\nconst unlazy = (swiper, index) => {\n if (!swiper.slides[index]) return;\n const imageEl = swiper.slides[index].querySelector('[loading=\"lazy\"]');\n if (imageEl) imageEl.removeAttribute('loading');\n};\nconst preload = swiper => {\n if (!swiper || swiper.destroyed || !swiper.params) return;\n let amount = swiper.params.lazyPreloadPrevNext;\n const len = swiper.slides.length;\n if (!len || !amount || amount < 0) return;\n amount = Math.min(amount, len);\n const slidesPerView = swiper.params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(swiper.params.slidesPerView);\n const activeIndex = swiper.activeIndex;\n if (swiper.params.grid && swiper.params.grid.rows > 1) {\n const activeColumn = activeIndex;\n const preloadColumns = [activeColumn - amount];\n preloadColumns.push(...Array.from({\n length: amount\n }).map((_, i) => {\n return activeColumn + slidesPerView + i;\n }));\n swiper.slides.forEach((slideEl, i) => {\n if (preloadColumns.includes(slideEl.column)) unlazy(swiper, i);\n });\n return;\n }\n const slideIndexLastInView = activeIndex + slidesPerView - 1;\n if (swiper.params.rewind || swiper.params.loop) {\n for (let i = activeIndex - amount; i <= slideIndexLastInView + amount; i += 1) {\n const realIndex = (i % len + len) % len;\n if (realIndex < activeIndex || realIndex > slideIndexLastInView) unlazy(swiper, realIndex);\n }\n } else {\n for (let i = Math.max(activeIndex - amount, 0); i <= Math.min(slideIndexLastInView + amount, len - 1); i += 1) {\n if (i !== activeIndex && (i > slideIndexLastInView || i < activeIndex)) {\n unlazy(swiper, i);\n }\n }\n }\n};\n\nfunction getActiveIndexByTranslate(swiper) {\n const {\n slidesGrid,\n params\n } = swiper;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n let activeIndex;\n for (let i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n }\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n return activeIndex;\n}\nfunction updateActiveIndex(newActiveIndex) {\n const swiper = this;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n const {\n snapGrid,\n params,\n activeIndex: previousIndex,\n realIndex: previousRealIndex,\n snapIndex: previousSnapIndex\n } = swiper;\n let activeIndex = newActiveIndex;\n let snapIndex;\n const getVirtualRealIndex = aIndex => {\n let realIndex = aIndex - swiper.virtual.slidesBefore;\n if (realIndex < 0) {\n realIndex = swiper.virtual.slides.length + realIndex;\n }\n if (realIndex >= swiper.virtual.slides.length) {\n realIndex -= swiper.virtual.slides.length;\n }\n return realIndex;\n };\n if (typeof activeIndex === 'undefined') {\n activeIndex = getActiveIndexByTranslate(swiper);\n }\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n const skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n if (activeIndex === previousIndex && !swiper.params.loop) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n return;\n }\n if (activeIndex === previousIndex && swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n swiper.realIndex = getVirtualRealIndex(activeIndex);\n return;\n }\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n\n // Get real index\n let realIndex;\n if (swiper.virtual && params.virtual.enabled && params.loop) {\n realIndex = getVirtualRealIndex(activeIndex);\n } else if (gridEnabled) {\n const firstSlideInColumn = swiper.slides.find(slideEl => slideEl.column === activeIndex);\n let activeSlideIndex = parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'), 10);\n if (Number.isNaN(activeSlideIndex)) {\n activeSlideIndex = Math.max(swiper.slides.indexOf(firstSlideInColumn), 0);\n }\n realIndex = Math.floor(activeSlideIndex / params.grid.rows);\n } else if (swiper.slides[activeIndex]) {\n const slideIndex = swiper.slides[activeIndex].getAttribute('data-swiper-slide-index');\n if (slideIndex) {\n realIndex = parseInt(slideIndex, 10);\n } else {\n realIndex = activeIndex;\n }\n } else {\n realIndex = activeIndex;\n }\n Object.assign(swiper, {\n previousSnapIndex,\n snapIndex,\n previousRealIndex,\n realIndex,\n previousIndex,\n activeIndex\n });\n if (swiper.initialized) {\n preload(swiper);\n }\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n swiper.emit('slideChange');\n }\n}\n\nfunction updateClickedSlide(el, path) {\n const swiper = this;\n const params = swiper.params;\n let slide = el.closest(`.${params.slideClass}, swiper-slide`);\n if (!slide && swiper.isElement && path && path.length > 1 && path.includes(el)) {\n [...path.slice(path.indexOf(el) + 1, path.length)].forEach(pathEl => {\n if (!slide && pathEl.matches && pathEl.matches(`.${params.slideClass}, swiper-slide`)) {\n slide = pathEl;\n }\n });\n }\n let slideFound = false;\n let slideIndex;\n if (slide) {\n for (let i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt(slide.getAttribute('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}\n\nvar update = {\n updateSize,\n updateSlides,\n updateAutoHeight,\n updateSlidesOffset,\n updateSlidesProgress,\n updateProgress,\n updateSlidesClasses,\n updateActiveIndex,\n updateClickedSlide\n};\n\nfunction getSwiperTranslate(axis) {\n if (axis === void 0) {\n axis = this.isHorizontal() ? 'x' : 'y';\n }\n const swiper = this;\n const {\n params,\n rtlTranslate: rtl,\n translate,\n wrapperEl\n } = swiper;\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n if (params.cssMode) {\n return translate;\n }\n let currentTranslate = getTranslate(wrapperEl, axis);\n currentTranslate += swiper.cssOverflowAdjustment();\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}\n\nfunction setTranslate(translate, byController) {\n const swiper = this;\n const {\n rtlTranslate: rtl,\n params,\n wrapperEl,\n progress\n } = swiper;\n let x = 0;\n let y = 0;\n const z = 0;\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y;\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n if (swiper.isHorizontal()) {\n x -= swiper.cssOverflowAdjustment();\n } else {\n y -= swiper.cssOverflowAdjustment();\n }\n wrapperEl.style.transform = `translate3d(${x}px, ${y}px, ${z}px)`;\n }\n\n // Check if we need to update progress\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n swiper.emit('setTranslate', swiper.translate, byController);\n}\n\nfunction minTranslate() {\n return -this.snapGrid[0];\n}\n\nfunction maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}\n\nfunction translateTo(translate, speed, runCallbacks, translateBounds, internal) {\n if (translate === void 0) {\n translate = 0;\n }\n if (speed === void 0) {\n speed = this.params.speed;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (translateBounds === void 0) {\n translateBounds = true;\n }\n const swiper = this;\n const {\n params,\n wrapperEl\n } = swiper;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n const minTranslate = swiper.minTranslate();\n const maxTranslate = swiper.maxTranslate();\n let newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate;\n\n // Update progress\n swiper.updateProgress(newTranslate);\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: -newTranslate,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: -newTranslate,\n behavior: 'smooth'\n });\n }\n return true;\n }\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n swiper.animating = false;\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n return true;\n}\n\nvar translate = {\n getTranslate: getSwiperTranslate,\n setTranslate,\n minTranslate,\n maxTranslate,\n translateTo\n};\n\nfunction setTransition(duration, byController) {\n const swiper = this;\n if (!swiper.params.cssMode) {\n swiper.wrapperEl.style.transitionDuration = `${duration}ms`;\n swiper.wrapperEl.style.transitionDelay = duration === 0 ? `0ms` : '';\n }\n swiper.emit('setTransition', duration, byController);\n}\n\nfunction transitionEmit(_ref) {\n let {\n swiper,\n runCallbacks,\n direction,\n step\n } = _ref;\n const {\n activeIndex,\n previousIndex\n } = swiper;\n let dir = direction;\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n swiper.emit(`transition${step}`);\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit(`slideResetTransition${step}`);\n return;\n }\n swiper.emit(`slideChangeTransition${step}`);\n if (dir === 'next') {\n swiper.emit(`slideNextTransition${step}`);\n } else {\n swiper.emit(`slidePrevTransition${step}`);\n }\n }\n}\n\nfunction transitionStart(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n params\n } = swiper;\n if (params.cssMode) return;\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'Start'\n });\n}\n\nfunction transitionEnd(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n params\n } = swiper;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'End'\n });\n}\n\nvar transition = {\n setTransition,\n transitionStart,\n transitionEnd\n};\n\nfunction slideTo(index, speed, runCallbacks, internal, initial) {\n if (index === void 0) {\n index = 0;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (typeof index === 'string') {\n index = parseInt(index, 10);\n }\n const swiper = this;\n let slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n const {\n params,\n snapGrid,\n slidesGrid,\n previousIndex,\n activeIndex,\n rtlTranslate: rtl,\n wrapperEl,\n enabled\n } = swiper;\n if (!enabled && !internal && !initial || swiper.destroyed || swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n const translate = -snapGrid[snapIndex];\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n const normalizedTranslate = -Math.floor(translate * 100);\n const normalizedGrid = Math.floor(slidesGrid[i] * 100);\n const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGrid) {\n slideIndex = i;\n }\n }\n }\n // Directions locks\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && (rtl ? translate > swiper.translate && translate > swiper.minTranslate() : translate < swiper.translate && translate < swiper.minTranslate())) {\n return false;\n }\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) {\n return false;\n }\n }\n }\n if (slideIndex !== (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n // Update progress\n swiper.updateProgress(translate);\n let direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset';\n\n // initial virtual\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n const isInitialVirtual = isVirtual && initial;\n // Update Index\n if (!isInitialVirtual && (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate)) {\n swiper.updateActiveIndex(slideIndex);\n // Update Height\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n swiper.updateSlidesClasses();\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n return false;\n }\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n const t = rtl ? translate : -translate;\n if (speed === 0) {\n if (isVirtual) {\n swiper.wrapperEl.style.scrollSnapType = 'none';\n swiper._immediateVirtual = true;\n }\n if (isVirtual && !swiper._cssModeVirtualInitialSet && swiper.params.initialSlide > 0) {\n swiper._cssModeVirtualInitialSet = true;\n requestAnimationFrame(() => {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n });\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n }\n if (isVirtual) {\n requestAnimationFrame(() => {\n swiper.wrapperEl.style.scrollSnapType = '';\n swiper._immediateVirtual = false;\n });\n }\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: t,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: t,\n behavior: 'smooth'\n });\n }\n return true;\n }\n const browser = getBrowser();\n const isSafari = browser.isSafari;\n if (isVirtual && !initial && isSafari && swiper.isElement) {\n swiper.virtual.update(false, false, slideIndex);\n }\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n if (speed === 0) {\n swiper.transitionEnd(runCallbacks, direction);\n } else if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n }\n return true;\n}\n\nfunction slideToLoop(index, speed, runCallbacks, internal) {\n if (index === void 0) {\n index = 0;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (typeof index === 'string') {\n const indexAsNumber = parseInt(index, 10);\n index = indexAsNumber;\n }\n const swiper = this;\n if (swiper.destroyed) return;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n const gridEnabled = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1;\n let newIndex = index;\n if (swiper.params.loop) {\n if (swiper.virtual && swiper.params.virtual.enabled) {\n // eslint-disable-next-line\n newIndex = newIndex + swiper.virtual.slidesBefore;\n } else {\n let targetSlideIndex;\n if (gridEnabled) {\n const slideIndex = newIndex * swiper.params.grid.rows;\n targetSlideIndex = swiper.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex).column;\n } else {\n targetSlideIndex = swiper.getSlideIndexByData(newIndex);\n }\n const cols = gridEnabled ? Math.ceil(swiper.slides.length / swiper.params.grid.rows) : swiper.slides.length;\n const {\n centeredSlides\n } = swiper.params;\n let slidesPerView = swiper.params.slidesPerView;\n if (slidesPerView === 'auto') {\n slidesPerView = swiper.slidesPerViewDynamic();\n } else {\n slidesPerView = Math.ceil(parseFloat(swiper.params.slidesPerView, 10));\n if (centeredSlides && slidesPerView % 2 === 0) {\n slidesPerView = slidesPerView + 1;\n }\n }\n let needLoopFix = cols - targetSlideIndex < slidesPerView;\n if (centeredSlides) {\n needLoopFix = needLoopFix || targetSlideIndex < Math.ceil(slidesPerView / 2);\n }\n if (internal && centeredSlides && swiper.params.slidesPerView !== 'auto' && !gridEnabled) {\n needLoopFix = false;\n }\n if (needLoopFix) {\n const direction = centeredSlides ? targetSlideIndex < swiper.activeIndex ? 'prev' : 'next' : targetSlideIndex - swiper.activeIndex - 1 < swiper.params.slidesPerView ? 'next' : 'prev';\n swiper.loopFix({\n direction,\n slideTo: true,\n activeSlideIndex: direction === 'next' ? targetSlideIndex + 1 : targetSlideIndex - cols + 1,\n slideRealIndex: direction === 'next' ? swiper.realIndex : undefined\n });\n }\n if (gridEnabled) {\n const slideIndex = newIndex * swiper.params.grid.rows;\n newIndex = swiper.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex).column;\n } else {\n newIndex = swiper.getSlideIndexByData(newIndex);\n }\n }\n }\n requestAnimationFrame(() => {\n swiper.slideTo(newIndex, speed, runCallbacks, internal);\n });\n return swiper;\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideNext(speed, runCallbacks, internal) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n enabled,\n params,\n animating\n } = swiper;\n if (!enabled || swiper.destroyed) return swiper;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n let perGroup = params.slidesPerGroup;\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);\n }\n const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n if (params.loop) {\n if (animating && !isVirtual && params.loopPreventsSliding) return false;\n swiper.loopFix({\n direction: 'next'\n });\n // eslint-disable-next-line\n swiper._clientLeft = swiper.wrapperEl.clientLeft;\n if (swiper.activeIndex === swiper.slides.length - 1 && params.cssMode) {\n requestAnimationFrame(() => {\n swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n });\n return true;\n }\n }\n if (params.rewind && swiper.isEnd) {\n return swiper.slideTo(0, speed, runCallbacks, internal);\n }\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slidePrev(speed, runCallbacks, internal) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n params,\n snapGrid,\n slidesGrid,\n rtlTranslate,\n enabled,\n animating\n } = swiper;\n if (!enabled || swiper.destroyed) return swiper;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n const isVirtual = swiper.virtual && params.virtual.enabled;\n if (params.loop) {\n if (animating && !isVirtual && params.loopPreventsSliding) return false;\n swiper.loopFix({\n direction: 'prev'\n });\n // eslint-disable-next-line\n swiper._clientLeft = swiper.wrapperEl.clientLeft;\n }\n const translate = rtlTranslate ? swiper.translate : -swiper.translate;\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n const normalizedTranslate = normalize(translate);\n const normalizedSnapGrid = snapGrid.map(val => normalize(val));\n const isFreeMode = params.freeMode && params.freeMode.enabled;\n let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n if (typeof prevSnap === 'undefined' && (params.cssMode || isFreeMode)) {\n let prevSnapIndex;\n snapGrid.forEach((snap, snapIndex) => {\n if (normalizedTranslate >= snap) {\n // prevSnap = snap;\n prevSnapIndex = snapIndex;\n }\n });\n if (typeof prevSnapIndex !== 'undefined') {\n prevSnap = isFreeMode ? snapGrid[prevSnapIndex] : snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];\n }\n }\n let prevIndex = 0;\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;\n prevIndex = Math.max(prevIndex, 0);\n }\n }\n if (params.rewind && swiper.isBeginning) {\n const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n return swiper.slideTo(lastIndex, speed, runCallbacks, internal);\n } else if (params.loop && swiper.activeIndex === 0 && params.cssMode) {\n requestAnimationFrame(() => {\n swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n });\n return true;\n }\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideReset(speed, runCallbacks, internal) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n if (swiper.destroyed) return;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideToClosest(speed, runCallbacks, internal, threshold) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (threshold === void 0) {\n threshold = 0.5;\n }\n const swiper = this;\n if (swiper.destroyed) return;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n let index = swiper.activeIndex;\n const skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n if (translate >= swiper.snapGrid[snapIndex]) {\n // The current translate is on or after the current snap index, so the choice\n // is between the current index and the one after it.\n const currentSnap = swiper.snapGrid[snapIndex];\n const nextSnap = swiper.snapGrid[snapIndex + 1];\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n index += swiper.params.slidesPerGroup;\n }\n } else {\n // The current translate is before the current snap index, so the choice\n // is between the current index and the one before it.\n const prevSnap = swiper.snapGrid[snapIndex - 1];\n const currentSnap = swiper.snapGrid[snapIndex];\n if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {\n index -= swiper.params.slidesPerGroup;\n }\n }\n index = Math.max(index, 0);\n index = Math.min(index, swiper.slidesGrid.length - 1);\n return swiper.slideTo(index, speed, runCallbacks, internal);\n}\n\nfunction slideToClickedSlide() {\n const swiper = this;\n if (swiper.destroyed) return;\n const {\n params,\n slidesEl\n } = swiper;\n const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n let slideToIndex = swiper.clickedIndex;\n let realIndex;\n const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`;\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index=\"${realIndex}\"]`)[0]);\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index=\"${realIndex}\"]`)[0]);\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}\n\nvar slide = {\n slideTo,\n slideToLoop,\n slideNext,\n slidePrev,\n slideReset,\n slideToClosest,\n slideToClickedSlide\n};\n\nfunction loopCreate(slideRealIndex, initial) {\n const swiper = this;\n const {\n params,\n slidesEl\n } = swiper;\n if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;\n const initSlides = () => {\n const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n slides.forEach((el, index) => {\n el.setAttribute('data-swiper-slide-index', index);\n });\n };\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n const slidesPerGroup = params.slidesPerGroup * (gridEnabled ? params.grid.rows : 1);\n const shouldFillGroup = swiper.slides.length % slidesPerGroup !== 0;\n const shouldFillGrid = gridEnabled && swiper.slides.length % params.grid.rows !== 0;\n const addBlankSlides = amountOfSlides => {\n for (let i = 0; i < amountOfSlides; i += 1) {\n const slideEl = swiper.isElement ? createElement('swiper-slide', [params.slideBlankClass]) : createElement('div', [params.slideClass, params.slideBlankClass]);\n swiper.slidesEl.append(slideEl);\n }\n };\n if (shouldFillGroup) {\n if (params.loopAddBlankSlides) {\n const slidesToAdd = slidesPerGroup - swiper.slides.length % slidesPerGroup;\n addBlankSlides(slidesToAdd);\n swiper.recalcSlides();\n swiper.updateSlides();\n } else {\n showWarning('Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)');\n }\n initSlides();\n } else if (shouldFillGrid) {\n if (params.loopAddBlankSlides) {\n const slidesToAdd = params.grid.rows - swiper.slides.length % params.grid.rows;\n addBlankSlides(slidesToAdd);\n swiper.recalcSlides();\n swiper.updateSlides();\n } else {\n showWarning('Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)');\n }\n initSlides();\n } else {\n initSlides();\n }\n swiper.loopFix({\n slideRealIndex,\n direction: params.centeredSlides ? undefined : 'next',\n initial\n });\n}\n\nfunction loopFix(_temp) {\n let {\n slideRealIndex,\n slideTo = true,\n direction,\n setTranslate,\n activeSlideIndex,\n initial,\n byController,\n byMousewheel\n } = _temp === void 0 ? {} : _temp;\n const swiper = this;\n if (!swiper.params.loop) return;\n swiper.emit('beforeLoopFix');\n const {\n slides,\n allowSlidePrev,\n allowSlideNext,\n slidesEl,\n params\n } = swiper;\n const {\n centeredSlides,\n initialSlide\n } = params;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n if (swiper.virtual && params.virtual.enabled) {\n if (slideTo) {\n if (!params.centeredSlides && swiper.snapIndex === 0) {\n swiper.slideTo(swiper.virtual.slides.length, 0, false, true);\n } else if (params.centeredSlides && swiper.snapIndex < params.slidesPerView) {\n swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true);\n } else if (swiper.snapIndex === swiper.snapGrid.length - 1) {\n swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true);\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit('loopFix');\n return;\n }\n let slidesPerView = params.slidesPerView;\n if (slidesPerView === 'auto') {\n slidesPerView = swiper.slidesPerViewDynamic();\n } else {\n slidesPerView = Math.ceil(parseFloat(params.slidesPerView, 10));\n if (centeredSlides && slidesPerView % 2 === 0) {\n slidesPerView = slidesPerView + 1;\n }\n }\n const slidesPerGroup = params.slidesPerGroupAuto ? slidesPerView : params.slidesPerGroup;\n let loopedSlides = slidesPerGroup;\n if (loopedSlides % slidesPerGroup !== 0) {\n loopedSlides += slidesPerGroup - loopedSlides % slidesPerGroup;\n }\n loopedSlides += params.loopAdditionalSlides;\n swiper.loopedSlides = loopedSlides;\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n if (slides.length < slidesPerView + loopedSlides || swiper.params.effect === 'cards' && slides.length < slidesPerView + loopedSlides * 2) {\n showWarning('Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled or not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters');\n } else if (gridEnabled && params.grid.fill === 'row') {\n showWarning('Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`');\n }\n const prependSlidesIndexes = [];\n const appendSlidesIndexes = [];\n const cols = gridEnabled ? Math.ceil(slides.length / params.grid.rows) : slides.length;\n const isInitialOverflow = initial && cols - initialSlide < slidesPerView && !centeredSlides;\n let activeIndex = isInitialOverflow ? initialSlide : swiper.activeIndex;\n if (typeof activeSlideIndex === 'undefined') {\n activeSlideIndex = swiper.getSlideIndex(slides.find(el => el.classList.contains(params.slideActiveClass)));\n } else {\n activeIndex = activeSlideIndex;\n }\n const isNext = direction === 'next' || !direction;\n const isPrev = direction === 'prev' || !direction;\n let slidesPrepended = 0;\n let slidesAppended = 0;\n const activeColIndex = gridEnabled ? slides[activeSlideIndex].column : activeSlideIndex;\n const activeColIndexWithShift = activeColIndex + (centeredSlides && typeof setTranslate === 'undefined' ? -slidesPerView / 2 + 0.5 : 0);\n // prepend last slides before start\n if (activeColIndexWithShift < loopedSlides) {\n slidesPrepended = Math.max(loopedSlides - activeColIndexWithShift, slidesPerGroup);\n for (let i = 0; i < loopedSlides - activeColIndexWithShift; i += 1) {\n const index = i - Math.floor(i / cols) * cols;\n if (gridEnabled) {\n const colIndexToPrepend = cols - index - 1;\n for (let i = slides.length - 1; i >= 0; i -= 1) {\n if (slides[i].column === colIndexToPrepend) prependSlidesIndexes.push(i);\n }\n // slides.forEach((slide, slideIndex) => {\n // if (slide.column === colIndexToPrepend) prependSlidesIndexes.push(slideIndex);\n // });\n } else {\n prependSlidesIndexes.push(cols - index - 1);\n }\n }\n } else if (activeColIndexWithShift + slidesPerView > cols - loopedSlides) {\n slidesAppended = Math.max(activeColIndexWithShift - (cols - loopedSlides * 2), slidesPerGroup);\n if (isInitialOverflow) {\n slidesAppended = Math.max(slidesAppended, slidesPerView - cols + initialSlide + 1);\n }\n for (let i = 0; i < slidesAppended; i += 1) {\n const index = i - Math.floor(i / cols) * cols;\n if (gridEnabled) {\n slides.forEach((slide, slideIndex) => {\n if (slide.column === index) appendSlidesIndexes.push(slideIndex);\n });\n } else {\n appendSlidesIndexes.push(index);\n }\n }\n }\n swiper.__preventObserver__ = true;\n requestAnimationFrame(() => {\n swiper.__preventObserver__ = false;\n });\n if (swiper.params.effect === 'cards' && slides.length < slidesPerView + loopedSlides * 2) {\n if (appendSlidesIndexes.includes(activeSlideIndex)) {\n appendSlidesIndexes.splice(appendSlidesIndexes.indexOf(activeSlideIndex), 1);\n }\n if (prependSlidesIndexes.includes(activeSlideIndex)) {\n prependSlidesIndexes.splice(prependSlidesIndexes.indexOf(activeSlideIndex), 1);\n }\n }\n if (isPrev) {\n prependSlidesIndexes.forEach(index => {\n slides[index].swiperLoopMoveDOM = true;\n slidesEl.prepend(slides[index]);\n slides[index].swiperLoopMoveDOM = false;\n });\n }\n if (isNext) {\n appendSlidesIndexes.forEach(index => {\n slides[index].swiperLoopMoveDOM = true;\n slidesEl.append(slides[index]);\n slides[index].swiperLoopMoveDOM = false;\n });\n }\n swiper.recalcSlides();\n if (params.slidesPerView === 'auto') {\n swiper.updateSlides();\n } else if (gridEnabled && (prependSlidesIndexes.length > 0 && isPrev || appendSlidesIndexes.length > 0 && isNext)) {\n swiper.slides.forEach((slide, slideIndex) => {\n swiper.grid.updateSlide(slideIndex, slide, swiper.slides);\n });\n }\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n if (slideTo) {\n if (prependSlidesIndexes.length > 0 && isPrev) {\n if (typeof slideRealIndex === 'undefined') {\n const currentSlideTranslate = swiper.slidesGrid[activeIndex];\n const newSlideTranslate = swiper.slidesGrid[activeIndex + slidesPrepended];\n const diff = newSlideTranslate - currentSlideTranslate;\n if (byMousewheel) {\n swiper.setTranslate(swiper.translate - diff);\n } else {\n swiper.slideTo(activeIndex + Math.ceil(slidesPrepended), 0, false, true);\n if (setTranslate) {\n swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff;\n swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff;\n }\n }\n } else {\n if (setTranslate) {\n const shift = gridEnabled ? prependSlidesIndexes.length / params.grid.rows : prependSlidesIndexes.length;\n swiper.slideTo(swiper.activeIndex + shift, 0, false, true);\n swiper.touchEventsData.currentTranslate = swiper.translate;\n }\n }\n } else if (appendSlidesIndexes.length > 0 && isNext) {\n if (typeof slideRealIndex === 'undefined') {\n const currentSlideTranslate = swiper.slidesGrid[activeIndex];\n const newSlideTranslate = swiper.slidesGrid[activeIndex - slidesAppended];\n const diff = newSlideTranslate - currentSlideTranslate;\n if (byMousewheel) {\n swiper.setTranslate(swiper.translate - diff);\n } else {\n swiper.slideTo(activeIndex - slidesAppended, 0, false, true);\n if (setTranslate) {\n swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff;\n swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff;\n }\n }\n } else {\n const shift = gridEnabled ? appendSlidesIndexes.length / params.grid.rows : appendSlidesIndexes.length;\n swiper.slideTo(swiper.activeIndex - shift, 0, false, true);\n }\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n if (swiper.controller && swiper.controller.control && !byController) {\n const loopParams = {\n slideRealIndex,\n direction,\n setTranslate,\n activeSlideIndex,\n byController: true\n };\n if (Array.isArray(swiper.controller.control)) {\n swiper.controller.control.forEach(c => {\n if (!c.destroyed && c.params.loop) c.loopFix({\n ...loopParams,\n slideTo: c.params.slidesPerView === params.slidesPerView ? slideTo : false\n });\n });\n } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) {\n swiper.controller.control.loopFix({\n ...loopParams,\n slideTo: swiper.controller.control.params.slidesPerView === params.slidesPerView ? slideTo : false\n });\n }\n }\n swiper.emit('loopFix');\n}\n\nfunction loopDestroy() {\n const swiper = this;\n const {\n params,\n slidesEl\n } = swiper;\n if (!params.loop || !slidesEl || swiper.virtual && swiper.params.virtual.enabled) return;\n swiper.recalcSlides();\n const newSlidesOrder = [];\n swiper.slides.forEach(slideEl => {\n const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex;\n newSlidesOrder[index] = slideEl;\n });\n swiper.slides.forEach(slideEl => {\n slideEl.removeAttribute('data-swiper-slide-index');\n });\n newSlidesOrder.forEach(slideEl => {\n slidesEl.append(slideEl);\n });\n swiper.recalcSlides();\n swiper.slideTo(swiper.realIndex, 0);\n}\n\nvar loop = {\n loopCreate,\n loopFix,\n loopDestroy\n};\n\nfunction setGrabCursor(moving) {\n const swiper = this;\n if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;\n if (swiper.isElement) {\n swiper.__preventObserver__ = true;\n }\n el.style.cursor = 'move';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n if (swiper.isElement) {\n requestAnimationFrame(() => {\n swiper.__preventObserver__ = false;\n });\n }\n}\n\nfunction unsetGrabCursor() {\n const swiper = this;\n if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n if (swiper.isElement) {\n swiper.__preventObserver__ = true;\n }\n swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';\n if (swiper.isElement) {\n requestAnimationFrame(() => {\n swiper.__preventObserver__ = false;\n });\n }\n}\n\nvar grabCursor = {\n setGrabCursor,\n unsetGrabCursor\n};\n\n// Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\nfunction closestElement(selector, base) {\n if (base === void 0) {\n base = this;\n }\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n const found = el.closest(selector);\n if (!found && !el.getRootNode) {\n return null;\n }\n return found || __closestFrom(el.getRootNode().host);\n }\n return __closestFrom(base);\n}\nfunction preventEdgeSwipe(swiper, event, startX) {\n const window = getWindow();\n const {\n params\n } = swiper;\n const edgeSwipeDetection = params.edgeSwipeDetection;\n const edgeSwipeThreshold = params.edgeSwipeThreshold;\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n return true;\n }\n return false;\n }\n return true;\n}\nfunction onTouchStart(event) {\n const swiper = this;\n const document = getDocument();\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n const data = swiper.touchEventsData;\n if (e.type === 'pointerdown') {\n if (data.pointerId !== null && data.pointerId !== e.pointerId) {\n return;\n }\n data.pointerId = e.pointerId;\n } else if (e.type === 'touchstart' && e.targetTouches.length === 1) {\n data.touchId = e.targetTouches[0].identifier;\n }\n if (e.type === 'touchstart') {\n // don't proceed touch event\n preventEdgeSwipe(swiper, e, e.targetTouches[0].pageX);\n return;\n }\n const {\n params,\n touches,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && e.pointerType === 'mouse') return;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n if (!swiper.animating && params.cssMode && params.loop) {\n swiper.loopFix();\n }\n let targetEl = e.target;\n if (params.touchEventsTarget === 'wrapper') {\n if (!elementIsChildOf(targetEl, swiper.wrapperEl)) return;\n }\n if ('which' in e && e.which === 3) return;\n if ('button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return;\n\n // change target el for shadow root component\n const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n // eslint-disable-next-line\n const eventPath = e.composedPath ? e.composedPath() : e.path;\n if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {\n targetEl = eventPath[0];\n }\n const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`;\n const isTargetShadow = !!(e.target && e.target.shadowRoot);\n\n // use closestElement for shadow root element to get the actual closest for nested shadow root element\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, targetEl) : targetEl.closest(noSwipingSelector))) {\n swiper.allowClick = true;\n return;\n }\n if (params.swipeHandler) {\n if (!targetEl.closest(params.swipeHandler)) return;\n }\n touches.currentX = e.pageX;\n touches.currentY = e.pageY;\n const startX = touches.currentX;\n const startY = touches.currentY;\n\n // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n if (!preventEdgeSwipe(swiper, e, startX)) {\n return;\n }\n Object.assign(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n let preventDefault = true;\n if (targetEl.matches(data.focusableElements)) {\n preventDefault = false;\n if (targetEl.nodeName === 'SELECT') {\n data.isTouched = false;\n }\n }\n if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl && (e.pointerType === 'mouse' || e.pointerType !== 'mouse' && !targetEl.matches(data.focusableElements))) {\n document.activeElement.blur();\n }\n const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !targetEl.isContentEditable) {\n e.preventDefault();\n }\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {\n swiper.freeMode.onTouchStart();\n }\n swiper.emit('touchStart', e);\n}\n\nfunction onTouchMove(event) {\n const document = getDocument();\n const swiper = this;\n const data = swiper.touchEventsData;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && event.pointerType === 'mouse') return;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n if (e.type === 'pointermove') {\n if (data.touchId !== null) return; // return from pointer if we use touch\n const id = e.pointerId;\n if (id !== data.pointerId) return;\n }\n let targetTouch;\n if (e.type === 'touchmove') {\n targetTouch = [...e.changedTouches].find(t => t.identifier === data.touchId);\n if (!targetTouch || targetTouch.identifier !== data.touchId) return;\n } else {\n targetTouch = e;\n }\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n return;\n }\n const pageX = targetTouch.pageX;\n const pageY = targetTouch.pageY;\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n if (!swiper.allowTouchMove) {\n if (!e.target.matches(data.focusableElements)) {\n swiper.allowClick = false;\n }\n if (data.isTouched) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n return;\n }\n if (params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (rtl && (pageX > touches.startX && -swiper.translate <= swiper.maxTranslate() || pageX < touches.startX && -swiper.translate >= swiper.minTranslate())) {\n return;\n } else if (!rtl && (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate())) {\n return;\n }\n }\n if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== e.target && e.pointerType !== 'mouse') {\n document.activeElement.blur();\n }\n if (document.activeElement) {\n if (e.target === document.activeElement && e.target.matches(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n touches.previousX = touches.currentX;\n touches.previousY = touches.currentY;\n touches.currentX = pageX;\n touches.currentY = pageY;\n const diffX = touches.currentX - touches.startX;\n const diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return;\n if (typeof data.isScrolling === 'undefined') {\n let touchAngle;\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n if (data.isScrolling || e.type === 'touchmove' && data.preventTouchMoveFromPointerMove) {\n data.isTouched = false;\n return;\n }\n if (!data.startMoving) {\n return;\n }\n swiper.allowClick = false;\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n let diff = swiper.isHorizontal() ? diffX : diffY;\n let touchesDiff = swiper.isHorizontal() ? touches.currentX - touches.previousX : touches.currentY - touches.previousY;\n if (params.oneWayMovement) {\n diff = Math.abs(diff) * (rtl ? 1 : -1);\n touchesDiff = Math.abs(touchesDiff) * (rtl ? 1 : -1);\n }\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) {\n diff = -diff;\n touchesDiff = -touchesDiff;\n }\n const prevTouchesDirection = swiper.touchesDirection;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n swiper.touchesDirection = touchesDiff > 0 ? 'prev' : 'next';\n const isLoop = swiper.params.loop && !params.cssMode;\n const allowLoopFix = swiper.touchesDirection === 'next' && swiper.allowSlideNext || swiper.touchesDirection === 'prev' && swiper.allowSlidePrev;\n if (!data.isMoved) {\n if (isLoop && allowLoopFix) {\n swiper.loopFix({\n direction: swiper.swipeDirection\n });\n }\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n if (swiper.animating) {\n const evt = new window.CustomEvent('transitionend', {\n bubbles: true,\n cancelable: true,\n detail: {\n bySwiperTouchMove: true\n }\n });\n swiper.wrapperEl.dispatchEvent(evt);\n }\n data.allowMomentumBounce = false;\n // Grab Cursor\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n swiper.emit('sliderFirstMove', e);\n }\n let loopFixed;\n new Date().getTime();\n if (params._loopSwapReset !== false && data.isMoved && data.allowThresholdMove && prevTouchesDirection !== swiper.touchesDirection && isLoop && allowLoopFix && Math.abs(diff) >= 1) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY,\n startTranslate: data.currentTranslate\n });\n data.loopSwapReset = true;\n data.startTranslate = data.currentTranslate;\n return;\n }\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n data.currentTranslate = diff + data.startTranslate;\n let disableParentSwiper = true;\n let resistanceRatio = params.resistanceRatio;\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n if (diff > 0) {\n if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.slidesSizesGrid[swiper.activeIndex + 1] - (params.slidesPerView !== 'auto' && swiper.slides.length - params.slidesPerView >= 2 ? swiper.slidesSizesGrid[swiper.activeIndex + 1] + swiper.params.spaceBetween : 0) - swiper.params.spaceBetween : swiper.minTranslate())) {\n swiper.loopFix({\n direction: 'prev',\n setTranslate: true,\n activeSlideIndex: 0\n });\n }\n if (data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) {\n data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;\n }\n }\n } else if (diff < 0) {\n if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] + swiper.params.spaceBetween + (params.slidesPerView !== 'auto' && swiper.slides.length - params.slidesPerView >= 2 ? swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] + swiper.params.spaceBetween : 0) : swiper.maxTranslate())) {\n swiper.loopFix({\n direction: 'next',\n setTranslate: true,\n activeSlideIndex: swiper.slides.length - (params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10)))\n });\n }\n if (data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) {\n data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;\n }\n }\n }\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n }\n\n // Directions locks\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n }\n\n // Threshold\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n if (!params.followFinger || params.cssMode) return;\n\n // Update active index in free mode\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode) {\n swiper.freeMode.onTouchMove();\n }\n // Update progress\n swiper.updateProgress(data.currentTranslate);\n // Update translate\n swiper.setTranslate(data.currentTranslate);\n}\n\nfunction onTouchEnd(event) {\n const swiper = this;\n const data = swiper.touchEventsData;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n let targetTouch;\n const isTouchEvent = e.type === 'touchend' || e.type === 'touchcancel';\n if (!isTouchEvent) {\n if (data.touchId !== null) return; // return from pointer if we use touch\n if (e.pointerId !== data.pointerId) return;\n targetTouch = e;\n } else {\n targetTouch = [...e.changedTouches].find(t => t.identifier === data.touchId);\n if (!targetTouch || targetTouch.identifier !== data.touchId) return;\n }\n if (['pointercancel', 'pointerout', 'pointerleave', 'contextmenu'].includes(e.type)) {\n const proceed = ['pointercancel', 'contextmenu'].includes(e.type) && (swiper.browser.isSafari || swiper.browser.isWebView);\n if (!proceed) {\n return;\n }\n }\n data.pointerId = null;\n data.touchId = null;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n slidesGrid,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && e.pointerType === 'mouse') return;\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n data.allowTouchCallbacks = false;\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n\n // Return Grab Cursor\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n }\n\n // Time diff\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime;\n\n // Tap, doubleTap, Click\n if (swiper.allowClick) {\n const pathTree = e.path || e.composedPath && e.composedPath();\n swiper.updateClickedSlide(pathTree && pathTree[0] || e.target, pathTree);\n swiper.emit('tap click', e);\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n data.lastClickTime = now();\n nextTick(() => {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 && !data.loopSwapReset || data.currentTranslate === data.startTranslate && !data.loopSwapReset) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n let currentPos;\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n if (params.cssMode) {\n return;\n }\n if (params.freeMode && params.freeMode.enabled) {\n swiper.freeMode.onTouchEnd({\n currentPos\n });\n return;\n }\n\n // Find current slide\n const swipeToLast = currentPos >= -swiper.maxTranslate() && !swiper.params.loop;\n let stopIndex = 0;\n let groupSize = swiper.slidesSizesGrid[0];\n for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (typeof slidesGrid[i + increment] !== 'undefined') {\n if (swipeToLast || currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + increment] - slidesGrid[i];\n }\n } else if (swipeToLast || currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n }\n let rewindFirstIndex = null;\n let rewindLastIndex = null;\n if (params.rewind) {\n if (swiper.isBeginning) {\n rewindLastIndex = params.virtual && params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n } else if (swiper.isEnd) {\n rewindFirstIndex = 0;\n }\n }\n // Find current slide size\n const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) {\n swiper.slideTo(stopIndex + increment);\n } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {\n swiper.slideTo(rewindLastIndex);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);\n }\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}\n\nfunction onResize() {\n const swiper = this;\n const {\n params,\n el\n } = swiper;\n if (el && el.offsetWidth === 0) return;\n\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Save locks\n const {\n allowSlideNext,\n allowSlidePrev,\n snapGrid\n } = swiper;\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n\n // Disable locks on resize\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n const isVirtualLoop = isVirtual && params.loop;\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n if (swiper.params.loop && !isVirtual) {\n swiper.slideToLoop(swiper.realIndex, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n }\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n clearTimeout(swiper.autoplay.resizeTimeout);\n swiper.autoplay.resizeTimeout = setTimeout(() => {\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.resume();\n }\n }, 500);\n }\n // Return locks after resize\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}\n\nfunction onClick(e) {\n const swiper = this;\n if (!swiper.enabled) return;\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}\n\nfunction onScroll() {\n const swiper = this;\n const {\n wrapperEl,\n rtlTranslate,\n enabled\n } = swiper;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n if (swiper.isHorizontal()) {\n swiper.translate = -wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n }\n // eslint-disable-next-line\n if (swiper.translate === 0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n swiper.emit('setTranslate', swiper.translate, false);\n}\n\nfunction onLoad(e) {\n const swiper = this;\n processLazyPreloader(swiper, e.target);\n if (swiper.params.cssMode || swiper.params.slidesPerView !== 'auto' && !swiper.params.autoHeight) {\n return;\n }\n swiper.update();\n}\n\nfunction onDocumentTouchStart() {\n const swiper = this;\n if (swiper.documentTouchHandlerProceeded) return;\n swiper.documentTouchHandlerProceeded = true;\n if (swiper.params.touchReleaseOnEdges) {\n swiper.el.style.touchAction = 'auto';\n }\n}\n\nconst events = (swiper, method) => {\n const document = getDocument();\n const {\n params,\n el,\n wrapperEl,\n device\n } = swiper;\n const capture = !!params.nested;\n const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n const swiperMethod = method;\n if (!el || typeof el === 'string') return;\n\n // Touch Events\n document[domMethod]('touchstart', swiper.onDocumentTouchStart, {\n passive: false,\n capture\n });\n el[domMethod]('touchstart', swiper.onTouchStart, {\n passive: false\n });\n el[domMethod]('pointerdown', swiper.onTouchStart, {\n passive: false\n });\n document[domMethod]('touchmove', swiper.onTouchMove, {\n passive: false,\n capture\n });\n document[domMethod]('pointermove', swiper.onTouchMove, {\n passive: false,\n capture\n });\n document[domMethod]('touchend', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerup', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointercancel', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('touchcancel', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerout', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerleave', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('contextmenu', swiper.onTouchEnd, {\n passive: true\n });\n\n // Prevent Links Clicks\n if (params.preventClicks || params.preventClicksPropagation) {\n el[domMethod]('click', swiper.onClick, true);\n }\n if (params.cssMode) {\n wrapperEl[domMethod]('scroll', swiper.onScroll);\n }\n\n // Resize handler\n if (params.updateOnWindowResize) {\n swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper[swiperMethod]('observerUpdate', onResize, true);\n }\n\n // Images loader\n el[domMethod]('load', swiper.onLoad, {\n capture: true\n });\n};\nfunction attachEvents() {\n const swiper = this;\n const {\n params\n } = swiper;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n swiper.onDocumentTouchStart = onDocumentTouchStart.bind(swiper);\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n swiper.onClick = onClick.bind(swiper);\n swiper.onLoad = onLoad.bind(swiper);\n events(swiper, 'on');\n}\nfunction detachEvents() {\n const swiper = this;\n events(swiper, 'off');\n}\nvar events$1 = {\n attachEvents,\n detachEvents\n};\n\nconst isGridEnabled = (swiper, params) => {\n return swiper.grid && params.grid && params.grid.rows > 1;\n};\nfunction setBreakpoint() {\n const swiper = this;\n const {\n realIndex,\n initialized,\n params,\n el\n } = swiper;\n const breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return;\n const document = getDocument();\n\n // Get breakpoint for window/container width and update parameters\n const breakpointsBase = params.breakpointsBase === 'window' || !params.breakpointsBase ? params.breakpointsBase : 'container';\n const breakpointContainer = ['window', 'container'].includes(params.breakpointsBase) || !params.breakpointsBase ? swiper.el : document.querySelector(params.breakpointsBase);\n const breakpoint = swiper.getBreakpoint(breakpoints, breakpointsBase, breakpointContainer);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n const breakpointParams = breakpointOnlyParams || swiper.originalParams;\n const wasMultiRow = isGridEnabled(swiper, params);\n const isMultiRow = isGridEnabled(swiper, breakpointParams);\n const wasGrabCursor = swiper.params.grabCursor;\n const isGrabCursor = breakpointParams.grabCursor;\n const wasEnabled = params.enabled;\n if (wasMultiRow && !isMultiRow) {\n el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`);\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n el.classList.add(`${params.containerModifierClass}grid`);\n if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {\n el.classList.add(`${params.containerModifierClass}grid-column`);\n }\n swiper.emitContainerClasses();\n }\n if (wasGrabCursor && !isGrabCursor) {\n swiper.unsetGrabCursor();\n } else if (!wasGrabCursor && isGrabCursor) {\n swiper.setGrabCursor();\n }\n\n // Toggle navigation, pagination, scrollbar\n ['navigation', 'pagination', 'scrollbar'].forEach(prop => {\n if (typeof breakpointParams[prop] === 'undefined') return;\n const wasModuleEnabled = params[prop] && params[prop].enabled;\n const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;\n if (wasModuleEnabled && !isModuleEnabled) {\n swiper[prop].disable();\n }\n if (!wasModuleEnabled && isModuleEnabled) {\n swiper[prop].enable();\n }\n });\n const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n const wasLoop = params.loop;\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n extend(swiper.params, breakpointParams);\n const isEnabled = swiper.params.enabled;\n const hasLoop = swiper.params.loop;\n Object.assign(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n if (initialized) {\n if (needsReLoop) {\n swiper.loopDestroy();\n swiper.loopCreate(realIndex);\n swiper.updateSlides();\n } else if (!wasLoop && hasLoop) {\n swiper.loopCreate(realIndex);\n swiper.updateSlides();\n } else if (wasLoop && !hasLoop) {\n swiper.loopDestroy();\n }\n }\n swiper.emit('breakpoint', breakpointParams);\n}\n\nfunction getBreakpoint(breakpoints, base, containerEl) {\n if (base === void 0) {\n base = 'window';\n }\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n let breakpoint = false;\n const window = getWindow();\n const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n const points = Object.keys(breakpoints).map(point => {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n const minRatio = parseFloat(point.substr(1));\n const value = currentHeight * minRatio;\n return {\n value,\n point\n };\n }\n return {\n value: point,\n point\n };\n });\n points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));\n for (let i = 0; i < points.length; i += 1) {\n const {\n point,\n value\n } = points[i];\n if (base === 'window') {\n if (window.matchMedia(`(min-width: ${value}px)`).matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n return breakpoint || 'max';\n}\n\nvar breakpoints = {\n setBreakpoint,\n getBreakpoint\n};\n\nfunction prepareClasses(entries, prefix) {\n const resultClasses = [];\n entries.forEach(item => {\n if (typeof item === 'object') {\n Object.keys(item).forEach(classNames => {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\nfunction addClasses() {\n const swiper = this;\n const {\n classNames,\n params,\n rtl,\n el,\n device\n } = swiper;\n // prettier-ignore\n const suffixes = prepareClasses(['initialized', params.direction, {\n 'free-mode': swiper.params.freeMode && params.freeMode.enabled\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'grid': params.grid && params.grid.rows > 1\n }, {\n 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }, {\n 'centered': params.cssMode && params.centeredSlides\n }, {\n 'watch-progress': params.watchSlidesProgress\n }], params.containerModifierClass);\n classNames.push(...suffixes);\n el.classList.add(...classNames);\n swiper.emitContainerClasses();\n}\n\nfunction removeClasses() {\n const swiper = this;\n const {\n el,\n classNames\n } = swiper;\n if (!el || typeof el === 'string') return;\n el.classList.remove(...classNames);\n swiper.emitContainerClasses();\n}\n\nvar classes = {\n addClasses,\n removeClasses\n};\n\nfunction checkOverflow() {\n const swiper = this;\n const {\n isLocked: wasLocked,\n params\n } = swiper;\n const {\n slidesOffsetBefore\n } = params;\n if (slidesOffsetBefore) {\n const lastSlideIndex = swiper.slides.length - 1;\n const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;\n swiper.isLocked = swiper.size > lastSlideRightEdge;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n if (params.allowSlideNext === true) {\n swiper.allowSlideNext = !swiper.isLocked;\n }\n if (params.allowSlidePrev === true) {\n swiper.allowSlidePrev = !swiper.isLocked;\n }\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n }\n if (wasLocked !== swiper.isLocked) {\n swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n }\n}\nvar checkOverflow$1 = {\n checkOverflow\n};\n\nvar defaults = {\n init: true,\n direction: 'horizontal',\n oneWayMovement: false,\n swiperElementNodeName: 'SWIPER-CONTAINER',\n touchEventsTarget: 'wrapper',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: true,\n nested: false,\n createElements: false,\n eventsPrefix: 'swiper',\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n slidesPerGroupAuto: false,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: true,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 5,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // loop\n loop: false,\n loopAddBlankSlides: true,\n loopAdditionalSlides: 0,\n loopPreventsSliding: true,\n // rewind\n rewind: false,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n maxBackfaceHiddenSlides: 10,\n // NS\n containerModifierClass: 'swiper-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-blank',\n slideActiveClass: 'swiper-slide-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideFullyVisibleClass: 'swiper-slide-fully-visible',\n slideNextClass: 'swiper-slide-next',\n slidePrevClass: 'swiper-slide-prev',\n wrapperClass: 'swiper-wrapper',\n lazyPreloaderClass: 'swiper-lazy-preloader',\n lazyPreloadPrevNext: 0,\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n};\n\nfunction moduleExtendParams(params, allModulesParams) {\n return function extendParams(obj) {\n if (obj === void 0) {\n obj = {};\n }\n const moduleParamName = Object.keys(obj)[0];\n const moduleParams = obj[moduleParamName];\n if (typeof moduleParams !== 'object' || moduleParams === null) {\n extend(allModulesParams, obj);\n return;\n }\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n if (moduleParamName === 'navigation' && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].prevEl && !params[moduleParamName].nextEl) {\n params[moduleParamName].auto = true;\n }\n if (['pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].el) {\n params[moduleParamName].auto = true;\n }\n if (!(moduleParamName in params && 'enabled' in moduleParams)) {\n extend(allModulesParams, obj);\n return;\n }\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n extend(allModulesParams, obj);\n };\n}\n\n/* eslint no-param-reassign: \"off\" */\nconst prototypes = {\n eventsEmitter,\n update,\n translate,\n transition,\n slide,\n loop,\n grabCursor,\n events: events$1,\n breakpoints,\n checkOverflow: checkOverflow$1,\n classes\n};\nconst extendedDefaults = {};\nclass Swiper {\n constructor() {\n let el;\n let params;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n params = args[0];\n } else {\n [el, params] = args;\n }\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n const document = getDocument();\n if (params.el && typeof params.el === 'string' && document.querySelectorAll(params.el).length > 1) {\n const swipers = [];\n document.querySelectorAll(params.el).forEach(containerEl => {\n const newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n // eslint-disable-next-line no-constructor-return\n return swipers;\n }\n\n // Swiper Instance\n const swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n swiper.modules = [...swiper.__modules__];\n if (params.modules && Array.isArray(params.modules)) {\n swiper.modules.push(...params.modules);\n }\n const allModulesParams = {};\n swiper.modules.forEach(mod => {\n mod({\n params,\n swiper,\n extendParams: moduleExtendParams(params, allModulesParams),\n on: swiper.on.bind(swiper),\n once: swiper.once.bind(swiper),\n off: swiper.off.bind(swiper),\n emit: swiper.emit.bind(swiper)\n });\n });\n\n // Extend defaults with modules params\n const swiperParams = extend({}, defaults, allModulesParams);\n\n // Extend defaults with passed params\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params);\n\n // add event listeners\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(eventName => {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n }\n\n // Extend Swiper\n Object.assign(swiper, {\n enabled: swiper.params.enabled,\n el,\n // Classes\n classNames: [],\n // Slides\n slides: [],\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical() {\n return swiper.params.direction === 'vertical';\n },\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n cssOverflowAdjustment() {\n // Returns 0 unless `translate` is > 2**23\n // Should be subtracted from css values to prevent overflow\n return Math.trunc(this.translate / 2 ** 23) * 2 ** 23;\n },\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: 0,\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n startMoving: undefined,\n pointerId: null,\n touchId: null\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n });\n swiper.emit('_swiper');\n\n // Init\n if (swiper.params.init) {\n swiper.init();\n }\n\n // Return app instance\n // eslint-disable-next-line no-constructor-return\n return swiper;\n }\n getDirectionLabel(property) {\n if (this.isHorizontal()) {\n return property;\n }\n // prettier-ignore\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom'\n }[property];\n }\n getSlideIndex(slideEl) {\n const {\n slidesEl,\n params\n } = this;\n const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n const firstSlideIndex = elementIndex(slides[0]);\n return elementIndex(slideEl) - firstSlideIndex;\n }\n getSlideIndexByData(index) {\n return this.getSlideIndex(this.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index));\n }\n recalcSlides() {\n const swiper = this;\n const {\n slidesEl,\n params\n } = swiper;\n swiper.slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n }\n enable() {\n const swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n swiper.emit('enable');\n }\n disable() {\n const swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n swiper.emit('disable');\n }\n setProgress(progress, speed) {\n const swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n const min = swiper.minTranslate();\n const max = swiper.maxTranslate();\n const current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n emitContainerClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const cls = swiper.el.className.split(' ').filter(className => {\n return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', cls.join(' '));\n }\n getSlideClasses(slideEl) {\n const swiper = this;\n if (swiper.destroyed) return '';\n return slideEl.className.split(' ').filter(className => {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n }\n emitSlidesClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const updates = [];\n swiper.slides.forEach(slideEl => {\n const classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl,\n classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n }\n slidesPerViewDynamic(view, exact) {\n if (view === void 0) {\n view = 'current';\n }\n if (exact === void 0) {\n exact = false;\n }\n const swiper = this;\n const {\n params,\n slides,\n slidesGrid,\n slidesSizesGrid,\n size: swiperSize,\n activeIndex\n } = swiper;\n let spv = 1;\n if (typeof params.slidesPerView === 'number') return params.slidesPerView;\n if (params.centeredSlides) {\n let slideSize = slides[activeIndex] ? Math.ceil(slides[activeIndex].swiperSlideSize) : 0;\n let breakLoop;\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += Math.ceil(slides[i].swiperSlideSize);\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n // eslint-disable-next-line\n if (view === 'current') {\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n } else {\n // previous\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n }\n }\n return spv;\n }\n update() {\n const swiper = this;\n if (!swiper || swiper.destroyed) return;\n const {\n snapGrid,\n params\n } = swiper;\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n [...swiper.el.querySelectorAll('[loading=\"lazy\"]')].forEach(imageEl => {\n if (imageEl.complete) {\n processLazyPreloader(swiper, imageEl);\n }\n });\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n function setTranslate() {\n const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n let translated;\n if (params.freeMode && params.freeMode.enabled && !params.cssMode) {\n setTranslate();\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !params.centeredSlides) {\n const slides = swiper.virtual && params.virtual.enabled ? swiper.virtual.slides : swiper.slides;\n translated = swiper.slideTo(slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n if (!translated) {\n setTranslate();\n }\n }\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n swiper.emit('update');\n }\n changeDirection(newDirection, needUpdate) {\n if (needUpdate === void 0) {\n needUpdate = true;\n }\n const swiper = this;\n const currentDirection = swiper.params.direction;\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`);\n swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`);\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.forEach(slideEl => {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n }\n changeLanguageDirection(direction) {\n const swiper = this;\n if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return;\n swiper.rtl = direction === 'rtl';\n swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;\n if (swiper.rtl) {\n swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'rtl';\n } else {\n swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'ltr';\n }\n swiper.update();\n }\n mount(element) {\n const swiper = this;\n if (swiper.mounted) return true;\n\n // Find el\n let el = element || swiper.params.el;\n if (typeof el === 'string') {\n el = document.querySelector(el);\n }\n if (!el) {\n return false;\n }\n el.swiper = swiper;\n if (el.parentNode && el.parentNode.host && el.parentNode.host.nodeName === swiper.params.swiperElementNodeName.toUpperCase()) {\n swiper.isElement = true;\n }\n const getWrapperSelector = () => {\n return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`;\n };\n const getWrapper = () => {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n const res = el.shadowRoot.querySelector(getWrapperSelector());\n // Children needs to return slot items\n return res;\n }\n return elementChildren(el, getWrapperSelector())[0];\n };\n // Find Wrapper\n let wrapperEl = getWrapper();\n if (!wrapperEl && swiper.params.createElements) {\n wrapperEl = createElement('div', swiper.params.wrapperClass);\n el.append(wrapperEl);\n elementChildren(el, `.${swiper.params.slideClass}`).forEach(slideEl => {\n wrapperEl.append(slideEl);\n });\n }\n Object.assign(swiper, {\n el,\n wrapperEl,\n slidesEl: swiper.isElement && !el.parentNode.host.slideSlots ? el.parentNode.host : wrapperEl,\n hostEl: swiper.isElement ? el.parentNode.host : el,\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl'),\n wrongRTL: elementStyle(wrapperEl, 'display') === '-webkit-box'\n });\n return true;\n }\n init(el) {\n const swiper = this;\n if (swiper.initialized) return swiper;\n const mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit');\n\n // Set breakpoint\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Add Classes\n swiper.addClasses();\n\n // Update size\n swiper.updateSize();\n\n // Update slides\n swiper.updateSlides();\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n }\n\n // Set Grab Cursor\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n // Slide To Initial Slide\n if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n }\n\n // Create loop\n if (swiper.params.loop) {\n swiper.loopCreate(undefined, true);\n }\n\n // Attach events\n swiper.attachEvents();\n const lazyElements = [...swiper.el.querySelectorAll('[loading=\"lazy\"]')];\n if (swiper.isElement) {\n lazyElements.push(...swiper.hostEl.querySelectorAll('[loading=\"lazy\"]'));\n }\n lazyElements.forEach(imageEl => {\n if (imageEl.complete) {\n processLazyPreloader(swiper, imageEl);\n } else {\n imageEl.addEventListener('load', e => {\n processLazyPreloader(swiper, e.target);\n });\n }\n });\n preload(swiper);\n\n // Init Flag\n swiper.initialized = true;\n preload(swiper);\n\n // Emit\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n }\n destroy(deleteInstance, cleanStyles) {\n if (deleteInstance === void 0) {\n deleteInstance = true;\n }\n if (cleanStyles === void 0) {\n cleanStyles = true;\n }\n const swiper = this;\n const {\n params,\n el,\n wrapperEl,\n slides\n } = swiper;\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n swiper.emit('beforeDestroy');\n\n // Init Flag\n swiper.initialized = false;\n\n // Detach events\n swiper.detachEvents();\n\n // Destroy loop\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n // Cleanup styles\n if (cleanStyles) {\n swiper.removeClasses();\n if (el && typeof el !== 'string') {\n el.removeAttribute('style');\n }\n if (wrapperEl) {\n wrapperEl.removeAttribute('style');\n }\n if (slides && slides.length) {\n slides.forEach(slideEl => {\n slideEl.classList.remove(params.slideVisibleClass, params.slideFullyVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass);\n slideEl.removeAttribute('style');\n slideEl.removeAttribute('data-swiper-slide-index');\n });\n }\n }\n swiper.emit('destroy');\n\n // Detach emitter events\n Object.keys(swiper.eventsListeners).forEach(eventName => {\n swiper.off(eventName);\n });\n if (deleteInstance !== false) {\n if (swiper.el && typeof swiper.el !== 'string') {\n swiper.el.swiper = null;\n }\n deleteProps(swiper);\n }\n swiper.destroyed = true;\n return null;\n }\n static extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n }\n static get extendedDefaults() {\n return extendedDefaults;\n }\n static get defaults() {\n return defaults;\n }\n static installModule(mod) {\n if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];\n const modules = Swiper.prototype.__modules__;\n if (typeof mod === 'function' && modules.indexOf(mod) < 0) {\n modules.push(mod);\n }\n }\n static use(module) {\n if (Array.isArray(module)) {\n module.forEach(m => Swiper.installModule(m));\n return Swiper;\n }\n Swiper.installModule(module);\n return Swiper;\n }\n}\nObject.keys(prototypes).forEach(prototypeGroup => {\n Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\n\nexport { Swiper as S, defaults as d };\n","/* underscore in name -> watch for changes */\nconst paramsList = ['eventsPrefix', 'injectStyles', 'injectStylesUrls', 'modules', 'init', '_direction', 'oneWayMovement', 'swiperElementNodeName', 'touchEventsTarget', 'initialSlide', '_speed', 'cssMode', 'updateOnWindowResize', 'resizeObserver', 'nested', 'focusableElements', '_enabled', '_width', '_height', 'preventInteractionOnTransition', 'userAgent', 'url', '_edgeSwipeDetection', '_edgeSwipeThreshold', '_freeMode', '_autoHeight', 'setWrapperSize', 'virtualTranslate', '_effect', 'breakpoints', 'breakpointsBase', '_spaceBetween', '_slidesPerView', 'maxBackfaceHiddenSlides', '_grid', '_slidesPerGroup', '_slidesPerGroupSkip', '_slidesPerGroupAuto', '_centeredSlides', '_centeredSlidesBounds', '_slidesOffsetBefore', '_slidesOffsetAfter', 'normalizeSlideIndex', '_centerInsufficientSlides', '_watchOverflow', 'roundLengths', 'touchRatio', 'touchAngle', 'simulateTouch', '_shortSwipes', '_longSwipes', 'longSwipesRatio', 'longSwipesMs', '_followFinger', 'allowTouchMove', '_threshold', 'touchMoveStopPropagation', 'touchStartPreventDefault', 'touchStartForcePreventDefault', 'touchReleaseOnEdges', 'uniqueNavElements', '_resistance', '_resistanceRatio', '_watchSlidesProgress', '_grabCursor', 'preventClicks', 'preventClicksPropagation', '_slideToClickedSlide', '_loop', 'loopAdditionalSlides', 'loopAddBlankSlides', 'loopPreventsSliding', '_rewind', '_allowSlidePrev', '_allowSlideNext', '_swipeHandler', '_noSwiping', 'noSwipingClass', 'noSwipingSelector', 'passiveListeners', 'containerModifierClass', 'slideClass', 'slideActiveClass', 'slideVisibleClass', 'slideFullyVisibleClass', 'slideNextClass', 'slidePrevClass', 'slideBlankClass', 'wrapperClass', 'lazyPreloaderClass', 'lazyPreloadPrevNext', 'runCallbacksOnInit', 'observer', 'observeParents', 'observeSlideChildren',\n// modules\n'a11y', '_autoplay', '_controller', 'coverflowEffect', 'cubeEffect', 'fadeEffect', 'flipEffect', 'creativeEffect', 'cardsEffect', 'hashNavigation', 'history', 'keyboard', 'mousewheel', '_navigation', '_pagination', 'parallax', '_scrollbar', '_thumbs', 'virtual', 'zoom', 'control'];\n\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object' && !o.__swiper__;\n}\nfunction extend(target, src) {\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n Object.keys(src).filter(key => noExtend.indexOf(key) < 0).forEach(key => {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n if (src[key].__swiper__) target[key] = src[key];else extend(target[key], src[key]);\n } else {\n target[key] = src[key];\n }\n });\n}\nfunction needsNavigation(params) {\n if (params === void 0) {\n params = {};\n }\n return params.navigation && typeof params.navigation.nextEl === 'undefined' && typeof params.navigation.prevEl === 'undefined';\n}\nfunction needsPagination(params) {\n if (params === void 0) {\n params = {};\n }\n return params.pagination && typeof params.pagination.el === 'undefined';\n}\nfunction needsScrollbar(params) {\n if (params === void 0) {\n params = {};\n }\n return params.scrollbar && typeof params.scrollbar.el === 'undefined';\n}\nfunction uniqueClasses(classNames) {\n if (classNames === void 0) {\n classNames = '';\n }\n const classes = classNames.split(' ').map(c => c.trim()).filter(c => !!c);\n const unique = [];\n classes.forEach(c => {\n if (unique.indexOf(c) < 0) unique.push(c);\n });\n return unique.join(' ');\n}\nfunction attrToProp(attrName) {\n if (attrName === void 0) {\n attrName = '';\n }\n return attrName.replace(/-[a-z]/g, l => l.toUpperCase().replace('-', ''));\n}\nfunction wrapperClass(className) {\n if (className === void 0) {\n className = '';\n }\n if (!className) return 'swiper-wrapper';\n if (!className.includes('swiper-wrapper')) return `swiper-wrapper ${className}`;\n return className;\n}\n\nfunction updateSwiper(_ref) {\n let {\n swiper,\n slides,\n passedParams,\n changedParams,\n nextEl,\n prevEl,\n scrollbarEl,\n paginationEl\n } = _ref;\n const updateParams = changedParams.filter(key => key !== 'children' && key !== 'direction' && key !== 'wrapperClass');\n const {\n params: currentParams,\n pagination,\n navigation,\n scrollbar,\n virtual,\n thumbs\n } = swiper;\n let needThumbsInit;\n let needControllerInit;\n let needPaginationInit;\n let needScrollbarInit;\n let needNavigationInit;\n let loopNeedDestroy;\n let loopNeedEnable;\n let loopNeedReloop;\n if (changedParams.includes('thumbs') && passedParams.thumbs && passedParams.thumbs.swiper && !passedParams.thumbs.swiper.destroyed && currentParams.thumbs && (!currentParams.thumbs.swiper || currentParams.thumbs.swiper.destroyed)) {\n needThumbsInit = true;\n }\n if (changedParams.includes('controller') && passedParams.controller && passedParams.controller.control && currentParams.controller && !currentParams.controller.control) {\n needControllerInit = true;\n }\n if (changedParams.includes('pagination') && passedParams.pagination && (passedParams.pagination.el || paginationEl) && (currentParams.pagination || currentParams.pagination === false) && pagination && !pagination.el) {\n needPaginationInit = true;\n }\n if (changedParams.includes('scrollbar') && passedParams.scrollbar && (passedParams.scrollbar.el || scrollbarEl) && (currentParams.scrollbar || currentParams.scrollbar === false) && scrollbar && !scrollbar.el) {\n needScrollbarInit = true;\n }\n if (changedParams.includes('navigation') && passedParams.navigation && (passedParams.navigation.prevEl || prevEl) && (passedParams.navigation.nextEl || nextEl) && (currentParams.navigation || currentParams.navigation === false) && navigation && !navigation.prevEl && !navigation.nextEl) {\n needNavigationInit = true;\n }\n const destroyModule = mod => {\n if (!swiper[mod]) return;\n swiper[mod].destroy();\n if (mod === 'navigation') {\n if (swiper.isElement) {\n swiper[mod].prevEl.remove();\n swiper[mod].nextEl.remove();\n }\n currentParams[mod].prevEl = undefined;\n currentParams[mod].nextEl = undefined;\n swiper[mod].prevEl = undefined;\n swiper[mod].nextEl = undefined;\n } else {\n if (swiper.isElement) {\n swiper[mod].el.remove();\n }\n currentParams[mod].el = undefined;\n swiper[mod].el = undefined;\n }\n };\n if (changedParams.includes('loop') && swiper.isElement) {\n if (currentParams.loop && !passedParams.loop) {\n loopNeedDestroy = true;\n } else if (!currentParams.loop && passedParams.loop) {\n loopNeedEnable = true;\n } else {\n loopNeedReloop = true;\n }\n }\n updateParams.forEach(key => {\n if (isObject(currentParams[key]) && isObject(passedParams[key])) {\n Object.assign(currentParams[key], passedParams[key]);\n if ((key === 'navigation' || key === 'pagination' || key === 'scrollbar') && 'enabled' in passedParams[key] && !passedParams[key].enabled) {\n destroyModule(key);\n }\n } else {\n const newValue = passedParams[key];\n if ((newValue === true || newValue === false) && (key === 'navigation' || key === 'pagination' || key === 'scrollbar')) {\n if (newValue === false) {\n destroyModule(key);\n }\n } else {\n currentParams[key] = passedParams[key];\n }\n }\n });\n if (updateParams.includes('controller') && !needControllerInit && swiper.controller && swiper.controller.control && currentParams.controller && currentParams.controller.control) {\n swiper.controller.control = currentParams.controller.control;\n }\n if (changedParams.includes('children') && slides && virtual && currentParams.virtual.enabled) {\n virtual.slides = slides;\n virtual.update(true);\n } else if (changedParams.includes('virtual') && virtual && currentParams.virtual.enabled) {\n if (slides) virtual.slides = slides;\n virtual.update(true);\n }\n if (changedParams.includes('children') && slides && currentParams.loop) {\n loopNeedReloop = true;\n }\n if (needThumbsInit) {\n const initialized = thumbs.init();\n if (initialized) thumbs.update(true);\n }\n if (needControllerInit) {\n swiper.controller.control = currentParams.controller.control;\n }\n if (needPaginationInit) {\n if (swiper.isElement && (!paginationEl || typeof paginationEl === 'string')) {\n paginationEl = document.createElement('div');\n paginationEl.classList.add('swiper-pagination');\n paginationEl.part.add('pagination');\n swiper.el.appendChild(paginationEl);\n }\n if (paginationEl) currentParams.pagination.el = paginationEl;\n pagination.init();\n pagination.render();\n pagination.update();\n }\n if (needScrollbarInit) {\n if (swiper.isElement && (!scrollbarEl || typeof scrollbarEl === 'string')) {\n scrollbarEl = document.createElement('div');\n scrollbarEl.classList.add('swiper-scrollbar');\n scrollbarEl.part.add('scrollbar');\n swiper.el.appendChild(scrollbarEl);\n }\n if (scrollbarEl) currentParams.scrollbar.el = scrollbarEl;\n scrollbar.init();\n scrollbar.updateSize();\n scrollbar.setTranslate();\n }\n if (needNavigationInit) {\n if (swiper.isElement) {\n if (!nextEl || typeof nextEl === 'string') {\n nextEl = document.createElement('div');\n nextEl.classList.add('swiper-button-next');\n nextEl.innerHTML = swiper.hostEl.constructor.nextButtonSvg;\n nextEl.part.add('button-next');\n swiper.el.appendChild(nextEl);\n }\n if (!prevEl || typeof prevEl === 'string') {\n prevEl = document.createElement('div');\n prevEl.classList.add('swiper-button-prev');\n prevEl.innerHTML = swiper.hostEl.constructor.prevButtonSvg;\n prevEl.part.add('button-prev');\n swiper.el.appendChild(prevEl);\n }\n }\n if (nextEl) currentParams.navigation.nextEl = nextEl;\n if (prevEl) currentParams.navigation.prevEl = prevEl;\n navigation.init();\n navigation.update();\n }\n if (changedParams.includes('allowSlideNext')) {\n swiper.allowSlideNext = passedParams.allowSlideNext;\n }\n if (changedParams.includes('allowSlidePrev')) {\n swiper.allowSlidePrev = passedParams.allowSlidePrev;\n }\n if (changedParams.includes('direction')) {\n swiper.changeDirection(passedParams.direction, false);\n }\n if (loopNeedDestroy || loopNeedReloop) {\n swiper.loopDestroy();\n }\n if (loopNeedEnable || loopNeedReloop) {\n swiper.loopCreate();\n }\n swiper.update();\n}\n\nexport { needsPagination as a, needsScrollbar as b, attrToProp as c, uniqueClasses as d, extend as e, isObject as i, needsNavigation as n, paramsList as p, updateSwiper as u, wrapperClass as w };\n","/**\n * Swiper React 11.2.6\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * https://swiperjs.com\n *\n * Copyright 2014-2025 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: March 19, 2025\n */\n\nimport React, { useEffect, useLayoutEffect, useContext, createContext, forwardRef, useState, useRef } from 'react';\nimport { S as Swiper$1 } from './shared/swiper-core.mjs';\nimport { g as getParams, m as mountSwiper, a as getChangedParams, u as updateOnVirtualData } from './shared/update-on-virtual-data.mjs';\nimport { d as uniqueClasses, w as wrapperClass, n as needsNavigation, b as needsScrollbar, a as needsPagination, e as extend, u as updateSwiper } from './shared/update-swiper.mjs';\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nfunction isChildSwiperSlide(child) {\n return child.type && child.type.displayName && child.type.displayName.includes('SwiperSlide');\n}\nfunction processChildren(c) {\n const slides = [];\n React.Children.toArray(c).forEach(child => {\n if (isChildSwiperSlide(child)) {\n slides.push(child);\n } else if (child.props && child.props.children) {\n processChildren(child.props.children).forEach(slide => slides.push(slide));\n }\n });\n return slides;\n}\nfunction getChildren(c) {\n const slides = [];\n const slots = {\n 'container-start': [],\n 'container-end': [],\n 'wrapper-start': [],\n 'wrapper-end': []\n };\n React.Children.toArray(c).forEach(child => {\n if (isChildSwiperSlide(child)) {\n slides.push(child);\n } else if (child.props && child.props.slot && slots[child.props.slot]) {\n slots[child.props.slot].push(child);\n } else if (child.props && child.props.children) {\n const foundSlides = processChildren(child.props.children);\n if (foundSlides.length > 0) {\n foundSlides.forEach(slide => slides.push(slide));\n } else {\n slots['container-end'].push(child);\n }\n } else {\n slots['container-end'].push(child);\n }\n });\n return {\n slides,\n slots\n };\n}\n\nfunction renderVirtual(swiper, slides, virtualData) {\n if (!virtualData) return null;\n const getSlideIndex = index => {\n let slideIndex = index;\n if (index < 0) {\n slideIndex = slides.length + index;\n } else if (slideIndex >= slides.length) {\n // eslint-disable-next-line\n slideIndex = slideIndex - slides.length;\n }\n return slideIndex;\n };\n const style = swiper.isHorizontal() ? {\n [swiper.rtlTranslate ? 'right' : 'left']: `${virtualData.offset}px`\n } : {\n top: `${virtualData.offset}px`\n };\n const {\n from,\n to\n } = virtualData;\n const loopFrom = swiper.params.loop ? -slides.length : 0;\n const loopTo = swiper.params.loop ? slides.length * 2 : slides.length;\n const slidesToRender = [];\n for (let i = loopFrom; i < loopTo; i += 1) {\n if (i >= from && i <= to) {\n slidesToRender.push(slides[getSlideIndex(i)]);\n }\n }\n return slidesToRender.map((child, index) => {\n return /*#__PURE__*/React.cloneElement(child, {\n swiper,\n style,\n key: child.props.virtualIndex || child.key || `slide-${index}`\n });\n });\n}\n\nfunction useIsomorphicLayoutEffect(callback, deps) {\n // eslint-disable-next-line\n if (typeof window === 'undefined') return useEffect(callback, deps);\n return useLayoutEffect(callback, deps);\n}\n\nconst SwiperSlideContext = /*#__PURE__*/createContext(null);\nconst useSwiperSlide = () => {\n return useContext(SwiperSlideContext);\n};\nconst SwiperContext = /*#__PURE__*/createContext(null);\nconst useSwiper = () => {\n return useContext(SwiperContext);\n};\n\nconst Swiper = /*#__PURE__*/forwardRef(function (_temp, externalElRef) {\n let {\n className,\n tag: Tag = 'div',\n wrapperTag: WrapperTag = 'div',\n children,\n onSwiper,\n ...rest\n } = _temp === void 0 ? {} : _temp;\n let eventsAssigned = false;\n const [containerClasses, setContainerClasses] = useState('swiper');\n const [virtualData, setVirtualData] = useState(null);\n const [breakpointChanged, setBreakpointChanged] = useState(false);\n const initializedRef = useRef(false);\n const swiperElRef = useRef(null);\n const swiperRef = useRef(null);\n const oldPassedParamsRef = useRef(null);\n const oldSlides = useRef(null);\n const nextElRef = useRef(null);\n const prevElRef = useRef(null);\n const paginationElRef = useRef(null);\n const scrollbarElRef = useRef(null);\n const {\n params: swiperParams,\n passedParams,\n rest: restProps,\n events\n } = getParams(rest);\n const {\n slides,\n slots\n } = getChildren(children);\n const onBeforeBreakpoint = () => {\n setBreakpointChanged(!breakpointChanged);\n };\n Object.assign(swiperParams.on, {\n _containerClasses(swiper, classes) {\n setContainerClasses(classes);\n }\n });\n const initSwiper = () => {\n // init swiper\n Object.assign(swiperParams.on, events);\n eventsAssigned = true;\n const passParams = {\n ...swiperParams\n };\n delete passParams.wrapperClass;\n swiperRef.current = new Swiper$1(passParams);\n if (swiperRef.current.virtual && swiperRef.current.params.virtual.enabled) {\n swiperRef.current.virtual.slides = slides;\n const extendWith = {\n cache: false,\n slides,\n renderExternal: setVirtualData,\n renderExternalUpdate: false\n };\n extend(swiperRef.current.params.virtual, extendWith);\n extend(swiperRef.current.originalParams.virtual, extendWith);\n }\n };\n if (!swiperElRef.current) {\n initSwiper();\n }\n\n // Listen for breakpoints change\n if (swiperRef.current) {\n swiperRef.current.on('_beforeBreakpoint', onBeforeBreakpoint);\n }\n const attachEvents = () => {\n if (eventsAssigned || !events || !swiperRef.current) return;\n Object.keys(events).forEach(eventName => {\n swiperRef.current.on(eventName, events[eventName]);\n });\n };\n const detachEvents = () => {\n if (!events || !swiperRef.current) return;\n Object.keys(events).forEach(eventName => {\n swiperRef.current.off(eventName, events[eventName]);\n });\n };\n useEffect(() => {\n return () => {\n if (swiperRef.current) swiperRef.current.off('_beforeBreakpoint', onBeforeBreakpoint);\n };\n });\n\n // set initialized flag\n useEffect(() => {\n if (!initializedRef.current && swiperRef.current) {\n swiperRef.current.emitSlidesClasses();\n initializedRef.current = true;\n }\n });\n\n // mount swiper\n useIsomorphicLayoutEffect(() => {\n if (externalElRef) {\n externalElRef.current = swiperElRef.current;\n }\n if (!swiperElRef.current) return;\n if (swiperRef.current.destroyed) {\n initSwiper();\n }\n mountSwiper({\n el: swiperElRef.current,\n nextEl: nextElRef.current,\n prevEl: prevElRef.current,\n paginationEl: paginationElRef.current,\n scrollbarEl: scrollbarElRef.current,\n swiper: swiperRef.current\n }, swiperParams);\n if (onSwiper && !swiperRef.current.destroyed) onSwiper(swiperRef.current);\n // eslint-disable-next-line\n return () => {\n if (swiperRef.current && !swiperRef.current.destroyed) {\n swiperRef.current.destroy(true, false);\n }\n };\n }, []);\n\n // watch for params change\n useIsomorphicLayoutEffect(() => {\n attachEvents();\n const changedParams = getChangedParams(passedParams, oldPassedParamsRef.current, slides, oldSlides.current, c => c.key);\n oldPassedParamsRef.current = passedParams;\n oldSlides.current = slides;\n if (changedParams.length && swiperRef.current && !swiperRef.current.destroyed) {\n updateSwiper({\n swiper: swiperRef.current,\n slides,\n passedParams,\n changedParams,\n nextEl: nextElRef.current,\n prevEl: prevElRef.current,\n scrollbarEl: scrollbarElRef.current,\n paginationEl: paginationElRef.current\n });\n }\n return () => {\n detachEvents();\n };\n });\n\n // update on virtual update\n useIsomorphicLayoutEffect(() => {\n updateOnVirtualData(swiperRef.current);\n }, [virtualData]);\n\n // bypass swiper instance to slides\n function renderSlides() {\n if (swiperParams.virtual) {\n return renderVirtual(swiperRef.current, slides, virtualData);\n }\n return slides.map((child, index) => {\n return /*#__PURE__*/React.cloneElement(child, {\n swiper: swiperRef.current,\n swiperSlideIndex: index\n });\n });\n }\n return /*#__PURE__*/React.createElement(Tag, _extends({\n ref: swiperElRef,\n className: uniqueClasses(`${containerClasses}${className ? ` ${className}` : ''}`)\n }, restProps), /*#__PURE__*/React.createElement(SwiperContext.Provider, {\n value: swiperRef.current\n }, slots['container-start'], /*#__PURE__*/React.createElement(WrapperTag, {\n className: wrapperClass(swiperParams.wrapperClass)\n }, slots['wrapper-start'], renderSlides(), slots['wrapper-end']), needsNavigation(swiperParams) && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n ref: prevElRef,\n className: \"swiper-button-prev\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n ref: nextElRef,\n className: \"swiper-button-next\"\n })), needsScrollbar(swiperParams) && /*#__PURE__*/React.createElement(\"div\", {\n ref: scrollbarElRef,\n className: \"swiper-scrollbar\"\n }), needsPagination(swiperParams) && /*#__PURE__*/React.createElement(\"div\", {\n ref: paginationElRef,\n className: \"swiper-pagination\"\n }), slots['container-end']));\n});\nSwiper.displayName = 'Swiper';\n\nconst SwiperSlide = /*#__PURE__*/forwardRef(function (_temp, externalRef) {\n let {\n tag: Tag = 'div',\n children,\n className = '',\n swiper,\n zoom,\n lazy,\n virtualIndex,\n swiperSlideIndex,\n ...rest\n } = _temp === void 0 ? {} : _temp;\n const slideElRef = useRef(null);\n const [slideClasses, setSlideClasses] = useState('swiper-slide');\n const [lazyLoaded, setLazyLoaded] = useState(false);\n function updateClasses(_s, el, classNames) {\n if (el === slideElRef.current) {\n setSlideClasses(classNames);\n }\n }\n useIsomorphicLayoutEffect(() => {\n if (typeof swiperSlideIndex !== 'undefined') {\n slideElRef.current.swiperSlideIndex = swiperSlideIndex;\n }\n if (externalRef) {\n externalRef.current = slideElRef.current;\n }\n if (!slideElRef.current || !swiper) {\n return;\n }\n if (swiper.destroyed) {\n if (slideClasses !== 'swiper-slide') {\n setSlideClasses('swiper-slide');\n }\n return;\n }\n swiper.on('_slideClass', updateClasses);\n // eslint-disable-next-line\n return () => {\n if (!swiper) return;\n swiper.off('_slideClass', updateClasses);\n };\n });\n useIsomorphicLayoutEffect(() => {\n if (swiper && slideElRef.current && !swiper.destroyed) {\n setSlideClasses(swiper.getSlideClasses(slideElRef.current));\n }\n }, [swiper]);\n const slideData = {\n isActive: slideClasses.indexOf('swiper-slide-active') >= 0,\n isVisible: slideClasses.indexOf('swiper-slide-visible') >= 0,\n isPrev: slideClasses.indexOf('swiper-slide-prev') >= 0,\n isNext: slideClasses.indexOf('swiper-slide-next') >= 0\n };\n const renderChildren = () => {\n return typeof children === 'function' ? children(slideData) : children;\n };\n const onLoad = () => {\n setLazyLoaded(true);\n };\n return /*#__PURE__*/React.createElement(Tag, _extends({\n ref: slideElRef,\n className: uniqueClasses(`${slideClasses}${className ? ` ${className}` : ''}`),\n \"data-swiper-slide-index\": virtualIndex,\n onLoad: onLoad\n }, rest), zoom && /*#__PURE__*/React.createElement(SwiperSlideContext.Provider, {\n value: slideData\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"swiper-zoom-container\",\n \"data-swiper-zoom\": typeof zoom === 'number' ? zoom : undefined\n }, renderChildren(), lazy && !lazyLoaded && /*#__PURE__*/React.createElement(\"div\", {\n className: \"swiper-lazy-preloader\"\n }))), !zoom && /*#__PURE__*/React.createElement(SwiperSlideContext.Provider, {\n value: slideData\n }, renderChildren(), lazy && !lazyLoaded && /*#__PURE__*/React.createElement(\"div\", {\n className: \"swiper-lazy-preloader\"\n })));\n});\nSwiperSlide.displayName = 'SwiperSlide';\n\nexport { Swiper, SwiperSlide, useSwiper, useSwiperSlide };\n","import { e as extend, p as paramsList, i as isObject, n as needsNavigation, a as needsPagination, b as needsScrollbar } from './update-swiper.mjs';\nimport { d as defaults } from './swiper-core.mjs';\n\nfunction getParams(obj, splitEvents) {\n if (obj === void 0) {\n obj = {};\n }\n if (splitEvents === void 0) {\n splitEvents = true;\n }\n const params = {\n on: {}\n };\n const events = {};\n const passedParams = {};\n extend(params, defaults);\n params._emitClasses = true;\n params.init = false;\n const rest = {};\n const allowedParams = paramsList.map(key => key.replace(/_/, ''));\n const plainObj = Object.assign({}, obj);\n Object.keys(plainObj).forEach(key => {\n if (typeof obj[key] === 'undefined') return;\n if (allowedParams.indexOf(key) >= 0) {\n if (isObject(obj[key])) {\n params[key] = {};\n passedParams[key] = {};\n extend(params[key], obj[key]);\n extend(passedParams[key], obj[key]);\n } else {\n params[key] = obj[key];\n passedParams[key] = obj[key];\n }\n } else if (key.search(/on[A-Z]/) === 0 && typeof obj[key] === 'function') {\n if (splitEvents) {\n events[`${key[2].toLowerCase()}${key.substr(3)}`] = obj[key];\n } else {\n params.on[`${key[2].toLowerCase()}${key.substr(3)}`] = obj[key];\n }\n } else {\n rest[key] = obj[key];\n }\n });\n ['navigation', 'pagination', 'scrollbar'].forEach(key => {\n if (params[key] === true) params[key] = {};\n if (params[key] === false) delete params[key];\n });\n return {\n params,\n passedParams,\n rest,\n events\n };\n}\n\nfunction mountSwiper(_ref, swiperParams) {\n let {\n el,\n nextEl,\n prevEl,\n paginationEl,\n scrollbarEl,\n swiper\n } = _ref;\n if (needsNavigation(swiperParams) && nextEl && prevEl) {\n swiper.params.navigation.nextEl = nextEl;\n swiper.originalParams.navigation.nextEl = nextEl;\n swiper.params.navigation.prevEl = prevEl;\n swiper.originalParams.navigation.prevEl = prevEl;\n }\n if (needsPagination(swiperParams) && paginationEl) {\n swiper.params.pagination.el = paginationEl;\n swiper.originalParams.pagination.el = paginationEl;\n }\n if (needsScrollbar(swiperParams) && scrollbarEl) {\n swiper.params.scrollbar.el = scrollbarEl;\n swiper.originalParams.scrollbar.el = scrollbarEl;\n }\n swiper.init(el);\n}\n\nfunction getChangedParams(swiperParams, oldParams, children, oldChildren, getKey) {\n const keys = [];\n if (!oldParams) return keys;\n const addKey = key => {\n if (keys.indexOf(key) < 0) keys.push(key);\n };\n if (children && oldChildren) {\n const oldChildrenKeys = oldChildren.map(getKey);\n const childrenKeys = children.map(getKey);\n if (oldChildrenKeys.join('') !== childrenKeys.join('')) addKey('children');\n if (oldChildren.length !== children.length) addKey('children');\n }\n const watchParams = paramsList.filter(key => key[0] === '_').map(key => key.replace(/_/, ''));\n watchParams.forEach(key => {\n if (key in swiperParams && key in oldParams) {\n if (isObject(swiperParams[key]) && isObject(oldParams[key])) {\n const newKeys = Object.keys(swiperParams[key]);\n const oldKeys = Object.keys(oldParams[key]);\n if (newKeys.length !== oldKeys.length) {\n addKey(key);\n } else {\n newKeys.forEach(newKey => {\n if (swiperParams[key][newKey] !== oldParams[key][newKey]) {\n addKey(key);\n }\n });\n oldKeys.forEach(oldKey => {\n if (swiperParams[key][oldKey] !== oldParams[key][oldKey]) addKey(key);\n });\n }\n } else if (swiperParams[key] !== oldParams[key]) {\n addKey(key);\n }\n }\n });\n return keys;\n}\n\nconst updateOnVirtualData = swiper => {\n if (!swiper || swiper.destroyed || !swiper.params.virtual || swiper.params.virtual && !swiper.params.virtual.enabled) return;\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n if (swiper.parallax && swiper.params.parallax && swiper.params.parallax.enabled) {\n swiper.parallax.setTranslate();\n }\n};\n\nexport { getChangedParams as a, getParams as g, mountSwiper as m, updateOnVirtualData as u };\n","import React from 'react';\n\n// Utils\nimport MaskedInput from 'react-text-mask';\n\n// Components\nimport { InputBaseComponentProps, TextField, TextFieldProps } from '@mui/material';\n\n// Types\nimport { Modify } from '@brz-types/modify';\n\n\nconst errorMessage = 'Please provide your height.';\n\ntype HeightTextFieldProps = Modify;\n\nconst HeightTextField = (props: HeightTextFieldProps) => {\n const { style, tabIndex, inputRef, value: propsValue, ...other } = props;\n\n const [value, setValue] = React.useState(props.value as string || '');\n const [error, setError] = React.useState(null);\n\n return (\n {\n // Check for 0 in inches value\n // Need to handle this case separately\n const zeroMatch = /(\\d).+ _{0,1}(\\d+).+/.exec(conformedValue);\n if ( zeroMatch ) {\n let feet = zeroMatch[1];\n let inches = parseInt(zeroMatch[2]);\n\n if (inches === 0) {\n return `${feet}ft. ${0}in.`;\n }\n }\n\n // if it doesn't match anything above just clean up and return\n const clean = /(\\d).+ _{0,1}(\\d+).+/.exec(config.rawValue);\n // console.log('Pipe:', conformedValue, config, clean);\n\n if ( clean ) {\n let feet = clean[1];\n let inches = parseInt(clean[2]);\n\n if (inches > 0 && inches < 12) {\n return `${feet}ft. ${inches}in.`;\n } else {\n if ( inches.toString().length > 2 ) {\n return `${feet}ft. ${inches.toString().substring(0,2)}in.`;\n } else {\n return `${feet}ft. ${inches.toString().substring(0,1)}in.`;\n }\n }\n }\n\n return conformedValue;\n }}\n mask={(rawValue) => {\n // console.log(rawValue);\n const num = parseInt(rawValue.replace(/[^\\d]/g, ''), 10);\n const clean = !isNaN(num) ? num.toString() : '';\n const length = Math.min(3, clean.length || 0);\n // console.log('Mask:', rawValue, length);\n\n if ( length < 3 ) {\n return [/\\d/, 'f', 't', '.', ' ', /\\d/, 'i', 'n', '.'];\n } else {\n return [/\\d/, 'f', 't', '.', ' ', /\\d/, /\\d/, 'i', 'n', '.'];\n }\n }}\n // placeholderChar={''}\n guide={true}\n keepCharPositions={true}\n showMask={false}\n inputMode={'numeric'}\n render={(inputRef, inputProps) => (\n ) => {\n setError(null);\n setValue(event.target.value);\n\n // Don't run anything below if onChange prop is not defined\n if (typeof props.onChange === 'undefined') return;\n props.onChange('', false);\n \n // Check for valid format\n const valid = /\\dft\\. (?:[023456789]|1[01]{0,1})in\\./.test(event.target.value);\n props.onChange(event.target.value, valid);\n }}\n onBlur={(event: React.FocusEvent) => {\n // Validate\n if (!/\\dft\\. (?:[023456789]|1[01]{0,1})in\\./.test(value)) {\n setError(errorMessage);\n }\n\n if (typeof props.onBlur === 'function') {\n props.onBlur(event);\n }\n }}\n />\n )}\n />\n );\n};\n\nexport default HeightTextField;","import React from \"react\";\n\n// Utils\n\n\n// Components\nimport { CircularProgress, Grow } from \"@mui/material\";\nimport { useClass } from \"@breezerr\";\n\n\ntype YouCanBookMeWidgetProps = {\n url: string;\n show: boolean;\n className?: string;\n teamMember?: string;\n service?: string;\n autofill?: {\n [key: string]: string | number | null\n }\n onChange?: (height: number) => void;\n onLoad?:() => void;\n onReady?:() => void;\n};\n\nconst BOOKING_URL = `https://brz-dev.youcanbook.me`; // https://breezeinsurance.youcanbook.me\n\n\nexport const YouCanBookMeWidget = (props: YouCanBookMeWidgetProps) => {\n // render nothing if no url\n if ( typeof props.url !== 'string' ) return null;\n\n const [loading, setLoading] = React.useState(true);\n const iFrameRef = React.useRef();\n const [height, setHeight] = React.useState(600);\n\n\n React.useEffect(() => {\n if (typeof window !== 'undefined') {\n window.addEventListener('message', handleMessageEvent, { passive: true });\n }\n\n // Cleanup\n return () => {\n window.removeEventListener('message', handleMessageEvent);\n }\n }, []);\n\n React.useEffect(() => {\n if ( !props.url ) {\n setLoading(true);\n }\n }, [props.url]); \n\n\n const handleMessageEvent = (event: MessageEvent) => { \n if (event.origin === url.origin) {\n // console.log(event, iFrameRef.current);\n // document.getElementById(\"brz-ycbm-iframe\").style.height = event.data + \"px\";\n // iFrameRef.current.style.height = `${event.data + 50}px`;\n if ( event.data?.message?.action === 'resize' ) {\n setHeight(event.data?.message?.data);\n } \n \n if ( typeof props.onChange === 'function' ) {\n props.onChange(event.data?.message);\n }\n }\n }\n\n\n const teamMember = React.useMemo(() => {\n if (typeof props.teamMember !== 'string') return null;\n return props.teamMember.replace(/[^a-z]/gi, '+');\n }, [props.teamMember]);\n\n const url = React.useMemo(() => {\n const Url = new URL('', props.url);\n\n const params = {\n noframe: 'true',\n skipHeaderFooter: 'true',\n ...props.autofill\n };\n\n Url.search = new URLSearchParams(params).toString(); \n\n return Url;\n }, [props.autofill]);\n\n const service = React.useMemo(() => {\n if (typeof props.service !== 'string') return null;\n return props.service.replace(/[^a-z]/gi, '+');\n }, [props.service]);\n\n \n\n return
    \n
    \n {\n setTimeout(() => {\n if ( props.show ) {\n setLoading(false);\n }\n\n if ( typeof props.onReady === 'function' ) {\n props.onReady();\n }\n }, 2000);\n\n if ( typeof props.onLoad === 'function' ) {\n props.onLoad();\n }\n }}\n >\n\n \n \n \n
    \n
    \n};","export const hashLink = ( value:string, pound = true ):string => {\n return value ? `${pound ? '#' : ''}${value.toLowerCase().replace(/[^\\w\\-\\s]/g, '').replace(/[\\s]/g, '-')}` : '#';\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTypographyUtilityClass(slot) {\n return generateUtilityClass('MuiTypography', slot);\n}\nconst typographyClasses = generateUtilityClasses('MuiTypography', ['root', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'inherit', 'button', 'caption', 'overline', 'alignLeft', 'alignRight', 'alignCenter', 'alignJustify', 'noWrap', 'gutterBottom', 'paragraph']);\nexport default typographyClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"align\", \"className\", \"component\", \"gutterBottom\", \"noWrap\", \"paragraph\", \"variant\", \"variantMapping\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { extendSxProp } from '@mui/system/styleFunctionSx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport capitalize from '../utils/capitalize';\nimport { getTypographyUtilityClass } from './typographyClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n align,\n gutterBottom,\n noWrap,\n paragraph,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, ownerState.align !== 'inherit' && `align${capitalize(align)}`, gutterBottom && 'gutterBottom', noWrap && 'noWrap', paragraph && 'paragraph']\n };\n return composeClasses(slots, getTypographyUtilityClass, classes);\n};\nexport const TypographyRoot = styled('span', {\n name: 'MuiTypography',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.variant && styles[ownerState.variant], ownerState.align !== 'inherit' && styles[`align${capitalize(ownerState.align)}`], ownerState.noWrap && styles.noWrap, ownerState.gutterBottom && styles.gutterBottom, ownerState.paragraph && styles.paragraph];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n margin: 0\n}, ownerState.variant === 'inherit' && {\n // Some elements, like