{"version":3,"file":"static/chunks/6984-7759b5fe0f0d8cff.js","mappings":"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","sources":["webpack://_N_E/./src/components/FilterMenu/index.tsx","webpack://_N_E/./src/store/actions/filteredBundles.ts","webpack://_N_E/../../packages/ui-react/src/components/controls/Toggle/styled.ts","webpack://_N_E/../../packages/ui-react/src/components/controls/Toggle/index.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport Toggle from '@r1-frontend/ui-react/components/controls/Toggle';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport { setInitialGroupKey } from '~/src/store/actions/filteredBundles';\n\nexport type TMenuItem = {\n route?: string,\n text: string,\n action?: () => void,\n}\n\ninterface IProps {\n items: TMenuItem[],\n activeItem: number,\n disabled?: boolean,\n activeDefaultTabByTariffs?: TMenuItem,\n isDifferentColorText?: boolean,\n colorTab?: string,\n}\n\nconst FilterMenu: React.FC = ({\n items,\n activeItem,\n disabled = false,\n activeDefaultTabByTariffs,\n isDifferentColorText = true,\n colorTab,\n}): JSX.Element => {\n\n const dispatch = useDispatch();\n\n const tabFlat = 'Для квартиры';\n const toggleLabels = useMemo(() => ({ leftText: items[0]['text'], rightText: items[1]['text'] }), [items]);\n const labels = useMemo>(() => Object.values(toggleLabels), [toggleLabels]);\n\n const [label, setLabel] = useState(\n activeDefaultTabByTariffs\n ? activeDefaultTabByTariffs['text']\n : activeItem === 0\n ? labels[0]\n : labels[1],\n );\n\n const [itemMenu, setItem] = useState(items.filter(item => item['text'] === label)[0]);\n\n useEffect(() => {\n dispatch(setInitialGroupKey(activeItem ? 'village' : 'city'));\n\n const currentItem = items.filter((item: TMenuItem) => item['text'] !== label)[0];\n setItem(currentItem);\n\n if (activeDefaultTabByTariffs && activeDefaultTabByTariffs['text'] !== tabFlat && disabled) {\n activeDefaultTabByTariffs.action?.();\n }\n }, [label]);\n\n const onMenuItemClick = useCallback(() => {\n const [toggledLabel] = labels.filter(item => item !== label);\n setLabel(toggledLabel);\n\n if (itemMenu && itemMenu.action && !disabled) {\n itemMenu.action();\n }\n }, [disabled, itemMenu, label, labels]);\n\n return (\n onMenuItemClick()}\n fontSize={FONTS.S}\n activeTab={label}\n data-test='toggle-container'\n isDifferentColorText={isDifferentColorText}\n colorTab={colorTab}\n />\n );\n};\n\nexport default FilterMenu;\n","import cloneDeep from 'lodash/cloneDeep';\nimport pickBy from 'lodash/pickBy';\n\nimport { dataLayerPush } from '@r1-frontend/analytics/dataLayerPush';\n\nimport { CATEGORIES, EVENTS } from '@r1-frontend/shared/constants/analytics';\n\nimport {\n CampaignFilterLabels,\n CampaignFilterValues,\n filtersItemsInitial,\n FiltersName,\n IFilterItem,\n IFilterProp,\n ISelectedFilters,\n selectedFiltersInitial,\n SortByValues,\n sortedItemsInitial,\n TFilters,\n TypeFilterLabels,\n} from '~/src/entities/filteredBundles';\nimport { ITariff } from '~/src/entities/formattedTariff';\nimport { TAppThunkDispatch, TGetState } from '~/src/store';\nimport { EFilteredBundlesTypes } from '~/src/store/reducers/filteredBundles';\nimport { selectAllTariffs, selectCheckedFilters, selectIsEmpty } from '~/src/store/selectors/filteredBundles';\n\ntype TFiltersMapped = Record;\n\nexport const setInitialGroupKey = (groupKey: string) => {\n return (dispatch: TAppThunkDispatch): void => {\n dispatch({\n type: EFilteredBundlesTypes.SET_GROUP_KEY,\n payload: {\n groupKey,\n },\n });\n };\n};\n\nexport const toggleFilterTabs = () => {\n return (dispatch: TAppThunkDispatch, getState: TGetState): void => {\n const { filteredBundles: { groupKey } } = getState();\n const [result] = ['city', 'village'].filter(key => key !== groupKey);\n dispatch({\n type: EFilteredBundlesTypes.SET_GROUP_KEY,\n payload: {\n groupKey: result,\n },\n });\n };\n};\n\nexport const toggleSelected = (name: string, value: string) => {\n return (dispatch: TAppThunkDispatch, getState: TGetState): void => {\n const { filteredBundles: { selected: selectedFilters, groupKey } } = getState();\n const typedValue = +value || value;\n\n let action = '';\n\n const selected = [...selectedFilters];\n const currentFilterIndex = selected.findIndex(\n filter => filter.group === groupKey && filter.name === name,\n );\n\n const isValueExists = selected[currentFilterIndex].values.includes(typedValue);\n if (isValueExists) {\n action = 'remove filter';\n selected[currentFilterIndex].values = selected[currentFilterIndex].values.filter(\n f => f !== typedValue,\n );\n } else {\n action = 'add filter';\n selected[currentFilterIndex].values.push(typedValue);\n }\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.tariffCards,\n action,\n label: `${name} ${value}`,\n });\n dispatch({\n type: EFilteredBundlesTypes.SET_SELECTED,\n payload: {\n selected,\n },\n });\n };\n};\n\nexport const applyInitialFilters = (props: IFilterProp) => {\n return (dispatch: TAppThunkDispatch, getState: TGetState): void => {\n const { filteredBundles: { selected: selectedFilters, groupKey } } = getState();\n const selected = [...selectedFilters];\n for (const name in props) {\n const currentFilterIndex = selected.findIndex(\n filter => filter.group === groupKey && filter.name === name,\n );\n if (props[name] !== undefined && currentFilterIndex !== -1) {\n if (typeof props[name] === 'object') {\n // @ts-ignore\n selected[currentFilterIndex].values = props[name].map(value => +value || value);\n } else {\n // @ts-ignore\n selected[currentFilterIndex].values.push(+props[name] || props[name]);\n }\n }\n }\n\n dispatch({\n type: EFilteredBundlesTypes.SET_SELECTED,\n payload: {\n selected,\n },\n });\n };\n};\n\nexport const sortBy = (by: SortByValues) => {\n return (dispatch: TAppThunkDispatch, getState: TGetState): void => {\n const { filteredBundles: { sortedItems } } = getState();\n\n const _sortedItems = sortedItems && {\n ...sortedItems,\n items: [\n ...sortedItems?.items.map((item: IFilterItem) => ({\n ...item,\n checked: item.value === by,\n })),\n ],\n };\n\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.tariffCards,\n action: 'sort',\n label: by,\n });\n dispatch({\n type: EFilteredBundlesTypes.SET_SORTBY,\n payload: {\n sortBy: by,\n sortedItems: _sortedItems,\n },\n });\n };\n};\n\nexport const reset = () => {\n return (dispatch: TAppThunkDispatch): void => {\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.tariffCards,\n action: 'reset filter',\n label: '',\n });\n dispatch({\n type: EFilteredBundlesTypes.RESET_SELECTED,\n payload: {\n selected: cloneDeep(selectedFiltersInitial),\n sortBy: SortByValues.recommended,\n },\n });\n };\n};\n\nconst sortByLine = (tariffs: ITariff[]) => {\n return [...tariffs].sort((a, b) => a.tariffLine?.sort - b.tariffLine?.sort);\n};\n\nconst checkedForFilters = (selectedFilters: ISelectedFilters[], groupKey: string) => {\n return (\n items: IFilterItem[],\n name: string,\n value: string | number,\n label: string,\n ) => {\n const _items = [...items];\n\n _items.push({\n value,\n label,\n checked: !!selectedFilters.find(filter => (\n filter.group === groupKey &&\n filter.name === name &&\n filter.values.includes(value)\n )),\n });\n if (name === FiltersName.speed) {\n _items.sort((a, b) => +a.value - +b.value);\n }\n return _items;\n };\n};\n\nconst checkedForCampaign = (selectedFilters: ISelectedFilters[], groupKey: string) => {\n return (items: IFilterItem[], name: string, filterName: string) => {\n const _items = [...items];\n\n if (!_items.some(filter => filter.value === CampaignFilterValues[filterName])) {\n const itemValue = CampaignFilterValues[filterName];\n const itemLabel = CampaignFilterLabels[filterName];\n\n _items.push({\n value: itemValue,\n label: itemLabel,\n checked: !!selectedFilters.find(filter => (\n filter.group === groupKey &&\n filter.name === name &&\n filter.values.includes(itemValue)\n )),\n });\n }\n return _items;\n };\n};\n\nexport const getAllItems = () => {\n return (dispatch: TAppThunkDispatch, getState: TGetState): void => {\n const state = getState();\n const { filteredBundles: { selected: selectedFilters, groupKey } } = state;\n const tariffs = selectAllTariffs(state);\n\n const filtersItems = cloneDeep(filtersItemsInitial);\n const sortedItems = cloneDeep(sortedItemsInitial);\n\n const checkVillageTabDisabling: (number | boolean)[] = [];\n\n const getCheckedForFilters = checkedForFilters(selectedFilters, groupKey);\n const getCheckedForCampaign = checkedForCampaign(selectedFilters, groupKey);\n\n const allItems = sortByLine(tariffs)\n .reduce((acc: TFilters, tariff) => {\n const { speed, tariffLine, type, isCottage } = tariff;\n const targetGroup = isCottage ? 'village' : 'city';\n\n acc[targetGroup].items.forEach(item => {\n checkVillageTabDisabling.push(isCottage);\n const { name } = item;\n\n if (name !== FiltersName.campaign) {\n if (!item.items.some(elem => {\n // @ts-ignore\n return elem.value === tariff[name];\n })) {\n const filtersMapped: TFiltersMapped = {\n [FiltersName.speed]: { name: speed, label: `${speed} Мбит/с` },\n [FiltersName.lineId]: { name: tariffLine?.id, label: tariffLine?.title },\n [FiltersName.type]: { name: type, label: TypeFilterLabels[type] },\n };\n const { name: mappedName, label } = filtersMapped[name];\n item.items = getCheckedForFilters(item.items, name, mappedName, label);\n }\n } else {\n ['priceAction', 'equipment'].forEach(filterName => {\n item.items = getCheckedForCampaign(item.items, name, filterName);\n });\n }\n });\n\n return acc;\n }, filtersItems);\n\n // TODO: необходим рефакторинг получения уникальных линеек\n allItems.city.items[1].items = [...new Map(allItems.city.items[1].items.map(item => [item.value, item])).values()];\n allItems.village.items[1].items = [...new Map(allItems.village.items[1].items.map(item => [item.value, item])).values()];\n\n const isVillageTabDisable = checkVillageTabDisabling.every(el => el == checkVillageTabDisabling[0]);\n\n dispatch({\n type: EFilteredBundlesTypes.SET_ITEMS,\n payload: {\n isVillageTabDisable,\n items: allItems,\n sortedItems,\n },\n });\n };\n};\n\nconst sortTariffs = (sortingTariffs: ITariff[], sortTarget: SortByValues) => {\n const buffer = [...sortingTariffs];\n\n switch (sortTarget) {\n case SortByValues.recommended:\n buffer.sort((a, b) => a.weight - b.weight);\n break;\n case SortByValues.cheap:\n buffer.sort((a, b) => (a.priceAction ?? a.price) - (b.priceAction ?? b.price));\n break;\n case SortByValues.expensive:\n buffer.sort((a, b) => (b.priceAction ?? b.price) - (a.priceAction ?? a.price));\n break;\n }\n\n return buffer;\n};\n\nconst getResultWithEmpty = (tariffs: ITariff[], sortBy: SortByValues) => {\n return (dispatch: TAppThunkDispatch, getState: TGetState): void => {\n const { filteredBundles: { groupKey } } = getState();\n const isVillage = groupKey === 'village';\n const localizedTariffs = [...tariffs].filter(tariff => !!tariff.isCottage === isVillage);\n dispatch({\n type: EFilteredBundlesTypes.SET_TARRIFS,\n payload: {\n tariffs: sortTariffs(localizedTariffs, sortBy),\n },\n });\n };\n};\n\nconst getResultsWithFilters = (tariffs: ITariff[], sortBy: SortByValues) => {\n return (dispatch: TAppThunkDispatch, getState: TGetState): void => {\n const state = getState();\n const activeSelectedFilters = selectCheckedFilters(state);\n\n const normalizeTariffs = tariffs.reduce((acc: Record, tariff) => {\n acc[tariff.productId] = tariff;\n return acc;\n }, {});\n\n const result = activeSelectedFilters.reduce((acc: Record, selectedFilter: ISelectedFilters) => {\n return pickBy(acc, (tariff) => {\n const isCity = selectedFilter.group === 'city';\n return !!tariff.isCottage === !isCity &&\n (selectedFilter.name === FiltersName.campaign\n // @ts-ignore\n ? selectedFilter.values.some(value => !!tariff[value])\n : selectedFilter.name === FiltersName.lineId\n ? selectedFilter.values.includes(tariff.tariffLine.id)\n // @ts-ignore\n : selectedFilter.values.includes(tariff[selectedFilter.name])\n );\n });\n }, normalizeTariffs);\n\n dispatch({\n type: EFilteredBundlesTypes.SET_TARRIFS,\n payload: {\n tariffs: sortTariffs(Object.values(result), sortBy),\n },\n });\n };\n};\n\nexport const getResults = () => {\n return (dispatch: TAppThunkDispatch, getState: TGetState): void => {\n const state = getState();\n const { filteredBundles: { sortBy } } = state;\n const isEmptyFilters = selectIsEmpty(state);\n const tariffs = selectAllTariffs(state);\n\n if (!isEmptyFilters) {\n dispatch(getResultsWithFilters(tariffs, sortBy));\n } else {\n dispatch(getResultWithEmpty(tariffs, sortBy));\n }\n };\n};\n","import styled, { css } from 'styled-components';\n\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nconst StylesTab = css`\n position: relative;\n padding: 6px 24px;\n border-style: solid;\n border-color: transparent;\n background: transparent;\n overflow: hidden;\n font: inherit;\n cursor: pointer;\n`;\n\nexport const Container = styled.div<{isDisabled : boolean, fontSize?: FONTS}>`\n width: fit-content;\n min-width: max-content;\n max-width: 600px;\n display: flex;\n position: relative;\n box-sizing: content-box;\n ${p => p.fontSize || FONTS.MediumXS};\n background-color: transparent;\n border-radius: 100px;\n border: 2px solid ${COLORS.Outline_Light};\n pointer-events: ${p => p.isDisabled ? 'none' : 'auto' };\n user-select: none;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n max-width: 300px;\n }\n`;\n\nexport const TabLeft = styled.button`\n ${StylesTab};\n border-width: 2px 0 2px 2px;\n border-radius: 100px 0 0 100px;\n`;\n\nexport const TabRight = styled.button`\n ${StylesTab};\n border-width: 2px 2px 2px 0;\n border-radius: 0 100px 100px 0;\n`;\n\nexport const LayoutLeft = styled.span<{translateValue: number, colorTab: string}>`\n position: absolute;\n top: 0;\n height: 100%;\n border-radius: 100px;\n transition: transform 100ms ease-in-out;\n width: 100%;\n right: 0;\n background-color: ${p => p.colorTab};\n transform: ${p => `translateX(${p.translateValue}%)`};\n`;\n\nexport const LayoutRight = styled(LayoutLeft)`\n right: 100%;\n`;\n\nexport const Text = styled.span<{ isActive: boolean, isDifferentColorText: boolean }>`\n position: relative;\n z-index: 1;\n color: ${(p) => p.isDifferentColorText && !p.isActive ? COLORS.TextPrimary : COLORS.TextWhite};\n white-space: pre;\n`;\n","import React, { FC } from 'react';\n\nimport * as ST from '@r1-frontend/ui-react/components/controls/Toggle/styled';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\ninterface IProps {\n textsValues: { leftText: string, rightText: string },\n isDisabled?: boolean,\n colorTab?: string,\n onChangeCallback: (activeTab: string) => void,\n activeTab: string,\n fontSize?: FONTS,\n isDifferentColorText?: boolean,\n}\n\nconst Toggle: FC = ({\n textsValues,\n isDisabled = false,\n colorTab = COLORS.ButtonPrimary,\n onChangeCallback,\n activeTab,\n fontSize,\n isDifferentColorText = true,\n ...args\n}) => {\n const translateData = { max: 100, min: 0 };\n const { leftText, rightText } = textsValues;\n const isRightTabActive = activeTab === rightText;\n\n const onClickHandler = () => {\n const activeText = isRightTabActive ? leftText : rightText;\n onChangeCallback(activeText);\n };\n\n return (\n \n \n \n \n {leftText}\n \n \n \n \n \n {rightText}\n \n \n \n );\n};\n\nexport default Toggle;\n"],"names":["items","activeItem","disabled","activeDefaultTabByTariffs","isDifferentColorText","colorTab","dispatch","useDispatch","toggleLabels","useMemo","leftText","rightText","labels","Object","values","useState","label","setLabel","filter","item","itemMenu","setItem","useEffect","groupKey","type","EFilteredBundlesTypes","payload","currentItem","action","onMenuItemClick","useCallback","toggledLabel","Toggle","textsValues","isDisabled","onChangeCallback","fontSize","FONTS","activeTab","data-test","StylesTab","css","Container","styled","p","COLORS","wideBreakpoints","TabLeft","TabRight","LayoutLeft","translateValue","LayoutRight","Text","isActive","args","translateData","isRightTabActive","onClickHandler","ST","onClick"],"sourceRoot":""}